diff options
Diffstat (limited to 'arch/blackfin/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/blackfin/kernel/vmlinux.lds.S | 56 |
1 files changed, 6 insertions, 50 deletions
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S index 21ac7c26079e..ffd90fbbc8f9 100644 --- a/arch/blackfin/kernel/vmlinux.lds.S +++ b/arch/blackfin/kernel/vmlinux.lds.S @@ -96,8 +96,7 @@ SECTIONS { __sdata = .; /* This gets done first, so the glob doesn't suck it in */ - . = ALIGN(32); - *(.data.cacheline_aligned) + CACHELINE_ALIGNED_DATA(32) #if !L1_DATA_A_LENGTH . = ALIGN(32); @@ -116,12 +115,7 @@ SECTIONS DATA_DATA CONSTRUCTORS - /* make sure the init_task is aligned to the - * kernel thread size so we can locate the kernel - * stack properly and quickly. - */ - . = ALIGN(THREAD_SIZE); - *(.init_task.data) + INIT_TASK_DATA(THREAD_SIZE) __edata = .; } @@ -134,39 +128,10 @@ SECTIONS . = ALIGN(PAGE_SIZE); ___init_begin = .; - .init.text : - { - . = ALIGN(PAGE_SIZE); - __sinittext = .; - INIT_TEXT - __einittext = .; - } - .init.data : - { - . = ALIGN(16); - INIT_DATA - } - .init.setup : - { - . = ALIGN(16); - ___setup_start = .; - *(.init.setup) - ___setup_end = .; - } - .initcall.init : - { - ___initcall_start = .; - INITCALLS - ___initcall_end = .; - } - .con_initcall.init : - { - ___con_initcall_start = .; - *(.con_initcall.init) - ___con_initcall_end = .; - } + INIT_TEXT_SECTION(PAGE_SIZE) + . = ALIGN(16); + INIT_DATA_SECTION(16) PERCPU(4) - SECURITY_INIT /* we have to discard exit text and such at runtime, not link time, to * handle embedded cross-section references (alt instructions, bug @@ -181,18 +146,9 @@ SECTIONS EXIT_DATA } - .init.ramfs : - { - . = ALIGN(4); - ___initramfs_start = .; - *(.init.ramfs) - . = ALIGN(4); - ___initramfs_end = .; - } - __l1_lma_start = .; - .text_l1 L1_CODE_START : AT(LOADADDR(.init.ramfs) + SIZEOF(.init.ramfs)) + .text_l1 L1_CODE_START : AT(LOADADDR(.exit.data) + SIZEOF(.exit.data)) { . = ALIGN(4); __stext_l1 = .; |