PR 13503
* reloc.c: Add new ENUM for BFD_RELOC_AVR_8_LO, BFD_RELOC_AVR_8_HI, BFD_RELOC_AVR_8_HHI. * bfd-in2.h: Regenerate. * libbfd.h: Regenrate. * elf32-avr.c (elf_avr_howto_table): Add entries for R_AVR_8_LO8, R_AVR_8_HI8, R_AVR_8_HHI8. (avr_reloc_map): Add RELOC mappings for R_AVR_8_LO8, R_AVR_8_HI8, R_AVR_8_HHI8. * config/tc-avr.c (exp_mod_pm): Remove variable. (exp_mod_data_t): New typedef. (pexp_mod_data, exp_mod_data): New variables. (avr_parse_cons_expression): Scan through exp_mod_data[] to find data expression modifiers "pm", "gs", "lo8", hi8", "hhi8", "hh8" and set pexp_mod_data accordingly to be used in avr_cons_fix_new. (avr_cons_fix_new): Handle new data expression modifiers shipped in pexp_mod_data. (md_apply_fix): Handle BFD_RELOC_AVR_8_LO, BFD_RELOC_AVR_8_HI, BFD_RELOC_AVR_8_HHI. * elf/avr.h (RELOC_NUMBERS): Add values for R_AVR_8_LO8, R_AVR_8_HI8, R_AVR_8_HHI8.
This commit is contained in:
		@@ -1,3 +1,9 @@
 | 
			
		||||
2012-05-11  Georg-Johann Lay  <avr@gjlay.de
 | 
			
		||||
 | 
			
		||||
	PR target/13503
 | 
			
		||||
	* elf/avr.h (RELOC_NUMBERS): Add values for R_AVR_8_LO8,
 | 
			
		||||
	R_AVR_8_HI8, R_AVR_8_HHI8.
 | 
			
		||||
 | 
			
		||||
2012-05-03  Sean Keys  <skeys@ipdatasys.com>
 | 
			
		||||
 | 
			
		||||
	* xgate.h: Mininal file to support XGATE relocations.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
/* AVR ELF support for BFD.
 | 
			
		||||
   Copyright 1999, 2000, 2004, 2006, 2010  Free Software Foundation, Inc.
 | 
			
		||||
   Copyright 1999, 2000, 2004, 2006, 2010, 2012
 | 
			
		||||
   Free Software Foundation, Inc.
 | 
			
		||||
   Contributed by Denis Chertykov <denisc@overta.ru>
 | 
			
		||||
 | 
			
		||||
   This file is part of BFD, the Binary File Descriptor library.
 | 
			
		||||
@@ -30,16 +31,16 @@
 | 
			
		||||
   as reference for the relocations so that linker relaxation is possible.  */
 | 
			
		||||
#define EF_AVR_LINKRELAX_PREPARED 0x80
 | 
			
		||||
 | 
			
		||||
#define E_AVR_MACH_AVR1 1
 | 
			
		||||
#define E_AVR_MACH_AVR2 2
 | 
			
		||||
#define E_AVR_MACH_AVR25 25
 | 
			
		||||
#define E_AVR_MACH_AVR3 3
 | 
			
		||||
#define E_AVR_MACH_AVR31 31
 | 
			
		||||
#define E_AVR_MACH_AVR35 35
 | 
			
		||||
#define E_AVR_MACH_AVR4 4
 | 
			
		||||
#define E_AVR_MACH_AVR5 5
 | 
			
		||||
#define E_AVR_MACH_AVR51 51
 | 
			
		||||
#define E_AVR_MACH_AVR6 6 
 | 
			
		||||
#define E_AVR_MACH_AVR1     1
 | 
			
		||||
#define E_AVR_MACH_AVR2     2
 | 
			
		||||
#define E_AVR_MACH_AVR25   25
 | 
			
		||||
#define E_AVR_MACH_AVR3     3
 | 
			
		||||
#define E_AVR_MACH_AVR31   31
 | 
			
		||||
#define E_AVR_MACH_AVR35   35
 | 
			
		||||
#define E_AVR_MACH_AVR4     4
 | 
			
		||||
#define E_AVR_MACH_AVR5     5
 | 
			
		||||
#define E_AVR_MACH_AVR51   51
 | 
			
		||||
#define E_AVR_MACH_AVR6     6 
 | 
			
		||||
#define E_AVR_MACH_XMEGA1 101
 | 
			
		||||
#define E_AVR_MACH_XMEGA2 102
 | 
			
		||||
#define E_AVR_MACH_XMEGA3 103
 | 
			
		||||
@@ -77,6 +78,9 @@ START_RELOC_NUMBERS (elf_avr_reloc_type)
 | 
			
		||||
     RELOC_NUMBER (R_AVR_LO8_LDI_GS,	       24)
 | 
			
		||||
     RELOC_NUMBER (R_AVR_HI8_LDI_GS,	       25)
 | 
			
		||||
     RELOC_NUMBER (R_AVR_8, 		       26)
 | 
			
		||||
     RELOC_NUMBER (R_AVR_8_LO8,                27)
 | 
			
		||||
     RELOC_NUMBER (R_AVR_8_HI8,                28)
 | 
			
		||||
     RELOC_NUMBER (R_AVR_8_HHI8,               29)
 | 
			
		||||
END_RELOC_NUMBERS (R_AVR_max)
 | 
			
		||||
 | 
			
		||||
#endif /* _ELF_AVR_H */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user