This is the mail archive of the
mailing list for the binutils project.
Re: Empty IAT entry
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
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:
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. :-(