summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/binutils/binutils-2.23.1/backport
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2013-03-25 23:21:16 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-03-26 17:55:00 +0000
commit3c6622e22b0e1b2a8ceea6465ea84c6fb8299518 (patch)
tree3e54f970d5e31d91414ce2d58967825da1f4afd3 /meta/recipes-devtools/binutils/binutils-2.23.1/backport
parentac4d2d44c88cace8dbce0c8e7df3fd1f2ed244b4 (diff)
downloadopenembedded-core-3c6622e22b0e1b2a8ceea6465ea84c6fb8299518.tar.gz
openembedded-core-3c6622e22b0e1b2a8ceea6465ea84c6fb8299518.tar.bz2
openembedded-core-3c6622e22b0e1b2a8ceea6465ea84c6fb8299518.zip
binutils: Don't generate .PPC.EMB.apuinfo sections for 64-bit output
This can cause issues building ppc64/eabi kernel. For details see the patch header Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils-2.23.1/backport')
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.23.1/backport/0001-config-tc-ppc.c-md_assemble-Do-not-generate-APUinfo-.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0001-config-tc-ppc.c-md_assemble-Do-not-generate-APUinfo-.patch b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0001-config-tc-ppc.c-md_assemble-Do-not-generate-APUinfo-.patch
new file mode 100644
index 0000000000..55bbc6a6e7
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-2.23.1/backport/0001-config-tc-ppc.c-md_assemble-Do-not-generate-APUinfo-.patch
@@ -0,0 +1,46 @@
+The powerpc assembler can generate .PPC.EMB.apuinfo sections in some
+circumstances. These originate, I think, from the old e500 ABI; in
+any case, they are only defined for 32-bit ABIs, and there is a
+significant amount of code in bfd/elf32-ppc.c to handle them
+appropriately, none of which is in elf64-ppc.c. However, the
+assembler can generate them when building 64-bit code for processors
+such as e5500 (which uses PPC_OPCODE_E500MC). In such circumstances,
+they get generated as PROGBITS rather than NOTE sections, which
+reportedly can cause problems in a Linux kernel build.
+
+Since these sections are only defined in 32-bit ABIs, I think it's
+most appropriate to avoid generating them for 64-bit output, which
+this patch does.
+
+Upstream-Status: Backport
+
+-Khem 2013/03/25
+
+From d77411f56a85225e3f7b674e7172c712f6cd61cb Mon Sep 17 00:00:00 2001
+From: Joseph Myers <joseph@codesourcery.com>
+Date: Fri, 25 Jan 2013 02:02:20 +0000
+Subject: [PATCH] * config/tc-ppc.c (md_assemble): Do not generate
+ APUinfo sections for 64-bit output.
+
+---
+ gas/ChangeLog | 5 +++++
+ gas/config/tc-ppc.c | 3 ++-
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
+index fd15bea..0929e52 100644
+--- a/gas/config/tc-ppc.c
++++ b/gas/config/tc-ppc.c
+@@ -3249,7 +3249,8 @@ md_assemble (char *str)
+
+ #ifdef OBJ_ELF
+ /* Do we need/want an APUinfo section? */
+- if ((ppc_cpu & (PPC_OPCODE_E500 | PPC_OPCODE_E500MC | PPC_OPCODE_VLE)) != 0)
++ if ((ppc_cpu & (PPC_OPCODE_E500 | PPC_OPCODE_E500MC | PPC_OPCODE_VLE)) != 0
++ && !ppc_obj64)
+ {
+ /* These are all version "1". */
+ if (opcode->flags & PPC_OPCODE_SPE)
+--
+1.7.9.5
+