Add AVR architectures avr25, avr31, avr35, and avr51 to match GCC.
bfd/ * archures.c (bfd_mach_avr25, bfd_mach_avr31, bfd_mach_avr35, bfd_mach_avr51): New. * bfd-in2.h: Regenerate. * cpu-avr.c (arch_info_struct): Add avr25, avr31, avr35, and avr51 architectures. Change comments to match architecture comments in GCC. (compatible): Add test for new AVR architectures. * elf32-avr.c (bfd_elf_avr_final_write_processing): Recognize bfd_mach_avr25, bfd_mach_avr31, bfd_mach_avr35 and bfd_mach_avr51. (elf32_avr_object_p): Recognize E_AVR_MACH_AVR25, E_AVR_MACH_AVR31, E_AVR_MACH_AVR35 and E_AVR_MACH_AVR51. gas/ * config/tc-avr.c (mcu_types): Add avr25, avr31, avr35, and avr51 architectures. Reorganize list to put mcu types in correct architectures and to order list same as in GCC. Use new ISA definitions in include/opcode/avr.h. * doc/c-avr.texi: Add avr25, avr31, avr35, and avr51 architecture descriptions. Reorganize descriptions to put mcu types in correct architectures and to order lists same as in GCC. include/ * elf/avr.h (E_AVR_MACH_AVR25, E_AVR_MACH_AVR31, E_AVR_MACH_AVR35, E_AVR_MACH_AVR51): Define. (EF_AVR_MACH): Redefine to 0x7F. * opcode/avr.h (AVR_ISA_TINY3, AVR_ISA_ALL, AVR_ISA_USB162): Remove. (AVR_ISA_AVR3): Redefine. (AVR_ISA_AVR1, AVR_ISA_AVR2, AVR_ISA_AVR31, AVR_ISA_AVR35, AVR_ISA_AVR3_ALL, AVR_ISA_AVR4, AVR_ISA_AVR5, AVR_ISA_AVR51, AVR_ISA_AVR6): Define. ld/ * Makefile.am (ALL_EMULATIONS): Add eavr25.o, eavr31.o, eavr35.o, and eavr51.o. Add rules for eavr25.c, eavr31.c, eavr35.c, eavr51.c. * Makefile.in: Regenerate. * configure.tgt (avr-*-*, targ_extra_emuls): Add avr25, avr31, avr35 and avr51. * emulparams/avr25.sh: New file. * emulparams/avr31.sh: New file. * emulparams/avr35.sh: New file. * emulparams/avr51.sh: New file.
This commit is contained in:
parent
97c16b1b23
commit
a15b3bdef7
|
@ -1,3 +1,14 @@
|
|||
2008-08-08 Anatoly Sokolov <aesok@post.ru>
|
||||
|
||||
* elf/avr.h (E_AVR_MACH_AVR25, E_AVR_MACH_AVR31,
|
||||
E_AVR_MACH_AVR35, E_AVR_MACH_AVR51): Define.
|
||||
(EF_AVR_MACH): Redefine to 0x7F.
|
||||
* opcode/avr.h (AVR_ISA_TINY3, AVR_ISA_ALL, AVR_ISA_USB162): Remove.
|
||||
(AVR_ISA_AVR3): Redefine.
|
||||
(AVR_ISA_AVR1, AVR_ISA_AVR2, AVR_ISA_AVR31, AVR_ISA_AVR35,
|
||||
AVR_ISA_AVR3_ALL, AVR_ISA_AVR4, AVR_ISA_AVR5, AVR_ISA_AVR51,
|
||||
AVR_ISA_AVR6): Define.
|
||||
|
||||
2008-07-12 Jie Zhang <jie.zhang@analog.com>
|
||||
|
||||
Revert
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "elf/reloc-macros.h"
|
||||
|
||||
/* Processor specific flags for the ELF header e_flags field. */
|
||||
#define EF_AVR_MACH 0xf
|
||||
#define EF_AVR_MACH 0x7F
|
||||
|
||||
/* If bit #7 is set, it is assumed that the elf file uses local symbols
|
||||
as reference for the relocations so that linker relaxation is possible. */
|
||||
|
@ -32,9 +32,13 @@
|
|||
|
||||
#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
|
||||
|
||||
/* Relocations. */
|
||||
|
|
|
@ -32,29 +32,39 @@
|
|||
#define AVR_ISA_MOVW 0x1000 /* device has MOVW */
|
||||
|
||||
#define AVR_ISA_TINY1 (AVR_ISA_1200 | AVR_ISA_LPM)
|
||||
#define AVR_ISA_PWMx (AVR_ISA_M8 | AVR_ISA_BRK)
|
||||
#define AVR_ISA_2xxx (AVR_ISA_TINY1 | AVR_ISA_SRAM)
|
||||
/* For the attiny26 which is missing LPM Rd,Z+. */
|
||||
#define AVR_ISA_2xxe (AVR_ISA_2xxx | AVR_ISA_LPMX)
|
||||
#define AVR_ISA_RF401 (AVR_ISA_2xxx | AVR_ISA_MOVW | AVR_ISA_LPMX)
|
||||
#define AVR_ISA_TINY2 (AVR_ISA_2xxx | AVR_ISA_MOVW | AVR_ISA_LPMX | \
|
||||
AVR_ISA_SPM | AVR_ISA_BRK)
|
||||
#define AVR_ISA_TINY3 (AVR_ISA_TINY2 | AVR_ISA_MEGA)
|
||||
#define AVR_ISA_M8 (AVR_ISA_2xxx | AVR_ISA_MUL | AVR_ISA_MOVW | \
|
||||
AVR_ISA_LPMX | AVR_ISA_SPM)
|
||||
#define AVR_ISA_M603 (AVR_ISA_2xxx | AVR_ISA_MEGA)
|
||||
#define AVR_ISA_M103 (AVR_ISA_M603 | AVR_ISA_ELPM)
|
||||
#define AVR_ISA_USB162 (AVR_ISA_M603 | AVR_ISA_MOVW | \
|
||||
#define AVR_ISA_M8 (AVR_ISA_2xxx | AVR_ISA_MUL | AVR_ISA_MOVW | \
|
||||
AVR_ISA_LPMX | AVR_ISA_SPM)
|
||||
#define AVR_ISA_AVR3 (AVR_ISA_M603 | AVR_ISA_MOVW | \
|
||||
AVR_ISA_LPMX | AVR_ISA_SPM | AVR_ISA_ELPM)
|
||||
#define AVR_ISA_PWMx (AVR_ISA_M8 | AVR_ISA_BRK)
|
||||
#define AVR_ISA_M161 (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | \
|
||||
AVR_ISA_LPMX | AVR_ISA_SPM)
|
||||
#define AVR_ISA_94K (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | AVR_ISA_LPMX)
|
||||
#define AVR_ISA_M323 (AVR_ISA_M161 | AVR_ISA_BRK)
|
||||
#define AVR_ISA_M128 (AVR_ISA_M323 | AVR_ISA_ELPM | AVR_ISA_ELPMX)
|
||||
|
||||
#define AVR_ISA_ALL 0xFFFF
|
||||
#define AVR_ISA_AVR1 AVR_ISA_TINY1
|
||||
#define AVR_ISA_AVR2 AVR_ISA_2xxx
|
||||
#define AVR_ISA_AVR25 AVR_ISA_TINY2
|
||||
#define AVR_ISA_AVR3 AVR_ISA_M603
|
||||
#define AVR_ISA_AVR31 AVR_ISA_M103
|
||||
#define AVR_ISA_AVR35 (AVR_ISA_AVR3 | AVR_ISA_MOVW | \
|
||||
AVR_ISA_LPMX | AVR_ISA_SPM | AVR_ISA_BRK)
|
||||
#define AVR_ISA_AVR3_ALL (AVR_ISA_AVR3 | AVR_ISA_AVR31 | AVR_ISA_AVR35)
|
||||
#define AVR_ISA_AVR4 AVR_ISA_PWMx
|
||||
#define AVR_ISA_AVR5 AVR_ISA_M323
|
||||
#define AVR_ISA_AVR51 AVR_ISA_M128
|
||||
#define AVR_ISA_AVR6 (AVR_ISA_1200 | AVR_ISA_LPM | AVR_ISA_LPMX | \
|
||||
AVR_ISA_SRAM | AVR_ISA_MEGA | AVR_ISA_MUL | \
|
||||
AVR_ISA_ELPM | AVR_ISA_ELPMX | AVR_ISA_SPM | \
|
||||
AVR_ISA_SPM | AVR_ISA_BRK | AVR_ISA_EIND | \
|
||||
AVR_ISA_MOVW)
|
||||
|
||||
#define REGISTER_P(x) ((x) == 'r' \
|
||||
|| (x) == 'd' \
|
||||
|
|
Loading…
Reference in New Issue