(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