Skip to content

Commit f76a16a

Browse files
jpoimboeKAGA-KOKO
authored andcommitted
x86/unwind/orc: Fix ORC unwind table alignment
The .orc_unwind section is a packed array of 6-byte structs. It's currently aligned to 6 bytes, which is causing warnings in the LLD linker. Six isn't a power of two, so it's not a valid alignment value. The actual alignment doesn't matter much because it's an array of packed structs. An alignment of two is sufficient. In reality it always gets aligned to four bytes because it comes immediately after the 4-byte-aligned .orc_unwind_ip section. Fixes: ee9f8fc ("x86/unwind: Add the ORC unwinder") Reported-by: Nick Desaulniers <[email protected]> Reported-by: Dmitry Golovin <[email protected]> Reported-by: Sedat Dilek <[email protected]> Signed-off-by: Josh Poimboeuf <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Tested-by: Sedat Dilek <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: [email protected] Link: ClangBuiltLinux/linux#218 Link: https://lkml.kernel.org/r/d55027ee95fe73e952dcd8be90aebd31b0095c45.1551892041.git.jpoimboe@redhat.com
1 parent 78e10b5 commit f76a16a

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

include/asm-generic/vmlinux.lds.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -733,7 +733,7 @@
733733
KEEP(*(.orc_unwind_ip)) \
734734
__stop_orc_unwind_ip = .; \
735735
} \
736-
. = ALIGN(6); \
736+
. = ALIGN(2); \
737737
.orc_unwind : AT(ADDR(.orc_unwind) - LOAD_OFFSET) { \
738738
__start_orc_unwind = .; \
739739
KEEP(*(.orc_unwind)) \

0 commit comments

Comments
 (0)