summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.26.inc3
-rw-r--r--meta/recipes-devtools/binutils/binutils/MIPS-GAS-Fix-an-ISA-override-not-lifting-ABI-restrictions.patch273
2 files changed, 1 insertions, 275 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.26.inc b/meta/recipes-devtools/binutils/binutils-2.26.inc
index 04e0102b6e..82cb7f566c 100644
--- a/meta/recipes-devtools/binutils/binutils-2.26.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.26.inc
@@ -18,7 +18,7 @@ BINUPV = "${@binutils_branch_version(d)}"
UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
-SRCREV = "71fa566a9cf2597b60a58c1d7c148bab637454a6"
+SRCREV = "c29838e7f484e0b5714b02e7feb9a88d3a045dd2"
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 \
@@ -35,7 +35,6 @@ SRC_URI = "\
file://0013-Fix-GOT-address-computations-in-initial-PLT-entries-.patch \
file://0014-Correct-nios2-_gp-address-computation.patch \
file://0015-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \
- file://MIPS-GAS-Fix-an-ISA-override-not-lifting-ABI-restrictions.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-devtools/binutils/binutils/MIPS-GAS-Fix-an-ISA-override-not-lifting-ABI-restrictions.patch b/meta/recipes-devtools/binutils/binutils/MIPS-GAS-Fix-an-ISA-override-not-lifting-ABI-restrictions.patch
deleted file mode 100644
index b8c65be7ff..0000000000
--- a/meta/recipes-devtools/binutils/binutils/MIPS-GAS-Fix-an-ISA-override-not-lifting-ABI-restrictions.patch
+++ /dev/null
@@ -1,273 +0,0 @@
-From 22522f880a8e17a17c4f195796ec89caece7652b Mon Sep 17 00:00:00 2001
-From: Maciej W. Rozycki <macro@imgtec.com>
-Date: Fri, 22 Apr 2016 01:04:52 +0100
-Subject: [PATCH] MIPS/GAS: Fix an ISA override not lifting ABI restrictions
-
-Correct a regression introduced with commit 919731affbef ("Add MIPS
-.module directive") causing code like:
-
- .set mips3
- dli $2, 0x9000000080000000
-
-to fail assembly with the following error message produced:
-
-Error: number (0x9000000080000000) larger than 32 bits
-
-if built with `mips3' selected as the global ISA (e.g. `-march=mips3').
-This is because a `.set' directive doing an ISA override does not lift
-the ABI restriction on register sizes if the ISA remains unchanged.
-Previously the directive always set register sizes from the ISA chosen,
-which is what some code expects. Restore the old semantics then.
-
- gas/
- * config/tc-mips.c (code_option_type): New enum.
- (parse_code_option): Return status indicating option type.
- (s_mipsset): Update `parse_code_option' call site accordingly.
- Always set register sizes from the ISA with ISA overrides.
- (s_module): Update `parse_code_option' call site.
- * testsuite/gas/mips/isa-override-1.d: New test.
- * testsuite/gas/mips/micromips@isa-override-1.d: New test.
- * testsuite/gas/mips/mips1@isa-override-1.d: New test.
- * testsuite/gas/mips/mips2@isa-override-1.d: New test.
- * testsuite/gas/mips/mips32@isa-override-1.d: New test.
- * testsuite/gas/mips/mips32r2@isa-override-1.d: New test.
- * testsuite/gas/mips/mips32r3@isa-override-1.d: New test.
- * testsuite/gas/mips/mips32r5@isa-override-1.d: New test.
- * testsuite/gas/mips/mips32r6@isa-override-1.d: New test.
- * testsuite/gas/mips/mips64r2@isa-override-1.d: New test.
- * testsuite/gas/mips/mips64r3@isa-override-1.d: New test.
- * testsuite/gas/mips/mips64r5@isa-override-1.d: New test.
- * testsuite/gas/mips/mips64r6@isa-override-1.d: New test.
- * testsuite/gas/mips/r3000@isa-override-1.d: New test.
- * testsuite/gas/mips/r3900@isa-override-1.d: New test.
- * testsuite/gas/mips/r5900@isa-override-1.d: New test.
- * testsuite/gas/mips/octeon@isa-override-1.d: New test.
- * testsuite/gas/mips/octeon3@isa-override-1.d: New test.
- * testsuite/gas/mips/isa-override-2.l: New list test.
- * testsuite/gas/mips/mips1@isa-override-2.l: New list test.
- * testsuite/gas/mips/mips2@isa-override-2.l: New list test.
- * testsuite/gas/mips/mips32@isa-override-2.l: New list test.
- * testsuite/gas/mips/mips32r2@isa-override-2.l: New list test.
- * testsuite/gas/mips/mips32r3@isa-override-2.l: New list test.
- * testsuite/gas/mips/mips32r5@isa-override-2.l: New list test.
- * testsuite/gas/mips/mips32r6@isa-override-2.l: New list test.
- * testsuite/gas/mips/r3000@isa-override-2.l: New list test.
- * testsuite/gas/mips/r3900@isa-override-2.l: New list test.
- * testsuite/gas/mips/octeon3@isa-override-2.l: New list test.
- * testsuite/gas/mips/octeon3@isa-override-1.l: New stderr
- output.
- * testsuite/gas/mips/isa-override-1.s: New test source.
- * testsuite/gas/mips/r5900@isa-override-1.s: New test source.
- * testsuite/gas/mips/isa-override-2.s: New test source.
- * testsuite/gas/mips/mips1@isa-override-2.s: New test source.
- * testsuite/gas/mips/mips2@isa-override-2.s: New test source.
- * testsuite/gas/mips/mips32@isa-override-2.s: New test source.
- * testsuite/gas/mips/mips32r2@isa-override-2.s: New test source.
- * testsuite/gas/mips/mips32r3@isa-override-2.s: New test source.
- * testsuite/gas/mips/mips32r5@isa-override-2.s: New test source.
- * testsuite/gas/mips/mips32r6@isa-override-2.s: New test source.
- * testsuite/gas/mips/r3000@isa-override-2.s: New test source.
- * testsuite/gas/mips/r3900@isa-override-2.s: New test source.
- * testsuite/gas/mips/octeon3@isa-override-2.s: New test source.
- * testsuite/gas/mips/mips.exp: Run the new tests.
----
-Upstream-Status: Backport
-http://www.serverphorums.com/read.php?12,1466357
-https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=22522f880a8e17a17c4f195796ec89caece7652b
-
- gas/ChangeLog | 53 +++++++++++++++++++++
- gas/config/tc-mips.c | 42 +++++++++++++---
- gas/testsuite/gas/mips/isa-override-1.d | 49 +++++++++++++++++++
- gas/testsuite/gas/mips/isa-override-1.s | 31 ++++++++++++
- gas/testsuite/gas/mips/isa-override-2.l | 4 ++
- gas/testsuite/gas/mips/isa-override-2.s | 18 +++++++
- gas/testsuite/gas/mips/micromips@isa-override-1.d | 50 +++++++++++++++++++
- gas/testsuite/gas/mips/mips.exp | 3 +
- gas/testsuite/gas/mips/mips1@isa-override-1.d | 53 +++++++++++++++++++++
- gas/testsuite/gas/mips/mips1@isa-override-2.l | 4 ++
- gas/testsuite/gas/mips/mips1@isa-override-2.s | 18 +++++++
- gas/testsuite/gas/mips/mips2@isa-override-1.d | 50 +++++++++++++++++++
- gas/testsuite/gas/mips/mips2@isa-override-2.l | 4 ++
- gas/testsuite/gas/mips/mips2@isa-override-2.s | 18 +++++++
- gas/testsuite/gas/mips/mips32@isa-override-1.d | 5 ++
- gas/testsuite/gas/mips/mips32@isa-override-2.l | 4 ++
- gas/testsuite/gas/mips/mips32@isa-override-2.s | 18 +++++++
- gas/testsuite/gas/mips/mips32r2@isa-override-1.d | 50 +++++++++++++++++++
- gas/testsuite/gas/mips/mips32r2@isa-override-2.l | 4 ++
- gas/testsuite/gas/mips/mips32r2@isa-override-2.s | 18 +++++++
- gas/testsuite/gas/mips/mips32r3@isa-override-1.d | 5 ++
- gas/testsuite/gas/mips/mips32r3@isa-override-2.l | 4 ++
- gas/testsuite/gas/mips/mips32r3@isa-override-2.s | 18 +++++++
- gas/testsuite/gas/mips/mips32r5@isa-override-1.d | 5 ++
- gas/testsuite/gas/mips/mips32r5@isa-override-2.l | 4 ++
- gas/testsuite/gas/mips/mips32r5@isa-override-2.s | 18 +++++++
- gas/testsuite/gas/mips/mips32r6@isa-override-1.d | 5 ++
- gas/testsuite/gas/mips/mips32r6@isa-override-2.l | 4 ++
- gas/testsuite/gas/mips/mips32r6@isa-override-2.s | 18 +++++++
- gas/testsuite/gas/mips/mips64r2@isa-override-1.d | 50 +++++++++++++++++++
- gas/testsuite/gas/mips/mips64r3@isa-override-1.d | 5 ++
- gas/testsuite/gas/mips/mips64r5@isa-override-1.d | 5 ++
- gas/testsuite/gas/mips/mips64r6@isa-override-1.d | 5 ++
- gas/testsuite/gas/mips/octeon3@isa-override-1.d | 6 ++
- gas/testsuite/gas/mips/octeon3@isa-override-1.l | 2 +
- gas/testsuite/gas/mips/octeon3@isa-override-2.l | 5 ++
- gas/testsuite/gas/mips/octeon3@isa-override-2.s | 18 +++++++
- gas/testsuite/gas/mips/octeon@isa-override-1.d | 5 ++
- gas/testsuite/gas/mips/r3000@isa-override-1.d | 5 ++
- gas/testsuite/gas/mips/r3000@isa-override-2.l | 4 ++
- gas/testsuite/gas/mips/r3000@isa-override-2.s | 18 +++++++
- gas/testsuite/gas/mips/r3900@isa-override-1.d | 5 ++
- gas/testsuite/gas/mips/r3900@isa-override-2.l | 4 ++
- gas/testsuite/gas/mips/r3900@isa-override-2.s | 18 +++++++
- gas/testsuite/gas/mips/r5900@isa-override-1.d | 28 +++++++++++
- gas/testsuite/gas/mips/r5900@isa-override-1.s | 23 +++++++++
- 46 files changed, 775 insertions(+), 8 deletions(-)
- create mode 100644 gas/testsuite/gas/mips/isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/isa-override-1.s
- create mode 100644 gas/testsuite/gas/mips/isa-override-2.l
- create mode 100644 gas/testsuite/gas/mips/isa-override-2.s
- create mode 100644 gas/testsuite/gas/mips/micromips@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/mips1@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/mips1@isa-override-2.l
- create mode 100644 gas/testsuite/gas/mips/mips1@isa-override-2.s
- create mode 100644 gas/testsuite/gas/mips/mips2@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/mips2@isa-override-2.l
- create mode 100644 gas/testsuite/gas/mips/mips2@isa-override-2.s
- create mode 100644 gas/testsuite/gas/mips/mips32@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/mips32@isa-override-2.l
- create mode 100644 gas/testsuite/gas/mips/mips32@isa-override-2.s
- create mode 100644 gas/testsuite/gas/mips/mips32r2@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/mips32r2@isa-override-2.l
- create mode 100644 gas/testsuite/gas/mips/mips32r2@isa-override-2.s
- create mode 100644 gas/testsuite/gas/mips/mips32r3@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/mips32r3@isa-override-2.l
- create mode 100644 gas/testsuite/gas/mips/mips32r3@isa-override-2.s
- create mode 100644 gas/testsuite/gas/mips/mips32r5@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/mips32r5@isa-override-2.l
- create mode 100644 gas/testsuite/gas/mips/mips32r5@isa-override-2.s
- create mode 100644 gas/testsuite/gas/mips/mips32r6@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/mips32r6@isa-override-2.l
- create mode 100644 gas/testsuite/gas/mips/mips32r6@isa-override-2.s
- create mode 100644 gas/testsuite/gas/mips/mips64r2@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/mips64r3@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/mips64r5@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/mips64r6@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/octeon3@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/octeon3@isa-override-1.l
- create mode 100644 gas/testsuite/gas/mips/octeon3@isa-override-2.l
- create mode 100644 gas/testsuite/gas/mips/octeon3@isa-override-2.s
- create mode 100644 gas/testsuite/gas/mips/octeon@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/r3000@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/r3000@isa-override-2.l
- create mode 100644 gas/testsuite/gas/mips/r3000@isa-override-2.s
- create mode 100644 gas/testsuite/gas/mips/r3900@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/r3900@isa-override-2.l
- create mode 100644 gas/testsuite/gas/mips/r3900@isa-override-2.s
- create mode 100644 gas/testsuite/gas/mips/r5900@isa-override-1.d
- create mode 100644 gas/testsuite/gas/mips/r5900@isa-override-1.s
-
-diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
-index bfc639e..daceef1 100644
---- a/gas/config/tc-mips.c
-+++ b/gas/config/tc-mips.c
-@@ -15513,10 +15513,29 @@ struct mips_option_stack
-
- static struct mips_option_stack *mips_opts_stack;
-
--static bfd_boolean
-+/* Return status for .set/.module option handling. */
-+
-+enum code_option_type
-+{
-+ /* Unrecognized option. */
-+ OPTION_TYPE_BAD = -1,
-+
-+ /* Ordinary option. */
-+ OPTION_TYPE_NORMAL,
-+
-+ /* ISA changing option. */
-+ OPTION_TYPE_ISA
-+};
-+
-+/* Handle common .set/.module options. Return status indicating option
-+ type. */
-+
-+static enum code_option_type
- parse_code_option (char * name)
- {
-+ bfd_boolean isa_set = FALSE;
- const struct mips_ase *ase;
-+
- if (strncmp (name, "at=", 3) == 0)
- {
- char *s = name + 3;
-@@ -15589,6 +15608,7 @@ parse_code_option (char * name)
- {
- mips_opts.arch = p->cpu;
- mips_opts.isa = p->isa;
-+ isa_set = TRUE;
- }
- }
- else if (strncmp (name, "mips", 4) == 0)
-@@ -15602,6 +15622,7 @@ parse_code_option (char * name)
- {
- mips_opts.arch = p->cpu;
- mips_opts.isa = p->isa;
-+ isa_set = TRUE;
- }
- }
- else
-@@ -15620,8 +15641,9 @@ parse_code_option (char * name)
- else if (strcmp (name, "nosym32") == 0)
- mips_opts.sym32 = FALSE;
- else
-- return FALSE;
-- return TRUE;
-+ return OPTION_TYPE_BAD;
-+
-+ return isa_set ? OPTION_TYPE_ISA : OPTION_TYPE_NORMAL;
- }
-
- /* Handle the .set pseudo-op. */
-@@ -15629,8 +15651,8 @@ parse_code_option (char * name)
- static void
- s_mipsset (int x ATTRIBUTE_UNUSED)
- {
-+ enum code_option_type type = OPTION_TYPE_NORMAL;
- char *name = input_line_pointer, ch;
-- int prev_isa = mips_opts.isa;
-
- file_mips_check_options ();
-
-@@ -15707,12 +15729,16 @@ s_mipsset (int x ATTRIBUTE_UNUSED)
- free (s);
- }
- }
-- else if (!parse_code_option (name))
-- as_warn (_("tried to set unrecognized symbol: %s\n"), name);
-+ else
-+ {
-+ type = parse_code_option (name);
-+ if (type == OPTION_TYPE_BAD)
-+ as_warn (_("tried to set unrecognized symbol: %s\n"), name);
-+ }
-
- /* The use of .set [arch|cpu]= historically 'fixes' the width of gp and fp
- registers based on what is supported by the arch/cpu. */
-- if (mips_opts.isa != prev_isa)
-+ if (type == OPTION_TYPE_ISA)
- {
- switch (mips_opts.isa)
- {
-@@ -15779,7 +15805,7 @@ s_module (int ignore ATTRIBUTE_UNUSED)
-
- if (!file_mips_opts_checked)
- {
-- if (!parse_code_option (name))
-+ if (parse_code_option (name) == OPTION_TYPE_BAD)
- as_bad (_(".module used with unrecognized symbol: %s\n"), name);
-
- /* Update module level settings from mips_opts. */
---
-1.7.1
-