summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick McDermott <patrick.mcdermott@libiquity.com>2019-07-30 04:32:21 (EDT)
committer Patrick McDermott <patrick.mcdermott@libiquity.com>2019-07-30 05:00:42 (EDT)
commit7acc98106e713094cc3ac9f39310f5244a48ce30 (patch)
treefa5589d8244d9c733ebb49a3783503a2f9442c01
parent43d8e895201cc57c2e06ce0417515b6f9fa0afd2 (diff)
build: Add more size optimization flags
Before: $ wc -c wolfssl-util 14680 wolfssl-util After: $ wc -c wolfssl-util 10120 wolfssl-util And a hard-to-read diff of sections: wolfssl-util: file format elf64-x86-64 Sections: Idx Name Size VMA LMA File off Algn 0 .interp 0000001c 0000000000000238 0000000000000238 00000238 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 1 .note.ABI-tag 00000020 0000000000000254 0000000000000254 00000254 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 2 .note.gnu.build-id 00000024 0000000000000274 0000000000000274 00000274 2**2 + 2 .hash 00000154 0000000000000278 0000000000000278 00000278 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA - 3 .gnu.hash 0000003c 0000000000000298 0000000000000298 00000298 2**3 + 3 .dynsym 00000450 00000000000003d0 00000000000003d0 000003d0 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA - 4 .dynsym 00000450 00000000000002d8 00000000000002d8 000002d8 2**3 + 4 .dynstr 000002ab 0000000000000820 0000000000000820 00000820 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA - 5 .dynstr 000002ab 0000000000000728 0000000000000728 00000728 2**0 + 5 .gnu.version 0000005c 0000000000000acc 0000000000000acc 00000acc 2**1 CONTENTS, ALLOC, LOAD, READONLY, DATA - 6 .gnu.version 0000005c 00000000000009d4 00000000000009d4 000009d4 2**1 + 6 .gnu.version_r 00000020 0000000000000b28 0000000000000b28 00000b28 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA - 7 .gnu.version_r 00000020 0000000000000a30 0000000000000a30 00000a30 2**3 + 7 .rela.dyn 00000408 0000000000000b48 0000000000000b48 00000b48 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA - 8 .rela.dyn 00000108 0000000000000a50 0000000000000a50 00000a50 2**3 - CONTENTS, ALLOC, LOAD, READONLY, DATA - 9 .rela.plt 00000318 0000000000000b58 0000000000000b58 00000b58 2**3 - CONTENTS, ALLOC, LOAD, READONLY, DATA - 10 .init 00000017 0000000000000e70 0000000000000e70 00000e70 2**2 + 8 .init 00000017 0000000000000f50 0000000000000f50 00000f50 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 11 .plt 00000220 0000000000000e90 0000000000000e90 00000e90 2**4 + 9 .plt 00000010 0000000000000f70 0000000000000f70 00000f70 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE - 12 .plt.got 00000008 00000000000010b0 00000000000010b0 000010b0 2**3 + 10 .plt.got 00000110 0000000000000f80 0000000000000f80 00000f80 2**3 CONTENTS, ALLOC, LOAD, READONLY, CODE - 13 .text 00000742 00000000000010c0 00000000000010c0 000010c0 2**4 + 11 .text 00000742 0000000000001090 0000000000001090 00001090 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE - 14 .fini 00000009 0000000000001804 0000000000001804 00001804 2**2 + 12 .fini 00000009 00000000000017d4 00000000000017d4 000017d4 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE - 15 .rodata 0000018e 0000000000001810 0000000000001810 00001810 2**3 + 13 .rodata 0000017e 00000000000017e0 00000000000017e0 000017e0 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA - 16 .eh_frame_hdr 00000044 00000000000019a0 00000000000019a0 000019a0 2**2 + 14 .eh_frame_hdr 00000034 0000000000001960 0000000000001960 00001960 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 17 .eh_frame 00000184 00000000000019e8 00000000000019e8 000019e8 2**3 + 15 .eh_frame 000000ec 0000000000001998 0000000000001998 00001998 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA - 18 .init_array 00000008 0000000000201dc8 0000000000201dc8 00001dc8 2**3 - CONTENTS, ALLOC, LOAD, DATA - 19 .fini_array 00000008 0000000000201dd0 0000000000201dd0 00001dd0 2**3 + 16 .init_array 00000008 0000000000201cc8 0000000000201cc8 00001cc8 2**3 CONTENTS, ALLOC, LOAD, DATA - 20 .jcr 00000008 0000000000201dd8 0000000000201dd8 00001dd8 2**3 + 17 .fini_array 00000008 0000000000201cd0 0000000000201cd0 00001cd0 2**3 CONTENTS, ALLOC, LOAD, DATA - 21 .dynamic 000001f0 0000000000201de0 0000000000201de0 00001de0 2**3 + 18 .jcr 00000008 0000000000201cd8 0000000000201cd8 00001cd8 2**3 CONTENTS, ALLOC, LOAD, DATA - 22 .got 00000030 0000000000201fd0 0000000000201fd0 00001fd0 2**3 + 19 .dynamic 000001d0 0000000000201ce0 0000000000201ce0 00001ce0 2**3 CONTENTS, ALLOC, LOAD, DATA - 23 .got.plt 00000120 0000000000202000 0000000000202000 00002000 2**3 + 20 .got 00000150 0000000000201eb0 0000000000201eb0 00001eb0 2**3 CONTENTS, ALLOC, LOAD, DATA - 24 .data 00000018 0000000000202120 0000000000202120 00002120 2**3 + 21 .data 00000008 0000000000202000 0000000000202000 00002000 2**3 CONTENTS, ALLOC, LOAD, DATA - 25 .bss 00000010 0000000000202140 0000000000202140 00002138 2**5 + 22 .bss 00000010 0000000000202020 0000000000202020 00002008 2**5 ALLOC - 26 .comment 00000026 0000000000000000 0000000000000000 00002138 2**0 + 23 .comment 00000026 0000000000000000 0000000000000000 00002008 2**0 CONTENTS, READONLY
-rw-r--r--configure.ac6
1 files changed, 5 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 7d32979..9076a6e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -88,7 +88,11 @@ fi
AX_APPEND_FLAG([-DTFM_TIMING_RESISTANT])
AX_APPEND_FLAG([-DECC_TIMING_RESISTANT])
-AX_CHECK_COMPILE_FLAG([-Os], [AX_APPEND_FLAG([-Os])])
+for flag in -Os -s -fno-unwind-tables -fno-asynchronous-unwind-tables \
+ -ffunction-sections -fdata-sections -Wl,--gc-sections \
+ -Wl,-z,now -Wl,--hash-style=sysv -Wl,--build-id=none; do
+ AX_CHECK_COMPILE_FLAG([${flag}], [AX_APPEND_FLAG([${flag}])])
+done
PKG_PROG_PKG_CONFIG()
PKG_CHECK_MODULES([WOLFSSL], [wolfssl])