Rudolf Marek (r.marek@assembler.cz) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1092
-gerrit
commit 922b3c627bd573513b26fcb47197b01e77bfee0b Author: Rudolf Marek r.marek@assembler.cz Date: Tue Jun 5 00:22:39 2012 +0200
leave frame pointers
Do not strip out frame pointer, handy for debugging (this needs to be somehow more polished but one gets the idea).
Change-Id: I4f96ca321a175c941c55846fd2471ef5cc4897af Signed-off-by: Rudolf Marek r.marek@assembler.cz --- Makefile.inc | 16 +++++++++++++++- src/arch/x86/Makefile.inc | 5 +++++ 2 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/Makefile.inc b/Makefile.inc index 176ff67..f3e87cc 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -61,8 +61,15 @@ subdirs-y += site-local # Add source classes and their build options classes-y := ramstage romstage driver smm
-romstage-c-ccopts:=-D__PRE_RAM__ + +ifeq ($(CONFIG_ULINUX),y) +stack_opt := -fomit-frame-pointer +ramstage-c-ccopts:= -fstack-protector-all +endif + +romstage-c-ccopts:=-D__PRE_RAM__ $(stack_opt) romstage-S-ccopts:=-D__PRE_RAM__ + ifeq ($(CONFIG_TRACE),y) ramstage-c-ccopts:= -finstrument-functions endif @@ -163,7 +170,14 @@ CFLAGS += -Wstrict-aliasing -Wshadow ifeq ($(CONFIG_WARNINGS_ARE_ERRORS),y) CFLAGS += -Werror endif + +ifeq ($(CONFIG_ULINUX),n) CFLAGS += -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer +endif + +ifeq ($(CONFIG_ULINUX),y) +CFLAGS += -fno-common -ffreestanding -fno-builtin +endif
additional-dirs := $(objutil)/cbfstool $(objutil)/romcc $(objutil)/options
diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc index 9739555..dc7a7a0 100644 --- a/src/arch/x86/Makefile.inc +++ b/src/arch/x86/Makefile.inc @@ -208,7 +208,12 @@ else
$(obj)/mainboard/$(MAINBOARDDIR)/romstage.pre.inc: $(src)/mainboard/$(MAINBOARDDIR)/romstage.c $(OPTION_TABLE_H) $(obj)/build.h $(obj)/config.h @printf " CC romstage.inc\n" +ifeq ($(CONFIG_ULINUX),y) + $(CC) -MMD $(CFLAGS) -D__PRE_RAM__ -fomit-frame-pointer -I$(src) -I. -I$(obj) -c -S $< -o $@ +endif +ifeq ($(CONFIG_ULINUX),n) $(CC) -MMD $(CFLAGS) -D__PRE_RAM__ -I$(src) -I. -I$(obj) -c -S $< -o $@ +endif
$(obj)/mainboard/$(MAINBOARDDIR)/romstage.inc: $(obj)/mainboard/$(MAINBOARDDIR)/romstage.pre.inc @printf " POST romstage.inc\n"