@@ -151,6 +151,12 @@ SECTIONS
PERCPU_SECTION(SMP_CACHE_BYTES)
. = ALIGN(PAGE_SIZE);
+ .exit.text : {
+ EXIT_TEXT
+ }
+
+ . = ALIGN(PAGE_SIZE);
+
__init_end = .;
BSS_SECTION(0, 0, 0)
_end = . ;
@@ -58,7 +58,21 @@ SECTIONS
_etext = .;
/* "Init" is divided into two areas with very different virtual
addresses. */
+ . = ALIGN(PAGE_SIZE);
+ .init.begin : AT(ADDR(.init.begin) - LOAD_OFFSET) {
+ __init_begin = .; /* paired with __init_end */
+ }
+
INIT_TEXT_SECTION(PAGE_SIZE)
+ .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) {
+ EXIT_TEXT
+ }
+
+ . = ALIGN(PAGE_SIZE);
+ /* freed after init ends here */
+ .init.end : AT(ADDR(.init.end) - LOAD_OFFSET) {
+ __init_end = .;
+ }
/* Now we skip back to PAGE_OFFSET for the data. */