aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2014-11-22 23:19:31 +0000
committerAndrew Burgess <andrew.burgess@embecosm.com>2014-12-23 15:45:11 +0000
commiteac7440d805bec68f583db395aa42c38615daf14 (patch)
treee93db6bdf6f377b7edb83726e1228a73d1ea960e /bfd
parentc01feb367543270196672dedf9a8365a2d8d3cff (diff)
downloadgdb-eac7440d805bec68f583db395aa42c38615daf14.zip
gdb-eac7440d805bec68f583db395aa42c38615daf14.tar.gz
gdb-eac7440d805bec68f583db395aa42c38615daf14.tar.bz2
AVR: Only set link-relax elf flag when appropriate.
The AVR target uses a bit in the elf header flags to indicate if the object was assembled ready for linker relaxation. Previously this flag was always set, even when the object was not assembled ready for linker relaxation. This patch moves setting of the flag into the assembler, and sets it only when the assembler is preparing the file for linker relaxation. bfd/ChangeLog: * elf32-avr.c (bfd_elf_avr_final_write_processing): Don't set EF_AVR_LINKRELAX_PREPARED unconditionally. gas/ChangeLog: * config/tc-avr.c: Add include for elf/avr.h. (avr_elf_final_processing): New function. * config/tc-avr.h (elf_tc_final_processing): Define. (avr_elf_final_processing): Declare gas/testsuite/ChangeLog: * gas/avr/link-relax-elf-flag-clear.d: New file. * gas/avr/link-relax-elf-flag-set.d: New file. * gas/avr/link-relax-elf-flag.s: New file.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-avr.c1
2 files changed, 5 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 4bb379b..8e6fa09 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2014-12-23 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * elf32-avr.c (bfd_elf_avr_final_write_processing): Don't set
+ EF_AVR_LINKRELAX_PREPARED unconditionally.
+
2014-12-23 Alan Modra <amodra@gmail.com>
* elflink.c (_bfd_elf_define_linkage_sym): Set linker_def.
diff --git a/bfd/elf32-avr.c b/bfd/elf32-avr.c
index 3d52940..6333855 100644
--- a/bfd/elf32-avr.c
+++ b/bfd/elf32-avr.c
@@ -1522,7 +1522,6 @@ bfd_elf_avr_final_write_processing (bfd *abfd,
elf_elfheader (abfd)->e_machine = EM_AVR;
elf_elfheader (abfd)->e_flags &= ~ EF_AVR_MACH;
elf_elfheader (abfd)->e_flags |= val;
- elf_elfheader (abfd)->e_flags |= EF_AVR_LINKRELAX_PREPARED;
}
/* Set the right machine number. */