Skip to content

Commit

Permalink
sh: Clean up linker script using new linker script macros.
Browse files Browse the repository at this point in the history
This patch converts the sh architecture to use the new linker script
macros in include/asm-generic/vmlinux.lds.h.

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: linux-sh@vger.kernel.org
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
  • Loading branch information
Tim Abbott authored and Paul Mundt committed Jul 10, 2009
1 parent 727dc3f commit 2802e34
Showing 1 changed file with 11 additions and 76 deletions.
87 changes: 11 additions & 76 deletions arch/sh/kernel/vmlinux.lds.S
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,7 @@ SECTIONS
_etext = .; /* End of text section */
} = 0x0009

. = ALIGN(16); /* Exception table */
__ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) {
__start___ex_table = .;
*(__ex_table)
__stop___ex_table = .;
}
EXCEPTION_TABLE(16)

NOTES
RO_DATA(PAGE_SIZE)
Expand All @@ -71,69 +66,14 @@ SECTIONS
__uncached_end = .;
}

. = ALIGN(THREAD_SIZE);
.data : AT(ADDR(.data) - LOAD_OFFSET) { /* Data */
*(.data.init_task)

. = ALIGN(L1_CACHE_BYTES);
*(.data.cacheline_aligned)

. = ALIGN(L1_CACHE_BYTES);
*(.data.read_mostly)

. = ALIGN(PAGE_SIZE);
*(.data.page_aligned)

__nosave_begin = .;
*(.data.nosave)
. = ALIGN(PAGE_SIZE);
__nosave_end = .;

DATA_DATA
CONSTRUCTORS
}
RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)

_edata = .; /* End of data section */

. = ALIGN(PAGE_SIZE); /* Init code and data */
.init.text : AT(ADDR(.init.text) - LOAD_OFFSET) {
__init_begin = .;
_sinittext = .;
INIT_TEXT
_einittext = .;
}

.init.data : AT(ADDR(.init.data) - LOAD_OFFSET) { INIT_DATA }

. = ALIGN(16);
.init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) {
__setup_start = .;
*(.init.setup)
__setup_end = .;
}

.initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) {
__initcall_start = .;
INITCALLS
__initcall_end = .;
}

.con_initcall.init : AT(ADDR(.con_initcall.init) - LOAD_OFFSET) {
__con_initcall_start = .;
*(.con_initcall.init)
__con_initcall_end = .;
}

SECURITY_INIT

#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(PAGE_SIZE);
.init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) {
__initramfs_start = .;
*(.init.ramfs)
__initramfs_end = .;
}
#endif
__init_begin = .;
INIT_TEXT_SECTION(PAGE_SIZE)
INIT_DATA_SECTION(16)

. = ALIGN(4);
.machvec.init : AT(ADDR(.machvec.init) - LOAD_OFFSET) {
Expand All @@ -152,16 +92,11 @@ SECTIONS
.exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { EXIT_DATA }

. = ALIGN(PAGE_SIZE);
.bss : AT(ADDR(.bss) - LOAD_OFFSET) {
__init_end = .;
__bss_start = .; /* BSS */
*(.bss.page_aligned)
*(.bss)
*(COMMON)
. = ALIGN(4);
_ebss = .; /* uClinux MTD sucks */
_end = . ;
}
__init_end = .;
BSS(PAGE_SIZE)
. = ALIGN(4);
_ebss = .; /* uClinux MTD sucks */
_end = . ;

/*
* When something in the kernel is NOT compiled as a module, the
Expand All @@ -170,7 +105,7 @@ SECTIONS
* it's a module.
*/
/DISCARD/ : {
*(.exitcall.exit)
EXIT_CALL
}

STABS_DEBUG
Expand Down

0 comments on commit 2802e34

Please sign in to comment.