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


Hi Craig,

Entry c 00000000 00000000 Import Address Table Directory

There is definitely an import table that contains perfectly valid IAT entries, but for some reason the first thunk isn't populated in the Data Directory.

I am sorry, but I do not have time to do a proper investigation of this problem right now. If you are interested however here are a couple of pointers to where you might look in the sources:


bfd/peiXXigen.c: _bfd_XXi_final_link_postscript()
This contains the code that is supposed to fill in the IAT field in the Data Dictionary. It is not doing so because .idata$2 (and .idata$5) are not defined in the output 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 used when handling Microsoft's Image Library Format. There is similar also code in ld/pe-dll.c but this is only used when building DLLs. So I am a bit lost at the moment. I do not know where these symbols should be created or why they are not being created. :-(

Cheers
  Nick



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