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

See the CrossGCC FAQ for lots more information.


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

Problem when cross compile GCJ for PPC 405


Hello,

I want to cross-compile Java (GCJ) for a PowerPC 405 target with crosstool
0.43.
With only "c, c++" languages, no problem.
But when I add "java" language, the cross-compiler process stops when it
compiles prims.cc for libjava.
See the end of build log:
.../...
In file included from /usr/include/bits/socket.h:304,
                 from /usr/include/sys/socket.h:35,
                 from ./include/platform.h:31,
                 from
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc:12:
/usr/include/asm/socket.h:9:4: warning: #warning This machine appears to be
neither x86_64 nor i386.
In file included from /usr/include/bits/sigcontext.h:28,
                 from /usr/include/signal.h:333,
                 from
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc:18:
/usr/include/asm/sigcontext.h:9:4: warning: #warning This machine appears to
be neither x86_64 nor i386.
In file included from /usr/include/sys/syscall.h:25,
                 from ./include/java-signal.h:17,
                 from
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc:26:
/usr/include/asm/unistd.h:9:4: warning: #warning This machine appears to be
neither x86_64 nor i386.
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gc
c-4.1.1/libjava/java/lang/Class.h: In member function 'java::lang::Class*
java::lang::Class::getComponentType()':
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gc
c-4.1.1/libjava/java/lang/Class.h:354: warning: dereferencing type-punned
pointer will break strict-aliasing rules
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc: In function 'void catch_segv(int, sigcontext*)':
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc:149: error: invalid use of undefined type 'struct
sigcontext'
/usr/include/signal.h:336: error: forward declaration of 'struct sigcontext'
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc: In function 'jint
_Jv_CreateJavaVM(JvVMInitArgs*)':
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc:1274: error: '__NR_sigaction' was not declared in
this scope
make[5]: *** [prims.lo] Erreur 1
make[5]: quittant le répertoire «
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/bu
ild-gcc/powerpc-405-linux-gnu/nof/libjava »
.../...

The warning is strange: "This machine appears to be neither x86_64 nor
i386.". As if the compiler uses the header files of native system instead of
target! It is my first feeling...

What do you thing ?

Thanks for your help,

Xavier

My native host system is: Linux version 2.16.17-12-386 (gcc version 4.1.2)
on Ubuntu.

I put the sample command for prims.cc:
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/bu
ild-gcc/./gcc/xgcc -shared-libgcc -B/home/gd/crosstool-0.43/build/powerpc-40
5-linux-gnu/gcc-4.1.1-glibc-2.3.6/build-gcc/./gcc -nostdinc++ -L/home/gd/cro
sstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/build-gcc/powe
rpc-405-linux-gnu/nof/libstdc++-v3/src -L/home/gd/crosstool-0.43/build/power
pc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/build-gcc/powerpc-405-linux-gnu/nof/l
ibstdc++-v3/src/.libs -B/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-lin
ux-gnu/powerpc-405-linux-gnu/bin/ -B/opt/crosstool/gcc-4.1.1-glibc-2.3.6/pow
erpc-405-linux-gnu/powerpc-405-linux-gnu/lib/ -isystem
/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-linux-gnu/powerpc-405-linux
-gnu/include -isystem
/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-linux-gnu/powerpc-405-linux
-gnu/sys-include -msoft-float -fPIC -mstrict-align -DHAVE_CONFIG_H -I. -I/ho
me/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gcc-4
.1.1/libjava -I./include -I./gcj -I/home/gd/crosstool-0.43/build/powerpc-405
-linux-gnu/gcc-4.1.1-glibc-2.3.6/gcc-4.1.1/libjava -Iinclude -I/home/gd/cros
stool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gcc-4.1.1/libja
va/include -I/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-g
libc-2.3.6/gcc-4.1.1/libjava/classpath/include -I/home/gd/crosstool-0.43/bui
ld/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gcc-4.1.1/libjava/classpath/n
ative/fdlibm -I/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1
-glibc-2.3.6/gcc-4.1.1/libjava/../boehm-gc/include -I../boehm-gc/include -I/
home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gcc
-4.1.1/libjava/libltdl -I/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu
/gcc-4.1.1-glibc-2.3.6/gcc-4.1.1/libjava/libltdl -I/home/gd/crosstool-0.43/b
uild/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gcc-4.1.1/libjava/.././libj
ava/../gcc -I/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-g
libc-2.3.6/gcc-4.1.1/libjava/../zlib -I/home/gd/crosstool-0.43/build/powerpc
-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gcc-4.1.1/libjava/../libffi/include -I.
./libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -W
switch-enum -D_FILE_OFFSET_BITS=64 -I/usr/include -Wextra -Wall -D_GNU_SOURC
E -DPREFIX=\"/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-linux-gnu\" -D
LIBDIR=\"/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-linux-gnu/lib\" -D
JAVA_HOME=\"/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-linux-gnu\" -DB
OOT_CLASS_PATH=\"/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-linux-gnu/
share/java/libgcj-4.1.1.jar\" -DJAVA_EXT_DIRS=\"/opt/crosstool/gcc-4.1.1-gli
bc-2.3.6/powerpc-405-linux-gnu/share/java/ext\" -DGCJ_ENDORSED_DIRS=\"/opt/c
rosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-linux-gnu/share/java/gcj-endorsed
\" -DLIBGCJ_DEFAULT_DATABASE=\"/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-
405-linux-gnu/lib/nof/gcj-4.1.1/classmap.db\" -DLIBGCJ_DEFAULT_DATABASE_PATH
_TAIL=\"gcj-4.1.1/classmap.db\" -DTOOLEXECLIBDIR=\"/opt/crosstool/gcc-4.1.1-
glibc-2.3.6/powerpc-405-linux-gnu/powerpc-405-linux-gnu/lib/nof\" -g -O2 -D_
GNU_SOURCE -msoft-float -fPIC -mstrict-align -MT prims.lo -MD -MP -MF
.deps/prims.Tpo -c
/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-2.3.6/gc
c-4.1.1/libjava/prims.cc  -fPIC -DPIC -o .libs/prims.o

And the beginning of build for parameters of Crosstool build process :
+ TARBALLS_DIR=/home/gd/downloads
+ RESULT_TOP=/opt/crosstool
+ export TARBALLS_DIR RESULT_TOP
+ GCC_LANGUAGES=c,c++,java
+ export GCC_LANGUAGES
+ mkdir -p /opt/crosstool
++ cat powerpc-405.dat gcc-4.1.1-glibc-2.3.6.dat
+ eval TARGET=powerpc-405-linux-gnu 'TARGET_CFLAGS="-O' '-mcpu=405"'
'GCC_EXTRA_CONFIG="--with-cpu=405' '--enable-cxx-flags=-mcpu=405"'
'GLIBC_EXTRA_CONFIG="$GLIBC_EXTRA_CONFIG' '--without-fp"'
BINUTILS_DIR=binutils-2.16.1 GCC_CORE_DIR=gcc-3.3.6 GCC_DIR=gcc-4.1.1
GLIBC_DIR=glibc-2.3.6 LINUX_DIR=linux-2.6.15.4
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6 GDB_DIR=gdb-6.5 sh
all.sh --notest
++ TARGET=powerpc-405-linux-gnu
++ TARGET_CFLAGS='-O -mcpu=405'
++ GCC_EXTRA_CONFIG='--with-cpu=405 --enable-cxx-flags=-mcpu=405'
++ GLIBC_EXTRA_CONFIG=' --without-fp'
++ BINUTILS_DIR=binutils-2.16.1
++ GCC_CORE_DIR=gcc-3.3.6
++ GCC_DIR=gcc-4.1.1
++ GLIBC_DIR=glibc-2.3.6
++ LINUX_DIR=linux-2.6.15.4
++ LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
++ GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
++ GDB_DIR=gdb-6.5
++ sh all.sh --notest
You set both LINUX_DIR and LINUX_SANITIZED_HEADER_DIR - ignoring LINUX_DIR
for the build
DEJAGNU not set, so not running any regression tests
GLIBC_ADDON_OPTIONS not set, so building all glibc add-on's
KERNELCONFIG not set, so not configuring linux kernel
+ TOOLCOMBO=gcc-4.1.1-glibc-2.3.6
++ pwd
+
BUILD_DIR=/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glib
c-2.3.6
++ pwd
+ TOP_DIR=/home/gd/crosstool-0.43
+ test -z ''
+
SRC_DIR=/home/gd/crosstool-0.43/build/powerpc-405-linux-gnu/gcc-4.1.1-glibc-
2.3.6
+ echo 'SRC_DIR not set, so source tarballs will be unpacked in the build
directory'
SRC_DIR not set, so source tarballs will be unpacked in the build directory
+ case x$PREFIX in
+ case x$USER in
+ test -w /tmp
+ TARBALLS_DIR=/home/gd/downloads
+ RESULT_TOP=/opt/crosstool
+ PREFIX=/opt/crosstool/gcc-4.1.1-glibc-2.3.6/powerpc-405-linux-gnu


--
For unsubscribe information see http://sourceware.org/lists.html#faq


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