sparc64: use vmlinux.lds.S from sparc
Previous commit made them identical so use the sparc version Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
1b1fbbcaad
commit
104495a1ce
@@ -7,7 +7,7 @@ EXTRA_CFLAGS := -Werror
|
|||||||
|
|
||||||
CFLAGS_REMOVE_ftrace.o = -pg
|
CFLAGS_REMOVE_ftrace.o = -pg
|
||||||
|
|
||||||
extra-y := head.o init_task.o vmlinux.lds
|
extra-y := head.o init_task.o ../../sparc/kernel/vmlinux.lds
|
||||||
|
|
||||||
obj-y := process.o setup.o cpu.o idprom.o reboot.o \
|
obj-y := process.o setup.o cpu.o idprom.o reboot.o \
|
||||||
traps.o auxio.o una_asm.o sysfs.o iommu.o \
|
traps.o auxio.o una_asm.o sysfs.o iommu.o \
|
||||||
|
@@ -1,176 +1 @@
|
|||||||
/* ld script for sparc32/sparc64 kernel */
|
#include "../../sparc/kernel/vmlinux.lds.S"
|
||||||
|
|
||||||
#include <asm-generic/vmlinux.lds.h>
|
|
||||||
#include <asm/page.h>
|
|
||||||
|
|
||||||
#ifdef CONFIG_SPARC32
|
|
||||||
#define INITIAL_ADDRESS 0x10000 + SIZEOF_HEADERS
|
|
||||||
#define TEXTSTART 0xf0004000
|
|
||||||
|
|
||||||
#define SMP_CACHE_BYTES_SHIFT 5
|
|
||||||
|
|
||||||
#else
|
|
||||||
#define SMP_CACHE_BYTES_SHIFT 6
|
|
||||||
#define INITIAL_ADDRESS 0x4000
|
|
||||||
#define TEXTSTART 0x0000000000404000
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define SMP_CACHE_BYTES (1 << SMP_CACHE_BYTES_SHIFT)
|
|
||||||
|
|
||||||
#ifdef CONFIG_SPARC32
|
|
||||||
OUTPUT_FORMAT("elf32-sparc", "elf32-sparc", "elf32-sparc")
|
|
||||||
OUTPUT_ARCH(sparc)
|
|
||||||
ENTRY(_start)
|
|
||||||
jiffies = jiffies_64 + 4;
|
|
||||||
#else
|
|
||||||
/* sparc64 */
|
|
||||||
OUTPUT_FORMAT("elf64-sparc", "elf64-sparc", "elf64-sparc")
|
|
||||||
OUTPUT_ARCH(sparc:v9a)
|
|
||||||
ENTRY(_start)
|
|
||||||
jiffies = jiffies_64;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
/* swapper_low_pmd_dir is sparc64 only */
|
|
||||||
swapper_low_pmd_dir = 0x0000000000402000;
|
|
||||||
. = INITIAL_ADDRESS;
|
|
||||||
.text TEXTSTART :
|
|
||||||
{
|
|
||||||
_text = .;
|
|
||||||
*(.text.head)
|
|
||||||
TEXT_TEXT
|
|
||||||
SCHED_TEXT
|
|
||||||
LOCK_TEXT
|
|
||||||
KPROBES_TEXT
|
|
||||||
*(.gnu.warning)
|
|
||||||
} = 0
|
|
||||||
_etext = .;
|
|
||||||
PROVIDE (etext = .);
|
|
||||||
|
|
||||||
RO_DATA(PAGE_SIZE)
|
|
||||||
.data : {
|
|
||||||
DATA_DATA
|
|
||||||
CONSTRUCTORS
|
|
||||||
}
|
|
||||||
.data1 : {
|
|
||||||
*(.data1)
|
|
||||||
}
|
|
||||||
. = ALIGN(SMP_CACHE_BYTES);
|
|
||||||
.data.cacheline_aligned : {
|
|
||||||
*(.data.cacheline_aligned)
|
|
||||||
}
|
|
||||||
. = ALIGN(SMP_CACHE_BYTES);
|
|
||||||
.data.read_mostly : {
|
|
||||||
*(.data.read_mostly)
|
|
||||||
}
|
|
||||||
_edata = .;
|
|
||||||
PROVIDE (edata = .);
|
|
||||||
.fixup : {
|
|
||||||
__start___fixup = .;
|
|
||||||
*(.fixup)
|
|
||||||
__stop___fixup = .;
|
|
||||||
}
|
|
||||||
. = ALIGN(16);
|
|
||||||
__ex_table : {
|
|
||||||
__start___ex_table = .;
|
|
||||||
*(__ex_table)
|
|
||||||
__stop___ex_table = .;
|
|
||||||
}
|
|
||||||
NOTES
|
|
||||||
|
|
||||||
. = ALIGN(PAGE_SIZE);
|
|
||||||
.init.text : {
|
|
||||||
__init_begin = .;
|
|
||||||
_sinittext = .;
|
|
||||||
INIT_TEXT
|
|
||||||
_einittext = .;
|
|
||||||
}
|
|
||||||
__init_text_end = .;
|
|
||||||
.init.data : {
|
|
||||||
INIT_DATA
|
|
||||||
}
|
|
||||||
. = ALIGN(16);
|
|
||||||
.init.setup : {
|
|
||||||
__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 = .;
|
|
||||||
}
|
|
||||||
SECURITY_INIT
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
.tsb_ldquad_phys_patch : {
|
|
||||||
__tsb_ldquad_phys_patch = .;
|
|
||||||
*(.tsb_ldquad_phys_patch)
|
|
||||||
__tsb_ldquad_phys_patch_end = .;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tsb_phys_patch : {
|
|
||||||
__tsb_phys_patch = .;
|
|
||||||
*(.tsb_phys_patch)
|
|
||||||
__tsb_phys_patch_end = .;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cpuid_patch : {
|
|
||||||
__cpuid_patch = .;
|
|
||||||
*(.cpuid_patch)
|
|
||||||
__cpuid_patch_end = .;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sun4v_1insn_patch : {
|
|
||||||
__sun4v_1insn_patch = .;
|
|
||||||
*(.sun4v_1insn_patch)
|
|
||||||
__sun4v_1insn_patch_end = .;
|
|
||||||
}
|
|
||||||
.sun4v_2insn_patch : {
|
|
||||||
__sun4v_2insn_patch = .;
|
|
||||||
*(.sun4v_2insn_patch)
|
|
||||||
__sun4v_2insn_patch_end = .;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef CONFIG_BLK_DEV_INITRD
|
|
||||||
. = ALIGN(PAGE_SIZE);
|
|
||||||
.init.ramfs : {
|
|
||||||
__initramfs_start = .;
|
|
||||||
*(.init.ramfs)
|
|
||||||
__initramfs_end = .;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
PERCPU(PAGE_SIZE)
|
|
||||||
|
|
||||||
. = ALIGN(PAGE_SIZE);
|
|
||||||
__init_end = .;
|
|
||||||
__bss_start = .;
|
|
||||||
.sbss : {
|
|
||||||
*(.sbss)
|
|
||||||
*(.scommon)
|
|
||||||
}
|
|
||||||
.bss : {
|
|
||||||
*(.dynbss)
|
|
||||||
*(.bss)
|
|
||||||
*(COMMON)
|
|
||||||
}
|
|
||||||
_end = . ;
|
|
||||||
PROVIDE (end = .);
|
|
||||||
|
|
||||||
/DISCARD/ : {
|
|
||||||
EXIT_TEXT
|
|
||||||
EXIT_DATA
|
|
||||||
*(.exitcall.exit)
|
|
||||||
}
|
|
||||||
|
|
||||||
STABS_DEBUG
|
|
||||||
DWARF_DEBUG
|
|
||||||
}
|
|
||||||
|
Reference in New Issue
Block a user