This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch bfd]: Win32 coff-i386 and coff-x86_64 broken in_reloc_p


Hello,

As I discussed with Dave offlist already I was first wrongly assuming that 
section-relative relocations were not correct in bfd. This lucky wasn't 
true (uff) and finally found the issue which lead to this 
misinterpretation. For x86/x86_64 coff targets is the base_file feature 
broken now for a long time. It is reasoned by the missing check in 
function in_reloc_p for section-relative relocation. So those relocation 
were wrongly put into the base_file and lead to the issue that 
debug-sections getting image-base relocations on places 
section-relocations are used.
This patch fixes this. Additional it fixes in binutils test for objcopy 
the simple copy test, which is failing for mingw in general, and not just 
for x86_64-*-mingw*.

ChangeLog

In bfd/
2010-03-30  Kai TIetz  <kai.tietz@onevision.com>

        * coff-i386.c (in_reloc_p): Check also for R_SECREL32.
        * coff-x86_64.c (in_reloc_p): Check also for R_AMD64_IMAGEBASE.

In binutils/testsuite/
2010-03-30  Kai TIetz  <kai.tietz@onevision.com>

        * binutils-all/objcopy.exp: Mark simple copy executable
        as failing for all *-*-mingw32* targets.

Patch tested for i686-pc-cygwin, i686-pc-mingw32, and x86_64-pc-mingw32. 
Ok for apply?

Kai

|  (\_/)  This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.

Attachment: basefile.diff
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]