osd-contiki/platform
Andre Guedes c9020d95e7 x86: Build release image
This patch adds support for building release images. The main difference
between release images and default images is that the former is optimized
for size while the latter is "optimized" for debugging. To build a release
image, the BUILD_RELEASE variable should be set to 1. For instance, the
following command build a release image from the hello-world application:
$ cd examples/hello-world && make TARGET=galileo BUILD_RELEASE=1

To optimize for size we use the '-Os' option from gcc. This option also
enables the strict aliasing optimization. This generates lots of warning
messages since we use the '-Wall' option and lots of code in core/net/
break the strict-aliasing rules. Some test have shown that the strict
aliasing optimization it not taking effect in the final binary. For that
reasons, this patch manually disables the optimization. Also, the release
image is stripped.

For the sake of comparison, below follows the output from 'wc' and 'size'
for both debugging (default) and release images.

Default image:
$  wc -c hello-world.galileo
71112 hello-world.galileo
$ size hello-world.galileo
   text    data     bss     dec     hex filename
  20379    1188   12808   34375    8647 hello-world.galileo

Release image:
$ wc -c hello-world.galileo
26320 hello-world.galileo
$ size hello-world.galileo
   text    data     bss     dec     hex filename
  18146    1156   12808   32110    7d6e hello-world.galileo
2015-12-21 08:06:14 -02:00
..
apple2enh Made 80 column display a cc65 application attribute. 2015-10-30 12:42:58 +01:00
atarixl Made 80 column display a cc65 application attribute. 2015-10-30 12:42:58 +01:00
avr-atmega128rfa1 AVR platforms: use 32 bit clock_time_t. 2015-11-28 10:18:22 +01:00
avr-raven AVR platforms: use 32 bit clock_time_t. 2015-11-28 10:18:22 +01:00
avr-ravenlcd Merge pull request #756 from sieben/dos2unix 2015-10-18 20:26:07 +02:00
avr-ravenusb Merge pull request #1344 from tsparber/fix-doxygen 2015-11-30 22:07:15 +01:00
avr-rcb AVR platforms: use 32 bit clock_time_t. 2015-11-28 10:18:22 +01:00
avr-zigbit AVR platforms: use 32 bit clock_time_t. 2015-11-28 10:18:22 +01:00
c64 Added 80 column IRC client / web browser for the C64. 2015-10-30 16:48:00 +01:00
c128 Added 80 column IRC client / web browser for the C64. 2015-10-30 16:48:00 +01:00
cc2530dk Use ENERGEST_SWITCH to switch between different power modes to improve energest accuracy. 2015-09-04 11:46:00 +02:00
cc2538dk Added PWM driver for the Zolertia Zoul module and CC2538 platforms 2015-11-25 23:56:29 +01:00
cooja x86: Only add elfloader-x86.c to the platforms using it 2015-12-21 08:06:14 -02:00
cooja-ip64 Merge pull request #1344 from tsparber/fix-doxygen 2015-11-30 22:07:15 +01:00
econotag Added ECC functions on elliptic curve secp256r1 2015-09-24 14:11:20 +02:00
ev-aducrf101mkxz Remove unused UIP_CONF_ND6_ defines in platforms 2015-03-24 13:09:29 +01:00
eval-adf7xxxmb4z eval-adf7xxxmb4z: declare node_id only when needed 2015-10-20 10:11:13 +02:00
exp5438 exp5438: do not use char as array index 2015-10-20 10:11:04 +02:00
galileo x86: Build release image 2015-12-21 08:06:14 -02:00
jn516x jn516x: remove temporary adjustements for compilation in a 802.15.4e-free Contiki 2015-12-07 11:51:50 +01:00
mbxxx Merge pull request #1293 from simonduq/pr/fix-warnings 2015-11-10 08:49:11 +01:00
micaz AVR platforms: use 32 bit clock_time_t. 2015-11-28 10:18:22 +01:00
minimal-net Removed CC_FASTCALL. 2015-11-01 18:10:17 +01:00
native Merge pull request #1293 from simonduq/pr/fix-warnings 2015-11-10 08:49:11 +01:00
seedeye Use ENERGEST_SWITCH to switch between different power modes to improve energest accuracy. 2015-09-04 11:46:00 +02:00
sensinode Use ENERGEST_SWITCH to switch between different power modes to improve energest accuracy. 2015-09-04 11:46:00 +02:00
sky Adaptive time synchronization for TSCH 2015-12-07 11:51:41 +01:00
srf06-cc26xx Merge pull request #1344 from tsparber/fix-doxygen 2015-11-30 22:07:15 +01:00
stm32nucleo-spirit1 Added contacts for stm32nucleo-spirit1 platform. 2015-11-25 12:56:42 +01:00
stm32test Network layer configuration: replace UIP_CONF_* with NETSTACK_CONF_WITH_* 2014-12-01 21:02:57 +01:00
win32 Removed CC_FASTCALL. 2015-11-01 18:10:17 +01:00
wismote Merge pull request #1344 from tsparber/fix-doxygen 2015-11-30 22:07:15 +01:00
z1 Adaptive time synchronization for TSCH 2015-12-07 11:51:41 +01:00
zoul fixed make login for Zoul on MAC 2015-12-19 10:28:30 +01:00