diff options
author | Khem Raj <raj.khem@gmail.com> | 2013-03-25 23:21:16 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-03-26 17:55:00 +0000 |
commit | 3c6622e22b0e1b2a8ceea6465ea84c6fb8299518 (patch) | |
tree | 3e54f970d5e31d91414ce2d58967825da1f4afd3 /meta/recipes-devtools | |
parent | ac4d2d44c88cace8dbce0c8e7df3fd1f2ed244b4 (diff) | |
download | openembedded-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')
-rw-r--r-- | meta/recipes-devtools/binutils/binutils-2.23.1.inc | 1 | ||||
-rw-r--r-- | meta/recipes-devtools/binutils/binutils-2.23.1/backport/0001-config-tc-ppc.c-md_assemble-Do-not-generate-APUinfo-.patch | 46 |
2 files changed, 47 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1.inc b/meta/recipes-devtools/binutils/binutils-2.23.1.inc index 4523407660..667ad0bccd 100644 --- a/meta/recipes-devtools/binutils/binutils-2.23.1.inc +++ b/meta/recipes-devtools/binutils/binutils-2.23.1.inc @@ -47,6 +47,7 @@ BACKPORT = "\ file://backport/0001-ld.texinfo-Replace-with-when-it-is-part-of-the-text.patch \ file://backport/binutils-fix-ineffectual-zero-of-cache.patch \ file://backport/binutils-replace-strncat-with-strcat.patch \ + file://backport/0001-config-tc-ppc.c-md_assemble-Do-not-generate-APUinfo-.patch \ " SRC_URI[md5sum] = "33adb18c3048d057ac58d07a3f1adb38" SRC_URI[sha256sum] = "2ab2e5b03e086d12c6295f831adad46b3e1410a3a234933a2e8fac66cb2e7a19" 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 + |