diff options
Diffstat (limited to 'arch/s390/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/s390/kernel/vmlinux.lds.S | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S index c30716ae130c..418f6426a949 100644 --- a/arch/s390/kernel/vmlinux.lds.S +++ b/arch/s390/kernel/vmlinux.lds.S | |||
@@ -45,6 +45,8 @@ SECTIONS | |||
45 | __ex_table : { *(__ex_table) } | 45 | __ex_table : { *(__ex_table) } |
46 | __stop___ex_table = .; | 46 | __stop___ex_table = .; |
47 | 47 | ||
48 | BUG_TABLE | ||
49 | |||
48 | .data : { /* Data */ | 50 | .data : { /* Data */ |
49 | *(.data) | 51 | *(.data) |
50 | CONSTRUCTORS | 52 | CONSTRUCTORS |
@@ -77,6 +79,12 @@ SECTIONS | |||
77 | *(.init.text) | 79 | *(.init.text) |
78 | _einittext = .; | 80 | _einittext = .; |
79 | } | 81 | } |
82 | /* | ||
83 | * .exit.text is discarded at runtime, not link time, | ||
84 | * to deal with references from __bug_table | ||
85 | */ | ||
86 | .exit.text : { *(.exit.text) } | ||
87 | |||
80 | .init.data : { *(.init.data) } | 88 | .init.data : { *(.init.data) } |
81 | . = ALIGN(256); | 89 | . = ALIGN(256); |
82 | __setup_start = .; | 90 | __setup_start = .; |
@@ -116,7 +124,7 @@ SECTIONS | |||
116 | 124 | ||
117 | /* Sections to be discarded */ | 125 | /* Sections to be discarded */ |
118 | /DISCARD/ : { | 126 | /DISCARD/ : { |
119 | *(.exit.text) *(.exit.data) *(.exitcall.exit) | 127 | *(.exit.data) *(.exitcall.exit) |
120 | } | 128 | } |
121 | 129 | ||
122 | /* Stabs debugging sections. */ | 130 | /* Stabs debugging sections. */ |