aboutsummaryrefslogtreecommitdiff
path: root/arch/cris/kernel/vmlinux.lds.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/cris/kernel/vmlinux.lds.S')
-rw-r--r--arch/cris/kernel/vmlinux.lds.S22
1 files changed, 15 insertions, 7 deletions
diff --git a/arch/cris/kernel/vmlinux.lds.S b/arch/cris/kernel/vmlinux.lds.S
index d49d17d2a14..a68b983dcea 100644
--- a/arch/cris/kernel/vmlinux.lds.S
+++ b/arch/cris/kernel/vmlinux.lds.S
@@ -52,12 +52,15 @@ SECTIONS
EXCEPTION_TABLE(4)
+ _sdata = .;
RODATA
. = ALIGN (4);
___data_start = . ;
__Sdata = . ;
.data : { /* Data */
+ CACHELINE_ALIGNED_DATA(32)
+ READ_MOSTLY_DATA(32)
DATA_DATA
}
__edata = . ; /* End of data section. */
@@ -70,11 +73,6 @@ SECTIONS
INIT_TEXT_SECTION(PAGE_SIZE)
.init.data : { INIT_DATA }
.init.setup : { INIT_SETUP(16) }
-#ifdef CONFIG_ETRAX_ARCH_V32
- __start___param = .;
- __param : { *(__param) }
- __stop___param = .;
-#endif
.initcall.init : {
INIT_CALLS
}
@@ -84,6 +82,16 @@ SECTIONS
}
SECURITY_INIT
+ /* .exit.text is discarded at runtime, not link time,
+ * to deal with references from __bug_table
+ */
+ .exit.text : {
+ EXIT_TEXT
+ }
+ .exit.data : {
+ EXIT_DATA
+ }
+
#ifdef CONFIG_ETRAX_ARCH_V10
#ifdef CONFIG_BLK_DEV_INITRD
.init.ramfs : {
@@ -95,7 +103,7 @@ SECTIONS
#endif
__vmlinux_end = .; /* Last address of the physical file. */
#ifdef CONFIG_ETRAX_ARCH_V32
- PERCPU(PAGE_SIZE)
+ PERCPU_SECTION(32)
.init.ramfs : {
INIT_RAM_FS
@@ -112,7 +120,7 @@ SECTIONS
__init_end = .;
__data_end = . ; /* Move to _edata ? */
- BSS_SECTION(0, 0, 0)
+ BSS_SECTION(1, 1, 1)
. = ALIGN (0x20);
_end = .;