projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't expose the cas definition to .hc files
[ghc-hetmet.git]
/
rts
/
LinkerInternals.h
diff --git
a/rts/LinkerInternals.h
b/rts/LinkerInternals.h
index
561a224
..
d545c12
100644
(file)
--- a/
rts/LinkerInternals.h
+++ b/
rts/LinkerInternals.h
@@
-50,7
+50,7
@@
typedef struct {
long mtctr_r12;
long bctr;
} jumpIsland;
long mtctr_r12;
long bctr;
} jumpIsland;
-#elif x86_64_TARGET_ARCH
+#elif x86_64_HOST_ARCH
uint64_t addr;
uint8_t jumpIsland[6];
#endif
uint64_t addr;
uint8_t jumpIsland[6];
#endif
@@
-65,6
+65,11
@@
typedef struct _ObjectCode {
int fileSize;
char* formatName; /* eg "ELF32", "DLL", "COFF", etc. */
int fileSize;
char* formatName; /* eg "ELF32", "DLL", "COFF", etc. */
+ /* If this object is a member of an archive, archiveMemberName is
+ * like "libarchive.a(object.o)". Otherwise it's NULL.
+ */
+ char* archiveMemberName;
+
/* An array containing ptrs to all the symbol names copied from
this object into the global symbol hash table. This is so that
we know which parts of the latter mapping to nuke when this
/* An array containing ptrs to all the symbol names copied from
this object into the global symbol hash table. This is so that
we know which parts of the latter mapping to nuke when this
@@
-107,6
+112,14
@@
typedef struct _ObjectCode {
} ObjectCode;
} ObjectCode;
+#define OC_INFORMATIVE_FILENAME(OC) \
+ ( (OC)->archiveMemberName ? \
+ (OC)->archiveMemberName : \
+ (OC)->fileName \
+ )
+
extern ObjectCode *objects;
extern ObjectCode *objects;
+void exitLinker( void );
+
#endif /* LINKERINTERNALS_H */
#endif /* LINKERINTERNALS_H */