[PATCH 3/3] Introduce _REENT_GLOBAL_STDIO_STREAMS

Sebastian Huber sebastian.huber@embedded-brains.de
Mon Jun 26 05:59:00 GMT 2017


On 23/06/17 23:53, Freddie Chopin wrote:

> On Fri, 2017-06-23 at 11:22 +0200, Sebastian Huber wrote:
>> Introduce a new Newlib configuration option
>> _REENT_GLOBAL_STDIO_STREAMS
>> to enable the use of global stdio FILE objects.  Use this option for
>> RTEMS.
> Coult this be turned into an option for ./configure script? This seems
> like a very useful change for any microcontroller target (like "arm-
> none-eabi-"), but if this option can be enabled only by modifications
> of the source code, then doing that for a generic case (no specific
> RTOS) probably won't be popular.

How safe is it to use configure generated options in header files? For 
example during libgcc build, the Newlib configure didn't run yet. For 
example:

[...]
make[2]: Entering directory 
'/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/libgcc'
# If this is the top-level multilib, build all the other
/build/git-build/b-gcc-git-sparc-rtems4.12/./gcc/xgcc 
-B/build/git-build/b-gcc-git-sparc-rtems4.12/./gcc/ -nostdinc 
-B/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/newlib/ 
-isystem 
/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/newlib/targ-include 
-isystem /home/EB/sebastian_h/archive/gcc-git/newlib/libc/include 
-B/opt/rtems-4.12/sparc-rtems4.12/bin/ 
-B/opt/rtems-4.12/sparc-rtems4.12/lib/ -isystem 
/opt/rtems-4.12/sparc-rtems4.12/include -isystem 
/opt/rtems-4.12/sparc-rtems4.12/sys-include    -g -O2 -O2 
-I/home/EB/sebastian_h/archive/gcc-git/libgcc/../newlib/libc/sys/rtems/include 
-g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing 
-Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes 
-Wold-style-definition  -isystem ./include   -g -DIN_LIBGCC2 
-fbuilding-libgcc -fno-stack-protector -Dinhibit_libc -I. -I. 
-I../.././gcc -I/home/EB/sebastian_h/archive/gcc-git/libgcc 
-I/home/EB/sebastian_h/archive/gcc-git/libgcc/. 
-I/home/EB/sebastian_h/archive/gcc-git/libgcc/../gcc 
-I/home/EB/sebastian_h/archive/gcc-git/libgcc/../include -DHAVE_CC_TLS  
-o _mulsi3_s.o -MT _mulsi3_s.o -MD -MP -MF _mulsi3_s.dep -DSHARED 
-DL_mulsi3 -xassembler-with-cpp -c 
/home/EB/sebastian_h/archive/gcc-git/libgcc/config/sparc/lb1spc.S
[....]
=== configuring in libc 
(/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/soft/newlib/libc)
configure: running /bin/sh 
/home/EB/sebastian_h/archive/gcc-git/newlib/libc/configure 
--disable-option-checking '--prefix=/opt/rtems-4.12' 
'--with-multisubdir=soft' '--with-multisrctop=' '--enable-multilib' 
'--with-cross-host=x86_64-pc-linux-gnu' '--verbose' '--with-gnu-as' 
'--with-gnu-ld' '--with-newlib' '--disable-libstdcxx-pch' 
'--disable-nls' '--disable-lto' '--disable-plugin' 
'--without-included-gettext' '--disable-win32-registry' 
'--enable-version-specific-runtime-libs' '--enable-threads' 
'--enable-newlib-iconv' 
'--enable-newlib-iconv-encodings=big5,cp775,cp850,cp852,cp855,cp866,euc_jp,euc_kr,euc_tw,iso_8859_1,iso_8859_10,iso_8859_11,iso_8859_13,iso_8859_14,iso_8859_15,iso_8859_2,iso_8859_3,iso_8859_4,iso_8859_5,iso_8859_6,iso_8859_7,iso_8859_8,iso_8859_9,iso_ir_111,koi8_r,koi8_ru,koi8_u,koi8_uni,ucs_2,ucs_2_internal,ucs_2be,ucs_2le,ucs_4,ucs_4_internal,ucs_4be,ucs_4le,us_ascii,utf_16,utf_16be,utf_16le,utf_8,win_1250,win_1251,win_1252,win_1253,win_1254,win_1255,win_1256,win_1257,win_1258' 
'--enable-newlib-io-c99-formats' '--enable-libgomp' 
'--enable-languages=c,c++' 
'--program-transform-name=s&^&sparc-rtems4.12-&' 
'--with-target-subdir=sparc-rtems4.12' '--build=x86_64-pc-linux-gnu' 
'--host=sparc-rtems4.12' '--target=sparc-rtems4.12' 
'build_alias=x86_64-pc-linux-gnu' 'host_alias=sparc-rtems4.12' 
'target_alias=sparc-rtems4.12' 
'CC=/build/git-build/b-gcc-git-sparc-rtems4.12/./gcc/xgcc 
-B/build/git-build/b-gcc-git-sparc-rtems4.12/./gcc/ -nostdinc 
-B/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/newlib/ 
-isystem 
/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/newlib/targ-include 
-isystem /home/EB/sebastian_h/archive/gcc-git/newlib/libc/include 
-B/opt/rtems-4.12/sparc-rtems4.12/bin/ 
-B/opt/rtems-4.12/sparc-rtems4.12/lib/ -isystem 
/opt/rtems-4.12/sparc-rtems4.12/include -isystem 
/opt/rtems-4.12/sparc-rtems4.12/sys-include   ' 'CFLAGS=-g -O2' 
'LDFLAGS=' 'CPPFLAGS=' 
'CC=/build/git-build/b-gcc-git-sparc-rtems4.12/./gcc/xgcc 
-B/build/git-build/b-gcc-git-sparc-rtems4.12/./gcc/ -nostdinc 
-B/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/soft/newlib/ 
-isystem 
/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/soft/newlib/targ-include 
-isystem /home/EB/sebastian_h/archive/gcc-git/newlib/libc/include 
-B/opt/rtems-4.12/sparc-rtems4.12/bin/ 
-B/opt/rtems-4.12/sparc-rtems4.12/lib/ -isystem 
/opt/rtems-4.12/sparc-rtems4.12/include -isystem 
/opt/rtems-4.12/sparc-rtems4.12/sys-include  -msoft-float' 
'CXX=/build/git-build/b-gcc-git-sparc-rtems4.12/./gcc/xg++ 
-B/build/git-build/b-gcc-git-sparc-rtems4.12/./gcc/ -nostdinc++ 
-funconfigured-libstdc++-v3 
-L/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/soft/libstdc++-v3/src 
-L/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/soft/libstdc++-v3/src/.libs 
-L/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/soft/libstdc++-v3/libsupc++/.libs 
-nostdinc 
-B/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/soft/newlib/ 
-isystem 
/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/soft/newlib/targ-include 
-isystem /home/EB/sebastian_h/archive/gcc-git/newlib/libc/include 
-B/opt/rtems-4.12/sparc-rtems4.12/bin/ 
-B/opt/rtems-4.12/sparc-rtems4.12/lib/ -isystem 
/opt/rtems-4.12/sparc-rtems4.12/include -isystem 
/opt/rtems-4.12/sparc-rtems4.12/sys-include  -msoft-float' 'F77= 
-msoft-float' 'GCJ= -msoft-float' 'GFORTRAN=sparc-rtems4.12-gfortran 
-nostdinc 
-B/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/soft/newlib/ 
-isystem 
/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/soft/newlib/targ-include 
-isystem /home/EB/sebastian_h/archive/gcc-git/newlib/libc/include 
-B/opt/rtems-4.12/sparc-rtems4.12/bin/ 
-B/opt/rtems-4.12/sparc-rtems4.12/lib/ -isystem 
/opt/rtems-4.12/sparc-rtems4.12/include -isystem 
/opt/rtems-4.12/sparc-rtems4.12/sys-include  -msoft-float' 
'GOC=sparc-rtems4.12-gccgo -nostdinc 
-B/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/soft/newlib/ 
-isystem 
/build/git-build/b-gcc-git-sparc-rtems4.12/sparc-rtems4.12/soft/newlib/targ-include 
-isystem /home/EB/sebastian_h/archive/gcc-git/newlib/libc/include 
-B/opt/rtems-4.12/sparc-rtems4.12/bin/ 
-B/opt/rtems-4.12/sparc-rtems4.12/lib/ -isystem 
/opt/rtems-4.12/sparc-rtems4.12/include -isystem 
/opt/rtems-4.12/sparc-rtems4.12/sys-include  -msoft-float' 
'LD_LIBRARY_PATH=/build/git-build/b-gcc-git-sparc-rtems4.12/./gmp/.libs:/build/git-build/b-gcc-git-sparc-rtems4.12/./prev-gmp/.libs:/build/git-build/b-gcc-git-sparc-rtems4.12/./mpfr/src/.libs:/build/git-build/b-gcc-git-sparc-rtems4.12/./prev-mpfr/src/.libs:/build/git-build/b-gcc-git-sparc-rtems4.12/./mpc/src/.libs:/build/git-build/b-gcc-git-sparc-rtems4.12/./prev-mpc/src/.libs:/build/git-build/b-gcc-git-sparc-rtems4.12/./isl/.libs:/build/git-build/b-gcc-git-sparc-rtems4.12/./prev-isl/.libs' 
--cache-file=.././config.cache 
--srcdir=/home/EB/sebastian_h/archive/gcc-git/newlib/libc

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the Newlib mailing list