+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.
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. */
+2014-12-23 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * 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
+
2014-12-18 Xingxing Pan <xxingpan@marvell.com>
* gas/config/tc-arm.c (arm_cpus): Add core marvell-whitney.
#include "subsegs.h"
#include "dwarf2dbg.h"
#include "dw2gencfi.h"
-
+#include "elf/avr.h"
struct avr_opcodes_s
{
them. */
return FALSE;
}
+
+void
+avr_elf_final_processing (void)
+{
+ if (linkrelax)
+ elf_elfheader (stdoutput)->e_flags |= EF_AVR_LINKRELAX_PREPARED;
+}
relaxation, so do not resolve such expressions in the assembler. */
#define md_allow_local_subtract(l,r,s) avr_allow_local_subtract (l, r, s)
extern bfd_boolean avr_allow_local_subtract (expressionS *, expressionS *, segT);
+
+#define elf_tc_final_processing avr_elf_final_processing
+extern void avr_elf_final_processing (void);
+2014-12-23 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * 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.
+
2014-12-19 Matthew Fortune <matthew.fortune@imgtec.com>
* gas/mips/r6-64.s: Remove .align directives from LDPC
--- /dev/null
+#name: AVR, check elf link-relax header flag is clear.
+#as: -mmcu=avrxmega2
+#readelf: -h
+#source: link-relax-elf-flag.s
+#target: avr-*-*
+
+ELF Header:
+#...
+ Flags: 0x66, avr:102
+#...
\ No newline at end of file
--- /dev/null
+#name: AVR, check elf link-relax header flag is set.
+#as: -mlink-relax -mmcu=avrxmega2
+#readelf: -h
+#source: link-relax-elf-flag.s
+#target: avr-*-*
+
+ELF Header:
+#...
+ Flags: 0xe6, avr:102, link-relax
+#...
\ No newline at end of file
--- /dev/null
+ .text
+ .global _start
+_start:
+ nop