binutils: Upgrade to 2.26
(From OE-Core rev: 86ade2cc2553c942d9526c5323a11ae151653505) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
ba2fdcddaf
commit
c85c54f7f8
|
@ -24,7 +24,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
|
|||
|
||||
GCCVERSION ?= "5.%"
|
||||
SDKGCCVERSION ?= "${GCCVERSION}"
|
||||
BINUVERSION ?= "2.25%"
|
||||
BINUVERSION ?= "2.26%"
|
||||
GDBVERSION ?= "7.10%"
|
||||
GLIBCVERSION ?= "2.22"
|
||||
UCLIBCVERSION ?= "1.0%"
|
||||
|
|
|
@ -18,7 +18,7 @@ BINUPV = "${@binutils_branch_version(d)}"
|
|||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
|
||||
|
||||
SRCREV = "2bd25930221dea4bf33c13a89c111514491440e2"
|
||||
SRCREV = "3c9d874373f2189cb704999b0ba39b9bbca91a61"
|
||||
SRC_URI = "\
|
||||
git://sourceware.org/git/binutils-gdb.git;branch=binutils-${BINUPV}-branch;protocol=git \
|
||||
file://0002-configure-widen-the-regexp-for-SH-architectures.patch \
|
||||
|
@ -28,16 +28,10 @@ SRC_URI = "\
|
|||
file://0006-Use-libtool-2.4.patch \
|
||||
file://0007-Add-the-armv5e-architecture-to-binutils.patch \
|
||||
file://0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch \
|
||||
file://0009-Upstream-Status-Inappropriate-distribution-codesourc.patch \
|
||||
file://0009-warn-for-uses-of-system-directories-when-cross-linki.patch \
|
||||
file://0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \
|
||||
file://0011-Change-default-emulation-for-mips64-linux.patch \
|
||||
file://0012-Add-XLP-instructions-support.patch \
|
||||
file://0013-Fix-an-internal-error-in-do_print_to_mapfile-seen-wi.patch \
|
||||
file://0014-gold-arm-Skip-pic-check-for-R_ARM_REL32.patch \
|
||||
file://0015-Fix-dynamic-list-so-that-symbols-not-in-the-list-are.patch \
|
||||
file://0016-This-patch-adds-IFUNC-support-for-arm-gold-backend.patch \
|
||||
file://binutils-octeon3.patch \
|
||||
file://add-thunderx-support-for-gas.patch \
|
||||
"
|
||||
S = "${WORKDIR}/git"
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From f71ecf251f84b4bbc9b7a832d5cd4a8bae95d83b Mon Sep 17 00:00:00 2001
|
||||
From c2263f6e910f43637fb514de5c48e9ce6a8d55f1 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 2 Mar 2015 01:58:54 +0000
|
||||
Subject: [PATCH 01/13] Generate relocatable SDKs
|
||||
Subject: [PATCH 01/12] Generate relocatable SDKs
|
||||
|
||||
This patch will modify the ELF linker scripts so that the crosssdk
|
||||
linker will generate binaries with a 4096 bytes PT_INTERP section. When the binaries
|
||||
|
@ -18,7 +18,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||
2 files changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/ld/genscripts.sh b/ld/genscripts.sh
|
||||
index 499607a..075dd04 100755
|
||||
index a84d233..d12c4e2 100755
|
||||
--- a/ld/genscripts.sh
|
||||
+++ b/ld/genscripts.sh
|
||||
@@ -277,6 +277,7 @@ DATA_ALIGNMENT_u="${DATA_ALIGNMENT_u-${DATA_ALIGNMENT_r}}"
|
||||
|
@ -43,10 +43,10 @@ index 499607a..075dd04 100755
|
|||
LD_FLAG=
|
||||
DATA_ALIGNMENT=${DATA_ALIGNMENT_}
|
||||
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
|
||||
index 4368fd9..9f01e8c 100644
|
||||
index ec78c90..f9e7a31 100644
|
||||
--- a/ld/scripttempl/elf.sc
|
||||
+++ b/ld/scripttempl/elf.sc
|
||||
@@ -131,8 +131,8 @@ if test -n "${COMMONPAGESIZE}"; then
|
||||
@@ -136,8 +136,8 @@ if test -n "${COMMONPAGESIZE}"; then
|
||||
DATA_SEGMENT_END=". = DATA_SEGMENT_END (.);"
|
||||
DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT-0}, .);"
|
||||
fi
|
||||
|
@ -58,5 +58,5 @@ index 4368fd9..9f01e8c 100644
|
|||
if test -z "$PLT"; then
|
||||
IPLT=".iplt ${RELOCATING-0} : { *(.iplt) }"
|
||||
--
|
||||
2.1.4
|
||||
2.7.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From dfbcfb0d71765b337e63562299a943043928d2d2 Mon Sep 17 00:00:00 2001
|
||||
From 301ad846e3a3ea0b49243c6276aa7dcc3fa5cc59 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 2 Mar 2015 01:07:33 +0000
|
||||
Subject: [PATCH 02/13] configure: widen the regexp for SH architectures
|
||||
Subject: [PATCH 02/12] configure: widen the regexp for SH architectures
|
||||
|
||||
gprof needs to know about uclibc
|
||||
|
||||
|
@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||
2 files changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 87677bc..e9f2f13 100755
|
||||
index 34b66f7..85414ab 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -3341,7 +3341,7 @@ case "${target}" in
|
||||
@@ -3445,7 +3445,7 @@ case "${target}" in
|
||||
;;
|
||||
s390-*-* | s390x-*-*)
|
||||
;;
|
||||
|
@ -26,7 +26,7 @@ index 87677bc..e9f2f13 100755
|
|||
;;
|
||||
sh64-*-* | sh5*-*-*)
|
||||
;;
|
||||
@@ -3812,7 +3812,7 @@ case "${target}" in
|
||||
@@ -3939,7 +3939,7 @@ case "${target}" in
|
||||
or1k*-*-*)
|
||||
noconfigdirs="$noconfigdirs gdb"
|
||||
;;
|
||||
|
@ -36,7 +36,7 @@ index 87677bc..e9f2f13 100755
|
|||
sh*-*-elf)
|
||||
;;
|
||||
diff --git a/gprof/configure b/gprof/configure
|
||||
index b09c8fb..79961c5 100755
|
||||
index 2702da1..7dcd141 100755
|
||||
--- a/gprof/configure
|
||||
+++ b/gprof/configure
|
||||
@@ -5869,6 +5869,11 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
|
||||
|
@ -52,5 +52,5 @@ index b09c8fb..79961c5 100755
|
|||
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
|
||||
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
|
||||
--
|
||||
2.1.4
|
||||
2.7.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From dfb1412da67bbfe3e993d107d0b5e392f44141ab Mon Sep 17 00:00:00 2001
|
||||
From 887db9238821b4f1f5f469f9c825ed9b2e2dc719 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 2 Mar 2015 01:09:58 +0000
|
||||
Subject: [PATCH 03/13] Point scripts location to libdir
|
||||
Subject: [PATCH 03/12] Point scripts location to libdir
|
||||
|
||||
Upstream-Status: Inappropriate [debian patch]
|
||||
|
||||
|
@ -12,10 +12,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/ld/Makefile.am b/ld/Makefile.am
|
||||
index 9575f1f..84df0bf 100644
|
||||
index 0b3b049..3871c74 100644
|
||||
--- a/ld/Makefile.am
|
||||
+++ b/ld/Makefile.am
|
||||
@@ -54,7 +54,7 @@ endif
|
||||
@@ -57,7 +57,7 @@ endif
|
||||
# We put the scripts in the directory $(scriptdir)/ldscripts.
|
||||
# We can't put the scripts in $(datadir) because the SEARCH_DIR
|
||||
# directives need to be different for native and cross linkers.
|
||||
|
@ -25,10 +25,10 @@ index 9575f1f..84df0bf 100644
|
|||
EMUL = @EMUL@
|
||||
EMULATION_OFILES = @EMULATION_OFILES@
|
||||
diff --git a/ld/Makefile.in b/ld/Makefile.in
|
||||
index 9f56ca1..272860f 100644
|
||||
index ed98f87..530e4c9 100644
|
||||
--- a/ld/Makefile.in
|
||||
+++ b/ld/Makefile.in
|
||||
@@ -388,7 +388,7 @@ AM_CFLAGS = $(WARN_CFLAGS)
|
||||
@@ -413,7 +413,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
|
||||
# We put the scripts in the directory $(scriptdir)/ldscripts.
|
||||
# We can't put the scripts in $(datadir) because the SEARCH_DIR
|
||||
# directives need to be different for native and cross linkers.
|
||||
|
@ -38,5 +38,5 @@ index 9f56ca1..272860f 100644
|
|||
BFDDIR = $(BASEDIR)/bfd
|
||||
INCDIR = $(BASEDIR)/include
|
||||
--
|
||||
2.1.4
|
||||
2.7.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 3126608b8c95a792ade56cf62a531d935d391c50 Mon Sep 17 00:00:00 2001
|
||||
From 0d76940b5507406719635ee154a29e80a8cb1234 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 2 Mar 2015 01:27:17 +0000
|
||||
Subject: [PATCH 04/13] Only generate an RPATH entry if LD_RUN_PATH is not
|
||||
Subject: [PATCH 04/12] Only generate an RPATH entry if LD_RUN_PATH is not
|
||||
empty
|
||||
|
||||
for cases where -rpath isn't specified. debian (#151024)
|
||||
|
@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
|
||||
index 36dee8e..07bea52 100644
|
||||
index 0405d4f..73c5447 100644
|
||||
--- a/ld/emultempl/elf32.em
|
||||
+++ b/ld/emultempl/elf32.em
|
||||
@@ -1198,6 +1198,8 @@ fragment <<EOF
|
||||
@@ -1242,6 +1242,8 @@ fragment <<EOF
|
||||
&& command_line.rpath == NULL)
|
||||
{
|
||||
lib_path = (const char *) getenv ("LD_RUN_PATH");
|
||||
|
@ -27,7 +27,7 @@ index 36dee8e..07bea52 100644
|
|||
if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
|
||||
force))
|
||||
break;
|
||||
@@ -1461,6 +1463,8 @@ gld${EMULATION_NAME}_before_allocation (void)
|
||||
@@ -1523,6 +1525,8 @@ gld${EMULATION_NAME}_before_allocation (void)
|
||||
rpath = command_line.rpath;
|
||||
if (rpath == NULL)
|
||||
rpath = (const char *) getenv ("LD_RUN_PATH");
|
||||
|
@ -37,5 +37,5 @@ index 36dee8e..07bea52 100644
|
|||
for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
|
||||
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
|
||||
--
|
||||
2.1.4
|
||||
2.7.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From f1703bcc7a5c507e471e2630b5a2de129100315a Mon Sep 17 00:00:00 2001
|
||||
From 589cc10e54b95607d2728ee37e9387140bf5eb32 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 2 Mar 2015 01:32:49 +0000
|
||||
Subject: [PATCH 05/13] Explicitly link with libm on uclibc
|
||||
Subject: [PATCH 05/12] Explicitly link with libm on uclibc
|
||||
|
||||
Description:
|
||||
|
||||
|
@ -31,10 +31,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/gas/configure.tgt b/gas/configure.tgt
|
||||
index 9abc768..1d92f55 100644
|
||||
index 0b490d4..086e0d2 100644
|
||||
--- a/gas/configure.tgt
|
||||
+++ b/gas/configure.tgt
|
||||
@@ -477,6 +477,12 @@ case ${generic_target} in
|
||||
@@ -487,6 +487,12 @@ case ${generic_target} in
|
||||
*-*-netware) fmt=elf em=netware ;;
|
||||
esac
|
||||
|
||||
|
@ -48,5 +48,5 @@ index 9abc768..1d92f55 100644
|
|||
aarch64 | alpha | arm | i386 | ia64 | microblaze | mips | ns32k | or1k | or1knd | pdp11 | ppc | sparc | z80 | z8k)
|
||||
bfd_gas=yes
|
||||
--
|
||||
2.1.4
|
||||
2.7.0
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
|||
From 743f42aaecb1ab89eba0eaf5e88ed67bbf3ba304 Mon Sep 17 00:00:00 2001
|
||||
From 61789a45c6193519b9da9dd0fa9a94532faaa4a9 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 2 Mar 2015 01:37:10 +0000
|
||||
Subject: [PATCH 07/13] Add the armv5e architecture to binutils
|
||||
Subject: [PATCH 07/12] Add the armv5e architecture to binutils
|
||||
|
||||
Binutils has a comment that indicates it is supposed to match gcc for
|
||||
all of the support "-march=" settings, but it was lacking the armv5e setting.
|
||||
|
@ -19,10 +19,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
|
||||
index 2db6c2d..ab48168 100644
|
||||
index 3bd4bc9..5d99921 100644
|
||||
--- a/gas/config/tc-arm.c
|
||||
+++ b/gas/config/tc-arm.c
|
||||
@@ -24463,6 +24463,7 @@ static const struct arm_arch_option_table arm_archs[] =
|
||||
@@ -24791,6 +24791,7 @@ static const struct arm_arch_option_table arm_archs[] =
|
||||
ARM_ARCH_OPT ("armv4t", ARM_ARCH_V4T, FPU_ARCH_FPA),
|
||||
ARM_ARCH_OPT ("armv4txm", ARM_ARCH_V4TxM, FPU_ARCH_FPA),
|
||||
ARM_ARCH_OPT ("armv5", ARM_ARCH_V5, FPU_ARCH_VFP),
|
||||
|
@ -31,5 +31,5 @@ index 2db6c2d..ab48168 100644
|
|||
ARM_ARCH_OPT ("armv5txm", ARM_ARCH_V5TxM, FPU_ARCH_VFP),
|
||||
ARM_ARCH_OPT ("armv5te", ARM_ARCH_V5TE, FPU_ARCH_VFP),
|
||||
--
|
||||
2.1.4
|
||||
2.7.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 4d3a9f6db604055348332b56889d466c058fa5f3 Mon Sep 17 00:00:00 2001
|
||||
From 0ccefb615b5316e71c1ed9bab80aa4eafb26167a Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 2 Mar 2015 01:39:01 +0000
|
||||
Subject: [PATCH 08/13] don't let the distro compiler point to the wrong
|
||||
Subject: [PATCH 08/12] don't let the distro compiler point to the wrong
|
||||
installation location
|
||||
|
||||
Thanks to RP for helping find the source code causing the issue.
|
||||
|
@ -17,10 +17,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
|
||||
index 9b87720..ff43f53 100644
|
||||
index 7d7e2f4..1aaaf0e 100644
|
||||
--- a/libiberty/Makefile.in
|
||||
+++ b/libiberty/Makefile.in
|
||||
@@ -361,7 +361,8 @@ install-strip: install
|
||||
@@ -364,7 +364,8 @@ install-strip: install
|
||||
# multilib-specific flags, it's overridden by FLAGS_TO_PASS from the
|
||||
# default multilib, so we have to take CFLAGS into account as well,
|
||||
# since it will be passed the multilib flags.
|
||||
|
@ -31,5 +31,5 @@ index 9b87720..ff43f53 100644
|
|||
if test -n "${target_header_dir}"; then \
|
||||
${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
|
||||
--
|
||||
2.1.4
|
||||
2.7.0
|
||||
|
||||
|
|
|
@ -1,15 +1,7 @@
|
|||
From e02e119b278c3f404e97669e7180cac944134c91 Mon Sep 17 00:00:00 2001
|
||||
From e5d18410cb07da09f854b9568f51a873f1166d2a Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 2 Mar 2015 01:41:04 +0000
|
||||
Subject: [PATCH 09/13] Upstream-Status: Inappropriate [distribution:
|
||||
codesourcery]
|
||||
|
||||
Patch originally created by Mark Hatle, forward-ported to
|
||||
binutils 2.21 by Scott Garman.
|
||||
|
||||
purpose: warn for uses of system directories when cross linking
|
||||
|
||||
Code Merged from Sourcery G++ binutils 2.19 - 4.4-277
|
||||
Date: Fri, 15 Jan 2016 06:31:09 +0000
|
||||
Subject: [PATCH 09/12] warn for uses of system directories when cross linking
|
||||
|
||||
2008-07-02 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
|
@ -57,8 +49,10 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|||
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
ld/config.in | 3 +++
|
||||
ld/configure | 14 ++++++++++++++
|
||||
ld/configure | 16 ++++++++++++++++
|
||||
ld/configure.ac | 10 ++++++++++
|
||||
ld/ld.h | 8 ++++++++
|
||||
ld/ld.texinfo | 12 ++++++++++++
|
||||
|
@ -66,13 +60,13 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||
ld/ldlex.h | 2 ++
|
||||
ld/ldmain.c | 2 ++
|
||||
ld/lexsup.c | 16 ++++++++++++++++
|
||||
9 files changed, 84 insertions(+)
|
||||
9 files changed, 86 insertions(+)
|
||||
|
||||
diff --git a/ld/config.in b/ld/config.in
|
||||
index 2ab4844..766d23c 100644
|
||||
index 276fb77..35c58eb 100644
|
||||
--- a/ld/config.in
|
||||
+++ b/ld/config.in
|
||||
@@ -11,6 +11,9 @@
|
||||
@@ -14,6 +14,9 @@
|
||||
language is requested. */
|
||||
#undef ENABLE_NLS
|
||||
|
||||
|
@ -83,18 +77,18 @@ index 2ab4844..766d23c 100644
|
|||
#undef EXTRA_SHLIB_EXTENSION
|
||||
|
||||
diff --git a/ld/configure b/ld/configure
|
||||
index 2fbaebf..5726a08 100755
|
||||
index 7a20e4e..7cff36c 100755
|
||||
--- a/ld/configure
|
||||
+++ b/ld/configure
|
||||
@@ -787,6 +787,7 @@ with_lib_path
|
||||
@@ -790,6 +790,7 @@ with_lib_path
|
||||
enable_targets
|
||||
enable_64_bit_bfd
|
||||
with_sysroot
|
||||
+enable_poison_system_directories
|
||||
enable_gold
|
||||
enable_got
|
||||
enable_werror
|
||||
@@ -1443,6 +1444,8 @@ Optional Features:
|
||||
enable_compressed_debug_sections
|
||||
@@ -1446,6 +1447,8 @@ Optional Features:
|
||||
--disable-largefile omit support for large files
|
||||
--enable-targets alternative target configurations
|
||||
--enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
|
||||
|
@ -103,8 +97,8 @@ index 2fbaebf..5726a08 100755
|
|||
--enable-gold[=ARG] build gold [ARG={default,yes,no}]
|
||||
--enable-got=<type> GOT handling scheme (target, single, negative,
|
||||
multigot)
|
||||
@@ -16323,7 +16326,18 @@ else
|
||||
fi
|
||||
@@ -16306,6 +16309,19 @@ fi
|
||||
|
||||
|
||||
|
||||
+# Check whether --enable-poison-system-directories was given.
|
||||
|
@ -115,18 +109,19 @@ index 2fbaebf..5726a08 100755
|
|||
+fi
|
||||
+
|
||||
+if test "x${enable_poison_system_directories}" = "xyes"; then
|
||||
|
||||
+
|
||||
+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
|
||||
# Check whether --enable-got was given.
|
||||
if test "${enable_got+set}" = set; then :
|
||||
+
|
||||
# Check whether --enable-gold was given.
|
||||
if test "${enable_gold+set}" = set; then :
|
||||
enableval=$enable_gold; case "${enableval}" in
|
||||
diff --git a/ld/configure.ac b/ld/configure.ac
|
||||
index 1bddfc9..e9edb7f 100644
|
||||
index 188172d..2cd8443 100644
|
||||
--- a/ld/configure.ac
|
||||
+++ b/ld/configure.ac
|
||||
@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot)
|
||||
@@ -95,6 +95,16 @@ AC_SUBST(use_sysroot)
|
||||
AC_SUBST(TARGET_SYSTEM_ROOT)
|
||||
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
|
||||
|
||||
|
@ -144,12 +139,12 @@ index 1bddfc9..e9edb7f 100644
|
|||
dnl "install_as_default" is set to false if gold is the default linker.
|
||||
dnl "installed_linker" is the installed BFD linker name.
|
||||
diff --git a/ld/ld.h b/ld/ld.h
|
||||
index f773ce7..adba0f6 100644
|
||||
index d84ec4e..3476b26 100644
|
||||
--- a/ld/ld.h
|
||||
+++ b/ld/ld.h
|
||||
@@ -161,6 +161,14 @@ typedef struct {
|
||||
/* If TRUE we'll just print the default output on stdout. */
|
||||
bfd_boolean print_output_format;
|
||||
@@ -164,6 +164,14 @@ typedef struct {
|
||||
/* If set, display the target memory usage (per memory region). */
|
||||
bfd_boolean print_memory_usage;
|
||||
|
||||
+ /* If TRUE (the default) warn for uses of system directories when
|
||||
+ cross linking. */
|
||||
|
@ -163,10 +158,10 @@ index f773ce7..adba0f6 100644
|
|||
enum endian_enum endian;
|
||||
|
||||
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
|
||||
index 502582c..dae168a 100644
|
||||
index 1dd7492..fb1438e 100644
|
||||
--- a/ld/ld.texinfo
|
||||
+++ b/ld/ld.texinfo
|
||||
@@ -2212,6 +2212,18 @@ string identifying the original linked file does not change.
|
||||
@@ -2332,6 +2332,18 @@ string identifying the original linked file does not change.
|
||||
|
||||
Passing @code{none} for @var{style} disables the setting from any
|
||||
@code{--build-id} options earlier on the command line.
|
||||
|
@ -186,7 +181,7 @@ index 502582c..dae168a 100644
|
|||
|
||||
@c man end
|
||||
diff --git a/ld/ldfile.c b/ld/ldfile.c
|
||||
index 782ed7f..19a9ab4 100644
|
||||
index 96f9ecc..af231c0 100644
|
||||
--- a/ld/ldfile.c
|
||||
+++ b/ld/ldfile.c
|
||||
@@ -114,6 +114,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline)
|
||||
|
@ -214,23 +209,23 @@ index 782ed7f..19a9ab4 100644
|
|||
|
||||
/* Try to open a BFD for a lang_input_statement. */
|
||||
diff --git a/ld/ldlex.h b/ld/ldlex.h
|
||||
index e3e9b24..29487a3 100644
|
||||
index 6f11e7b..0ca3110 100644
|
||||
--- a/ld/ldlex.h
|
||||
+++ b/ld/ldlex.h
|
||||
@@ -140,6 +140,8 @@ enum option_values
|
||||
OPTION_IGNORE_UNRESOLVED_SYMBOL,
|
||||
OPTION_PUSH_STATE,
|
||||
OPTION_POP_STATE,
|
||||
@@ -144,6 +144,8 @@ enum option_values
|
||||
OPTION_PRINT_MEMORY_USAGE,
|
||||
OPTION_REQUIRE_DEFINED_SYMBOL,
|
||||
OPTION_ORPHAN_HANDLING,
|
||||
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES,
|
||||
+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES,
|
||||
};
|
||||
|
||||
/* The initial parser states. */
|
||||
diff --git a/ld/ldmain.c b/ld/ldmain.c
|
||||
index 818d108..54c49f2 100644
|
||||
index bb0b9cc..a23c56c 100644
|
||||
--- a/ld/ldmain.c
|
||||
+++ b/ld/ldmain.c
|
||||
@@ -266,6 +266,8 @@ main (int argc, char **argv)
|
||||
@@ -257,6 +257,8 @@ main (int argc, char **argv)
|
||||
command_line.warn_mismatch = TRUE;
|
||||
command_line.warn_search_mismatch = TRUE;
|
||||
command_line.check_section_addresses = -1;
|
||||
|
@ -240,12 +235,12 @@ index 818d108..54c49f2 100644
|
|||
/* We initialize DEMANGLING based on the environment variable
|
||||
COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the
|
||||
diff --git a/ld/lexsup.c b/ld/lexsup.c
|
||||
index 4812c97..21b49df 100644
|
||||
index 4cad209..173b17f 100644
|
||||
--- a/ld/lexsup.c
|
||||
+++ b/ld/lexsup.c
|
||||
@@ -513,6 +513,14 @@ static const struct ld_option ld_options[] =
|
||||
{ {"pop-state", no_argument, NULL, OPTION_POP_STATE},
|
||||
'\0', NULL, N_("Pop state of flags governing input file handling"),
|
||||
@@ -530,6 +530,14 @@ static const struct ld_option ld_options[] =
|
||||
{ {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING},
|
||||
'\0', N_("=MODE"), N_("Control how orphan sections are handled."),
|
||||
TWO_DASHES },
|
||||
+ { {"no-poison-system-directories", no_argument, NULL,
|
||||
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES},
|
||||
|
@ -258,9 +253,9 @@ index 4812c97..21b49df 100644
|
|||
};
|
||||
|
||||
#define OPTION_COUNT ARRAY_SIZE (ld_options)
|
||||
@@ -1474,6 +1482,14 @@ parse_args (unsigned argc, char **argv)
|
||||
free (oldp);
|
||||
}
|
||||
@@ -1550,6 +1558,14 @@ parse_args (unsigned argc, char **argv)
|
||||
einfo (_("%P%F: invalid argument to option"
|
||||
" \"--orphan-handling\"\n"));
|
||||
break;
|
||||
+
|
||||
+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
|
||||
|
@ -274,5 +269,5 @@ index 4812c97..21b49df 100644
|
|||
}
|
||||
|
||||
--
|
||||
2.1.4
|
||||
2.7.0
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From edbee9a68e1c2e11c059668aa1d13001d9f3de06 Mon Sep 17 00:00:00 2001
|
||||
From eff00547a91cad0b8ee9bf5b6030dfa48a5ea6ae Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 2 Mar 2015 01:42:38 +0000
|
||||
Subject: [PATCH 10/13] Fix rpath in libtool when sysroot is enabled
|
||||
Subject: [PATCH 10/12] Fix rpath in libtool when sysroot is enabled
|
||||
|
||||
Enabling sysroot support in libtool exposed a bug where the final
|
||||
library had an RPATH encoded into it which still pointed to the
|
||||
|
@ -48,5 +48,5 @@ index 70e856e..11ee684 100644
|
|||
if test -z "$hardcode_libdirs"; then
|
||||
hardcode_libdirs="$libdir"
|
||||
--
|
||||
2.1.4
|
||||
2.7.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 2a5e8813d3c5db3e2b7d9dfa2ab27cccd5111e53 Mon Sep 17 00:00:00 2001
|
||||
From b0bcabc83ba02f984d8c87d612c115c9ab7a9fce Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 2 Mar 2015 01:44:14 +0000
|
||||
Subject: [PATCH 11/13] Change default emulation for mips64*-*-linux
|
||||
Subject: [PATCH 11/12] Change default emulation for mips64*-*-linux
|
||||
|
||||
we change the default emulations to be N64 instead of N32
|
||||
|
||||
|
@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|||
2 files changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/bfd/config.bfd b/bfd/config.bfd
|
||||
index 7bcb92a..03d2c6f 100644
|
||||
index c5688cb..5c27b49 100644
|
||||
--- a/bfd/config.bfd
|
||||
+++ b/bfd/config.bfd
|
||||
@@ -1062,12 +1062,12 @@ case "${targ}" in
|
||||
@@ -1087,12 +1087,12 @@ case "${targ}" in
|
||||
targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
|
||||
;;
|
||||
mips64*el-*-linux*)
|
||||
|
@ -35,10 +35,10 @@ index 7bcb92a..03d2c6f 100644
|
|||
mips*el-*-linux*)
|
||||
targ_defvec=mips_elf32_trad_le_vec
|
||||
diff --git a/ld/configure.tgt b/ld/configure.tgt
|
||||
index 24e36d1..740b2ea 100644
|
||||
index 6b6bbf2..b45b1e5 100644
|
||||
--- a/ld/configure.tgt
|
||||
+++ b/ld/configure.tgt
|
||||
@@ -476,11 +476,11 @@ mips*el-*-vxworks*) targ_emul=elf32elmipvxworks
|
||||
@@ -509,11 +509,11 @@ mips*el-*-vxworks*) targ_emul=elf32elmipvxworks
|
||||
mips*-*-vxworks*) targ_emul=elf32ebmipvxworks
|
||||
targ_extra_emuls="elf32elmipvxworks" ;;
|
||||
mips*-*-windiss) targ_emul=elf32mipswindiss ;;
|
||||
|
@ -55,5 +55,5 @@ index 24e36d1..740b2ea 100644
|
|||
mips*el-*-linux-*) targ_emul=elf32ltsmip
|
||||
targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
|
||||
--
|
||||
2.1.4
|
||||
2.7.0
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 448329ea097447aee73d050045295c5a0ae8519e Mon Sep 17 00:00:00 2001
|
||||
From 10e0f42d258164a6a8c0c733518c79e114f5d702 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 2 Mar 2015 01:51:05 +0000
|
||||
Subject: [PATCH 12/13] Add XLP instructions support
|
||||
Date: Fri, 15 Jan 2016 06:37:20 +0000
|
||||
Subject: [PATCH 12/12] Add XLP instructions support
|
||||
|
||||
From 26adb06ce515aadfec08ce13109b4b98287f677b Mon Sep 17 00:00:00 2001
|
||||
From: Nebu Philips <nphilips@netlogicmicro.com>
|
||||
|
@ -10,34 +10,16 @@ Subject: [PATCH] Add support for Netlogic XLP
|
|||
|
||||
Using the mipsisa64r2nlm target, add support for XLP from
|
||||
Netlogic. Also, update vendor name to NLM wherever applicable.
|
||||
---
|
||||
bfd/aoutx.h | 1 +
|
||||
bfd/archures.c | 1 +
|
||||
bfd/bfd-in2.h | 1 +
|
||||
bfd/config.bfd | 5 +++++
|
||||
bfd/cpu-mips.c | 6 ++++--
|
||||
bfd/elfxx-mips.c | 8 ++++++++
|
||||
binutils/readelf.c | 1 +
|
||||
gas/config/tc-mips.c | 4 +++-
|
||||
gas/configure | 3 +++
|
||||
gas/configure.tgt | 2 +-
|
||||
include/elf/mips.h | 1 +
|
||||
include/opcode/mips.h | 10 ++++++++--
|
||||
ld/configure.tgt | 2 ++
|
||||
opcodes/mips-dis.c | 12 +++++-------
|
||||
opcodes/mips-opc.c | 33 +++++++++++++++++++++------------
|
||||
15 files changed, 65 insertions(+), 25 deletions(-)
|
||||
|
||||
Upstream-Status: Pending
|
||||
Use 0x00000080 for INSN_XLP, the value 0x00000040 has already been
|
||||
assigned to INSN_OCTEON3
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
Use 0x00000080 for INSN_XLP, the value 0x00000040 has already been assigned
|
||||
to INSN_OCTEON3
|
||||
|
||||
Signed-off-by: Baoshan Pang <baoshan.pang@windriver.com>
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
bfd/aoutx.h | 1 +
|
||||
bfd/archures.c | 1 +
|
||||
bfd/bfd-in2.h | 1 +
|
||||
|
@ -56,7 +38,7 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|||
15 files changed, 65 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/bfd/aoutx.h b/bfd/aoutx.h
|
||||
index 9385a98..a88df99 100644
|
||||
index f78b910..d0d8dd3 100644
|
||||
--- a/bfd/aoutx.h
|
||||
+++ b/bfd/aoutx.h
|
||||
@@ -802,6 +802,7 @@ NAME (aout, machine_type) (enum bfd_architecture arch,
|
||||
|
@ -68,34 +50,34 @@ index 9385a98..a88df99 100644
|
|||
arch_flags = M_MIPS2;
|
||||
break;
|
||||
diff --git a/bfd/archures.c b/bfd/archures.c
|
||||
index c9fd6c8..547bd09 100644
|
||||
index 51068b9..727741f 100644
|
||||
--- a/bfd/archures.c
|
||||
+++ b/bfd/archures.c
|
||||
@@ -180,6 +180,7 @@ DESCRIPTION
|
||||
.#define bfd_mach_mips_octeonp 6601
|
||||
@@ -181,6 +181,7 @@ DESCRIPTION
|
||||
.#define bfd_mach_mips_octeon2 6502
|
||||
.#define bfd_mach_mips_octeon3 6503
|
||||
.#define bfd_mach_mips_xlr 887682 {* decimal 'XLR' *}
|
||||
+.#define bfd_mach_mips_xlp 887680 {* decimal 'XLP' *}
|
||||
.#define bfd_mach_mipsisa32 32
|
||||
.#define bfd_mach_mipsisa32r2 33
|
||||
.#define bfd_mach_mipsisa32r3 34
|
||||
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
|
||||
index c7a2bb5..413b773 100644
|
||||
index 779ffbf..bf5a565 100644
|
||||
--- a/bfd/bfd-in2.h
|
||||
+++ b/bfd/bfd-in2.h
|
||||
@@ -1967,6 +1967,7 @@ enum bfd_architecture
|
||||
#define bfd_mach_mips_octeonp 6601
|
||||
@@ -1993,6 +1993,7 @@ enum bfd_architecture
|
||||
#define bfd_mach_mips_octeon2 6502
|
||||
#define bfd_mach_mips_octeon3 6503
|
||||
#define bfd_mach_mips_xlr 887682 /* decimal 'XLR' */
|
||||
+#define bfd_mach_mips_xlp 887680 /* decimal 'XLP' */
|
||||
#define bfd_mach_mipsisa32 32
|
||||
#define bfd_mach_mipsisa32r2 33
|
||||
#define bfd_mach_mipsisa32r3 34
|
||||
diff --git a/bfd/config.bfd b/bfd/config.bfd
|
||||
index 03d2c6f..27086db 100644
|
||||
index 5c27b49..d553039 100644
|
||||
--- a/bfd/config.bfd
|
||||
+++ b/bfd/config.bfd
|
||||
@@ -1041,6 +1041,11 @@ case "${targ}" in
|
||||
@@ -1066,6 +1066,11 @@ case "${targ}" in
|
||||
targ_defvec=mips_elf32_le_vec
|
||||
targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec"
|
||||
;;
|
||||
|
@ -108,12 +90,12 @@ index 03d2c6f..27086db 100644
|
|||
targ_defvec=mips_elf32_be_vec
|
||||
targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
|
||||
diff --git a/bfd/cpu-mips.c b/bfd/cpu-mips.c
|
||||
index b617aaa..19a99d1 100644
|
||||
index 8a9475d..de7e5a3 100644
|
||||
--- a/bfd/cpu-mips.c
|
||||
+++ b/bfd/cpu-mips.c
|
||||
@@ -103,7 +103,8 @@ enum
|
||||
I_mipsocteonp,
|
||||
@@ -104,7 +104,8 @@ enum
|
||||
I_mipsocteon2,
|
||||
I_mipsocteon3,
|
||||
I_xlr,
|
||||
- I_micromips
|
||||
+ I_micromips,
|
||||
|
@ -121,9 +103,9 @@ index b617aaa..19a99d1 100644
|
|||
};
|
||||
|
||||
#define NN(index) (&arch_info_struct[(index) + 1])
|
||||
@@ -153,7 +154,8 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
N (64, 64, bfd_mach_mips_octeonp,"mips:octeon+", FALSE, NN(I_mipsocteonp)),
|
||||
@@ -155,7 +156,8 @@ static const bfd_arch_info_type arch_info_struct[] =
|
||||
N (64, 64, bfd_mach_mips_octeon2,"mips:octeon2", FALSE, NN(I_mipsocteon2)),
|
||||
N (64, 64, bfd_mach_mips_octeon3, "mips:octeon3", FALSE, NN(I_mipsocteon3)),
|
||||
N (64, 64, bfd_mach_mips_xlr, "mips:xlr", FALSE, NN(I_xlr)),
|
||||
- N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,0)
|
||||
+ N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,NN(I_micromips)),
|
||||
|
@ -132,10 +114,10 @@ index b617aaa..19a99d1 100644
|
|||
|
||||
/* The default architecture is mips:3000, but with a machine number of
|
||||
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
|
||||
index 0df7abf..d268e86 100644
|
||||
index 1f2f4a3..700afd3 100644
|
||||
--- a/bfd/elfxx-mips.c
|
||||
+++ b/bfd/elfxx-mips.c
|
||||
@@ -6608,6 +6608,9 @@ _bfd_elf_mips_mach (flagword flags)
|
||||
@@ -6605,6 +6605,9 @@ _bfd_elf_mips_mach (flagword flags)
|
||||
case E_MIPS_MACH_XLR:
|
||||
return bfd_mach_mips_xlr;
|
||||
|
||||
|
@ -145,7 +127,7 @@ index 0df7abf..d268e86 100644
|
|||
default:
|
||||
switch (flags & EF_MIPS_ARCH)
|
||||
{
|
||||
@@ -11878,6 +11881,10 @@ mips_set_isa_flags (bfd *abfd)
|
||||
@@ -11901,6 +11904,10 @@ mips_set_isa_flags (bfd *abfd)
|
||||
val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON2;
|
||||
break;
|
||||
|
||||
|
@ -156,7 +138,7 @@ index 0df7abf..d268e86 100644
|
|||
case bfd_mach_mipsisa32:
|
||||
val = E_MIPS_ARCH_32;
|
||||
break;
|
||||
@@ -14765,6 +14772,7 @@ static const struct mips_mach_extension mips_mach_extensions[] =
|
||||
@@ -13931,6 +13938,7 @@ static const struct mips_mach_extension mips_mach_extensions[] =
|
||||
{ bfd_mach_mips_octeonp, bfd_mach_mips_octeon },
|
||||
{ bfd_mach_mips_octeon, bfd_mach_mipsisa64r2 },
|
||||
{ bfd_mach_mips_loongson_3a, bfd_mach_mipsisa64r2 },
|
||||
|
@ -165,10 +147,10 @@ index 0df7abf..d268e86 100644
|
|||
/* MIPS64 extensions. */
|
||||
{ bfd_mach_mipsisa64r2, bfd_mach_mipsisa64 },
|
||||
diff --git a/binutils/readelf.c b/binutils/readelf.c
|
||||
index 0c00b2f..6e9d5e4 100644
|
||||
index d5dd46f..66810cc 100644
|
||||
--- a/binutils/readelf.c
|
||||
+++ b/binutils/readelf.c
|
||||
@@ -2898,6 +2898,7 @@ get_machine_flags (unsigned e_flags, unsigned e_machine)
|
||||
@@ -3140,6 +3140,7 @@ get_machine_flags (unsigned e_flags, unsigned e_machine)
|
||||
case E_MIPS_MACH_OCTEON2: strcat (buf, ", octeon2"); break;
|
||||
case E_MIPS_MACH_OCTEON3: strcat (buf, ", octeon3"); break;
|
||||
case E_MIPS_MACH_XLR: strcat (buf, ", xlr"); break;
|
||||
|
@ -177,10 +159,10 @@ index 0c00b2f..6e9d5e4 100644
|
|||
/* We simply ignore the field in this case to avoid confusion:
|
||||
MIPS ELF does not specify EF_MIPS_MACH, it is a GNU
|
||||
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
|
||||
index c3e3e2a..8d64344 100644
|
||||
index a2d45a4..75902c0 100644
|
||||
--- a/gas/config/tc-mips.c
|
||||
+++ b/gas/config/tc-mips.c
|
||||
@@ -551,6 +551,7 @@ static int mips_32bitmode = 0;
|
||||
@@ -552,6 +552,7 @@ static int mips_32bitmode = 0;
|
||||
|| mips_opts.arch == CPU_RM7000 \
|
||||
|| mips_opts.arch == CPU_VR5500 \
|
||||
|| mips_opts.micromips \
|
||||
|
@ -188,7 +170,7 @@ index c3e3e2a..8d64344 100644
|
|||
)
|
||||
|
||||
/* Whether the processor uses hardware interlocks to protect reads
|
||||
@@ -580,6 +581,7 @@ static int mips_32bitmode = 0;
|
||||
@@ -581,6 +582,7 @@ static int mips_32bitmode = 0;
|
||||
&& mips_opts.isa != ISA_MIPS3) \
|
||||
|| mips_opts.arch == CPU_R4300 \
|
||||
|| mips_opts.micromips \
|
||||
|
@ -196,20 +178,20 @@ index c3e3e2a..8d64344 100644
|
|||
)
|
||||
|
||||
/* Whether the processor uses hardware interlocks to protect reads
|
||||
@@ -18682,7 +18684,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] =
|
||||
@@ -18702,7 +18704,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] =
|
||||
/* Broadcom XLP.
|
||||
XLP is mostly like XLR, with the prominent exception that it is
|
||||
MIPS64R2 rather than MIPS64. */
|
||||
- { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLR },
|
||||
+ { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLP },
|
||||
|
||||
/* End marker */
|
||||
{ NULL, 0, 0, 0, 0 }
|
||||
/* i6400. */
|
||||
{ "i6400", 0, ASE_MSA, ISA_MIPS64R6, CPU_MIPS64R6},
|
||||
diff --git a/gas/configure b/gas/configure
|
||||
index 074886f..8091f2f 100755
|
||||
index 1c2a665..c8010a8 100755
|
||||
--- a/gas/configure
|
||||
+++ b/gas/configure
|
||||
@@ -12808,6 +12808,9 @@ _ACEOF
|
||||
@@ -12826,6 +12826,9 @@ _ACEOF
|
||||
mipsisa64r6 | mipsisa64r6el)
|
||||
mips_cpu=mips64r6
|
||||
;;
|
||||
|
@ -220,10 +202,10 @@ index 074886f..8091f2f 100755
|
|||
mips_cpu=r3900
|
||||
;;
|
||||
diff --git a/gas/configure.tgt b/gas/configure.tgt
|
||||
index 1d92f55..06e8b4f 100644
|
||||
index 086e0d2..2b71270 100644
|
||||
--- a/gas/configure.tgt
|
||||
+++ b/gas/configure.tgt
|
||||
@@ -332,7 +332,7 @@ case ${generic_target} in
|
||||
@@ -339,7 +339,7 @@ case ${generic_target} in
|
||||
mips-*-sysv4*MP* | mips-*-gnu*) fmt=elf em=tmips ;;
|
||||
mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
|
||||
fmt=elf em=tmips ;;
|
||||
|
@ -233,7 +215,7 @@ index 1d92f55..06e8b4f 100644
|
|||
mips-*-openbsd*) fmt=elf em=tmips ;;
|
||||
|
||||
diff --git a/include/elf/mips.h b/include/elf/mips.h
|
||||
index 2ed6acd..e541f50 100644
|
||||
index 57de3bc..9ba141d 100644
|
||||
--- a/include/elf/mips.h
|
||||
+++ b/include/elf/mips.h
|
||||
@@ -285,6 +285,7 @@ END_RELOC_NUMBERS (R_MIPS_maxext)
|
||||
|
@ -245,10 +227,10 @@ index 2ed6acd..e541f50 100644
|
|||
#define E_MIPS_MACH_OCTEON3 0x008e0000
|
||||
#define E_MIPS_MACH_5400 0x00910000
|
||||
diff --git a/include/opcode/mips.h b/include/opcode/mips.h
|
||||
index ef26167..ef53ec6 100644
|
||||
index 9318fcc..9be5645 100644
|
||||
--- a/include/opcode/mips.h
|
||||
+++ b/include/opcode/mips.h
|
||||
@@ -1227,8 +1227,10 @@ static const unsigned int mips_isa_table[] = {
|
||||
@@ -1228,8 +1228,10 @@ static const unsigned int mips_isa_table[] = {
|
||||
#define INSN_LOONGSON_2F 0x80000000
|
||||
/* Loongson 3A. */
|
||||
#define INSN_LOONGSON_3A 0x00000400
|
||||
|
@ -261,15 +243,15 @@ index ef26167..ef53ec6 100644
|
|||
|
||||
/* DSP ASE */
|
||||
#define ASE_DSP 0x00000001
|
||||
@@ -1324,6 +1326,7 @@ static const unsigned int mips_isa_table[] = {
|
||||
#define CPU_OCTEONP 6601
|
||||
@@ -1326,6 +1328,7 @@ static const unsigned int mips_isa_table[] = {
|
||||
#define CPU_OCTEON2 6502
|
||||
#define CPU_OCTEON3 6503
|
||||
#define CPU_XLR 887682 /* decimal 'XLR' */
|
||||
+#define CPU_XLP 887680 /* decimal 'XLP' */
|
||||
|
||||
/* Return true if the given CPU is included in INSN_* mask MASK. */
|
||||
|
||||
@@ -1398,6 +1401,9 @@ cpu_is_member (int cpu, unsigned int mask)
|
||||
@@ -1403,6 +1406,9 @@ cpu_is_member (int cpu, unsigned int mask)
|
||||
return ((mask & INSN_ISA_MASK) == INSN_ISA32R6)
|
||||
|| ((mask & INSN_ISA_MASK) == INSN_ISA64R6);
|
||||
|
||||
|
@ -280,10 +262,10 @@ index ef26167..ef53ec6 100644
|
|||
return FALSE;
|
||||
}
|
||||
diff --git a/ld/configure.tgt b/ld/configure.tgt
|
||||
index 740b2ea..4df13a7 100644
|
||||
index b45b1e5..fb2f36a 100644
|
||||
--- a/ld/configure.tgt
|
||||
+++ b/ld/configure.tgt
|
||||
@@ -462,6 +462,8 @@ mips*el-sde-elf*) targ_emul=elf32ltsmip
|
||||
@@ -495,6 +495,8 @@ mips*el-sde-elf*) targ_emul=elf32ltsmip
|
||||
mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
|
||||
targ_emul=elf32btsmip
|
||||
targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;;
|
||||
|
@ -293,10 +275,10 @@ index 740b2ea..4df13a7 100644
|
|||
targ_extra_emuls="elf32lr5900"
|
||||
targ_extra_libpath=$targ_extra_emuls ;;
|
||||
diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c
|
||||
index 1eb1d45..d6881af 100644
|
||||
index 8200920..40d9fe2 100644
|
||||
--- a/opcodes/mips-dis.c
|
||||
+++ b/opcodes/mips-dis.c
|
||||
@@ -655,13 +655,11 @@ const struct mips_arch_choice mips_arch_choices[] =
|
||||
@@ -648,13 +648,11 @@ const struct mips_arch_choice mips_arch_choices[] =
|
||||
mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr),
|
||||
mips_cp1_names_mips3264, mips_hwr_names_numeric },
|
||||
|
||||
|
@ -311,25 +293,25 @@ index 1eb1d45..d6881af 100644
|
|||
+ ISA_MIPS64R2 | INSN_XLP, 0,
|
||||
+ mips_cp0_names_mips3264r2,
|
||||
+ mips_cp0sel_names_mips3264r2, ARRAY_SIZE (mips_cp0sel_names_mips3264r2),
|
||||
+ mips_hwr_names_mips3264r2 },
|
||||
+ mips_cp1_names_mips3264, mips_hwr_names_mips3264r2 },
|
||||
|
||||
/* This entry, mips16, is here only for ISA/processor selection; do
|
||||
not print its name. */
|
||||
diff --git a/opcodes/mips-opc.c b/opcodes/mips-opc.c
|
||||
index 2c3bbad..9785a7e 100644
|
||||
index 402f887..3764836 100644
|
||||
--- a/opcodes/mips-opc.c
|
||||
+++ b/opcodes/mips-opc.c
|
||||
@@ -319,7 +319,8 @@ decode_mips_operand (const char *p)
|
||||
#define IOCT (INSN_OCTEON | INSN_OCTEONP | INSN_OCTEON2)
|
||||
#define IOCTP (INSN_OCTEONP | INSN_OCTEON2)
|
||||
#define IOCT2 INSN_OCTEON2
|
||||
@@ -320,7 +320,8 @@ decode_mips_operand (const char *p)
|
||||
#define IOCTP (INSN_OCTEONP | INSN_OCTEON2 | INSN_OCTEON3)
|
||||
#define IOCT2 (INSN_OCTEON2 | INSN_OCTEON3)
|
||||
#define IOCT3 INSN_OCTEON3
|
||||
-#define XLR INSN_XLR
|
||||
+#define XLR INSN_XLR
|
||||
+#define XLP INSN_XLP
|
||||
#define IVIRT ASE_VIRT
|
||||
#define IVIRT64 ASE_VIRT64
|
||||
|
||||
@@ -956,6 +957,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
@@ -957,6 +958,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
{"clo", "U,s", 0x70000021, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 },
|
||||
{"clz", "d,s", 0x00000050, 0xfc1f07ff, WR_1|RD_2, 0, I37, 0, 0 },
|
||||
{"clz", "U,s", 0x70000020, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 },
|
||||
|
@ -337,7 +319,7 @@ index 2c3bbad..9785a7e 100644
|
|||
/* ctc0 is at the bottom of the table. */
|
||||
{"ctc1", "t,G", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 },
|
||||
{"ctc1", "t,S", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 },
|
||||
@@ -988,12 +990,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
@@ -989,12 +991,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
{"daddiu", "t,r,j", 0x64000000, 0xfc000000, WR_1|RD_2, 0, I3, 0, 0 },
|
||||
{"daddu", "d,v,t", 0x0000002d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 },
|
||||
{"daddu", "t,r,I", 0, (int) M_DADDU_I, INSN_MACRO, 0, I3, 0, 0 },
|
||||
|
@ -352,7 +334,7 @@ index 2c3bbad..9785a7e 100644
|
|||
/* dctr and dctw are used on the r5000. */
|
||||
{"dctr", "o(b)", 0xbc050000, 0xfc1f0000, RD_2, 0, I3, 0, 0 },
|
||||
{"dctw", "o(b)", 0xbc090000, 0xfc1f0000, RD_2, 0, I3, 0, 0 },
|
||||
@@ -1065,6 +1068,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
@@ -1066,6 +1069,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
{"dmfc0", "t,G,H", 0x40200000, 0xffe007f8, WR_1|RD_C0|LC, 0, I64, 0, 0 },
|
||||
{"dmfgc0", "t,G", 0x40600100, 0xffe007ff, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 },
|
||||
{"dmfgc0", "t,G,H", 0x40600100, 0xffe007f8, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 },
|
||||
|
@ -360,7 +342,7 @@ index 2c3bbad..9785a7e 100644
|
|||
{"dmt", "", 0x41600bc1, 0xffffffff, TRAP, 0, 0, MT32, 0 },
|
||||
{"dmt", "t", 0x41600bc1, 0xffe0ffff, WR_1|TRAP, 0, 0, MT32, 0 },
|
||||
{"dmtc0", "t,G", 0x40a00000, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, I3, 0, EE },
|
||||
@@ -1080,6 +1084,8 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
@@ -1081,6 +1085,8 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
/* dmfc3 is at the bottom of the table. */
|
||||
/* dmtc3 is at the bottom of the table. */
|
||||
{"dmuh", "d,s,t", 0x000000dc, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 },
|
||||
|
@ -369,7 +351,7 @@ index 2c3bbad..9785a7e 100644
|
|||
{"dmul", "d,s,t", 0x0000009c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 },
|
||||
{"dmul", "d,v,t", 0x70000003, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, IOCT, 0, 0 },
|
||||
{"dmul", "d,v,t", 0, (int) M_DMUL, INSN_MACRO, 0, I3, 0, M32|I69 },
|
||||
@@ -1229,9 +1235,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
@@ -1234,9 +1240,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
{"ld", "s,-b(+R)", 0xec180000, 0xfc1c0000, WR_1, RD_pc, I69, 0, 0 },
|
||||
{"ld", "t,A(b)", 0, (int) M_LD_AB, INSN_MACRO, 0, I1, 0, 0 },
|
||||
{"ld", "t,o(b)", 0xdc000000, 0xfc000000, WR_1|RD_3|LM, 0, I3, 0, 0 },
|
||||
|
@ -382,7 +364,7 @@ index 2c3bbad..9785a7e 100644
|
|||
{"ldc1", "T,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF },
|
||||
{"ldc1", "E,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF },
|
||||
{"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, 0, SF },
|
||||
@@ -1396,7 +1402,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
@@ -1401,7 +1407,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
{"mflo", "d,9", 0x00000012, 0xff9f07ff, WR_1|RD_LO, 0, 0, D32, 0 },
|
||||
{"mflo1", "d", 0x70000012, 0xffff07ff, WR_1|RD_LO, 0, EE, 0, 0 },
|
||||
{"mflhxu", "d", 0x00000052, 0xffff07ff, WR_1|MOD_HILO, 0, 0, SMT, 0 },
|
||||
|
@ -391,7 +373,7 @@ index 2c3bbad..9785a7e 100644
|
|||
{"mfsa", "d", 0x00000028, 0xffff07ff, WR_1, 0, EE, 0, 0 },
|
||||
{"min.ob", "X,Y,Q", 0x78000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 },
|
||||
{"min.ob", "D,S,Q", 0x48000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 },
|
||||
@@ -1441,10 +1447,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
@@ -1446,10 +1452,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
/* move is at the top of the table. */
|
||||
{"msgn.qh", "X,Y,Q", 0x78200000, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 },
|
||||
{"msgsnd", "t", 0, (int) M_MSGSND, INSN_MACRO, 0, XLR, 0, 0 },
|
||||
|
@ -407,16 +389,16 @@ index 2c3bbad..9785a7e 100644
|
|||
{"msub.d", "D,R,S,T", 0x4c000029, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I4_33, 0, I37 },
|
||||
{"msub.d", "D,S,T", 0x46200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 },
|
||||
{"msub.d", "D,S,T", 0x72200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 },
|
||||
@@ -1494,7 +1503,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
@@ -1499,7 +1508,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
{"mtlo", "s,7", 0x00000013, 0xfc1fe7ff, RD_1|WR_LO, 0, 0, D32, 0 },
|
||||
{"mtlo1", "s", 0x70000013, 0xfc1fffff, RD_1|WR_LO, 0, EE, 0, 0 },
|
||||
{"mtlhx", "s", 0x00000053, 0xfc1fffff, RD_1|MOD_HILO, 0, 0, SMT, 0 },
|
||||
-{"mtcr", "t,s", 0x70000019, 0xfc00ffff, RD_1|RD_2, 0, XLR, 0, 0 },
|
||||
+{"mtcr", "t,s", 0x70000019, 0xfc00ffff, RD_1, 0, XLR|XLP, 0, 0 },
|
||||
{"mtm0", "s", 0x70000008, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
|
||||
{"mtm0", "s,t", 0x70000008, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 },
|
||||
{"mtm1", "s", 0x7000000c, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
|
||||
{"mtm2", "s", 0x7000000d, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
|
||||
@@ -1924,9 +1933,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
@@ -1936,9 +1945,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
|
||||
{"suxc1", "S,t(b)", 0x4c00000d, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D, 0, I5_33|N55, 0, I37},
|
||||
{"sw", "t,o(b)", 0xac000000, 0xfc000000, RD_1|RD_3|SM, 0, I1, 0, 0 },
|
||||
{"sw", "t,A(b)", 0, (int) M_SW_AB, INSN_MACRO, 0, I1, 0, 0 },
|
||||
|
@ -430,5 +412,5 @@ index 2c3bbad..9785a7e 100644
|
|||
{"swc0", "E,A(b)", 0, (int) M_SWC0_AB, INSN_MACRO, 0, I1, 0, IOCT|IOCTP|IOCT2|I37 },
|
||||
{"swc1", "T,o(b)", 0xe4000000, 0xfc000000, RD_1|RD_3|SM|FP_S, 0, I1, 0, 0 },
|
||||
--
|
||||
2.1.4
|
||||
2.7.0
|
||||
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
From 8e8f77ec2b6262e7d10af54700c340173d957267 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 27 Feb 2015 09:05:49 +0000
|
||||
Subject: [PATCH 13/13] Fix an internal error in do_print_to_mapfile seen with
|
||||
gold on arm
|
||||
|
||||
This is due to missing implementation of do_print_to_mapfile for
|
||||
atrributea section (ARM.attributes), it started to show up after fix
|
||||
for PR gold/16980 was installed
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
Upstream-Status: Submitted
|
||||
---
|
||||
gold/attributes.h | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/gold/attributes.h b/gold/attributes.h
|
||||
index 2aa7a78..3d126e6 100644
|
||||
--- a/gold/attributes.h
|
||||
+++ b/gold/attributes.h
|
||||
@@ -387,6 +387,10 @@ class Output_attributes_section_data : public Output_section_data
|
||||
{ }
|
||||
|
||||
protected:
|
||||
+ // Write to a map file.
|
||||
+ void
|
||||
+ do_print_to_mapfile(Mapfile* mapfile) const
|
||||
+ { mapfile->print_output_data(this, _("** attributes")); }
|
||||
// Write the data to the output file.
|
||||
void
|
||||
do_write(Output_file*);
|
||||
--
|
||||
2.1.4
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
From ebe26d855452d07e0152bd78d4966475d2de1de8 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 5 Mar 2015 07:30:31 +0000
|
||||
Subject: [PATCH] gold/arm: Skip pic check for R_ARM_REL32
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
gold/arm.cc | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/gold/arm.cc b/gold/arm.cc
|
||||
index 6c472bb..fb80435 100644
|
||||
--- a/gold/arm.cc
|
||||
+++ b/gold/arm.cc
|
||||
@@ -7829,6 +7829,7 @@ Target_arm<big_endian>::Scan::check_non_pic(Relobj* object,
|
||||
case elfcpp::R_ARM_TLS_DTPMOD32:
|
||||
case elfcpp::R_ARM_TLS_DTPOFF32:
|
||||
case elfcpp::R_ARM_TLS_TPOFF32:
|
||||
+ case elfcpp::R_ARM_REL32:
|
||||
return;
|
||||
|
||||
default:
|
||||
--
|
||||
2.1.4
|
||||
|
|
@ -1,131 +0,0 @@
|
|||
From e9c1bdad269c0c3352eebcc9481ed65144001b0b Mon Sep 17 00:00:00 2001
|
||||
From: Cary Coutant <ccoutant@google.com>
|
||||
Date: Mon, 16 Feb 2015 22:15:12 -0800
|
||||
Subject: [PATCH] Fix --dynamic-list so that symbols not in the list are still
|
||||
exported.
|
||||
|
||||
In PR 13577, the complaint was that -Bsymbolic was overriding the binding
|
||||
behavior for symbols listed in the --dynamic-list by setting the DT_SYMBOLIC
|
||||
tag in the dynamic table. In reading the Gnu ld manual, I decided that
|
||||
--dynamic-list should be mutually exclusive of -Bsymbolic, and modified
|
||||
gold so that --dynamic-list would treat symbols listed as preemptible,
|
||||
and all other symbols as internally bound. I was wrong.
|
||||
|
||||
PR 16992 shows that with --dynamic-list (and not -Bsymbolic), a symbol
|
||||
not listed in the dynamic list is being internally bound within the
|
||||
shared library, but because it's still in the dynamic symbol table, we
|
||||
expose it to a COPY relocation, and things go really bad from there.
|
||||
|
||||
(I can reproduce the same failure, simply by turning on -Bsymbolic-functions
|
||||
with the Gnu linker. Even though the symbol is bound internally, it's
|
||||
still exported to the dynamic symbol table, and is exposed to a COPY
|
||||
relocation.)
|
||||
|
||||
I've backed out part of the fix for PR 13577, and -Bsymbolic (or
|
||||
-Bsymbolic-functions) can now be used with --dynamic-list, but if the
|
||||
two are used together, we do not set DT_SYMBOLIC or DF_SYMBOLIC
|
||||
(this matches Gnu ld behavior). We now treat symbols listed in the
|
||||
dynamic list as premptible, but we do not automatically treat symbols
|
||||
not listed there as non-premptible.
|
||||
|
||||
gold/
|
||||
PR gold/13577
|
||||
PR gold/16992
|
||||
* layout.cc (Layout::finish_dynamic_section): Don't set DT_SYMBOLIC or
|
||||
DF_SYMBOLIC if --dynamic-list option is used.
|
||||
* options.cc (General_options::finalize): --dynamic-list is not
|
||||
mutually exclusive with -Bsymbolic.
|
||||
* symtab.h (Symbol::is_preemptible): Don't exclude dynamic symbols not
|
||||
listed in --dynamic-list.
|
||||
* testsuite/Makefile.am (dynamic_list_lib2.so): Add
|
||||
-Bsymbolic-functions.
|
||||
* testsuite/Makefile.in: Regenerate.
|
||||
---
|
||||
Upstream-Status: Backport
|
||||
|
||||
gold/ChangeLog | 14 ++++++++++++++
|
||||
gold/layout.cc | 3 ++-
|
||||
gold/options.cc | 7 -------
|
||||
gold/symtab.h | 6 ++----
|
||||
gold/testsuite/Makefile.am | 2 +-
|
||||
gold/testsuite/Makefile.in | 2 +-
|
||||
6 files changed, 20 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/gold/layout.cc b/gold/layout.cc
|
||||
index bcdaac8..7836640 100644
|
||||
--- a/gold/layout.cc
|
||||
+++ b/gold/layout.cc
|
||||
@@ -4873,7 +4873,8 @@ Layout::finish_dynamic_section(const Input_objects* input_objects,
|
||||
flags |= elfcpp::DF_STATIC_TLS;
|
||||
if (parameters->options().origin())
|
||||
flags |= elfcpp::DF_ORIGIN;
|
||||
- if (parameters->options().Bsymbolic())
|
||||
+ if (parameters->options().Bsymbolic()
|
||||
+ && !parameters->options().have_dynamic_list())
|
||||
{
|
||||
flags |= elfcpp::DF_SYMBOLIC;
|
||||
// Add DT_SYMBOLIC for compatibility with older loaders.
|
||||
diff --git a/gold/options.cc b/gold/options.cc
|
||||
index 7eb8f27..7f1f69e 100644
|
||||
--- a/gold/options.cc
|
||||
+++ b/gold/options.cc
|
||||
@@ -1200,13 +1200,6 @@ General_options::finalize()
|
||||
// in the path, as appropriate.
|
||||
this->add_sysroot();
|
||||
|
||||
- // --dynamic-list overrides -Bsymbolic and -Bsymbolic-functions.
|
||||
- if (this->have_dynamic_list())
|
||||
- {
|
||||
- this->set_Bsymbolic(false);
|
||||
- this->set_Bsymbolic_functions(false);
|
||||
- }
|
||||
-
|
||||
// Now that we've normalized the options, check for contradictory ones.
|
||||
if (this->shared() && this->is_static())
|
||||
gold_fatal(_("-shared and -static are incompatible"));
|
||||
diff --git a/gold/symtab.h b/gold/symtab.h
|
||||
index aa0cb68..9413360 100644
|
||||
--- a/gold/symtab.h
|
||||
+++ b/gold/symtab.h
|
||||
@@ -604,10 +604,8 @@ class Symbol
|
||||
if (parameters->options().in_dynamic_list(this->name()))
|
||||
return true;
|
||||
|
||||
- // If the user used -Bsymbolic or provided a --dynamic-list script,
|
||||
- // then nothing (else) is preemptible.
|
||||
- if (parameters->options().Bsymbolic()
|
||||
- || parameters->options().have_dynamic_list())
|
||||
+ // If the user used -Bsymbolic, then nothing (else) is preemptible.
|
||||
+ if (parameters->options().Bsymbolic())
|
||||
return false;
|
||||
|
||||
// If the user used -Bsymbolic-functions, then functions are not
|
||||
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
|
||||
index f767c21..7b73f9d 100644
|
||||
--- a/gold/testsuite/Makefile.am
|
||||
+++ b/gold/testsuite/Makefile.am
|
||||
@@ -1518,7 +1518,7 @@ dynamic_list_lib1.o: dynamic_list_lib1.cc
|
||||
$(CXXCOMPILE) -c -fpic -o $@ $<
|
||||
|
||||
dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t
|
||||
- $(CXXLINK) -Bgcctestdir/ -shared -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
|
||||
+ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
|
||||
dynamic_list_lib2.o: dynamic_list_lib2.cc
|
||||
$(CXXCOMPILE) -c -fpic -o $@ $<
|
||||
|
||||
diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
|
||||
index 217e472..b4ae3fd 100644
|
||||
--- a/gold/testsuite/Makefile.in
|
||||
+++ b/gold/testsuite/Makefile.in
|
||||
@@ -5319,7 +5319,7 @@ uninstall-am:
|
||||
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $<
|
||||
|
||||
@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t
|
||||
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
|
||||
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
|
||||
@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib2.o: dynamic_list_lib2.cc
|
||||
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $<
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -1,33 +0,0 @@
|
|||
Add thunderx support to gas
|
||||
|
||||
Upstream-Status: Submitted [https://sourceware.org/ml/binutils/2014-10/msg00170.html]
|
||||
|
||||
Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
|
||||
|
||||
Author: Andrew Pinski <apinski@cavium.com>
|
||||
Date: Mon, 20 Oct 2014 11:42:58 -0700
|
||||
|
||||
This patch adds -mcpu=thunderx support to gas.
|
||||
|
||||
diff -Naurp git_org/gas/config/tc-aarch64.c git/gas/config/tc-aarch64.c
|
||||
--- git_org/gas/config/tc-aarch64.c 2015-09-07 02:13:51.988973523 -0700
|
||||
+++ git/gas/config/tc-aarch64.c 2015-09-07 02:15:21.705981540 -0700
|
||||
@@ -7206,6 +7206,7 @@ static const struct aarch64_cpu_option_t
|
||||
AARCH64_FEATURE_CRC), "Cortex-A57"},
|
||||
{"cortex-a72", AARCH64_FEATURE (AARCH64_ARCH_V8,
|
||||
AARCH64_FEATURE_CRC), "Cortex-A72"},
|
||||
+ {"thunderx", AARCH64_ARCH_V8, "Cavium ThunderX"},
|
||||
{"exynos-m1", AARCH64_FEATURE (AARCH64_ARCH_V8,
|
||||
AARCH64_FEATURE_CRC | AARCH64_FEATURE_CRYPTO),
|
||||
"Samsung Exynos M1"},
|
||||
diff -Naurp git_org/gas/doc/c-aarch64.texi git/gas/doc/c-aarch64.texi
|
||||
--- git_org/gas/doc/c-aarch64.texi 2015-09-07 02:13:51.969973522 -0700
|
||||
+++ git/gas/doc/c-aarch64.texi 2015-09-07 02:16:03.364985262 -0700
|
||||
@@ -58,6 +58,7 @@ on the target processor. The following
|
||||
@code{cortex-a53},
|
||||
@code{cortex-a57},
|
||||
@code{cortex-a72},
|
||||
+@code{thunderx},
|
||||
@code{exynos-m1},
|
||||
@code{xgene1},
|
||||
and
|
|
@ -1,272 +0,0 @@
|
|||
Upstream-Status: Backport
|
||||
|
||||
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=2c62985659da21a3fe16062d211a7158f79ad2e9
|
||||
|
||||
Signed-off-By: Armin Kuster <akuster@mvista.com>
|
||||
|
||||
Index: git/bfd/archures.c
|
||||
===================================================================
|
||||
--- git.orig/bfd/archures.c
|
||||
+++ git/bfd/archures.c
|
||||
@@ -179,6 +179,7 @@ DESCRIPTION
|
||||
.#define bfd_mach_mips_octeon 6501
|
||||
.#define bfd_mach_mips_octeonp 6601
|
||||
.#define bfd_mach_mips_octeon2 6502
|
||||
+.#define bfd_mach_mips_octeon3 6503
|
||||
.#define bfd_mach_mips_xlr 887682 {* decimal 'XLR' *}
|
||||
.#define bfd_mach_mips_xlp 887680 {* decimal 'XLP' *}
|
||||
.#define bfd_mach_mipsisa32 32
|
||||
Index: git/bfd/bfd-in2.h
|
||||
===================================================================
|
||||
--- git.orig/bfd/bfd-in2.h
|
||||
+++ git/bfd/bfd-in2.h
|
||||
@@ -1969,6 +1969,7 @@ enum bfd_architecture
|
||||
#define bfd_mach_mips_octeon 6501
|
||||
#define bfd_mach_mips_octeonp 6601
|
||||
#define bfd_mach_mips_octeon2 6502
|
||||
+#define bfd_mach_mips_octeon3 6503
|
||||
#define bfd_mach_mips_xlr 887682 /* decimal 'XLR' */
|
||||
#define bfd_mach_mips_xlp 887680 /* decimal 'XLP' */
|
||||
#define bfd_mach_mipsisa32 32
|
||||
Index: git/bfd/cpu-mips.c
|
||||
===================================================================
|
||||
--- git.orig/bfd/cpu-mips.c
|
||||
+++ git/bfd/cpu-mips.c
|
||||
@@ -102,6 +102,7 @@ enum
|
||||
I_mipsocteon,
|
||||
I_mipsocteonp,
|
||||
I_mipsocteon2,
|
||||
+ I_mipsocteon3,
|
||||
I_xlr,
|
||||
I_micromips,
|
||||
I_xlp
|
||||
@@ -153,6 +154,7 @@ static const bfd_arch_info_type arch_inf
|
||||
N (64, 64, bfd_mach_mips_octeon,"mips:octeon", FALSE, NN(I_mipsocteon)),
|
||||
N (64, 64, bfd_mach_mips_octeonp,"mips:octeon+", FALSE, NN(I_mipsocteonp)),
|
||||
N (64, 64, bfd_mach_mips_octeon2,"mips:octeon2", FALSE, NN(I_mipsocteon2)),
|
||||
+ N (64, 64, bfd_mach_mips_octeon3,"mips:octeon3", FALSE, NN(I_mipsocteon3)),
|
||||
N (64, 64, bfd_mach_mips_xlr, "mips:xlr", FALSE, NN(I_xlr)),
|
||||
N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,NN(I_micromips)),
|
||||
N (64, 64, bfd_mach_mips_xlp, "mips:xlp", FALSE, 0)
|
||||
Index: git/bfd/elfxx-mips.c
|
||||
===================================================================
|
||||
--- git.orig/bfd/elfxx-mips.c
|
||||
+++ git/bfd/elfxx-mips.c
|
||||
@@ -6604,6 +6604,9 @@ _bfd_elf_mips_mach (flagword flags)
|
||||
case E_MIPS_MACH_LS3A:
|
||||
return bfd_mach_mips_loongson_3a;
|
||||
|
||||
+ case E_MIPS_MACH_OCTEON3:
|
||||
+ return bfd_mach_mips_octeon3;
|
||||
+
|
||||
case E_MIPS_MACH_OCTEON2:
|
||||
return bfd_mach_mips_octeon2;
|
||||
|
||||
@@ -11878,6 +11881,10 @@ mips_set_isa_flags (bfd *abfd)
|
||||
val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON;
|
||||
break;
|
||||
|
||||
+ case bfd_mach_mips_octeon3:
|
||||
+ val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON3;
|
||||
+ break;
|
||||
+
|
||||
case bfd_mach_mips_xlr:
|
||||
val = E_MIPS_ARCH_64 | E_MIPS_MACH_XLR;
|
||||
break;
|
||||
@@ -14773,6 +14780,7 @@ struct mips_mach_extension
|
||||
static const struct mips_mach_extension mips_mach_extensions[] =
|
||||
{
|
||||
/* MIPS64r2 extensions. */
|
||||
+ { bfd_mach_mips_octeon3, bfd_mach_mips_octeon2 },
|
||||
{ bfd_mach_mips_octeon2, bfd_mach_mips_octeonp },
|
||||
{ bfd_mach_mips_octeonp, bfd_mach_mips_octeon },
|
||||
{ bfd_mach_mips_octeon, bfd_mach_mipsisa64r2 },
|
||||
Index: git/gas/config/tc-mips.c
|
||||
===================================================================
|
||||
--- git.orig/gas/config/tc-mips.c
|
||||
+++ git/gas/config/tc-mips.c
|
||||
@@ -306,7 +306,7 @@ static unsigned int file_ase_explicit;
|
||||
unsigned long mips_gprmask;
|
||||
unsigned long mips_cprmask[4];
|
||||
|
||||
-/* True if any MIPS16 code was produced. */
|
||||
+/* 2True if any MIPS16 code was produced. */
|
||||
static int file_ase_mips16;
|
||||
|
||||
#define ISA_SUPPORTS_MIPS16E (mips_opts.isa == ISA_MIPS32 \
|
||||
@@ -510,7 +510,8 @@ static int mips_32bitmode = 0;
|
||||
#define CPU_HAS_ROR(CPU) CPU_HAS_DROR (CPU)
|
||||
|
||||
/* True if CPU is in the Octeon family */
|
||||
-#define CPU_IS_OCTEON(CPU) ((CPU) == CPU_OCTEON || (CPU) == CPU_OCTEONP || (CPU) == CPU_OCTEON2)
|
||||
+#define CPU_IS_OCTEON(CPU) ((CPU) == CPU_OCTEON || (CPU) == CPU_OCTEONP \
|
||||
+ || (CPU) == CPU_OCTEON2 || (CPU) == CPU_OCTEON3)
|
||||
|
||||
/* True if CPU has seq/sne and seqi/snei instructions. */
|
||||
#define CPU_HAS_SEQ(CPU) (CPU_IS_OCTEON (CPU))
|
||||
@@ -18677,6 +18678,7 @@ static const struct mips_cpu_info mips_c
|
||||
{ "octeon", 0, 0, ISA_MIPS64R2, CPU_OCTEON },
|
||||
{ "octeon+", 0, 0, ISA_MIPS64R2, CPU_OCTEONP },
|
||||
{ "octeon2", 0, 0, ISA_MIPS64R2, CPU_OCTEON2 },
|
||||
+ { "octeon3", 0, ASE_VIRT | ASE_VIRT64, ISA_MIPS64R2, CPU_OCTEON3 },
|
||||
|
||||
/* RMI Xlr */
|
||||
{ "xlr", 0, 0, ISA_MIPS64, CPU_XLR },
|
||||
Index: git/gas/doc/c-mips.texi
|
||||
===================================================================
|
||||
--- git.orig/gas/doc/c-mips.texi
|
||||
+++ git/gas/doc/c-mips.texi
|
||||
@@ -382,6 +382,7 @@ loongson3a,
|
||||
octeon,
|
||||
octeon+,
|
||||
octeon2,
|
||||
+octeon3,
|
||||
xlr,
|
||||
xlp
|
||||
@end quotation
|
||||
Index: git/gas/testsuite/gas/mips/mips.exp
|
||||
===================================================================
|
||||
--- git.orig/gas/testsuite/gas/mips/mips.exp
|
||||
+++ git/gas/testsuite/gas/mips/mips.exp
|
||||
@@ -1102,6 +1102,7 @@ if { [istarget mips*-*-vxworks*] } {
|
||||
run_list_test_arches "octeon-ill" [mips_arch_list_matching octeon]
|
||||
run_dump_test_arches "octeon-pref" [mips_arch_list_matching octeon]
|
||||
run_dump_test_arches "octeon2" [mips_arch_list_matching octeon2]
|
||||
+ run_dump_test_arches "octeon3" [mips_arch_list_matching octeon3]
|
||||
|
||||
run_dump_test "smartmips"
|
||||
run_dump_test_arches "mips32-dsp" [mips_arch_list_matching mips32r2 \
|
||||
Index: git/gas/testsuite/gas/mips/octeon3.d
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ git/gas/testsuite/gas/mips/octeon3.d
|
||||
@@ -0,0 +1,20 @@
|
||||
+#objdump: -d -r --show-raw-insn
|
||||
+#name: MIPS octeon3 instructions
|
||||
+
|
||||
+.*: +file format .*mips.*
|
||||
+
|
||||
+Disassembly of section .text:
|
||||
+
|
||||
+[0-9a-f]+ <foo>:
|
||||
+.*: 71ec0008 mtm0 t3,t0
|
||||
+.*: 71a40008 mtm0 t1,a0
|
||||
+.*: 7083000c mtm1 a0,v1
|
||||
+.*: 70e1000c mtm1 a3,at
|
||||
+.*: 7022000d mtm2 at,v0
|
||||
+.*: 7083000c mtm1 a0,v1
|
||||
+.*: 70a20009 mtp0 a1,v0
|
||||
+.*: 70c40009 mtp0 a2,a0
|
||||
+.*: 7083000a mtp1 a0,v1
|
||||
+.*: 70e1000a mtp1 a3,at
|
||||
+.*: 7022000b mtp2 at,v0
|
||||
+.*: 7083000a mtp1 a0,v1
|
||||
Index: git/gas/testsuite/gas/mips/octeon3.s
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ git/gas/testsuite/gas/mips/octeon3.s
|
||||
@@ -0,0 +1,22 @@
|
||||
++ .text
|
||||
+ .set noreorder
|
||||
+ .set noat
|
||||
+
|
||||
+foo:
|
||||
+ mtm0 $15,$12
|
||||
+ mtm0 $13,$4
|
||||
+
|
||||
+ mtm1 $4,$3
|
||||
+ mtm1 $7,$1
|
||||
+
|
||||
+ mtm2 $1,$2
|
||||
+ mtm1 $4,$3
|
||||
+
|
||||
+ mtp0 $5,$2
|
||||
+ mtp0 $6,$4
|
||||
+
|
||||
+ mtp1 $4,$3
|
||||
+ mtp1 $7,$1
|
||||
+
|
||||
+ mtp2 $1,$2
|
||||
+ mtp1 $4,$3
|
||||
Index: git/include/opcode/mips.h
|
||||
===================================================================
|
||||
--- git.orig/include/opcode/mips.h
|
||||
+++ git/include/opcode/mips.h
|
||||
@@ -1196,6 +1196,7 @@ static const unsigned int mips_isa_table
|
||||
#define INSN_OCTEON 0x00000800
|
||||
#define INSN_OCTEONP 0x00000200
|
||||
#define INSN_OCTEON2 0x00000100
|
||||
+#define INSN_OCTEON3 0x00000040
|
||||
|
||||
/* MIPS R5900 instruction */
|
||||
#define INSN_5900 0x00004000
|
||||
@@ -1325,6 +1326,7 @@ static const unsigned int mips_isa_table
|
||||
#define CPU_OCTEON 6501
|
||||
#define CPU_OCTEONP 6601
|
||||
#define CPU_OCTEON2 6502
|
||||
+#define CPU_OCTEON3 6503
|
||||
#define CPU_XLR 887682 /* decimal 'XLR' */
|
||||
#define CPU_XLP 887680 /* decimal 'XLP' */
|
||||
|
||||
@@ -1391,6 +1393,9 @@ cpu_is_member (int cpu, unsigned int mas
|
||||
case CPU_OCTEON2:
|
||||
return (mask & INSN_OCTEON2) != 0;
|
||||
|
||||
+ case CPU_OCTEON3:
|
||||
+ return (mask & INSN_OCTEON3) != 0;
|
||||
+
|
||||
case CPU_XLR:
|
||||
return (mask & INSN_XLR) != 0;
|
||||
|
||||
Index: git/opcodes/mips-dis.c
|
||||
===================================================================
|
||||
--- git.orig/opcodes/mips-dis.c
|
||||
+++ git/opcodes/mips-dis.c
|
||||
@@ -649,6 +649,11 @@ const struct mips_arch_choice mips_arch_
|
||||
ISA_MIPS64R2 | INSN_OCTEON2, 0, mips_cp0_names_numeric,
|
||||
NULL, 0, mips_cp1_names_mips3264, mips_hwr_names_numeric },
|
||||
|
||||
+ { "octeon3", 1, bfd_mach_mips_octeon3, CPU_OCTEON3,
|
||||
+ ISA_MIPS64R2 | INSN_OCTEON3, ASE_VIRT | ASE_VIRT64,
|
||||
+ mips_cp0_names_numeric,
|
||||
+ NULL, 0, mips_cp1_names_mips3264, mips_hwr_names_numeric },
|
||||
+
|
||||
{ "xlr", 1, bfd_mach_mips_xlr, CPU_XLR,
|
||||
ISA_MIPS64 | INSN_XLR, 0,
|
||||
mips_cp0_names_xlr,
|
||||
Index: git/opcodes/mips-opc.c
|
||||
===================================================================
|
||||
--- git.orig/opcodes/mips-opc.c
|
||||
+++ git/opcodes/mips-opc.c
|
||||
@@ -316,9 +316,10 @@ decode_mips_operand (const char *p)
|
||||
#define N5 (INSN_5400 | INSN_5500)
|
||||
#define N54 INSN_5400
|
||||
#define N55 INSN_5500
|
||||
-#define IOCT (INSN_OCTEON | INSN_OCTEONP | INSN_OCTEON2)
|
||||
-#define IOCTP (INSN_OCTEONP | INSN_OCTEON2)
|
||||
-#define IOCT2 INSN_OCTEON2
|
||||
+#define IOCT (INSN_OCTEON | INSN_OCTEONP | INSN_OCTEON2 | INSN_OCTEON3)
|
||||
+#define IOCTP (INSN_OCTEONP | INSN_OCTEON2 | INSN_OCTEON3)
|
||||
+#define IOCT2 (INSN_OCTEON2 | INSN_OCTEON3)
|
||||
+#define IOCT3 INSN_OCTEON3
|
||||
#define XLR INSN_XLR
|
||||
#define XLP INSN_XLP
|
||||
#define IVIRT ASE_VIRT
|
||||
@@ -1505,11 +1506,17 @@ const struct mips_opcode mips_builtin_op
|
||||
{"mtlhx", "s", 0x00000053, 0xfc1fffff, RD_1|MOD_HILO, 0, 0, SMT, 0 },
|
||||
{"mtcr", "t,s", 0x70000019, 0xfc00ffff, RD_1, 0, XLR|XLP, 0, 0 },
|
||||
{"mtm0", "s", 0x70000008, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
|
||||
+{"mtm0", "s,t", 0x70000008, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 },
|
||||
{"mtm1", "s", 0x7000000c, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
|
||||
+{"mtm1", "s,t", 0x7000000c, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 },
|
||||
{"mtm2", "s", 0x7000000d, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
|
||||
+{"mtm2", "s,t", 0x7000000d, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 },
|
||||
{"mtp0", "s", 0x70000009, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
|
||||
+{"mtp0", "s,t", 0x70000009, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 },
|
||||
{"mtp1", "s", 0x7000000a, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
|
||||
+{"mtp1", "s,t", 0x7000000a, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 },
|
||||
{"mtp2", "s", 0x7000000b, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
|
||||
+{"mtp2", "s,t", 0x7000000b, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 },
|
||||
{"mtsa", "s", 0x00000029, 0xfc1fffff, RD_1, 0, EE, 0, 0 },
|
||||
{"mtsab", "s,j", 0x04180000, 0xfc1f0000, RD_1, 0, EE, 0, 0 },
|
||||
{"mtsah", "s,j", 0x04190000, 0xfc1f0000, RD_1, 0, EE, 0, 0 },
|
Loading…
Reference in New Issue