From d4cb0ea0caf03bea93ae6891017bb2301facb33f Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 5 Oct 2011 14:13:31 +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. --- ld/testsuite/ChangeLog | 4 ++++ ld/testsuite/ld-scripts/phdrs.exp | 8 ++++++++ 2 files changed, 12 insertions(+) (limited to 'ld') diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 54428dd..84e7dd5 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2011-10-05 Nick Clifton + + * ld-scripts/phdrs.exp: Expect to fail for the RX. + 2011-09-30 Alan Modra * ld-powerpc/tocopt.d: Update. diff --git a/ld/testsuite/ld-scripts/phdrs.exp b/ld/testsuite/ld-scripts/phdrs.exp index c4e5699..b7f3682 100644 --- a/ld/testsuite/ld-scripts/phdrs.exp +++ b/ld/testsuite/ld-scripts/phdrs.exp @@ -60,6 +60,14 @@ if ![ld_simple_link $ld tmpdir/phdrs $ldopt] { set exec_output [prune_warnings $exec_output] verbose -log $exec_output + # The RX port sets the p_paddr of loadable segments to 0 in order + # to be compatible with Renesas tools. When an RX executable is + # loaded into a BFD based tool the code tries to reconstruct the + # correct vaddr and paddr values. This is not always possible + # however and this test is one example of where the reconstruction + # fails. + setup_xfail rx-*-* + if [regexp $phdrs_regexp $exec_output] { pass $testname } else { -- cgit v1.1