[coreboot-gerrit] New patch to review for coreboot: 8bc2f8b cpu/x86/smm/Makefile.inc: Correct SMM linkage under clang builds

Edward O'Callaghan (eocallaghan@alterapraxis.com) gerrit at coreboot.org
Sat Aug 2 07:09:51 CEST 2014


Edward O'Callaghan (eocallaghan at alterapraxis.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6462

-gerrit

commit 8bc2f8b54de98a735596e875f01192c896027e1b
Author: Edward O'Callaghan <eocallaghan at alterapraxis.com>
Date:   Sat Aug 2 14:51:30 2014 +1000

    cpu/x86/smm/Makefile.inc: Correct SMM linkage under clang builds
    
    Ensure that the SMM build stage links properly using the compiler-rt
    runtime under a Clang build.
    
    Change-Id: Iead28c46d63f5bbb27757b7dc66fe06b4813d03c
    Signed-off-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>
---
 src/cpu/x86/smm/Makefile.inc | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/cpu/x86/smm/Makefile.inc b/src/cpu/x86/smm/Makefile.inc
index ff4023b..ef6b80e 100644
--- a/src/cpu/x86/smm/Makefile.inc
+++ b/src/cpu/x86/smm/Makefile.inc
@@ -83,11 +83,20 @@ endif
 
 smm-y += smihandler.c
 
+ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y)
+$(obj)/cpu/x86/smm/smm.o: $$(smm-objs) $(LIBCLANG_RT_FILE_NAME_smm)
+	$(LD_smm) -nostdlib -r -o $@ --start-group $(smm-objs) $(LIBCLANG_RT_FILE_NAME_smm) --end-group
+else
 $(obj)/cpu/x86/smm/smm.o: $$(smm-objs) $(LIBGCC_FILE_NAME_smm)
 	$(CC_smm) $(CFLAGS_smm) -nostdlib -r -o $@ -Wl,--wrap,__divdi3 -Wl,--wrap,__udivdi3 -Wl,--wrap,__moddi3 -Wl,--wrap,__umoddi3 -Wl,--start-group $(smm-objs) $(LIBGCC_FILE_NAME_smm) -Wl,--end-group
+endif
 
 $(obj)/cpu/x86/smm/smm_wrap: $(obj)/cpu/x86/smm/smm.o $(src)/cpu/x86/smm/$(SMM_LDSCRIPT) $(obj)/ldoptions
+ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y)
+	$(LD_smm) $(SMM_LDFLAGS) -nostdlib -nostartfiles -static -o $(obj)/cpu/x86/smm/smm.elf -T $(src)/cpu/x86/smm/$(SMM_LDSCRIPT) $(obj)/cpu/x86/smm/smm.o
+else
 	$(CC_smm) $(CFLAGS_smm) $(SMM_LDFLAGS) -nostdlib -nostartfiles -static -o $(obj)/cpu/x86/smm/smm.elf -T $(src)/cpu/x86/smm/$(SMM_LDSCRIPT) $(obj)/cpu/x86/smm/smm.o
+endif
 	$(NM_smm) -n $(obj)/cpu/x86/smm/smm.elf | sort > $(obj)/cpu/x86/smm/smm.map
 	$(OBJCOPY_smm) -O binary $(obj)/cpu/x86/smm/smm.elf $(obj)/cpu/x86/smm/smm
 



More information about the coreboot-gerrit mailing list