X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2FLinkerInternals.h;fp=rts%2FLinkerInternals.h;h=d545c12ed959bd499e9d0c3594c671c166d4008d;hp=8e151ec782ff2a985b81dac05395f017ae6f99d3;hb=57fcae702f10232bf9d09322caa845417034cc45;hpb=bf60bbfb2e76a88265c60a1e9b4f7c2dd1bbfa11 diff --git a/rts/LinkerInternals.h b/rts/LinkerInternals.h index 8e151ec..d545c12 100644 --- a/rts/LinkerInternals.h +++ b/rts/LinkerInternals.h @@ -65,6 +65,11 @@ typedef struct _ObjectCode { 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 @@ -107,6 +112,12 @@ typedef struct _ObjectCode { } ObjectCode; +#define OC_INFORMATIVE_FILENAME(OC) \ + ( (OC)->archiveMemberName ? \ + (OC)->archiveMemberName : \ + (OC)->fileName \ + ) + extern ObjectCode *objects; void exitLinker( void );