d4d9a553d7
o Remove the .initrd section. The initrd section was already handled when vmlinux was linked. o Discard .MIPS.options, .options, .pdr, .reginfo, .comment and .note sections. If .MIPS.options is not removed, kernels compiled with gcc 3.4.6 will not boot. o Clean up the file format. o Remove several other unneeded sections. Tested with GCC 3.4.6 and 4.4.1 with and without initrd. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/785/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
67 lines
1.2 KiB
Text
67 lines
1.2 KiB
Text
/*
|
|
* ld.script for compressed kernel support of MIPS
|
|
*
|
|
* Copyright (C) 2009 Lemote Inc.
|
|
* Author: Wu Zhangjin <wuzj@lemote.com>
|
|
*/
|
|
|
|
OUTPUT_ARCH(mips)
|
|
ENTRY(start)
|
|
SECTIONS
|
|
{
|
|
/* . = VMLINUZ_LOAD_ADDRESS */
|
|
/* read-only */
|
|
_text = .; /* Text and read-only data */
|
|
.text : {
|
|
_ftext = . ;
|
|
*(.text)
|
|
*(.rodata)
|
|
} = 0
|
|
_etext = .; /* End of text section */
|
|
|
|
/* writable */
|
|
.data : { /* Data */
|
|
_fdata = . ;
|
|
*(.data)
|
|
/* Put the compressed image here, so bss is on the end. */
|
|
__image_begin = .;
|
|
*(.image)
|
|
__image_end = .;
|
|
CONSTRUCTORS
|
|
}
|
|
.sdata : { *(.sdata) }
|
|
. = ALIGN(4);
|
|
_edata = .; /* End of data section */
|
|
|
|
/* BSS */
|
|
__bss_start = .;
|
|
_fbss = .;
|
|
.sbss : { *(.sbss) *(.scommon) }
|
|
.bss : {
|
|
*(.dynbss)
|
|
*(.bss)
|
|
*(COMMON)
|
|
}
|
|
. = ALIGN(4);
|
|
_end = . ;
|
|
|
|
/* These are needed for ELF backends which have not yet been converted
|
|
* to the new style linker. */
|
|
|
|
.stab 0 : { *(.stab) }
|
|
.stabstr 0 : { *(.stabstr) }
|
|
|
|
/* These must appear regardless of . */
|
|
.gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }
|
|
.gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }
|
|
|
|
/* Sections to be discarded */
|
|
/DISCARD/ : {
|
|
*(.MIPS.options)
|
|
*(.options)
|
|
*(.pdr)
|
|
*(.reginfo)
|
|
*(.comment)
|
|
*(.note)
|
|
}
|
|
}
|