mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 05:56:14 -04:00
m68k: consolidate the vmlinux.lds linker scripts
The merge of m68knommu left the linker scripts a little disorganized. Some consistent naming and squashing two of scripts that just include others can simplify things a lot. So merge the two simple including scripts, and rename the nommu script to be consistent with the existing m68k linker scripts. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
This commit is contained in:
187
arch/m68k/kernel/vmlinux-nommu.lds
Normal file
187
arch/m68k/kernel/vmlinux-nommu.lds
Normal file
@@ -0,0 +1,187 @@
|
||||
/*
|
||||
* vmlinux.lds.S -- master linker script for m68knommu arch
|
||||
*
|
||||
* (C) Copyright 2002-2006, Greg Ungerer <gerg@snapgear.com>
|
||||
*
|
||||
* This linker script is equipped to build either ROM loaded or RAM
|
||||
* run kernels.
|
||||
*/
|
||||
|
||||
#include <asm-generic/vmlinux.lds.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/thread_info.h>
|
||||
|
||||
#if defined(CONFIG_RAMKERNEL)
|
||||
#define RAM_START CONFIG_KERNELBASE
|
||||
#define RAM_LENGTH (CONFIG_RAMBASE + CONFIG_RAMSIZE - CONFIG_KERNELBASE)
|
||||
#define TEXT ram
|
||||
#define DATA ram
|
||||
#define INIT ram
|
||||
#define BSSS ram
|
||||
#endif
|
||||
#if defined(CONFIG_ROMKERNEL) || defined(CONFIG_HIMEMKERNEL)
|
||||
#define RAM_START CONFIG_RAMBASE
|
||||
#define RAM_LENGTH CONFIG_RAMSIZE
|
||||
#define ROMVEC_START CONFIG_ROMVEC
|
||||
#define ROMVEC_LENGTH CONFIG_ROMVECSIZE
|
||||
#define ROM_START CONFIG_ROMSTART
|
||||
#define ROM_LENGTH CONFIG_ROMSIZE
|
||||
#define TEXT rom
|
||||
#define DATA ram
|
||||
#define INIT ram
|
||||
#define BSSS ram
|
||||
#endif
|
||||
|
||||
#ifndef DATA_ADDR
|
||||
#define DATA_ADDR
|
||||
#endif
|
||||
|
||||
|
||||
OUTPUT_ARCH(m68k)
|
||||
ENTRY(_start)
|
||||
|
||||
MEMORY {
|
||||
ram : ORIGIN = RAM_START, LENGTH = RAM_LENGTH
|
||||
#ifdef ROM_START
|
||||
romvec : ORIGIN = ROMVEC_START, LENGTH = ROMVEC_LENGTH
|
||||
rom : ORIGIN = ROM_START, LENGTH = ROM_LENGTH
|
||||
#endif
|
||||
}
|
||||
|
||||
jiffies = jiffies_64 + 4;
|
||||
|
||||
SECTIONS {
|
||||
|
||||
#ifdef ROMVEC_START
|
||||
. = ROMVEC_START ;
|
||||
.romvec : {
|
||||
__rom_start = . ;
|
||||
_romvec = .;
|
||||
*(.data..initvect)
|
||||
} > romvec
|
||||
#endif
|
||||
|
||||
.text : {
|
||||
_text = .;
|
||||
_stext = . ;
|
||||
HEAD_TEXT
|
||||
TEXT_TEXT
|
||||
SCHED_TEXT
|
||||
LOCK_TEXT
|
||||
*(.text..lock)
|
||||
|
||||
. = ALIGN(16); /* Exception table */
|
||||
__start___ex_table = .;
|
||||
*(__ex_table)
|
||||
__stop___ex_table = .;
|
||||
|
||||
*(.rodata) *(.rodata.*)
|
||||
*(__vermagic) /* Kernel version magic */
|
||||
*(.rodata1)
|
||||
*(.rodata.str1.1)
|
||||
|
||||
/* Kernel symbol table: Normal symbols */
|
||||
. = ALIGN(4);
|
||||
__start___ksymtab = .;
|
||||
*(SORT(___ksymtab+*))
|
||||
__stop___ksymtab = .;
|
||||
|
||||
/* Kernel symbol table: GPL-only symbols */
|
||||
__start___ksymtab_gpl = .;
|
||||
*(SORT(___ksymtab_gpl+*))
|
||||
__stop___ksymtab_gpl = .;
|
||||
|
||||
/* Kernel symbol table: Normal unused symbols */
|
||||
__start___ksymtab_unused = .;
|
||||
*(SORT(___ksymtab_unused+*))
|
||||
__stop___ksymtab_unused = .;
|
||||
|
||||
/* Kernel symbol table: GPL-only unused symbols */
|
||||
__start___ksymtab_unused_gpl = .;
|
||||
*(SORT(___ksymtab_unused_gpl+*))
|
||||
__stop___ksymtab_unused_gpl = .;
|
||||
|
||||
/* Kernel symbol table: GPL-future symbols */
|
||||
__start___ksymtab_gpl_future = .;
|
||||
*(SORT(___ksymtab_gpl_future+*))
|
||||
__stop___ksymtab_gpl_future = .;
|
||||
|
||||
/* Kernel symbol table: Normal symbols */
|
||||
__start___kcrctab = .;
|
||||
*(SORT(___kcrctab+*))
|
||||
__stop___kcrctab = .;
|
||||
|
||||
/* Kernel symbol table: GPL-only symbols */
|
||||
__start___kcrctab_gpl = .;
|
||||
*(SORT(___kcrctab_gpl+*))
|
||||
__stop___kcrctab_gpl = .;
|
||||
|
||||
/* Kernel symbol table: Normal unused symbols */
|
||||
__start___kcrctab_unused = .;
|
||||
*(SORT(___kcrctab_unused+*))
|
||||
__stop___kcrctab_unused = .;
|
||||
|
||||
/* Kernel symbol table: GPL-only unused symbols */
|
||||
__start___kcrctab_unused_gpl = .;
|
||||
*(SORT(___kcrctab_unused_gpl+*))
|
||||
__stop___kcrctab_unused_gpl = .;
|
||||
|
||||
/* Kernel symbol table: GPL-future symbols */
|
||||
__start___kcrctab_gpl_future = .;
|
||||
*(SORT(___kcrctab_gpl_future+*))
|
||||
__stop___kcrctab_gpl_future = .;
|
||||
|
||||
/* Kernel symbol table: strings */
|
||||
*(__ksymtab_strings)
|
||||
|
||||
/* Built-in module parameters */
|
||||
. = ALIGN(4) ;
|
||||
__start___param = .;
|
||||
*(__param)
|
||||
__stop___param = .;
|
||||
|
||||
/* Built-in module versions */
|
||||
. = ALIGN(4) ;
|
||||
__start___modver = .;
|
||||
*(__modver)
|
||||
__stop___modver = .;
|
||||
|
||||
. = ALIGN(4) ;
|
||||
_etext = . ;
|
||||
} > TEXT
|
||||
|
||||
.data DATA_ADDR : {
|
||||
. = ALIGN(4);
|
||||
_sdata = . ;
|
||||
DATA_DATA
|
||||
CACHELINE_ALIGNED_DATA(32)
|
||||
PAGE_ALIGNED_DATA(PAGE_SIZE)
|
||||
*(.data..shared_aligned)
|
||||
INIT_TASK_DATA(THREAD_SIZE)
|
||||
_edata = . ;
|
||||
} > DATA
|
||||
|
||||
.init.text : {
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__init_begin = .;
|
||||
} > INIT
|
||||
INIT_TEXT_SECTION(PAGE_SIZE) > INIT
|
||||
INIT_DATA_SECTION(16) > INIT
|
||||
.init.data : {
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__init_end = .;
|
||||
} > INIT
|
||||
|
||||
.bss : {
|
||||
. = ALIGN(4);
|
||||
_sbss = . ;
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
. = ALIGN(4) ;
|
||||
_ebss = . ;
|
||||
_end = . ;
|
||||
} > BSSS
|
||||
|
||||
DISCARDS
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user