mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 05:02:12 +00:00
xtensa: clean up boot make rules
- remove duplicate rules for binary and packed image - use predefined macros for ld/objcopy/gzip - remove build-id section from bootable elf image Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Chris Zankel <chris@zankel.net>
This commit is contained in:
parent
599bf77a0d
commit
3f5ec298e5
@ -31,3 +31,13 @@ $(bootdir-y): $(addprefix $(obj)/,$(subdir-y)) \
|
||||
$(addprefix $(obj)/,$(host-progs))
|
||||
$(Q)$(MAKE) $(build)=$(obj)/$@ $(MAKECMDGOALS)
|
||||
|
||||
OBJCOPYFLAGS = --strip-all -R .comment -R .note.gnu.build-id -O binary
|
||||
|
||||
vmlinux.bin: vmlinux FORCE
|
||||
$(call if_changed,objcopy)
|
||||
|
||||
vmlinux.bin.gz: vmlinux.bin FORCE
|
||||
$(call if_changed,gzip)
|
||||
|
||||
boot-elf: vmlinux.bin
|
||||
boot-redboot: vmlinux.bin.gz
|
||||
|
@ -4,9 +4,6 @@
|
||||
# for more details.
|
||||
#
|
||||
|
||||
GZIP = gzip
|
||||
GZIP_FLAGS = -v9fc
|
||||
|
||||
ifeq ($(BIG_ENDIAN),1)
|
||||
OBJCOPY_ARGS := -O elf32-xtensa-be
|
||||
else
|
||||
@ -20,18 +17,17 @@ boot-y := bootstrap.o
|
||||
|
||||
OBJS := $(addprefix $(obj)/,$(boot-y))
|
||||
|
||||
vmlinux.tmp: vmlinux
|
||||
$(OBJCOPY) --strip-all -R .comment -R .note.gnu.build-id -O binary \
|
||||
$^ $@
|
||||
|
||||
Image: vmlinux.tmp $(OBJS) arch/$(ARCH)/boot/boot-elf/boot.lds
|
||||
$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
|
||||
--add-section image=vmlinux.tmp \
|
||||
$(obj)/Image.o: vmlinux.bin $(OBJS)
|
||||
$(Q)$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
|
||||
--add-section image=vmlinux.bin \
|
||||
--set-section-flags image=contents,alloc,load,load,data \
|
||||
$(OBJS) $@.tmp
|
||||
$(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
|
||||
-T arch/$(ARCH)/boot/boot-elf/boot.lds \
|
||||
-o arch/$(ARCH)/boot/$@.elf $@.tmp
|
||||
$(OBJS) $@
|
||||
|
||||
zImage: Image
|
||||
$(obj)/../Image.elf: $(obj)/Image.o $(obj)/boot.lds
|
||||
$(Q)$(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
|
||||
-T $(obj)/boot.lds \
|
||||
--build-id=none \
|
||||
-o $@ $(obj)/Image.o
|
||||
$(Q)$(kecho) ' Kernel: $@ is ready'
|
||||
|
||||
zImage: $(obj)/../Image.elf
|
||||
|
@ -4,8 +4,6 @@
|
||||
# for more details.
|
||||
#
|
||||
|
||||
GZIP = gzip
|
||||
GZIP_FLAGS = -v9fc
|
||||
ifeq ($(BIG_ENDIAN),1)
|
||||
OBJCOPY_ARGS := -O elf32-xtensa-be
|
||||
else
|
||||
@ -21,17 +19,17 @@ LIBS := arch/xtensa/boot/lib/lib.a arch/xtensa/lib/lib.a
|
||||
|
||||
LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
|
||||
|
||||
vmlinux.tmp: vmlinux
|
||||
$(OBJCOPY) --strip-all -R .comment -R .note.gnu.build-id -O binary \
|
||||
$^ $@
|
||||
|
||||
vmlinux.tmp.gz: vmlinux.tmp
|
||||
$(GZIP) $(GZIP_FLAGS) $^ > $@
|
||||
|
||||
zImage: vmlinux.tmp.gz $(OBJS) $(LIBS)
|
||||
$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
|
||||
--add-section image=vmlinux.tmp.gz \
|
||||
$(obj)/zImage.o: vmlinux.bin.gz $(OBJS)
|
||||
$(Q)$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
|
||||
--add-section image=vmlinux.bin.gz \
|
||||
--set-section-flags image=contents,alloc,load,load,data \
|
||||
$(OBJS) $@.tmp
|
||||
$(LD) $(LD_ARGS) -o $@.elf $@.tmp $(LIBS) -L/xtensa-elf/lib $(LIBGCC)
|
||||
$(OBJCOPY) -S -O binary $@.elf arch/$(ARCH)/boot/$@.redboot
|
||||
$(OBJS) $@
|
||||
|
||||
$(obj)/zImage.elf: $(obj)/zImage.o $(LIBS)
|
||||
$(Q)$(LD) $(LD_ARGS) -o $@ $^ -L/xtensa-elf/lib $(LIBGCC)
|
||||
|
||||
$(obj)/../zImage.redboot: $(obj)/zImage.elf
|
||||
$(Q)$(OBJCOPY) -S -O binary $< $@
|
||||
$(Q)$(kecho) ' Kernel: $@ is ready'
|
||||
|
||||
zImage: $(obj)/../zImage.redboot
|
||||
|
Loading…
Reference in New Issue
Block a user