Commit 6a00cbfc authored by Tom Rini's avatar Tom Rini Committed by Linus Torvalds

[PATCH] ppc32: discard *.exit.text and *.exit.data sections

Discard *.exit.text sections on runtime.  We cannot do this on link time
because of the way BUG macros are implemented.  If "__exit function" calls
one of those macros, __bug_table section will reference this function.
This is similar to ".altinstructions" situation on i386.

*.exit.data seems to be OK in this respect and is discarded on link
time.
Signed-off-by: default avatarEugene Surovegin <ebs@ebshome.net>
Signed-off-by: default avatarTom Rini <trini@kernel.crashing.org>
Acked-by: default avatarPaul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 5b952b3c
...@@ -96,6 +96,9 @@ SECTIONS ...@@ -96,6 +96,9 @@ SECTIONS
*(.init.text) *(.init.text)
_einittext = .; _einittext = .;
} }
/* .exit.text is discarded at runtime, not link time,
to deal with references from __bug_table */
.exit.text : { *(.exit.text) }
.init.data : { .init.data : {
*(.init.data); *(.init.data);
__vtop_table_begin = .; __vtop_table_begin = .;
...@@ -190,5 +193,6 @@ SECTIONS ...@@ -190,5 +193,6 @@ SECTIONS
/* Sections to be discarded. */ /* Sections to be discarded. */
/DISCARD/ : { /DISCARD/ : {
*(.exitcall.exit) *(.exitcall.exit)
*(.exit.data)
} }
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment