[PATCH] disable init/initramfs.c: architectures

Update all arch/*/kernel/vmlinux.lds.S to not include space for initramfs
when CONFIG_BLK_DEV_INITRAMFS is not selected.  This saves another 4 kbytes
on most platfoms (some reserve PAGE_SIZE for initramfs).

Signed-off-by: Jean-Paul Saman <jean-paul.saman@nxp.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Jean-Paul Saman 2007-02-10 01:44:44 -08:00 коммит произвёл Linus Torvalds
Родитель c33df4eaaf
Коммит 67d38229df
27 изменённых файлов: 70 добавлений и 3 удалений

Просмотреть файл

@ -52,10 +52,12 @@ SECTIONS
} }
__initcall_end = .; __initcall_end = .;
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(8192); . = ALIGN(8192);
__initramfs_start = .; __initramfs_start = .;
.init.ramfs : { *(.init.ramfs) } .init.ramfs : { *(.init.ramfs) }
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(8); . = ALIGN(8);
.con_initcall.init : { .con_initcall.init : {

Просмотреть файл

@ -53,10 +53,12 @@ SECTIONS
__security_initcall_start = .; __security_initcall_start = .;
*(.security_initcall.init) *(.security_initcall.init)
__security_initcall_end = .; __security_initcall_end = .;
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(32); . = ALIGN(32);
__initramfs_start = .; __initramfs_start = .;
usr/built-in.o(.init.ramfs) usr/built-in.o(.init.ramfs)
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(64); . = ALIGN(64);
__per_cpu_start = .; __per_cpu_start = .;
*(.data.percpu) *(.data.percpu)

Просмотреть файл

@ -46,10 +46,12 @@ SECTIONS
__con_initcall_start = .; __con_initcall_start = .;
*(.con_initcall.init) *(.con_initcall.init)
__con_initcall_end = .; __con_initcall_end = .;
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(32); . = ALIGN(32);
__initramfs_start = .; __initramfs_start = .;
usr/built-in.o(.init.ramfs) usr/built-in.o(.init.ramfs)
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(32768); . = ALIGN(32768);
__init_end = .; __init_end = .;
} }

Просмотреть файл

@ -47,10 +47,12 @@ SECTIONS
__con_initcall_start = .; __con_initcall_start = .;
*(.con_initcall.init) *(.con_initcall.init)
__con_initcall_end = .; __con_initcall_end = .;
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(32); . = ALIGN(32);
__initramfs_start = .; __initramfs_start = .;
usr/built-in.o(.init.ramfs) usr/built-in.o(.init.ramfs)
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(32768); . = ALIGN(32768);
__init_end = .; __init_end = .;
} }

Просмотреть файл

@ -46,10 +46,12 @@ SECTIONS
__security_initcall_start = .; __security_initcall_start = .;
*(.security_initcall.init) *(.security_initcall.init)
__security_initcall_end = .; __security_initcall_end = .;
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(32); . = ALIGN(32);
__initramfs_start = .; __initramfs_start = .;
*(.init.ramfs) *(.init.ramfs)
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(4096); . = ALIGN(4096);
__init_end = .; __init_end = .;
} }

Просмотреть файл

@ -82,7 +82,8 @@ SECTIONS
__con_initcall_end = .; __con_initcall_end = .;
} }
SECURITY_INIT SECURITY_INIT
#ifdef CONFIG_BLK_DEV_INITRD
.init.ramfs : { .init.ramfs : {
__initramfs_start = .; __initramfs_start = .;
*(.init.ramfs) *(.init.ramfs)
@ -93,6 +94,7 @@ SECTIONS
FILL (0); FILL (0);
. = ALIGN (8192); . = ALIGN (8192);
} }
#endif
__vmlinux_end = .; /* last address of the physical file */ __vmlinux_end = .; /* last address of the physical file */
__init_end = .; __init_end = .;

Просмотреть файл

@ -95,6 +95,7 @@ SECTIONS
.data.percpu : { *(.data.percpu) } .data.percpu : { *(.data.percpu) }
__per_cpu_end = .; __per_cpu_end = .;
#ifdef CONFIG_BLK_DEV_INITRD
.init.ramfs : { .init.ramfs : {
__initramfs_start = .; __initramfs_start = .;
*(.init.ramfs) *(.init.ramfs)
@ -107,6 +108,7 @@ SECTIONS
FILL (0); FILL (0);
. = ALIGN (8192); . = ALIGN (8192);
} }
#endif
__vmlinux_end = .; /* Last address of the physical file. */ __vmlinux_end = .; /* Last address of the physical file. */
__init_end = .; __init_end = .;

Просмотреть файл

@ -61,10 +61,12 @@ SECTIONS
.data.percpu : { *(.data.percpu) } .data.percpu : { *(.data.percpu) }
__per_cpu_end = .; __per_cpu_end = .;
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(4096); . = ALIGN(4096);
__initramfs_start = .; __initramfs_start = .;
.init.ramfs : { *(.init.ramfs) } .init.ramfs : { *(.init.ramfs) }
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(THREAD_SIZE); . = ALIGN(THREAD_SIZE);
__init_end = .; __init_end = .;

Просмотреть файл

@ -126,10 +126,12 @@ SECTIONS
___con_initcall_end = .; ___con_initcall_end = .;
*(.exit.text) *(.exit.text)
*(.exit.data) *(.exit.data)
#if defined(CONFIG_BLK_DEV_INITRD)
. = ALIGN(4); . = ALIGN(4);
___initramfs_start = .; ___initramfs_start = .;
*(.init.ramfs) *(.init.ramfs)
___initramfs_end = .; ___initramfs_end = .;
#endif
. = ALIGN(0x4) ; . = ALIGN(0x4) ;
___init_end = .; ___init_end = .;
__edata = . ; __edata = . ;

Просмотреть файл

@ -181,12 +181,14 @@ SECTIONS
from .altinstructions and .eh_frame */ from .altinstructions and .eh_frame */
.exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { *(.exit.text) } .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { *(.exit.text) }
.exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { *(.exit.data) } .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { *(.exit.data) }
#if defined(CONFIG_BLK_DEV_INITRD)
. = ALIGN(4096); . = ALIGN(4096);
.init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) {
__initramfs_start = .; __initramfs_start = .;
*(.init.ramfs) *(.init.ramfs)
__initramfs_end = .; __initramfs_end = .;
} }
#endif
. = ALIGN(L1_CACHE_BYTES); . = ALIGN(L1_CACHE_BYTES);
.data.percpu : AT(ADDR(.data.percpu) - LOAD_OFFSET) { .data.percpu : AT(ADDR(.data.percpu) - LOAD_OFFSET) {
__per_cpu_start = .; __per_cpu_start = .;

Просмотреть файл

@ -111,12 +111,14 @@ SECTIONS
.init.data : AT(ADDR(.init.data) - LOAD_OFFSET) .init.data : AT(ADDR(.init.data) - LOAD_OFFSET)
{ *(.init.data) } { *(.init.data) }
#ifdef CONFIG_BLK_DEV_INITRD
.init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET)
{ {
__initramfs_start = .; __initramfs_start = .;
*(.init.ramfs) *(.init.ramfs)
__initramfs_end = .; __initramfs_end = .;
} }
#endif
. = ALIGN(16); . = ALIGN(16);
.init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET)

Просмотреть файл

@ -102,10 +102,14 @@ SECTIONS
from .altinstructions and .eh_frame */ from .altinstructions and .eh_frame */
.exit.text : { *(.exit.text) } .exit.text : { *(.exit.text) }
.exit.data : { *(.exit.data) } .exit.data : { *(.exit.data) }
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(4096); . = ALIGN(4096);
__initramfs_start = .; __initramfs_start = .;
.init.ramfs : { *(.init.ramfs) } .init.ramfs : { *(.init.ramfs) }
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(32); . = ALIGN(32);
__per_cpu_start = .; __per_cpu_start = .;
.data.percpu : { *(.data.percpu) } .data.percpu : { *(.data.percpu) }

Просмотреть файл

@ -61,10 +61,12 @@ SECTIONS
.con_initcall.init : { *(.con_initcall.init) } .con_initcall.init : { *(.con_initcall.init) }
__con_initcall_end = .; __con_initcall_end = .;
SECURITY_INIT SECURITY_INIT
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(8192); . = ALIGN(8192);
__initramfs_start = .; __initramfs_start = .;
.init.ramfs : { *(.init.ramfs) } .init.ramfs : { *(.init.ramfs) }
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(8192); . = ALIGN(8192);
__init_end = .; __init_end = .;

Просмотреть файл

@ -55,10 +55,12 @@ __init_begin = .;
.con_initcall.init : { *(.con_initcall.init) } .con_initcall.init : { *(.con_initcall.init) }
__con_initcall_end = .; __con_initcall_end = .;
SECURITY_INIT SECURITY_INIT
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(8192); . = ALIGN(8192);
__initramfs_start = .; __initramfs_start = .;
.init.ramfs : { *(.init.ramfs) } .init.ramfs : { *(.init.ramfs) }
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(8192); . = ALIGN(8192);
__init_end = .; __init_end = .;
.data.init.task : { *(.data.init_task) } .data.init.task : { *(.data.init_task) }

Просмотреть файл

@ -159,10 +159,12 @@ SECTIONS {
__security_initcall_start = .; __security_initcall_start = .;
*(.security_initcall.init) *(.security_initcall.init)
__security_initcall_end = .; __security_initcall_end = .;
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(4); . = ALIGN(4);
__initramfs_start = .; __initramfs_start = .;
*(.init.ramfs) *(.init.ramfs)
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(4096); . = ALIGN(4096);
__init_end = .; __init_end = .;
} > INIT } > INIT

Просмотреть файл

@ -113,10 +113,12 @@ SECTIONS
references from .rodata */ references from .rodata */
.exit.text : { *(.exit.text) } .exit.text : { *(.exit.text) }
.exit.data : { *(.exit.data) } .exit.data : { *(.exit.data) }
#if defined(CONFIG_BLK_DEV_INITRD)
. = ALIGN(_PAGE_SIZE); . = ALIGN(_PAGE_SIZE);
__initramfs_start = .; __initramfs_start = .;
.init.ramfs : { *(.init.ramfs) } .init.ramfs : { *(.init.ramfs) }
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(32); . = ALIGN(32);
__per_cpu_start = .; __per_cpu_start = .;
.data.percpu : { *(.data.percpu) } .data.percpu : { *(.data.percpu) }

Просмотреть файл

@ -173,10 +173,12 @@ SECTIONS
from .altinstructions and .eh_frame */ from .altinstructions and .eh_frame */
.exit.text : { *(.exit.text) } .exit.text : { *(.exit.text) }
.exit.data : { *(.exit.data) } .exit.data : { *(.exit.data) }
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(ASM_PAGE_SIZE); . = ALIGN(ASM_PAGE_SIZE);
__initramfs_start = .; __initramfs_start = .;
.init.ramfs : { *(.init.ramfs) } .init.ramfs : { *(.init.ramfs) }
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(32); . = ALIGN(32);
__per_cpu_start = .; __per_cpu_start = .;
.data.percpu : { *(.data.percpu) } .data.percpu : { *(.data.percpu) }

Просмотреть файл

@ -131,14 +131,14 @@ SECTIONS
__stop___fw_ftr_fixup = .; __stop___fw_ftr_fixup = .;
} }
#endif #endif
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(PAGE_SIZE); . = ALIGN(PAGE_SIZE);
.init.ramfs : { .init.ramfs : {
__initramfs_start = .; __initramfs_start = .;
*(.init.ramfs) *(.init.ramfs)
__initramfs_end = .; __initramfs_end = .;
} }
#endif
#ifdef CONFIG_PPC32 #ifdef CONFIG_PPC32
. = ALIGN(32); . = ALIGN(32);
#else #else

Просмотреть файл

@ -135,10 +135,12 @@ SECTIONS
.data.percpu : { *(.data.percpu) } .data.percpu : { *(.data.percpu) }
__per_cpu_end = .; __per_cpu_end = .;
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(4096); . = ALIGN(4096);
__initramfs_start = .; __initramfs_start = .;
.init.ramfs : { *(.init.ramfs) } .init.ramfs : { *(.init.ramfs) }
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(4096); . = ALIGN(4096);
__init_end = .; __init_end = .;

Просмотреть файл

@ -91,11 +91,14 @@ SECTIONS
.con_initcall.init : { *(.con_initcall.init) } .con_initcall.init : { *(.con_initcall.init) }
__con_initcall_end = .; __con_initcall_end = .;
SECURITY_INIT SECURITY_INIT
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(256); . = ALIGN(256);
__initramfs_start = .; __initramfs_start = .;
.init.ramfs : { *(.init.initramfs) } .init.ramfs : { *(.init.initramfs) }
. = ALIGN(2); . = ALIGN(2);
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(256); . = ALIGN(256);
__per_cpu_start = .; __per_cpu_start = .;
.data.percpu : { *(.data.percpu) } .data.percpu : { *(.data.percpu) }

Просмотреть файл

@ -83,9 +83,13 @@ SECTIONS
.con_initcall.init : { *(.con_initcall.init) } .con_initcall.init : { *(.con_initcall.init) }
__con_initcall_end = .; __con_initcall_end = .;
SECURITY_INIT SECURITY_INIT
#ifdef CONFIG_BLK_DEV_INITRD
__initramfs_start = .; __initramfs_start = .;
.init.ramfs : { *(.init.ramfs) } .init.ramfs : { *(.init.ramfs) }
__initramfs_end = .; __initramfs_end = .;
#endif
__machvec_start = .; __machvec_start = .;
.init.machvec : { *(.init.machvec) } .init.machvec : { *(.init.machvec) }
__machvec_end = .; __machvec_end = .;

Просмотреть файл

@ -115,9 +115,13 @@ SECTIONS
.con_initcall.init : C_PHYS(.con_initcall.init) { *(.con_initcall.init) } .con_initcall.init : C_PHYS(.con_initcall.init) { *(.con_initcall.init) }
__con_initcall_end = .; __con_initcall_end = .;
SECURITY_INIT SECURITY_INIT
#ifdef CONFIG_BLK_DEV_INITRD
__initramfs_start = .; __initramfs_start = .;
.init.ramfs : C_PHYS(.init.ramfs) { *(.init.ramfs) } .init.ramfs : C_PHYS(.init.ramfs) { *(.init.ramfs) }
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(PAGE_SIZE); . = ALIGN(PAGE_SIZE);
__init_end = .; __init_end = .;

Просмотреть файл

@ -57,10 +57,14 @@ SECTIONS
.con_initcall.init : { *(.con_initcall.init) } .con_initcall.init : { *(.con_initcall.init) }
__con_initcall_end = .; __con_initcall_end = .;
SECURITY_INIT SECURITY_INIT
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(4096); . = ALIGN(4096);
__initramfs_start = .; __initramfs_start = .;
.init.ramfs : { *(.init.ramfs) } .init.ramfs : { *(.init.ramfs) }
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(32); . = ALIGN(32);
__per_cpu_start = .; __per_cpu_start = .;
.data.percpu : { *(.data.percpu) } .data.percpu : { *(.data.percpu) }

Просмотреть файл

@ -81,10 +81,14 @@ SECTIONS
__sun4v_2insn_patch = .; __sun4v_2insn_patch = .;
.sun4v_2insn_patch : { *(.sun4v_2insn_patch) } .sun4v_2insn_patch : { *(.sun4v_2insn_patch) }
__sun4v_2insn_patch_end = .; __sun4v_2insn_patch_end = .;
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(8192); . = ALIGN(8192);
__initramfs_start = .; __initramfs_start = .;
.init.ramfs : { *(.init.ramfs) } .init.ramfs : { *(.init.ramfs) }
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(8192); . = ALIGN(8192);
__per_cpu_start = .; __per_cpu_start = .;
.data.percpu : { *(.data.percpu) } .data.percpu : { *(.data.percpu) }

Просмотреть файл

@ -190,12 +190,16 @@
__root_fs_image_start = . ; \ __root_fs_image_start = . ; \
*(.root) \ *(.root) \
__root_fs_image_end = . ; __root_fs_image_end = . ;
#ifdef CONFIG_BLK_DEV_INITRD
/* The initramfs archive. */ /* The initramfs archive. */
#define INITRAMFS_CONTENTS \ #define INITRAMFS_CONTENTS \
. = ALIGN (4) ; \ . = ALIGN (4) ; \
___initramfs_start = . ; \ ___initramfs_start = . ; \
*(.init.ramfs) \ *(.init.ramfs) \
___initramfs_end = . ; ___initramfs_end = . ;
#endif
/* Where the initial bootmap (bitmap for the boot-time memory allocator) /* Where the initial bootmap (bitmap for the boot-time memory allocator)
should be place. */ should be place. */
#define BOOTMAP_CONTENTS \ #define BOOTMAP_CONTENTS \

Просмотреть файл

@ -192,10 +192,14 @@ SECTIONS
from .altinstructions and .eh_frame */ from .altinstructions and .eh_frame */
.exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { *(.exit.text) } .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { *(.exit.text) }
.exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { *(.exit.data) } .exit.data : AT(ADDR(.exit.data) - LOAD_OFFSET) { *(.exit.data) }
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(4096); . = ALIGN(4096);
__initramfs_start = .; __initramfs_start = .;
.init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { *(.init.ramfs) } .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { *(.init.ramfs) }
__initramfs_end = .; __initramfs_end = .;
#endif
. = ALIGN(CONFIG_X86_L1_CACHE_BYTES); . = ALIGN(CONFIG_X86_L1_CACHE_BYTES);
__per_cpu_start = .; __per_cpu_start = .;
.data.percpu : AT(ADDR(.data.percpu) - LOAD_OFFSET) { *(.data.percpu) } .data.percpu : AT(ADDR(.data.percpu) - LOAD_OFFSET) { *(.data.percpu) }

Просмотреть файл

@ -203,10 +203,12 @@ SECTIONS
.data.percpu : { *(.data.percpu) } .data.percpu : { *(.data.percpu) }
__per_cpu_end = .; __per_cpu_end = .;
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(4096); . = ALIGN(4096);
__initramfs_start =.; __initramfs_start =.;
.init.ramfs : { *(.init.ramfs) } .init.ramfs : { *(.init.ramfs) }
__initramfs_end = .; __initramfs_end = .;
#endif
/* We need this dummy segment here */ /* We need this dummy segment here */