af9c75c8f5
Currently we have a problem in our cross compiler since we use /usr/include/c++ to be default gxx-include-dir and then expect the patch we did to do the relocation w.r.t. sysroot however it does not quite work so and we end up gxx-include-dirs not respecting sysroot. A small test case would be tst-unique4.cc and it would fails like tst-unique4.cc:1:18: fatal error: cstdio: No such file or directory compilation terminated. weather we use --sysroot or not it does not matter arm-oe-linux-gnueabi-g++ -S tst-unique4.cc --sysroot=/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm failed in same way. so we redo the GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch based on upstream submitted patch which tries to relocate the gxx-include-dir and to achieve the relocation it has to be specified w.r.t to --with-sysroot directory. e.g. --with-sysroot=${SYSROOT} --with-gxx-include-dir=${SYSROOT}/usr/include/c++ if we configure gcc like above then it becomes relocatable when we run the compiler and specify --sysroot=<blah> then g++ will search for gxx-headers under <blah>/usr/include/c++ if sysroot is not defined then it will use the default sysroot and gxx-include-dir will be w.r.t. default sysroot. Tested on qemuarm /arm-oe-linux-gnueabi-g++ -S tst-unique4.cc --sysroot=/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm -v ... /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm/usr/include/c++ /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm/usr/include/c++/arm-oe-linux-gnueabi /home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm/usr/include/c++/backward ... and if I now change --sysroot to something else /arm-oe-linux-gnueabi-g++ -S tst-unique4.cc --sysroot=/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4 -v ... ignoring nonexistent directory "/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4/usr/include/c++" ignoring nonexistent directory "/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4/usr/include/c++/arm-oe-linux-gnueabi" ignoring nonexistent directory "/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/sysroots/qemuarm4/usr/include/c++/backward" ... See now its looking for them in 'qemuarm4' sysroot (From OE-Core rev: 28b772e42a20faebe1b4f415d28b42b7e0a424fb) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> |
||
---|---|---|
.. | ||
apt | ||
autoconf | ||
automake | ||
binutils | ||
bison | ||
btrfs-tools | ||
ccache | ||
cdrtools | ||
chrpath | ||
cmake | ||
desktop-file-utils | ||
diffstat | ||
distcc | ||
docbook-dsssl-stylesheets | ||
docbook-sgml-dtd | ||
docbook-utils | ||
dosfstools | ||
dpkg | ||
e2fsprogs | ||
elfutils | ||
file | ||
flex | ||
gcc | ||
gdb | ||
genext2fs | ||
git | ||
gnu-config | ||
guilt | ||
help2man | ||
icecc-create-env | ||
icon-naming-utils | ||
insserv | ||
installer | ||
intltool | ||
libjson | ||
libtool | ||
linuxdoc-tools | ||
m4 | ||
make | ||
makedevs | ||
mklibs | ||
mtd | ||
mtools | ||
nasm | ||
openjade | ||
opensp | ||
opkg | ||
opkg-utils | ||
patch | ||
pax-utils | ||
perl | ||
pkgconfig | ||
prelink | ||
pseudo | ||
python | ||
qemu | ||
quilt | ||
rpm | ||
rsync | ||
sgml-common | ||
sgmlspl | ||
squashfs-tools | ||
strace | ||
subversion | ||
swabber | ||
syslinux | ||
tcf-agent | ||
tcltk | ||
transfig | ||
ubootchart | ||
unfs-server | ||
unifdef | ||
valgrind |