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:
		
							
								
								
									
										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 | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user