diff options
author | Aaro Koskinen <aaro.koskinen@iki.fi> | 2015-10-29 18:54:47 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2015-11-10 08:44:37 -0500 |
commit | 61379878320664ed44901b0537254e983fc7e4c4 (patch) | |
tree | 8a4fd8e4d104cbf78c9a5d6c477b8abd8b4a66ed | |
parent | adaa0b6c49795551b07576e952dfa94c3ccded51 (diff) |
MIPS: vmlinux: discard .MIPS.abiflags
Discard .MIPS.abiflags from vmlinux. It's not needed and will cause
issues e.g. with old OCTEON bootloaders that cannot tolerate
additional program headers.
Before the patch:
$ readelf --program-headers octeon-vmlinux
Elf file type is EXEC (Executable file)
Entry point 0xffffffff815d09d0
There are 3 program headers, starting at offset 64
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
ABIFLAGS 0x00000000005e77f0 0xffffffff816e67f0 0xffffffff816e67f0
0x0000000000000018 0x0000000000000018 R 8
LOAD 0x0000000000001000 0xffffffff81100000 0xffffffff81100000
0x0000000000b57f80 0x0000000001b86360 RWE 1000
NOTE 0x00000000004e02e0 0xffffffff815df2e0 0xffffffff815df2e0
0x0000000000000024 0x0000000000000024 R 4
After the patch:
$ readelf --program-headers octeon-vmlinux
Elf file type is EXEC (Executable file)
Entry point 0xffffffff815d09d0
There are 2 program headers, starting at offset 64
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
LOAD 0x0000000000001000 0xffffffff81100000 0xffffffff81100000
0x0000000000b57f80 0x0000000001b86360 RWE 1000
NOTE 0x00000000004e02e0 0xffffffff815df2e0 0xffffffff815df2e0
0x0000000000000024 0x0000000000000024 R 4
Suggested-by: Matthew Fortune <matthew.fortune@imgtec.com>
Suggested-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: linux-mips@linux-mips.org
Cc: David Daney <ddaney.cavm@gmail.com>
Patchwork: https://patchwork.linux-mips.org/patch/11402/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/kernel/vmlinux.lds.S | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index 07d32a4aea60..06632d69ee5a 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S | |||
@@ -181,6 +181,7 @@ SECTIONS | |||
181 | DISCARDS | 181 | DISCARDS |
182 | /DISCARD/ : { | 182 | /DISCARD/ : { |
183 | /* ABI crap starts here */ | 183 | /* ABI crap starts here */ |
184 | *(.MIPS.abiflags) | ||
184 | *(.MIPS.options) | 185 | *(.MIPS.options) |
185 | *(.options) | 186 | *(.options) |
186 | *(.pdr) | 187 | *(.pdr) |