[oe-commits] Khem Raj : binutils: Don't generate .PPC.EMB. apuinfo sections for 64-bit output

git at git.openembedded.org git at git.openembedded.org
Tue Mar 26 17:54:36 UTC 2013


Module: openembedded-core.git
Branch: master
Commit: 3c6622e22b0e1b2a8ceea6465ea84c6fb8299518
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=3c6622e22b0e1b2a8ceea6465ea84c6fb8299518

Author: Khem Raj <raj.khem at gmail.com>
Date:   Mon Mar 25 23:21:16 2013 -0700

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 at gmail.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/recipes-devtools/binutils/binutils-2.23.1.inc |    1 +
 ...pc.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 4523407..667ad0b 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 0000000..55bbc6a
--- /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 at 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
+





More information about the Openembedded-commits mailing list