Our Air Quality
f9ae521710
newlib: rebuild with the global stdio streams enabled.
...
This change means that there is only one set of global stdin, stdout, and stderr
FILE streams shared by all the threads. This reduces memory usage and avoids
having to close these streams before threads exit. These streams still have a
lock to synchronise access.
2018-02-28 23:44:27 +11:00
Our Air Quality
875aaabebe
Newlib: update to version 3.0.0
2018-02-17 01:11:54 +11:00
Our Air Quality
e9d9201527
Newlib: implement locks
...
* Dynamically allocate arc4random data. Saves about 1k off the bss.
2017-12-13 11:29:43 +11:00
Our Air Quality
6080bb6ef2
libc: update to upstream master.
2017-09-21 23:44:24 +10:00
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