osd-contiki/cpu/x86
Andre Guedes 6b433aede1 x86: Improve release binary size
This patch adds -ffunction-sections and -fdata-sections to the
'release' CFLAGS so each function and data is place into its
own section in the output file. It also adds --gc-section to
the 'release' LDFLAGS so the linker removes the sections which
are not referenced.

This patch also adds -ffunction-sections and -fdata-sections
options to CFLAGS from build_newlib.sh. This increases newlib
static libraries size, however, the Contiki image shrinks even
more since --gc-section removes "dead code" from newlib.

As a practical effect, all unused function and data (as well as
sections such as .eh_frame) are striped out from the final elf
binary. This shrinks our release binary drastically.

Finally, to prevent --gc-section from removing .multiboot section,
this patch adds KEEP(*(.multiboot)) to quarkX1000.ld.
2015-12-21 08:06:14 -02:00
..
drivers x86: Add Intel Quark X1000 PCI Interrupt Routing support 2015-12-21 08:06:14 -02:00
init x86: Revise SET_INTERRUPT_HANDLER to avoid using inline assembly feature that does not work with LLVM Clang 2015-12-21 08:06:14 -02:00
bootstrap_quarkX1000.S x86: Move bootstrap code and linker script to cpu/x86 2015-12-21 08:06:14 -02:00
helpers.h x86: Add PCI support 2015-12-21 08:06:14 -02:00
helpers.S x86: Add PCI support 2015-12-21 08:06:14 -02:00
Makefile.x86_common x86: Improve release binary size 2015-12-21 08:06:14 -02:00
Makefile.x86_quarkX1000 x86: Revise CFLAGS and LDFLAGS for LLVM Clang compatibility 2015-12-21 08:06:14 -02:00
quarkX1000.ld x86: Improve release binary size 2015-12-21 08:06:14 -02:00