[project @ 2002-01-29 02:41:21 by sof]
PEi386/COFF: handle relocation overflows, i.e., if a section is marked with the flag (MY)IMAGE_SCN_LNK_NRELOC_OVFL, then the first entry in the relocation table holds the 32-bit relocation count rather than 16-bit number in the section header. Apparently, a version of the MS PE spec exists that spells this out, but haven't been able to locate it (perhaps people on the 'inside' could try to locate an up-to-date version...?) winnt.h is clear enough about it though (as is the GNU libbfd sources). This is the Right Way to compute the relocation count, but unfortunately libbfd / GNU ld is generating bogus output when the reloc field overflows (causing objdump/nm etc. to crash when trying to read the generated output!) Looking into it. Once this has been cleared up/fixed, the splitting up of HSstd.o (and HSwin32.o) should be a thing of the past. I've taken the liberty of disabling the suspiciously-large-reloc-section test already.
Showing with 48 additions and 8 deletions