#832 import libraries have unused pointers in .idata$7

OTHER
closed
binutils (105)
out-of-date
Unknown
2013-02-05
2005-09-15
mrnobo1024
No

In import libraries created by mingw ld, every function
import has an extra 4 bytes in the .idata$7 section,
apparently containing a pointer to the
__head_libwhatever in the import table. These are
unnecessary, and programs compiled in MSVC++ don't have
them.

Discussion

  • Danny Smith

    Danny Smith - 2005-09-15

    Logged In: YES
    user_id=11494

    Actually the unresolved refererences to __head_libffoo are
    necessary: They force the head object to be linked in. How
    does MS do this? IIRC it uses something like
    __IMPORT_DESCRIPTOR_FOO

    Does the __head_libfoo reference causes problems for you?
    Danny

     
  • mrnobo1024

    mrnobo1024 - 2005-09-16

    Logged In: YES
    user_id=829295

    I looked at an MS import lib, each function has a reference
    to __IMPORT_DESCRIPTOR_FOO (which is just the equivalent of
    __head_foo), but with no actual relocations using it. I made
    an import lib like that and just the reference was
    sufficient to get the head linked in (with mingw ld).

    It's not causing problems, other than larger executables.

     
  • Earnie Boyd

    Earnie Boyd - 2013-02-05
    • labels: ld --> binutils
    • status: open --> closed
    • resolution: --> out-of-date
    • category: --> Unknown
    • milestone: --> OTHER
     

Log in to post a comment.