Generate and extract debug sysmbols for coreboot. *.debug files can be
used for source level debug. Signed-off-by: Marc Jones <marcj303@gmail.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5827 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
a34a0b1876
commit
5c3126936d
2
Makefile
2
Makefile
|
@ -287,7 +287,7 @@ INCLUDES += -Isrc/devices/oprom/include
|
||||||
# abspath is a workaround for romcc
|
# abspath is a workaround for romcc
|
||||||
INCLUDES += -include $(abspath $(obj)/config.h)
|
INCLUDES += -include $(abspath $(obj)/config.h)
|
||||||
|
|
||||||
CFLAGS = $(INCLUDES) -Os -nostdinc -pipe
|
CFLAGS = $(INCLUDES) -Os -nostdinc -pipe -g
|
||||||
CFLAGS += -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes
|
CFLAGS += -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes
|
||||||
CFLAGS += -Wwrite-strings -Wredundant-decls -Wno-trigraphs
|
CFLAGS += -Wwrite-strings -Wredundant-decls -Wno-trigraphs
|
||||||
CFLAGS += -Wstrict-aliasing -Wshadow
|
CFLAGS += -Wstrict-aliasing -Wshadow
|
||||||
|
|
|
@ -32,4 +32,7 @@ $(obj)/coreboot: $$(initobjs) $(obj)/ldscript.ld
|
||||||
@printf " LINK $(subst $(obj)/,,$(@))\n"
|
@printf " LINK $(subst $(obj)/,,$(@))\n"
|
||||||
$(CC) -nostdlib -nostartfiles -static -o $@ -L$(obj) -T $(obj)/ldscript.ld $(initobjs)
|
$(CC) -nostdlib -nostartfiles -static -o $@ -L$(obj) -T $(obj)/ldscript.ld $(initobjs)
|
||||||
$(NM) -n $(obj)/coreboot | sort > $(obj)/coreboot.map
|
$(NM) -n $(obj)/coreboot | sort > $(obj)/coreboot.map
|
||||||
|
$(OBJCOPY) --only-keep-debug $@ $(obj)/bootblock.debug
|
||||||
|
$(OBJCOPY) --strip-debug $@
|
||||||
|
$(OBJCOPY) --add-gnu-debuglink=$(obj)/bootblock.debug $@
|
||||||
|
|
||||||
|
|
|
@ -75,6 +75,9 @@ $(obj)/bootblock.elf: $(obj)/mainboard/$(MAINBOARDDIR)/bootblock.o $(obj)/bootbl
|
||||||
@printf " LINK $(subst $(obj)/,,$(@))\n"
|
@printf " LINK $(subst $(obj)/,,$(@))\n"
|
||||||
$(CC) -nostdlib -nostartfiles -static -o $@ -L$(obj) -T $(obj)/bootblock/ldscript.ld $<
|
$(CC) -nostdlib -nostartfiles -static -o $@ -L$(obj) -T $(obj)/bootblock/ldscript.ld $<
|
||||||
$(NM) -n $(obj)/bootblock.elf | sort > $(obj)/bootblock.map
|
$(NM) -n $(obj)/bootblock.elf | sort > $(obj)/bootblock.map
|
||||||
|
$(OBJCOPY) --only-keep-debug $@ $(obj)/bootblock.debug
|
||||||
|
$(OBJCOPY) --strip-debug $@
|
||||||
|
$(OBJCOPY) --add-gnu-debuglink=$(obj)/bootblock.debug $@
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
# Build the romstage
|
# Build the romstage
|
||||||
|
@ -89,6 +92,9 @@ $(obj)/coreboot.romstage: $(obj)/coreboot.pre1 $$(initobjs) $(obj)/romstage/ldsc
|
||||||
printf ';\nAUTO_XIP_ROM_BASE = CONFIG_ROMBASE & ~(CONFIG_XIP_ROM_SIZE - 1);\n' >> $(obj)/location.ld
|
printf ';\nAUTO_XIP_ROM_BASE = CONFIG_ROMBASE & ~(CONFIG_XIP_ROM_SIZE - 1);\n' >> $(obj)/location.ld
|
||||||
$(CC) -nostdlib -nostartfiles -static -o $(obj)/romstage.elf -L$(obj) -T $(obj)/romstage/ldscript.ld $(initobjs)
|
$(CC) -nostdlib -nostartfiles -static -o $(obj)/romstage.elf -L$(obj) -T $(obj)/romstage/ldscript.ld $(initobjs)
|
||||||
$(NM) -n $(obj)/romstage.elf | sort > $(obj)/romstage.map
|
$(NM) -n $(obj)/romstage.elf | sort > $(obj)/romstage.map
|
||||||
|
$(OBJCOPY) --only-keep-debug $(obj)/romstage.elf $(obj)/romstage.debug
|
||||||
|
$(OBJCOPY) --strip-debug $(obj)/romstage.elf
|
||||||
|
$(OBJCOPY) --add-gnu-debuglink=$(obj)/romstage.debug $(obj)/romstage.elf
|
||||||
$(OBJCOPY) -O binary $(obj)/romstage.elf $@
|
$(OBJCOPY) -O binary $(obj)/romstage.elf $@
|
||||||
|
|
||||||
$(obj)/romstage/ldscript.ld: $$(ldscripts) $(obj)/ldoptions
|
$(obj)/romstage/ldscript.ld: $$(ldscripts) $(obj)/ldoptions
|
||||||
|
|
|
@ -107,6 +107,9 @@ $(obj)/coreboot_ram: $(obj)/coreboot_ram.o $(src)/arch/i386/coreboot_ram.ld #ldo
|
||||||
@printf " CC $(subst $(obj)/,,$(@))\n"
|
@printf " CC $(subst $(obj)/,,$(@))\n"
|
||||||
$(CC) -nostdlib -nostartfiles -static -o $@ -L$(obj) -T $(src)/arch/i386/coreboot_ram.ld $(obj)/coreboot_ram.o
|
$(CC) -nostdlib -nostartfiles -static -o $@ -L$(obj) -T $(src)/arch/i386/coreboot_ram.ld $(obj)/coreboot_ram.o
|
||||||
$(NM) -n $(obj)/coreboot_ram | sort > $(obj)/coreboot_ram.map
|
$(NM) -n $(obj)/coreboot_ram | sort > $(obj)/coreboot_ram.map
|
||||||
|
$(OBJCOPY) --only-keep-debug $@ $(obj)/coreboot_ram.debug
|
||||||
|
$(OBJCOPY) --strip-debug $@
|
||||||
|
$(OBJCOPY) --add-gnu-debuglink=$(obj)/coreboot_ram.debug $@
|
||||||
|
|
||||||
$(obj)/coreboot_ram.o: $(obj)/arch/i386/lib/c_start.o $$(drivers) $(obj)/coreboot.a $(LIBGCC_FILE_NAME)
|
$(obj)/coreboot_ram.o: $(obj)/arch/i386/lib/c_start.o $$(drivers) $(obj)/coreboot.a $(LIBGCC_FILE_NAME)
|
||||||
@printf " CC $(subst $(obj)/,,$(@))\n"
|
@printf " CC $(subst $(obj)/,,$(@))\n"
|
||||||
|
@ -125,6 +128,9 @@ ifeq ($(CONFIG_AP_CODE_IN_CAR),y)
|
||||||
$(obj)/coreboot_ap: $(obj)/mainboard/$(MAINBOARDDIR)/ap_romstage.o
|
$(obj)/coreboot_ap: $(obj)/mainboard/$(MAINBOARDDIR)/ap_romstage.o
|
||||||
@printf " CC $(subst $(obj)/,,$(@))\n"
|
@printf " CC $(subst $(obj)/,,$(@))\n"
|
||||||
$(CC) -nostdlib -nostartfiles -static -o $@ -L$(obj) -T $(src)/arch/i386/init/ldscript_apc.lb $^
|
$(CC) -nostdlib -nostartfiles -static -o $@ -L$(obj) -T $(src)/arch/i386/init/ldscript_apc.lb $^
|
||||||
|
$(OBJCOPY) --only-keep-debug $@ $(obj)/coreboot_ap.debug
|
||||||
|
$(OBJCOPY) --strip-debug $@
|
||||||
|
$(OBJCOPY) --add-gnu-debuglink=$(obj)/coreboot_ap.debug $@
|
||||||
$(NM) -n $(obj)/coreboot_ap | sort > $(obj)/coreboot_ap.map
|
$(NM) -n $(obj)/coreboot_ap | sort > $(obj)/coreboot_ap.map
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue