From e402890df25a0ed1047e24e70830489c17d20895 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 5 Oct 2011 14:13:29 +0000 Subject: * readelf.c (get_machine_dlags): Add support for RX's PID mode. * ld-scripts/phdrs.exp: Expect to fail for the RX. * elf32-rx.c: Add support for PID mode. (rx_elf_relocate_section): Add checks for unsafe PID relocations. Include addend in R_RX_SYM relocations. * config/rx-defs.h (rx_pid_register): New. (rx_gp_register): New. * config/rx-parse.y (rx_lex): Add support for %gpreg and %pidreg. (displacement): Add PID support. * config/tc-rx.c (rx_pid_mode): New. (rx_num_int_regs): New. (rx_pid_register): New. (rx_gp_register): New. (options): Add -mpid and -mint-register= options. (md_longopts): Likewise. (md_parse_option): Likewise. (md_show_usage): Likewise. (rx_pid_symbol): New. (rx_pidreg_symbol): New. (rx_gpreg_symbol): New. (md_begin): Support PID. (rx_validate_fix_sub): Support PID. (tc_gen_reloc): Support PID. * doc/c-rx.texi: Document PID support. * rx.h (E_FLAG_RX_PID): New. --- include/elf/ChangeLog | 4 ++++ include/elf/rx.h | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'include/elf') diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index e04b26d5d..eece8a8f1 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,7 @@ +2011-10-05 DJ Delorie + + * rx.h (E_FLAG_RX_PID): New. + 2011-09-21 David S. Miller * sparc.h (Tag_GNU_Sparc_HWCAPS): New object attribute. diff --git a/include/elf/rx.h b/include/elf/rx.h index e8794f352..baaa1aa9e 100644 --- a/include/elf/rx.h +++ b/include/elf/rx.h @@ -116,7 +116,8 @@ END_RELOC_NUMBERS (R_RX_max) /* Values for the e_flags field in the ELF header. */ #define E_FLAG_RX_64BIT_DOUBLES (1 << 0) -#define E_FLAG_RX_DSP (1 << 1) /* Defined in the RX CPU Object file specification, but not explained. */ +#define E_FLAG_RX_DSP (1 << 1) /* Defined in the RX CPU Object file specification, but not explained. */ +#define E_FLAG_RX_PID (1 << 2) /* Unofficial - DJ */ /* These define the addend field of R_RX_RH_RELAX relocations. */ #define RX_RELAXA_IMM6 0x00000010 /* Imm8/16/24/32 at bit offset 6. */ -- cgit v1.2.3