summaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-scripts
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2011-10-05 14:13:24 +0000
committerNick Clifton <nickc@redhat.com>2011-10-05 14:13:24 +0000
commitb7bfdfcc729e11b745f1884926b616a4dd95f60c (patch)
tree2a18a32ae5a527ed0f64bb6d99fa0403d62b98d1 /ld/testsuite/ld-scripts
parent33977ea14d6571313dc312ea3eb7c3412a4564dc (diff)
downloadbinutils-redhat-b7bfdfcc729e11b745f1884926b616a4dd95f60c.tar.gz
* 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.
Diffstat (limited to 'ld/testsuite/ld-scripts')
-rw-r--r--ld/testsuite/ld-scripts/phdrs.exp8
1 files changed, 8 insertions, 0 deletions
diff --git a/ld/testsuite/ld-scripts/phdrs.exp b/ld/testsuite/ld-scripts/phdrs.exp
index c4e56995d7..b7f3682afd 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 {