aboutsummaryrefslogtreecommitdiffstats
path: root/src/arch/x86_64
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2011-02-22 19:36:24 +0000
committerMichael Brown <mcb30@ipxe.org>2011-02-22 21:02:00 +0000
commit623469de5d307ee6d762ad30988ffbfbc53741b6 (patch)
treec30f937ccd76d6b1f824a126afd331590dda7e32 /src/arch/x86_64
parentf3c72660a7993ca21e0af125f052a21ade54039a (diff)
downloadipxe-623469de5d307ee6d762ad30988ffbfbc53741b6.tar.gz
[build] Eliminate unused sections at link-time
Use -ffunction-sections, -fdata-sections, and --gc-sections to automatically prune out any unreferenced sections. This saves around 744 bytes (uncompressed) from the rtl8139.rom build. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch/x86_64')
-rw-r--r--src/arch/x86_64/scripts/linux.lds4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/arch/x86_64/scripts/linux.lds b/src/arch/x86_64/scripts/linux.lds
index 34eb3561b..3bcd7aa1b 100644
--- a/src/arch/x86_64/scripts/linux.lds
+++ b/src/arch/x86_64/scripts/linux.lds
@@ -51,7 +51,7 @@ SECTIONS {
_data = .;
*(.data)
*(.data.*)
- *(SORT(.tbl.*)) /* Various tables. See include/tables.h */
+ KEEP(*(SORT(.tbl.*)))
_edata = .;
}
@@ -77,6 +77,7 @@ SECTIONS {
.weak 0x0 : {
_weak = .;
*(.weak)
+ *(.weak.*)
_eweak = .;
}
_assert = ASSERT ( ( _weak == _eweak ), ".weak is non-zero length" );
@@ -97,5 +98,6 @@ SECTIONS {
*(.rel)
*(.rel.*)
*(.discard)
+ *(.discard.*)
}
}