This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Empty IAT entry


Nick Clifton wrote:
bfd/peiXXigen.c: _bfd_XXi_final_link_postscript()
This contains the code that is supposed to fill in theIAT field in the Data Dictionary. It is not doing sobecause .idata$2 (and .idata$5) are not defined in theoutput file's symbol table.


So the question is, where should .idata$5 be created ?There is code in bfd/peicode.h:pe_ILF_build_a_bfd()which will create such a symbol, but it is only usedwhen handling Microsoft's Image Library Format. Thereis similar also code in ld/pe-dll.c but this is onlyused when building DLLs. So I am a bit lost at the moment.I do not know where these symbols should be created orwhy they are not being created. :-(

Hmmm... that's interesting. Looking around a bit more, the only other places I see any reference to .idata$5 is in bfd/coff-ppc.c around line 1460. In this function, the code is trying to find the first_thunk_address, but then it doesn't do anything with it (and in any case, my target is i386, not ppc) :-(


In fact, the only place where the first thunk is referenced at all is when the code is dumping info to the console (presumably via objdump, or the like).

Oh well... as I said, it doesn't seem to affect the runtime execution, and I have managed to find a workaround for my needs, so I am happy to let it rest. Thanks again for your feedback.

--
Craig Edwards


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]