@@ -72,6 +72,7 @@ install()
72
72
echo " -------- Copying GCC libs"
73
73
cp ${installnative} /lib/gcc/xtensa-lx106-elf/* /libgcc.a ${arduino} /tools/sdk/lib/.
74
74
cp ${installnative} /xtensa-lx106-elf/lib/libstdc++.a ${arduino} /tools/sdk/lib/.
75
+ cp ${installnative} /xtensa-lx106-elf/lib/libstdc++-nox.a ${arduino} /tools/sdk/lib/.
75
76
echo " -------- Copying toolchain directory"
76
77
rm -rf ${arduino} /tools/sdk/xtensa-lx106-elf
77
78
cp -a ${installnative} /xtensa-lx106-elf ${arduino} /tools/sdk/xtensa-lx106-elf
@@ -265,12 +266,11 @@ if [ ! -r arena/binutils/jobdone ]; then
265
266
mkdir -p arena/binutils
266
267
(cd arena/binutils; ../../dl/binutils-gdb-xtensa/configure ${configure} ) & > $log .01.binutils.conf.log
267
268
(cd arena/binutils; make ${make} ) & > $log .02.binutils.make.log
269
+ (cd arena/binutils; make install) & > $log .03.binutils.install.log
270
+ # add/fix link cc->gcc
271
+ (cd ${install} /bin; ln -sf xtensa-lx106-elf-gcc${EXE} xtensa-lx106-elf-cc${EXE} )
268
272
touch arena/binutils/jobdone
269
273
fi
270
- (cd arena/binutils; make install) & > $log .03.binutils.install.log
271
-
272
- # add/fix link cc->gcc
273
- (cd ${install} /bin; ln -sf xtensa-lx106-elf-gcc${EXE} xtensa-lx106-elf-cc${EXE} )
274
274
275
275
if [ ! -r arena/gcc/jobdone-stage1 ]; then
276
276
echo " -------- gcc-stage1"
@@ -288,28 +288,38 @@ if [ ! -r arena/gcc/jobdone-newlib ]; then
288
288
mkdir -p arena/newlib
289
289
(cd arena/newlib; ../../dl/newlib-xtensa/configure ${configurenewlib} ) & > $log .06.newlib.conf.log
290
290
(cd arena/newlib; CROSS_CFLAGS=" -DSIGNAL_PROVIDED -DABORT_PROVIDED -DMALLOC_PROVIDED" make ${make} ) & > $log .07.newlib.make.log
291
+ (cd arena/newlib; make install) & > $log .08.newlib.install.log
291
292
touch arena/gcc/jobdone-newlib
292
293
fi
293
- (cd arena/newlib; make install) & > $log .08.newlib.install.log
294
294
295
295
296
296
if [ ! -r arena/gcc/jobdone-stage2 ]; then
297
297
echo " -------- gcc-stage2"
298
298
# stage 2 (build libstdc++)
299
299
(cd arena/gcc; make ${make} ) & > $log .09.gcc.stage2.log
300
+ (cd arena/gcc; make install) & > $log .10.gcc.install.log
300
301
touch arena/gcc/jobdone-stage2
301
302
fi
302
- (cd arena/gcc; make install) & > $log .10.gcc.install.log
303
+
304
+ if [ ! -r arena/gcc/jobdone-nox ]; then
305
+ echo " -------- gcc-stage3 - noexceptions"
306
+ # We copy existing stdc, adjust the makefile, and build a single .a to save much time
307
+ rm -rf arena/gcc/xtensa-lx106-elf/libstdc++-v3-nox
308
+ cp -a arena/gcc/xtensa-lx106-elf/libstdc++-v3 arena/gcc/xtensa-lx106-elf/libstdc++-v3-nox
309
+ (cd arena/gcc/xtensa-lx106-elf/libstdc++-v3-nox; make clean; find . -name Makefile -exec sed -i ' s/mlongcalls/mlongcalls -fno-exceptions/' \{\} \; ; make ${make} ; ) >& $log .10a.gcc.nox.log
310
+ (cp arena/gcc/xtensa-lx106-elf/libstdc++-v3-nox/src/.libs/libstdc++.a xtensa-lx106-elf${EXT} /xtensa-lx106-elf/lib/libstdc++-nox.a) >& $log .10a.gcc.nox.log
311
+ touch arena/gcc/jobdone-nox
312
+ fi
303
313
304
314
if [ ! -r arena/hal/jobdone ]; then
305
315
echo " -------- HAL"
306
316
mkdir -p arena/hal
307
317
(cd dl/lx106-hal; autoreconf -i) & > $log .11.hal.boostrap.log
308
318
(cd arena/hal; ../../dl/lx106-hal/configure --host=xtensa-lx106-elf $( echo ${configure} | sed ' s/--host=[a-zA-Z0-9_-]*//' ) ) & > $log .12.hal.conf.log
309
319
(cd arena/hal; make ${make} ) & > $log .14.hal.make.log
320
+ (cd arena/hal; make install) & > $log .15.hal.install.log
310
321
touch arena/hal/jobdone
311
322
fi
312
- (cd arena/hal; make install) & > $log .15.hal.install.log
313
323
314
324
echo " -------- Stripping binaries"
315
325
(${HOST} -strip ${install} /bin/* ${install} /libexec/gcc/xtensa-lx106-elf/* /c* ${install} /libexec/gcc/xtensa-lx106-elf/* /lto1 || true) >& $log .16.strip.log
0 commit comments