Commit: Fix spurious relocation truncated to fit errors for 64-bit PE targets.
Nick Clifton
nickc@redhat.com
Wed Mar 26 16:29:00 GMT 2014
More information about the Binutils mailing list
Wed Mar 26 16:29:00 GMT 2014
- Previous message (by thread): [Mach-O, committed]: Add definition for arm64 cpu
- Next message (by thread): Commit: RL78: Add support for resolving %hi8, %hi16 and %lo16 operators
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Guys, I am applying the patch below to fix a problem for 64-bit PE targets (specifically Cygwin), whereby the linker can issue spurious complaints about truncated relocations. What is happening is that the linker is attempting to resolve a 32-bit relocation against a symbol in a section that is going to be discarded. So the output section's address is set to 0, but since we are using 64-bit addresses and the base address can be above 4Gb, we can end up with an invalid 32-bit offset. The fix is simple - ignore relocations against discarded sections. Tested without regressions on an x86_64-pc-cygwin toolchain. Cheers Nick bfd/ChangeLog 2014-03-26 Nick Clifton <nickc@redhat.com> * cofflink.c (_bfd_coff_generic_relocate_section): Skip relocations in discarded sections. Index: bfd/cofflink.c =================================================================== RCS file: /cvs/src/src/bfd/cofflink.c,v retrieving revision 1.84 diff -c -p -r1.84 cofflink.c *** bfd/cofflink.c 10 Jan 2013 20:03:52 -0000 1.84 --- bfd/cofflink.c 4 Jun 2013 12:03:23 -0000 *************** _bfd_coff_generic_relocate_section (bfd *** 3060,3065 **** --- 3060,3070 ---- else { sec = sections[symndx]; + + /* If the output section has been discarded then ignore this reloc. */ + if (sec->output_section->vma == 0) + continue; + val = (sec->output_section->vma + sec->output_offset + sym->n_value);
- Previous message (by thread): [Mach-O, committed]: Add definition for arm64 cpu
- Next message (by thread): Commit: RL78: Add support for resolving %hi8, %hi16 and %lo16 operators
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list