ab4b955f17
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> |
||
---|---|---|
apps | ||
core | ||
cpu | ||
doc | ||
examples | ||
platform | ||
regression-tests | ||
tools | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
LICENSE | ||
Makefile.include | ||
README-BUILDING.md | ||
README-EXAMPLES.md | ||
README.md |
The Contiki Operating System
Contiki is an open source operating system that runs on tiny low-power microcontrollers and makes it possible to develop applications that make efficient use of the hardware while providing standardized low-power wireless communication for a range of hardware platforms.
Contiki is used in numerous commercial and non-commercial systems, such as city sound monitoring, street lights, networked electrical power meters, industrial monitoring, radiation monitoring, construction site monitoring, alarm systems, remote house monitoring, and so on.
For more information, see the Contiki website: