(fixed patch) pe-dll fix for exporting common symbols
Ian Lance Taylor
ian@zembu.com
Thu Jul 1 00:00:00 GMT 1999
Date: Thu, 24 Jun 1999 14:43:05 -0500
From: Mumit Khan <khan@xraylith.wisc.EDU>
+ if (blhe->type == bfd_link_hash_defined)
+ {
+ exported_symbol_offsets[i] = blhe->u.def.value;
+ exported_symbol_sections[i] = blhe->u.def.section;
+ }
+ else
+ {
+ exported_symbol_offsets[i] = 0;
+ exported_symbol_sections[i] = blhe->u.c.p->section;
+ }
I don't know how PE handles common symbols in DLLs, but I don't see
how this could be right. This appears to assume that the common
symbol is at the start of the section, but that is not correct. You
can have multiple common symbols in a single section. Try putting
several common symbols in a single input file, and see what happens.
Ian
More information about the Binutils
mailing list