contiki/cpu/cc2538
Benoît Thébaudeau ab4b955f17 cc2538: Sort link input sections by alignment to optimize size
Normally, the linker does not sort files and sections matched by wildcards, so
they are placed in the order in which they are seen during link. If numerous
objects with different alignments are mixed, or if objects with unusually large
alignments are present, this very likely leads to a lot of space being wasted
because of accumulated alignment gaps.

This commit forces input sections to be sorted by alignment (unless this is
overridden by the linker script), which decreases the number and the size of
alignment gaps, thus saving space.

For a typical Contiki project, this change saves nearly 1 kiB, mainly in .bss.

Note that this behavior is only enabled if the SMALL make variable is set to 1,
because this makes more sense for a size optimization.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-12-19 21:45:27 +01:00
..
dev cc2538: lpm: Fix RTIMER_NOW() upon wake-up 2013-12-05 20:23:29 +01:00
usb cc2538: usb: Make the GPIO driving the pull-up optional 2013-11-25 15:15:35 +01:00
cc2538.lds cc2538: Set the type of the .nrdata output section to NOLOAD 2013-12-13 17:45:57 +01:00
clock.c New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
cpu.c New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
cpu.h New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
dbg.c New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
dbg.h New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
debug-uart.h New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
ieee-addr.c New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
ieee-addr.h Change the InfoPage Location of the IEEE address 2013-04-17 15:44:01 +01:00
lpm.c cc2538: lpm: Fix RTIMER_NOW() upon wake-up 2013-12-05 20:23:29 +01:00
lpm.h cc2538: lpm: Fix RTIMER_NOW() upon wake-up 2013-12-05 20:23:29 +01:00
Makefile.cc2538 cc2538: Sort link input sections by alignment to optimize size 2013-12-19 21:45:27 +01:00
mtarch.h A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
reg.h New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
rtimer-arch.c cc2538: lpm: Fix RTIMER_NOW() upon wake-up 2013-12-05 20:23:29 +01:00
rtimer-arch.h New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
slip-arch.c New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
spi-arch.h cc2538: spi: Add enable and disable functions 2013-11-20 14:20:50 +01:00