From e9f839d5fe70a222cc7b8942f401ac86a10e6604 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 7 Mar 2017 00:20:09 -0800 Subject: binutils: Upgrade to 2.28 release Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- ...eration-of-alignment-frags-in-code-sectio.patch | 139 --------------------- 1 file changed, 139 deletions(-) delete mode 100644 meta/recipes-devtools/binutils/binutils/0017-Fix-the-generation-of-alignment-frags-in-code-sectio.patch (limited to 'meta/recipes-devtools/binutils/binutils/0017-Fix-the-generation-of-alignment-frags-in-code-sectio.patch') diff --git a/meta/recipes-devtools/binutils/binutils/0017-Fix-the-generation-of-alignment-frags-in-code-sectio.patch b/meta/recipes-devtools/binutils/binutils/0017-Fix-the-generation-of-alignment-frags-in-code-sectio.patch deleted file mode 100644 index f8b46be697..0000000000 --- a/meta/recipes-devtools/binutils/binutils/0017-Fix-the-generation-of-alignment-frags-in-code-sectio.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 4a4286465b5d6c28968bc2b29ae08daca7f219a3 Mon Sep 17 00:00:00 2001 -From: Nick Clifton -Date: Fri, 18 Nov 2016 11:42:48 -0800 -Subject: [PATCH] Fix the generation of alignment frags in code sections for AArch64. - -PR gas/20364 -* config/tc-aarch64.c (s_ltorg): Change the mapping state after -aligning the frag. -(aarch64_init): Treat rs_align frags in code sections as -containing code, not data. -* testsuite/gas/aarch64/pr20364.s: New test. -* testsuite/gas/aarch64/pr20364.d: New test driver. - -Backporting the patch from binutils mainline -https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7ea12e5c3ad54da440c08f32da09534e63e515ca - -Upstream-Status: Backport - -Signed-off-by: Manjukumar Matha ---- - gas/ChangeLog | 10 ++++++++++ - gas/config/tc-aarch64.c | 10 +++++++--- - gas/testsuite/gas/aarch64/pr20364.d | 13 +++++++++++++ - gas/testsuite/gas/aarch64/pr20364.s | 28 ++++++++++++++++++++++++++++ - 4 files changed, 58 insertions(+), 3 deletions(-) - create mode 100644 gas/testsuite/gas/aarch64/pr20364.d - create mode 100644 gas/testsuite/gas/aarch64/pr20364.s - -diff --git a/gas/ChangeLog b/gas/ChangeLog -index a39895a..fad06dc 100644 ---- a/gas/ChangeLog -+++ b/gas/ChangeLog -@@ -1,3 +1,13 @@ -+2016-08-05 Nick Clifton -+ -+ PR gas/20364 -+ * config/tc-aarch64.c (s_ltorg): Change the mapping state after -+ aligning the frag. -+ (aarch64_init): Treat rs_align frags in code sections as -+ containing code, not data. -+ * testsuite/gas/aarch64/pr20364.s: New test. -+ * testsuite/gas/aarch64/pr20364.d: New test driver. -+ - 2016-08-03 Tristan Gingold - - * configure: Regenerate. -diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c -index ddc40f2..74933cb 100644 ---- a/gas/config/tc-aarch64.c -+++ b/gas/config/tc-aarch64.c -@@ -1736,13 +1736,13 @@ s_ltorg (int ignored ATTRIBUTE_UNUSED) - if (pool == NULL || pool->symbol == NULL || pool->next_free_entry == 0) - continue; - -- mapping_state (MAP_DATA); -- - /* Align pool as you have word accesses. - Only make a frag if we have to. */ - if (!need_pass_2) - frag_align (align, 0, 0); - -+ mapping_state (MAP_DATA); -+ - record_alignment (now_seg, align); - - sprintf (sym_name, "$$lit_\002%x", pool->id); -@@ -6373,11 +6373,15 @@ aarch64_init_frag (fragS * fragP, int max_chars) - - switch (fragP->fr_type) - { -- case rs_align: - case rs_align_test: - case rs_fill: - mapping_state_2 (MAP_DATA, max_chars); - break; -+ case rs_align: -+ /* PR 20364: We can get alignment frags in code sections, -+ so do not just assume that we should use the MAP_DATA state. */ -+ mapping_state_2 (subseg_text_p (now_seg) ? MAP_INSN : MAP_DATA, max_chars); -+ break; - case rs_align_code: - mapping_state_2 (MAP_INSN, max_chars); - break; -diff --git a/gas/testsuite/gas/aarch64/pr20364.d b/gas/testsuite/gas/aarch64/pr20364.d -new file mode 100644 -index 0000000..babcff1 ---- /dev/null -+++ b/gas/testsuite/gas/aarch64/pr20364.d -@@ -0,0 +1,13 @@ -+# Check that ".align , " does not set the mapping state to DATA, causing unnecessary frag generation. -+#name: PR20364 -+#objdump: -d -+ -+.*: file format .* -+ -+Disassembly of section \.vectors: -+ -+0+000 <.*>: -+ 0: d2800000 mov x0, #0x0 // #0 -+ 4: 94000000 bl 0 -+ 8: 17fffffe b 0 -+ -diff --git a/gas/testsuite/gas/aarch64/pr20364.s b/gas/testsuite/gas/aarch64/pr20364.s -new file mode 100644 -index 0000000..594ad7c ---- /dev/null -+++ b/gas/testsuite/gas/aarch64/pr20364.s -@@ -0,0 +1,28 @@ -+ .macro vector_base label -+ .section .vectors, "ax" -+ .align 11, 0 -+ \label: -+ .endm -+ -+ .macro vector_entry label -+ .section .vectors, "ax" -+ .align 7, 0 -+ \label: -+ .endm -+ -+ .macro check_vector_size since -+ .if (. - \since) > (32 * 4) -+ .error "Vector exceeds 32 instructions" -+ .endif -+ .endm -+ -+ .globl bl1_exceptions -+ -+vector_base bl1_exceptions -+ -+vector_entry SynchronousExceptionSP0 -+ mov x0, #0x0 -+ bl plat_report_exception -+ b SynchronousExceptionSP0 -+ check_vector_size SynchronousExceptionSP0 -+ --- -2.7.4 - -- cgit 1.2.3-korg