Binutils build directory path limitation?
David Wuertele
dave+gmane@wuertele.com
Fri Sep 5 21:34:00 GMT 2008
I need to write scripts to drive crosstool to build toolchains in any
location the user desires. But I'm running into a path limitation,
which appears to be in binutils-2.17.50.0.12. Unfortunately, I can't
change the binutils version (or my vendor will stop supporting me).
Does anyone know if this is a know issue in binutils, and whether
there is a patch?
Using crosstool to build a toolchain with a RESULT_TOP path 53
characters long works:
$ env -i BINUTILS_DIR=binutils-2.17.50.0.12 GCC_CORE_DIR=gcc-3.4.6 \
GCC_DIR=gcc-3.4.6 GDB_DIR=gdb-6.5 \
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6 GLIBC_DIR=glibc-2.3.6 \
GLIBC_EXTRA_CONFIG=--with-tls --enable-kernel=2.6.9 \
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0 \
RESULT_TOP=/nightly/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
SHELL=/bin/sh TARBALLS_DIR=/tarballs TARGET=mipsel-unknown-linux-gnu \
TARGET_CFLAGS=-O2 -finline-limit=10000 \
TOOLS_DIR=/nightly/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx sh all.sh \
--notest --gdb > .log 2>&1
But using the exact same crosstool configuration to build a toolchain
with a RESULT_TOP path 54 characters long fails (sorry about the line
folding, but GMANE won't let me post wider than 80 columns):
$ env -i BINUTILS_DIR=binutils-2.17.50.0.12 GCC_CORE_DIR=gcc-3.4.6 \
GCC_DIR=gcc-3.4.6 GDB_DIR=gdb-6.5 \
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
GLIBC_DIR=glibc-2.3.6 \
GLIBC_EXTRA_CONFIG=--with-tls --enable-kernel=2.6.9 \
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0 \
RESULT_TOP=/nightly/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \
SHELL=/bin/sh TARBALLS_DIR=/tarballs
TARGET=mipsel-unknown-linux-gnu \
TARGET_CFLAGS=-O2 -finline-limit=10000 \
TOOLS_DIR=/nightly/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx sh
all.sh \
--notest --gdb > .log 2>&1
$ tail -12 .log | fold -w 75
mipsel-unknown-linux-gnu-ranlib /crosstool-0.43/build/mipsel-unknown-linux-
gnu/gcc-3.4.6-glibc-2.3.6/build-glibc/math/libm_pic.a
mipsel-unknown-linux-gnu-gcc -mabi=32 -shared -static-libgcc -Wl,-O1 -W
l,-z,defs -Wl,-dynamic-linker=/lib/ld.so.1 -B/crosstool-0.43/build/mipsel-
unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc/csu/ -Wl,--version-scr
ipt=/crosstool-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/bu
ild-glibc/libm.map -Wl,-soname=libm.so.6 -Wl,-z,relro -L/crosstool-0.43/bu
ild/mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc -L/crosstool
-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc/math
-L/crosstool-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/bui
ld-glibc/elf -L/crosstool-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-gli
bc-2.3.6/build-glibc/dlfcn -L/crosstool-0.43/build/mipsel-unknown-linux-gnu
/gcc-3.4.6-glibc-2.3.6/build-glibc/nss -L/crosstool-0.43/build/mipsel-unkno
wn-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc/nis -L/crosstool-0.43/build/
mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc/rt -L/crosstool-
0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc/resol
v -L/crosstool-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/bu
ild-glibc/crypt -L/crosstool-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-
glibc-2.3.6/build-glibc/linuxthreads -Wl,-rpath-link=/crosstool-0.43/build/
mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc:/crosstool-0.43/
build/mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc/math:/cros
stool-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc
/elf:/crosstool-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/b
uild-glibc/dlfcn:/crosstool-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-g
libc-2.3.6/build-glibc/nss:/crosstool-0.43/build/mipsel-unknown-linux-gnu/g
cc-3.4.6-glibc-2.3.6/build-glibc/nis:/crosstool-0.43/build/mipsel-unknown-l
inux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc/rt:/crosstool-0.43/build/mipsel-
unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc/resolv:/crosstool-0.43/
build/mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc/crypt:/cro
sstool-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glib
c/linuxthreads -o /crosstool-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-
glibc-2.3.6/build-glibc/math/libm.so -T /crosstool-0.43/build/mipsel-unknow
n-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc/shlib.lds /crosstool-0.43/bui
ld/mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc/csu/abi-note.
o -Wl,--whole-archive /crosstool-0.43/build/mipsel-unknown-linux-gnu/gcc-3.
4.6-glibc-2.3.6/build-glibc/math/libm_pic.a -Wl,--no-whole-archive /crossto
ol-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-2.3.6/build-glibc/el
f/interp.os /crosstool-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-glibc-
2.3.6/build-glibc/libc.so /crosstool-0.43/build/mipsel-unknown-linux-gnu/gc
c-3.4.6-glibc-2.3.6/build-glibc/libc_nonshared.a
/nightly/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/gcc-3.4.6-glibc-2.3.6
/mipsel-unknown-linux-gnu/lib/gcc/mipsel-unknown-linux-gnu/3.4.6/../../../.
./mipsel-unknown-linux-gnu/bin/ld: BFD 2.17.50.0.12 20070128 internal error
, aborting at /crosstool-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-glib
c-2.3.6/binutils-2.17.50.0.12/bfd/elfxx-mips.c line 4840 in mips_elf_create
_dynamic_relocation
/nightly/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/gcc-3.4.6-glibc-2.3.6
/mipsel-unknown-linux-gnu/lib/gcc/mipsel-unknown-linux-gnu/3.4.6/../../../.
./mipsel-unknown-linux-gnu/bin/ld: Please report this bug.
collect2: ld returned 1 exit status
make[2]: *** [/crosstool-0.43/build/mipsel-unknown-linux-gnu/gcc-3.4.6-glib
c-2.3.6/build-glibc/math/libm.so] Error 1
make[2]: Leaving directory `/crosstool-0.43/build/mipsel-unknown-linux-gnu/
gcc-3.4.6-glibc-2.3.6/glibc-2.3.6/math'
make[1]: *** [math/others] Error 2
make[1]: Leaving directory `/crosstool-0.43/build/mipsel-unknown-linux-gnu/
gcc-3.4.6-glibc-2.3.6/glibc-2.3.6'
make: *** [all] Error 2
$
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list