Commit graph

9 commits

Author SHA1 Message Date
Our Air Quality
af4ac44cb5 libc: update to a recent newlib version. 2017-08-30 13:51:32 +10:00
Our Air Quality
9e302c59ed Remove code from libgcc and libc that is provided by the ROM.
This saves about 2.5k of iram.
2017-07-16 23:09:33 +10:00
Angus Gratton
0caab973a5 Recompile libc with malloc locking enabled
newlib-xtensa revision cbe80794ed0083

This fixes a crash caused by heap operations occuring inside
ISRs. Particularly noticeable when sending a lot of network
traffic. Probably fixes #119, maybe other crashing bugs.

Configure/compile steps same as previous:

../configure --with-newlib --enable-multilib
--disable-newlib-io-c99-formats --enable-newlib-supplied-syscalls
--enable-target-optspace
--program-transform-name="s&^&xtensa-lx106-elf-&"
--disable-option-checking --with-target-subdir=xtensa-lx106-elf
--target=xtensa-lx106-elf
--prefix=/home/gus/dev/esp/rtos/open-rtos/libc/
--enable-newlib-nano-malloc --enable-newlib-nano-formatted-io --enable-newlib-reent-small --prefix=path_to/esp-open-rtos/libc

CROSS_CFLAGS="-DSIGNAL_PROVIDED -DABORT_PROVIDED" make
make install
2016-05-15 22:30:01 +10:00
Angus Gratton
19b0a19ad6 libc: Recompile newlib to enable float & long double i/o in printf/scanf
Enabled by default, set PRINTF_SCANF_FLOAT_SUPPORT=0 in local.mk/Makefile to disable

newlib-xtensa revision ae10be3

Configure/compile steps:

../configure --with-newlib --enable-multilib
--disable-newlib-io-c99-formats --enable-newlib-supplied-syscalls --enable-target-optspace --program-transform-name="s&^&xtensa-lx106-elf-&" --disable-option-checking --with-target-subdir=xtensa-lx106-elf
--target=xtensa-lx106-elf --prefix=/home/gus/dev/esp/rtos/open-rtos/libc/ --enable-newlib-nano-malloc --enable-newlib-nano-formatted-io --enable-newlib-reent-small --prefix=path_to/esp-open-rtos/libc

CROSS_CFLAGS="-DSIGNAL_PROVIDED -DABORT_PROVIDED" make
make install

Closes #95
2016-02-24 09:10:52 +11:00
Angus Gratton
f69791729e libc: newlib revision daf48a0d3 with various space-saving measures:
* --enable-newlib-reent-small
* Compiled with -DHAVE_ABORT -DHAVE_SIGNAL
* Default fd buffer size shrunk to 128 bytes (ref #52)

Full build options:
../configure --with-newlib --enable-multilib --disable-newlib-io-c99-formats --disable-newlib-io-long-long --disable-newlib-io-float --disable-newlib-io-long-double --enable-newlib-supplied-syscalls --enable-target-optspace --program-transform-name="s&^&xtensa-lx106-elf-&" --disable-option-checking --with-target-subdir=xtensa-lx106-elf --target=xtensa-lx106-elf --prefix=/home/gus/dev/esp/rtos/open-rtos/libc/ --enable-newlib-nano-malloc --enable-newlib-nano-formatted-io --enable-newlib-reent-small
CROSS_CFLAGS="-DSIGNAL_PROVIDED -DABORT_PROVIDED" make
2015-10-06 17:49:00 +11:00
Angus Gratton
6439aba2d9 libc: More int32_t fixes to not expect 'long'
libc built from projectgus/newlib-xtensa@45ed90066
2015-09-09 16:22:57 +10:00
Angus Gratton
e6b862e0f7 libc: Fix _default_types.h so uint_least8/16/32_t properly recognised by newlib
Newlib built from projectgus/newlib-xtensa 514f105b0
(thanks @Frans-Willem for the fix)
2015-09-09 08:25:36 +10:00
Angus Gratton
7ed064a750 libc: Redefine int32_t/uint32_t as 'int' not 'long'
libc built from projectgus/newlib-xtensa@0077776963

Closes #42
2015-09-05 13:37:00 +10:00
Angus Gratton
689cf874b2 Provide our own newlib libc
Newlib 2.2.0 w/ nan ofeatures, xtensa patches, locking
implementation.

Built from https://github.com/projectgus/newlib-xtensa
branch xtensa-2_2_0-lock
commit daa6ae40cdc8099f54c3e68a586fc1b906169c5a

For more details, see:
https://github.com/SuperHouse/esp-open-rtos/wiki/libc-configuration

Closes #1
2015-07-15 15:17:59 +10:00