diff options
-rw-r--r-- | bfd/ChangeLog | 9 | ||||
-rw-r--r-- | bfd/config.bfd | 4 | ||||
-rw-r--r-- | bfd/configure.ac | 1 | ||||
-rw-r--r-- | bfd/elf32-rx.c | 23 | ||||
-rw-r--r-- | bfd/targets.c | 1 | ||||
-rw-r--r-- | binutils/ChangeLog | 4 | ||||
-rw-r--r-- | binutils/testsuite/lib/binutils-common.exp | 2 | ||||
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-rx.h | 4 | ||||
-rw-r--r-- | gas/configure.tgt | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/rx/pr19665.d | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/rx/pr22737.d | 2 |
12 files changed, 56 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 155251d..babfe1b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,12 @@ +2018-11-07 Yoshinori Sato <ysato@users.sourceforge.jp> + + * config.bfd: Add rx-*-linux. + * congigure.ac: Likewise. + * elf32-rx.c (rx_linux_object_p): New function. + (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME) + (elf_backend_object_p, elf32_bed): Define rx-*-linux. + * targets.c: Add rx_elf32_linux_le_vec. + 2018-11-06 Romain Margheriti <lilrom13@gmail.com> PR 23742 diff --git a/bfd/config.bfd b/bfd/config.bfd index 5d8424a..2bde98a 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -1202,6 +1202,10 @@ case "${targ}" in targ_selvecs="rx_elf32_be_vec rx_elf32_le_vec rx_elf32_be_ns_vec" targ_underscore=yes ;; + rx-*-linux*) + targ_defvec=rx_elf32_linux_le_vec + targ_selvecs="rx_elf32_linux_le_vec" + ;; s390-*-linux*) targ_defvec=s390_elf32_vec diff --git a/bfd/configure.ac b/bfd/configure.ac index 270e54e..5942a74 100644 --- a/bfd/configure.ac +++ b/bfd/configure.ac @@ -612,6 +612,7 @@ do rx_elf32_be_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; rx_elf32_be_ns_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; rx_elf32_le_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; + rx_elf32_linux_le_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; s390_elf32_vec) tb="$tb elf32-s390.lo elf32.lo $elf" ;; s390_elf64_vec) tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;; score_elf32_be_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;; diff --git a/bfd/elf32-rx.c b/bfd/elf32-rx.c index 1f70b97..ddcf5e9 100644 --- a/bfd/elf32-rx.c +++ b/bfd/elf32-rx.c @@ -3310,6 +3310,14 @@ rx_elf_object_p (bfd * abfd) return TRUE; } + +static bfd_boolean +rx_linux_object_p (bfd * abfd) +{ + bfd_default_set_arch_mach (abfd, bfd_arch_rx, + elf32_rx_machine (abfd)); + return TRUE; +} #ifdef DEBUG @@ -4059,3 +4067,18 @@ rx_additional_link_map_text (bfd *obfd, struct bfd_link_info *info, FILE *mapfil #define elf32_bed elf32_rx_be_ns_bed #include "elf32-target.h" + +#undef TARGET_LITTLE_SYM +#define TARGET_LITTLE_SYM rx_elf32_linux_le_vec +#undef TARGET_LITTLE_NAME +#define TARGET_LITTLE_NAME "elf32-rx-linux" +#undef TARGET_BIG_SYM +#undef TARGET_BIG_NAME + +#undef elf_backend_object_p +#define elf_backend_object_p rx_linux_object_p +#undef elf_symbol_leading_char +#undef elf32_bed +#define elf32_bed elf32_rx_le_linux_bed + +#include "elf32-target.h" diff --git a/bfd/targets.c b/bfd/targets.c index b59dd76..dc4bef1 100644 --- a/bfd/targets.c +++ b/bfd/targets.c @@ -777,6 +777,7 @@ extern const bfd_target rs6000_xcoff_vec; extern const bfd_target rx_elf32_be_vec; extern const bfd_target rx_elf32_be_ns_vec; extern const bfd_target rx_elf32_le_vec; +extern const bfd_target rx_elf32_linux_le_vec; extern const bfd_target s390_elf32_vec; extern const bfd_target s390_elf64_vec; extern const bfd_target score_elf32_be_vec; diff --git a/binutils/ChangeLog b/binutils/ChangeLog index f484f92..8964c96 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2018-11-07 Yoshinori Sato <ysato@users.sourceforge.jp> + * testsuite/lib/binutils-common.exp: Special section name + use only rx-*-elf. + 2018-11-06 H.J. Lu <hongjiu.lu@intel.com> * doc/binutils.texi: Document --enable-x86-feature and diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp index fcd2c8e..f1a1531 100644 --- a/binutils/testsuite/lib/binutils-common.exp +++ b/binutils/testsuite/lib/binutils-common.exp @@ -1359,7 +1359,7 @@ proc big_or_little_endian {} { # Internal procedure: return the names of the standard sections # proc get_standard_section_names {} { - if [istarget "rx-*-*"] { + if [istarget "rx-*-elf"] { return { "P" "D_1" "B_1" } } if { [istarget "alpha*-*-*vms*"] || [is_som_format] } { diff --git a/gas/ChangeLog b/gas/ChangeLog index d8cbf7e..40e468f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2018-11-07 Yoshinori Sato <ysato@users.sourceforge.jp> + + * configure.tgt: Add rx-*-linux. + * config/tc-rx.h (TARGET_FORMAT): Add "elf32-rx-linux". + 2018-11-06 Matthew Malcomson <matthew.malcomson@arm.com> * testsuite/gas/arm/neon-cond-bad_t2.d: Fix testcase for PE target. diff --git a/gas/config/tc-rx.h b/gas/config/tc-rx.h index bf1f283..78b2bed 100644 --- a/gas/config/tc-rx.h +++ b/gas/config/tc-rx.h @@ -31,7 +31,11 @@ extern int target_big_endian; /* Instruction bytes are big endian, data bytes can be either. */ #define TARGET_BYTES_BIG_ENDIAN 0 +#ifndef TE_LINUX #define TARGET_FORMAT (target_big_endian ? "elf32-rx-be" : "elf32-rx-le") +#else +#define TARGET_FORMAT "elf32-rx-linux" +#endif /* We don't need to handle .word strangely. */ #define WORKING_DOT_WORD diff --git a/gas/configure.tgt b/gas/configure.tgt index d1b0535..532f113 100644 --- a/gas/configure.tgt +++ b/gas/configure.tgt @@ -366,6 +366,8 @@ case ${generic_target} in riscv*-*-*) fmt=elf endian=little ;; + rx-*-linux*) fmt=elf em=linux ;; + s390-*-linux-*) fmt=elf em=linux ;; s390-*-tpf*) fmt=elf ;; diff --git a/gas/testsuite/gas/rx/pr19665.d b/gas/testsuite/gas/rx/pr19665.d index 61b3b0e..04c6b7a 100644 --- a/gas/testsuite/gas/rx/pr19665.d +++ b/gas/testsuite/gas/rx/pr19665.d @@ -1,6 +1,6 @@ #objdump: -dr -.*: file format elf32-rx-le +.*: file format elf32-rx-(le|linux) Disassembly of section .*: diff --git a/gas/testsuite/gas/rx/pr22737.d b/gas/testsuite/gas/rx/pr22737.d index 1de868e..1de3e0b 100644 --- a/gas/testsuite/gas/rx/pr22737.d +++ b/gas/testsuite/gas/rx/pr22737.d @@ -1,6 +1,6 @@ #objdump: -dr -.*: file format elf32-rx-le +.*: file format elf32-rx-(le|linux) Disassembly of section .*: |