This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Arm multilibs broken revisited


Dave Murphy wrote:
Hi

I'm now experiencing the broken multilibs problem on a mingw host as mentioned in this post http://www.cygwin.com/ml/newlib/2007/msg00487.html and this one http://sourceware.org/ml/newlib/2006/msg00502.html


After a bit more poking around I found that the culprit turns out to be make 3.81 - I reverted my msys make to 3.79.1 and everything worked as it should.


There are some fragments of the build process at the end of this mail. You can see the working build immediately creates the targ-include directory when it enters the newlib build folder but when it fails it seems to invoke make twice more before descending into the thumb directory where the problem occurs.

I've just tried using make -j1 to see if the problem was due to parallel commands but it still fails.

These tests were done with clean, unpatched newlib 1.15.0 sources.

Any suggestions to help find the problem will be gratefully received.

Dave

First the working make 3.79.1 build

make[3]: Entering directory `/d/projects/devkitPro/test/build/newlib/clean/arm-eabi/newlib'
rm -rf targ-include stmp-targ-include
mkdir targ-include targ-include/sys targ-include/machine targ-include/bits
cp newlib.h targ-include/newlib.h
for i in ../../../../../newlib-1.15.0/newlib/libc/machine/arm/machine/*.h; do \
if [ -f $i ]; then \
cp $i targ-include/machine/`basename $i`; \
else true; fi ; \
done



and the non-working make 3.81 build process


make[2]: Entering directory `/home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib'
make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "CCASFLAGS=" "CFLAGS_FOR_BUILD=-DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME" "CFLAGS_FOR_TARGET=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "INSTALL=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "LIBCFLAGS_FOR_TARGET=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS=" "exec_prefix=/usr/local/devkitPro/devkitARM" "infodir=/usr/local/devkitPro/devkitARM/info" "libdir=/usr/local/devkitPro/devkitARM/lib" "prefix=/usr/local/devkitPro/devkitARM" "tooldir=/usr/local/devkitPro/devkitARM/arm-eabi" "top_toollibdir=/usr/local/devkitPro/devkitARM/arm-eabi/lib" "AR=arm-eabi-ar" "AS=arm-eabi-as" "CC=arm-eabi-gcc -B/home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib/ -isystem /home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib/targ-include -isystem /home/davem/projects/devkitpro/test/newlib-1.15.0/newlib/libc/include" "LD=arm-eabi-ld" "LIBCFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "NM=arm-eabi-nm" "PICFLAG=" "RANLIB=arm-eabi-ranlib" "DESTDIR=" all-recursive
make[3]: Entering directory `/home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib'
make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "CCASFLAGS=" "CFLAGS_FOR_BUILD=-DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME" "CFLAGS_FOR_TARGET=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "INSTALL=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "LIBCFLAGS_FOR_TARGET=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS=" "exec_prefix=/usr/local/devkitPro/devkitARM" "infodir=/usr/local/devkitPro/devkitARM/info" "libdir=/usr/local/devkitPro/devkitARM/lib" "prefix=/usr/local/devkitPro/devkitARM" "tooldir=/usr/local/devkitPro/devkitARM/arm-eabi" "top_toollibdir=/usr/local/devkitPro/devkitARM/arm-eabi/lib" "AR=arm-eabi-ar" "AS=arm-eabi-as" "CC=arm-eabi-gcc -B/home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib/ -isystem /home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib/targ-include -isystem /home/davem/projects/devkitpro/test/newlib-1.15.0/newlib/libc/include" "LD=arm-eabi-ld" "LIBCFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "NM=arm-eabi-nm" "PICFLAG=" "RANLIB=arm-eabi-ranlib" "DESTDIR=" DO=all multi-do # make
make[4]: Entering directory `/home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib'
if [ -z "thumb be thumb/be" ]; then \
true; \
else \
rootpre=`${PWDCMD-pwd}`/; export rootpre; \
srcrootpre=`cd ../../../../../newlib-1.15.0/newlib; ${PWDCMD-pwd}`/; export srcrootpre; \
lib=`echo ${rootpre} | sed -e 's,^.*/\([^/][^/]*\)/$,\1,'`; \
compiler="arm-eabi-gcc -B/home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib/ -isystem /home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib/targ-include -isystem /home/davem/projects/devkitpro/test/newlib-1.15.0/newlib/libc/include"; \
for i in `${compiler} --print-multi-lib 2>/dev/null`; do \
dir=`echo $i | sed -e 's/;.*$//'`; \
if [ "${dir}" = "." ]; then \
true; \
else \
if [ -d ../${dir}/${lib} ]; then \
flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
if (cd ../${dir}/${lib}; make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "CCASFLAGS=" "CFLAGS_FOR_BUILD=-DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME" "CFLAGS_FOR_TARGET=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "INSTALL=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "LIBCFLAGS_FOR_TARGET=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS=" "exec_prefix=/usr/local/devkitPro/devkitARM" "infodir=/usr/local/devkitPro/devkitARM/info" "libdir=/usr/local/devkitPro/devkitARM/lib" "prefix=/usr/local/devkitPro/devkitARM" "tooldir=/usr/local/devkitPro/devkitARM/arm-eabi" "top_toollibdir=/usr/local/devkitPro/devkitARM/arm-eabi/lib" "AR=arm-eabi-ar" "AS=arm-eabi-as" "CC=arm-eabi-gcc -B/home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib/ -isystem /home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib/targ-include -isystem /home/davem/projects/devkitpro/test/newlib-1.15.0/newlib/libc/include" "LD=arm-eabi-ld" "LIBCFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "NM=arm-eabi-nm" "PICFLAG=" "RANLIB=arm-eabi-ranlib" "DESTDIR=" \
CFLAGS="-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME ${flags}" \
CCASFLAGS=" ${flags}" \
FCFLAGS=" ${flags}" \
FFLAGS=" ${flags}" \
ADAFLAGS=" ${flags}" \
prefix="/usr/local/devkitPro/devkitARM" \
exec_prefix="/usr/local/devkitPro/devkitARM" \
GCJFLAGS=" ${flags}" \
CXXFLAGS="-g -O2 ${flags}" \
LIBCFLAGS="-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME ${flags}" \
LIBCXXFLAGS="-g -O2 -fno-implicit-templates ${flags}" \
LDFLAGS=" ${flags}" \
MULTIFLAGS="${flags}" \
DESTDIR="" \
INSTALL="/usr/bin/install -c" \
INSTALL_DATA="/usr/bin/install -c -m 644" \
INSTALL_PROGRAM="/usr/bin/install -c" \
INSTALL_SCRIPT="/usr/bin/install -c" \
all); then \
true; \
else \
exit 1; \
fi; \
else true; \
fi; \
fi; \
done; \
fi
make[5]: Entering directory `/home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/thumb/newlib'
make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME -mthumb" "CCASFLAGS=-mthumb" "CFLAGS_FOR_BUILD=-DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME" "CFLAGS_FOR_TARGET=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "INSTALL=/usr/bin/install -c" "LDFLAGS=-mthumb" "LIBCFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME -mthumb" "LIBCFLAGS_FOR_TARGET=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS=" "exec_prefix=/usr/local/devkitPro/devkitARM" "infodir=/usr/local/devkitPro/devkitARM/info" "libdir=/usr/local/devkitPro/devkitARM/lib" "prefix=/usr/local/devkitPro/devkitARM" "tooldir=/usr/local/devkitPro/devkitARM/arm-eabi" "top_toollibdir=/usr/local/devkitPro/devkitARM/arm-eabi/lib/thumb" "AR=arm-eabi-ar" "AS=arm-eabi-as" "CC=arm-eabi-gcc -B/home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib/ -isystem /home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib/targ-include -isystem /home/davem/projects/devkitpro/test/newlib-1.15.0/newlib/libc/include" "LD=arm-eabi-ld" "LIBCFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME -mthumb" "NM=arm-eabi-nm" "PICFLAG=" "RANLIB=arm-eabi-ranlib" "DESTDIR=" all-recursive
make[6]: Entering directory `/home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/thumb/newlib'
true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME -mthumb" "CCASFLAGS=-mthumb" "CFLAGS_FOR_BUILD=-DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME" "CFLAGS_FOR_TARGET=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "INSTALL=/usr/bin/install -c" "LDFLAGS=-mthumb" "LIBCFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME -mthumb" "LIBCFLAGS_FOR_TARGET=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME " "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS=" "exec_prefix=/usr/local/devkitPro/devkitARM" "infodir=/usr/local/devkitPro/devkitARM/info" "libdir=/usr/local/devkitPro/devkitARM/lib" "prefix=/usr/local/devkitPro/devkitARM" "tooldir=/usr/local/devkitPro/devkitARM/arm-eabi" "top_toollibdir=/usr/local/devkitPro/devkitARM/arm-eabi/lib/thumb" "AR=arm-eabi-ar" "AS=arm-eabi-as" "CC=arm-eabi-gcc -B/home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib/ -isystem /home/davem/projects/devkitpro/test/build/newlib/arm-eabi/arm-eabi/newlib/targ-include -isystem /home/davem/projects/devkitpro/test/newlib-1.15.0/newlib/libc/include" "LD=arm-eabi-ld" "LIBCFLAGS=-O2 -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_RENAME -mthumb" "NM=arm-eabi-nm" "PICFLAG=" "RANLIB=arm-eabi-ranlib" "DESTDIR=" DO=all multi-do # make
rm -rf targ-include stmp-targ-include
mkdir targ-include targ-include/sys targ-include/machine targ-include/bits




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]