diff options
-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 = "\ | |||
47 | file://backport/0001-ld.texinfo-Replace-with-when-it-is-part-of-the-text.patch \ | 47 | file://backport/0001-ld.texinfo-Replace-with-when-it-is-part-of-the-text.patch \ |
48 | file://backport/binutils-fix-ineffectual-zero-of-cache.patch \ | 48 | file://backport/binutils-fix-ineffectual-zero-of-cache.patch \ |
49 | file://backport/binutils-replace-strncat-with-strcat.patch \ | 49 | file://backport/binutils-replace-strncat-with-strcat.patch \ |
50 | file://backport/0001-config-tc-ppc.c-md_assemble-Do-not-generate-APUinfo-.patch \ | ||
50 | " | 51 | " |
51 | SRC_URI[md5sum] = "33adb18c3048d057ac58d07a3f1adb38" | 52 | SRC_URI[md5sum] = "33adb18c3048d057ac58d07a3f1adb38" |
52 | SRC_URI[sha256sum] = "2ab2e5b03e086d12c6295f831adad46b3e1410a3a234933a2e8fac66cb2e7a19" | 53 | 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 @@ | |||
1 | The powerpc assembler can generate .PPC.EMB.apuinfo sections in some | ||
2 | circumstances. These originate, I think, from the old e500 ABI; in | ||
3 | any case, they are only defined for 32-bit ABIs, and there is a | ||
4 | significant amount of code in bfd/elf32-ppc.c to handle them | ||
5 | appropriately, none of which is in elf64-ppc.c. However, the | ||
6 | assembler can generate them when building 64-bit code for processors | ||
7 | such as e5500 (which uses PPC_OPCODE_E500MC). In such circumstances, | ||
8 | they get generated as PROGBITS rather than NOTE sections, which | ||
9 | reportedly can cause problems in a Linux kernel build. | ||
10 | |||
11 | Since these sections are only defined in 32-bit ABIs, I think it's | ||
12 | most appropriate to avoid generating them for 64-bit output, which | ||
13 | this patch does. | ||
14 | |||
15 | Upstream-Status: Backport | ||
16 | |||
17 | -Khem 2013/03/25 | ||
18 | |||
19 | From d77411f56a85225e3f7b674e7172c712f6cd61cb Mon Sep 17 00:00:00 2001 | ||
20 | From: Joseph Myers <joseph@codesourcery.com> | ||
21 | Date: Fri, 25 Jan 2013 02:02:20 +0000 | ||
22 | Subject: [PATCH] * config/tc-ppc.c (md_assemble): Do not generate | ||
23 | APUinfo sections for 64-bit output. | ||
24 | |||
25 | --- | ||
26 | gas/ChangeLog | 5 +++++ | ||
27 | gas/config/tc-ppc.c | 3 ++- | ||
28 | 2 files changed, 7 insertions(+), 1 deletion(-) | ||
29 | |||
30 | diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c | ||
31 | index fd15bea..0929e52 100644 | ||
32 | --- a/gas/config/tc-ppc.c | ||
33 | +++ b/gas/config/tc-ppc.c | ||
34 | @@ -3249,7 +3249,8 @@ md_assemble (char *str) | ||
35 | |||
36 | #ifdef OBJ_ELF | ||
37 | /* Do we need/want an APUinfo section? */ | ||
38 | - if ((ppc_cpu & (PPC_OPCODE_E500 | PPC_OPCODE_E500MC | PPC_OPCODE_VLE)) != 0) | ||
39 | + if ((ppc_cpu & (PPC_OPCODE_E500 | PPC_OPCODE_E500MC | PPC_OPCODE_VLE)) != 0 | ||
40 | + && !ppc_obj64) | ||
41 | { | ||
42 | /* These are all version "1". */ | ||
43 | if (opcode->flags & PPC_OPCODE_SPE) | ||
44 | -- | ||
45 | 1.7.9.5 | ||
46 | |||