RIOT-OS/RIOT — pull request #723 by Kijewski (2014-02-17 06:32:59+00:00)
Title: Split text and data sections if possible

This patch adds `-ffunction-sections` and `-fdata-sections` to the
`CFLAGS` if the compiler understands these flags (at least clang and GCC
do).

These flags cause every function and every static variable to go into
a section of its own in the object file. The static linker is then able
to drop functions/variables if they are not used.

The results are quite impressive ("default", BOARD=native, CFLAGS=-Os):
```
With patch:
text data bss dec hex filename
36686 552 108520 145758 2395e …/default.elf

Without patch:
text data bss dec hex filename
43944 580 109544 154068 259d4 …/default.elf
```