@@ -671,6 +671,7 @@ endif
671671ifeq ($(filter $(TARGET ) ,x86_fsp_qemu kontron_vx3060_s2) ,$(TARGET ) )
672672 FSP =1
673673 CFLAGS+=-DWOLFBOOT_FSP =1
674+ CFLAGS+ =-ffunction-sections -fdata-sections
674675 ifeq ($(TARGET), kontron_vx3060_s2)
675676 FSP_TGL =1
676677 CFLAGS+=-DWOLFBOOT_TGL =1
@@ -697,11 +698,11 @@ ifeq ("${FSP}", "1")
697698 LSCRIPT_IN = ../hal/$(TARGET ) _stage1.ld
698699 endif
699700 # using ../wolfboot.map as stage1 is built from stage1 sub-directory
700- LDFLAGS = --defsym main=` grep main ../wolfboot.map | awk ' {print $$1}' ` \
701- --defsym wb_start_bss=` grep _start_bss ../wolfboot.map | awk ' {print $$1}' ` \
702- --defsym wb_end_bss=` grep _end_bss ../wolfboot.map | awk ' {print $$1}' ` \
703- --defsym _stage2_params=` grep _stage2_params ../wolfboot.map | awk ' {print $$1}' `
704- LDFLAGS += --no- gc-sections --print-gc-sections -T $(LSCRIPT ) -m elf_i386 -Map=loader_stage1.map
701+ LDFLAGS = --defsym main=0x ` nm ../wolfboot.elf | grep -w main | awk ' {print $$1}' ` \
702+ --defsym wb_start_bss=0x ` nm ../wolfboot.elf | grep -w _start_bss | awk ' {print $$1}' ` \
703+ --defsym wb_end_bss=0x ` nm ../wolfboot.elf | grep -w _end_bss | awk ' {print $$1}' ` \
704+ --defsym _stage2_params=0x ` nm ../wolfboot.elf | grep -w _stage2_params | awk ' {print $$1}' `
705+ LDFLAGS += --gc-sections --entry=reset_vector -T $(LSCRIPT ) -m elf_i386 -Map=loader_stage1.map
705706 OBJS += src/boot_x86_fsp.o
706707 OBJS += src/boot_x86_fsp_start.o
707708 OBJS += src/fsp_m.o
@@ -713,6 +714,7 @@ ifeq ("${FSP}", "1")
713714 OBJS += src/pci.o
714715 OBJS += hal/x86_uart.o
715716 OBJS += src/string.o
717+ OBJS += src/stage2_params.o
716718 ifeq ($(filter-out $(STAGE1_AUTH),1),)
717719 OBJS += src/libwolfboot.o
718720 OBJS += src/image.o
@@ -729,7 +731,6 @@ ifeq ("${FSP}", "1")
729731 CFLAGS += -fno-stack-protector -m32 -fno-PIC -fno-pie -mno-mmx -mno-sse -DDEBUG_UART
730732 ifeq ($(FSP_TGL), 1)
731733 OBJS+ =src/x86/tgl_fsp.o
732- OBJS+ =src/fsp_tgl_s_upd.o
733734 OBJS+ =src/ucode0.o
734735 CFLAGS += -DUCODE0_ADDRESS=$(UCODE0_BASE )
735736 endif
@@ -743,7 +744,7 @@ ifeq ("${FSP}", "1")
743744 else
744745 LSCRIPT_IN = hal/$(TARGET ) .ld.in
745746 endif
746- LDFLAGS = --no- gc-sections --print-gc-sections -T $(LSCRIPT ) -Map=wolfboot.map
747+ LDFLAGS = -- gc-sections --entry=main -T $(LSCRIPT ) -Map=wolfboot.map
747748 CFLAGS += -fno-stack-protector -fno-PIC -fno-pie -mno-mmx -mno-sse -Os -DDEBUG_UART
748749 OBJS += hal/x86_fsp_tgl.o
749750 OBJS += hal/x86_uart.o
@@ -755,6 +756,8 @@ ifeq ("${FSP}", "1")
755756 OBJS += src/x86/ata.o
756757 OBJS += src/x86/gpt.o
757758 OBJS += src/x86/mptable.o
759+ OBJS += src/stage2_params.o
760+ OBJS += src/x86/exceptions.o
758761 UPDATE_OBJS := src/update_disk.o
759762 ifeq ($(64BIT),1)
760763 LDFLAGS += -m elf_x86_64 --oformat elf64-x86-64
0 commit comments