This makes initramfs use ".incbin" to include a binary blob into the
object file, instead of using LDFLAGS_BLOB, which isn't supported on all
architectures.
This will require reasonably modern binutils, but is portable.
This is the last thing that keeps the standard tree from building
directly for ia64.
clean-files := initramfs_data.cpio.gz
-LDFLAGS_initramfs_data.o := $(LDFLAGS_BLOB) -r -T
-
-$(obj)/initramfs_data.o: $(src)/initramfs_data.scr \
- $(obj)/initramfs_data.cpio.gz FORCE
- $(call if_changed,ld)
+$(src)/initramfs_data.S: $(obj)/initramfs_data.cpio.gz
+ echo " .section .init.ramfs,\"a\"" > $(src)/initramfs_data.S
+ echo ".incbin \"usr/initramfs_data.cpio.gz\"" >> $(src)/initramfs_data.S
# initramfs-y are the programs which will be copied into the CPIO
# archive. Currently, the filenames are hardcoded in gen_init_cpio,
+++ /dev/null
-SECTIONS
-{
- .init.ramfs : { *(.data) }
-}