Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4977ab6e authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull objtool relocation fixes from Ingo Molnar:
 "Two fixes related to the module loading regression introduced by the
  recent objtool changes"

* 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  objtool, modules: Discard objtool annotation sections for modules
  objtool, compiler.h: Fix __unreachable section relocation size
parents 8f03cf50 e390f9a9
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -345,8 +345,6 @@ SECTIONS
	DISCARDS
	/DISCARD/ : {
		*(.eh_frame)
		*(__func_stack_frame_non_standard)
		*(__unreachable)
	}
}

+2 −2
Original line number Diff line number Diff line
@@ -200,8 +200,8 @@
#ifdef CONFIG_STACK_VALIDATION
#define annotate_unreachable() ({					\
	asm("%c0:\t\n"							\
	    ".pushsection __unreachable, \"a\"\t\n"			\
	    ".long %c0b\t\n"						\
	    ".pushsection .discard.unreachable\t\n"			\
	    ".long %c0b - .\t\n"					\
	    ".popsection\t\n" : : "i" (__LINE__));			\
})
#else
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@
 * For more information, see tools/objtool/Documentation/stack-validation.txt.
 */
#define STACK_FRAME_NON_STANDARD(func) \
	static void __used __section(__func_stack_frame_non_standard) \
	static void __used __section(.discard.func_stack_frame_non_standard) \
		*__func_stack_frame_non_standard_##func = func

#else /* !CONFIG_STACK_VALIDATION */
+1 −0
Original line number Diff line number Diff line
@@ -854,6 +854,7 @@ static const char *const section_white_list[] =
	".cmem*",			/* EZchip */
	".fmt_slot*",			/* EZchip */
	".gnu.lto*",
	".discard.*",
	NULL
};

+4 −1
Original line number Diff line number Diff line
@@ -4,7 +4,10 @@
 * combine them automatically.
 */
SECTIONS {
	/DISCARD/ : { *(.discard) }
	/DISCARD/ : {
		*(.discard)
		*(.discard.*)
	}

	__ksymtab		0 : { *(SORT(___ksymtab+*)) }
	__ksymtab_gpl		0 : { *(SORT(___ksymtab_gpl+*)) }
Loading