x86: garbage collect SMM programs
The non-module SMM programs were not being garbage collected during linking. Do this so that one doesn't have to add dependencies for unused functions in SMM. TEST=Interrogated readelf -e smm.elf on both builds as well as diffed the symbol table. Runtime testing was not done. Change-Id: I31991496d92191e540df6340c587eec09c7022b3 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/10219 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
parent
e645bcae7c
commit
58d5e21851
|
@ -82,7 +82,7 @@ endif
|
||||||
else # CONFIG_SMM_MODULES
|
else # CONFIG_SMM_MODULES
|
||||||
|
|
||||||
$(obj)/cpu/x86/smm/smm_wrap: $(obj)/cpu/x86/smm/smm.o $(src)/cpu/x86/smm/$(SMM_LDSCRIPT)
|
$(obj)/cpu/x86/smm/smm_wrap: $(obj)/cpu/x86/smm/smm.o $(src)/cpu/x86/smm/$(SMM_LDSCRIPT)
|
||||||
$(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
|
$(LD_smm) $(SMM_LDFLAGS) -nostdlib -nostartfiles --gc-sections -static -o $(obj)/cpu/x86/smm/smm.elf -T $(src)/cpu/x86/smm/$(SMM_LDSCRIPT) $(obj)/cpu/x86/smm/smm.o
|
||||||
$(NM_smm) -n $(obj)/cpu/x86/smm/smm.elf | sort > $(obj)/cpu/x86/smm/smm.map
|
$(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
|
$(OBJCOPY_smm) -O binary $(obj)/cpu/x86/smm/smm.elf $(obj)/cpu/x86/smm/smm
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ SECTIONS
|
||||||
*/
|
*/
|
||||||
. = 0xa8000 - (( CPUS - 1) * 0x400);
|
. = 0xa8000 - (( CPUS - 1) * 0x400);
|
||||||
.jumptable : {
|
.jumptable : {
|
||||||
*(.jumptable)
|
KEEP(*(.jumptable));
|
||||||
}
|
}
|
||||||
|
|
||||||
/DISCARD/ : {
|
/DISCARD/ : {
|
||||||
|
|
|
@ -19,7 +19,7 @@ SECTIONS
|
||||||
*/
|
*/
|
||||||
. = 0x8000 - (( CPUS - 1) * 0x400);
|
. = 0x8000 - (( CPUS - 1) * 0x400);
|
||||||
.jumptable : {
|
.jumptable : {
|
||||||
*(.jumptable)
|
KEEP(*(.jumptable));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Data used in early SMM TSEG handler. */
|
/* Data used in early SMM TSEG handler. */
|
||||||
|
|
Loading…
Reference in New Issue