diff options
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils-2.23.1/backport/0001-config-tc-ppc.c-md_assemble-Do-not-generate-APUinfo-.patch')
-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 |
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 @@ | |||
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 | |||