diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-28 18:13:55 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-28 18:13:55 -0400 |
| commit | c9e2a72ff1acfdffdecb338b3d997f90c507e665 (patch) | |
| tree | 9be4b7e6a1cb90ffa86148a3937021118a5913c0 /usr | |
| parent | 9aca0e7c8c3a8f1fa6e3058abc5465b0509f0f8e (diff) | |
| parent | d63f6d1b4d3ad0d88685a5f8eb1c3cac01ddd0db (diff) | |
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
initramfs: Fix build break on symbol-prefixed archs
initramfs: fix initramfs size calculation
initramfs: generalize initramfs_data.xxx.S variants
scripts/kallsyms: Enable error messages while hush up unnecessary warnings
scripts/setlocalversion: update comment
kbuild: Use a single clean rule for kernel and external modules
kbuild: Do not run make clean in $(srctree)
scripts/mod/modpost.c: fix commentary accordingly to last changes
kbuild: Really don't clean bounds.h and asm-offsets.h
Diffstat (limited to 'usr')
| -rw-r--r-- | usr/Makefile | 6 | ||||
| -rw-r--r-- | usr/initramfs_data.S | 21 | ||||
| -rw-r--r-- | usr/initramfs_data.bz2.S | 29 | ||||
| -rw-r--r-- | usr/initramfs_data.gz.S | 29 | ||||
| -rw-r--r-- | usr/initramfs_data.lzma.S | 29 | ||||
| -rw-r--r-- | usr/initramfs_data.lzo.S | 29 |
6 files changed, 18 insertions, 125 deletions
diff --git a/usr/Makefile b/usr/Makefile index 6b4b6da0b67d..6faa444b7087 100644 --- a/usr/Makefile +++ b/usr/Makefile | |||
| @@ -18,13 +18,15 @@ suffix_$(CONFIG_INITRAMFS_COMPRESSION_LZMA) = .lzma | |||
| 18 | # Lzo | 18 | # Lzo |
| 19 | suffix_$(CONFIG_INITRAMFS_COMPRESSION_LZO) = .lzo | 19 | suffix_$(CONFIG_INITRAMFS_COMPRESSION_LZO) = .lzo |
| 20 | 20 | ||
| 21 | AFLAGS_initramfs_data.o += -DINITRAMFS_IMAGE="usr/initramfs_data.cpio$(suffix_y)" | ||
| 22 | |||
| 21 | # Generate builtin.o based on initramfs_data.o | 23 | # Generate builtin.o based on initramfs_data.o |
| 22 | obj-$(CONFIG_BLK_DEV_INITRD) := initramfs_data$(suffix_y).o | 24 | obj-$(CONFIG_BLK_DEV_INITRD) := initramfs_data.o |
| 23 | 25 | ||
| 24 | # initramfs_data.o contains the compressed initramfs_data.cpio image. | 26 | # initramfs_data.o contains the compressed initramfs_data.cpio image. |
| 25 | # The image is included using .incbin, a dependency which is not | 27 | # The image is included using .incbin, a dependency which is not |
| 26 | # tracked automatically. | 28 | # tracked automatically. |
| 27 | $(obj)/initramfs_data$(suffix_y).o: $(obj)/initramfs_data.cpio$(suffix_y) FORCE | 29 | $(obj)/initramfs_data.o: $(obj)/initramfs_data.cpio$(suffix_y) FORCE |
| 28 | 30 | ||
| 29 | ##### | 31 | ##### |
| 30 | # Generate the initramfs cpio archive | 32 | # Generate the initramfs cpio archive |
diff --git a/usr/initramfs_data.S b/usr/initramfs_data.S index 7c6973d8d829..b9efed5e35cc 100644 --- a/usr/initramfs_data.S +++ b/usr/initramfs_data.S | |||
| @@ -11,11 +11,7 @@ | |||
| 11 | -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o | 11 | -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o |
| 12 | ld -m elf_i386 -r -o built-in.o initramfs_data.o | 12 | ld -m elf_i386 -r -o built-in.o initramfs_data.o |
| 13 | 13 | ||
| 14 | initramfs_data.scr looks like this: | 14 | For including the .init.ramfs sections, see include/asm-generic/vmlinux.lds. |
| 15 | SECTIONS | ||
| 16 | { | ||
| 17 | .init.ramfs : { *(.data) } | ||
| 18 | } | ||
| 19 | 15 | ||
| 20 | The above example is for i386 - the parameters vary from architectures. | 16 | The above example is for i386 - the parameters vary from architectures. |
| 21 | Eventually look up LDFLAGS_BLOB in an older version of the | 17 | Eventually look up LDFLAGS_BLOB in an older version of the |
| @@ -25,6 +21,17 @@ SECTIONS | |||
| 25 | in the ELF header, as required by certain architectures. | 21 | in the ELF header, as required by certain architectures. |
| 26 | */ | 22 | */ |
| 27 | 23 | ||
| 28 | .section .init.ramfs,"a" | 24 | #include <linux/stringify.h> |
| 29 | .incbin "usr/initramfs_data.cpio" | ||
| 30 | 25 | ||
| 26 | .section .init.ramfs,"a" | ||
| 27 | __irf_start: | ||
| 28 | .incbin __stringify(INITRAMFS_IMAGE) | ||
| 29 | __irf_end: | ||
| 30 | .section .init.ramfs.info,"a" | ||
| 31 | .globl __initramfs_size | ||
| 32 | __initramfs_size: | ||
| 33 | #ifdef CONFIG_32BIT | ||
| 34 | .long __irf_end - __irf_start | ||
| 35 | #else | ||
| 36 | .quad __irf_end - __irf_start | ||
| 37 | #endif | ||
diff --git a/usr/initramfs_data.bz2.S b/usr/initramfs_data.bz2.S deleted file mode 100644 index bc54d090365c..000000000000 --- a/usr/initramfs_data.bz2.S +++ /dev/null | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | /* | ||
| 2 | initramfs_data includes the compressed binary that is the | ||
| 3 | filesystem used for early user space. | ||
| 4 | Note: Older versions of "as" (prior to binutils 2.11.90.0.23 | ||
| 5 | released on 2001-07-14) dit not support .incbin. | ||
| 6 | If you are forced to use older binutils than that then the | ||
| 7 | following trick can be applied to create the resulting binary: | ||
| 8 | |||
| 9 | |||
| 10 | ld -m elf_i386 --format binary --oformat elf32-i386 -r \ | ||
| 11 | -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o | ||
| 12 | ld -m elf_i386 -r -o built-in.o initramfs_data.o | ||
| 13 | |||
| 14 | initramfs_data.scr looks like this: | ||
| 15 | SECTIONS | ||
| 16 | { | ||
| 17 | .init.ramfs : { *(.data) } | ||
| 18 | } | ||
| 19 | |||
| 20 | The above example is for i386 - the parameters vary from architectures. | ||
| 21 | Eventually look up LDFLAGS_BLOB in an older version of the | ||
| 22 | arch/$(ARCH)/Makefile to see the flags used before .incbin was introduced. | ||
| 23 | |||
| 24 | Using .incbin has the advantage over ld that the correct flags are set | ||
| 25 | in the ELF header, as required by certain architectures. | ||
| 26 | */ | ||
| 27 | |||
| 28 | .section .init.ramfs,"a" | ||
| 29 | .incbin "usr/initramfs_data.cpio.bz2" | ||
diff --git a/usr/initramfs_data.gz.S b/usr/initramfs_data.gz.S deleted file mode 100644 index 890c8dd1d6bd..000000000000 --- a/usr/initramfs_data.gz.S +++ /dev/null | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | /* | ||
| 2 | initramfs_data includes the compressed binary that is the | ||
| 3 | filesystem used for early user space. | ||
| 4 | Note: Older versions of "as" (prior to binutils 2.11.90.0.23 | ||
| 5 | released on 2001-07-14) dit not support .incbin. | ||
| 6 | If you are forced to use older binutils than that then the | ||
| 7 | following trick can be applied to create the resulting binary: | ||
| 8 | |||
| 9 | |||
| 10 | ld -m elf_i386 --format binary --oformat elf32-i386 -r \ | ||
| 11 | -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o | ||
| 12 | ld -m elf_i386 -r -o built-in.o initramfs_data.o | ||
| 13 | |||
| 14 | initramfs_data.scr looks like this: | ||
| 15 | SECTIONS | ||
| 16 | { | ||
| 17 | .init.ramfs : { *(.data) } | ||
| 18 | } | ||
| 19 | |||
| 20 | The above example is for i386 - the parameters vary from architectures. | ||
| 21 | Eventually look up LDFLAGS_BLOB in an older version of the | ||
| 22 | arch/$(ARCH)/Makefile to see the flags used before .incbin was introduced. | ||
| 23 | |||
| 24 | Using .incbin has the advantage over ld that the correct flags are set | ||
| 25 | in the ELF header, as required by certain architectures. | ||
| 26 | */ | ||
| 27 | |||
| 28 | .section .init.ramfs,"a" | ||
| 29 | .incbin "usr/initramfs_data.cpio.gz" | ||
diff --git a/usr/initramfs_data.lzma.S b/usr/initramfs_data.lzma.S deleted file mode 100644 index e11469e48562..000000000000 --- a/usr/initramfs_data.lzma.S +++ /dev/null | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | /* | ||
| 2 | initramfs_data includes the compressed binary that is the | ||
| 3 | filesystem used for early user space. | ||
| 4 | Note: Older versions of "as" (prior to binutils 2.11.90.0.23 | ||
| 5 | released on 2001-07-14) dit not support .incbin. | ||
| 6 | If you are forced to use older binutils than that then the | ||
| 7 | following trick can be applied to create the resulting binary: | ||
| 8 | |||
| 9 | |||
| 10 | ld -m elf_i386 --format binary --oformat elf32-i386 -r \ | ||
| 11 | -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o | ||
| 12 | ld -m elf_i386 -r -o built-in.o initramfs_data.o | ||
| 13 | |||
| 14 | initramfs_data.scr looks like this: | ||
| 15 | SECTIONS | ||
| 16 | { | ||
| 17 | .init.ramfs : { *(.data) } | ||
| 18 | } | ||
| 19 | |||
| 20 | The above example is for i386 - the parameters vary from architectures. | ||
| 21 | Eventually look up LDFLAGS_BLOB in an older version of the | ||
| 22 | arch/$(ARCH)/Makefile to see the flags used before .incbin was introduced. | ||
| 23 | |||
| 24 | Using .incbin has the advantage over ld that the correct flags are set | ||
| 25 | in the ELF header, as required by certain architectures. | ||
| 26 | */ | ||
| 27 | |||
| 28 | .section .init.ramfs,"a" | ||
| 29 | .incbin "usr/initramfs_data.cpio.lzma" | ||
diff --git a/usr/initramfs_data.lzo.S b/usr/initramfs_data.lzo.S deleted file mode 100644 index 59211905da84..000000000000 --- a/usr/initramfs_data.lzo.S +++ /dev/null | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | /* | ||
| 2 | initramfs_data includes the compressed binary that is the | ||
| 3 | filesystem used for early user space. | ||
| 4 | Note: Older versions of "as" (prior to binutils 2.11.90.0.23 | ||
| 5 | released on 2001-07-14) dit not support .incbin. | ||
| 6 | If you are forced to use older binutils than that then the | ||
| 7 | following trick can be applied to create the resulting binary: | ||
| 8 | |||
| 9 | |||
| 10 | ld -m elf_i386 --format binary --oformat elf32-i386 -r \ | ||
| 11 | -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o | ||
| 12 | ld -m elf_i386 -r -o built-in.o initramfs_data.o | ||
| 13 | |||
| 14 | initramfs_data.scr looks like this: | ||
| 15 | SECTIONS | ||
| 16 | { | ||
| 17 | .init.ramfs : { *(.data) } | ||
| 18 | } | ||
| 19 | |||
| 20 | The above example is for i386 - the parameters vary from architectures. | ||
| 21 | Eventually look up LDFLAGS_BLOB in an older version of the | ||
| 22 | arch/$(ARCH)/Makefile to see the flags used before .incbin was introduced. | ||
| 23 | |||
| 24 | Using .incbin has the advantage over ld that the correct flags are set | ||
| 25 | in the ELF header, as required by certain architectures. | ||
| 26 | */ | ||
| 27 | |||
| 28 | .section .init.ramfs,"a" | ||
| 29 | .incbin "usr/initramfs_data.cpio.lzo" | ||
