Bug 20349 - [multilib] libjava(32) doesn't build.
Summary: [multilib] libjava(32) doesn't build.
Status: RESOLVED INVALID
Alias: None
Product: gcc
Classification: Unclassified
Component: other (show other bugs)
Version: 4.0.0
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-06 20:19 UTC by Pawel Sikora
Modified: 2005-07-23 22:49 UTC (History)
3 users (show)

See Also:
Host: amd64-pld-linux
Target: amd64-pld-linux
Build: amd64-pld-linux
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pawel Sikora 2005-03-06 20:19:34 UTC
(...) 
make[5]: Entering directory  
`/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/amd64-pld-linux/32/libjava'  
depbase=`echo prims.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \  
if /bin/sh ./libtool  
--mode=compile /home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/gcc/xgcc  
-shared-libgcc  
-B/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/gcc/  
-nostdinc++  
-L/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/amd64-pld-linux/32/libstdc++-v3/src  
-L/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/amd64-pld-linux/32/libstdc++-v3/src/.libs  
-B/usr/amd64-pld-linux/bin/ -B/usr/amd64-pld-linux/lib/  
-isystem /usr/amd64-pld-linux/include  
-isystem /usr/amd64-pld-linux/sys-include  -m32 -DHAVE_CONFIG_H -I.  
-I../../../../libjava -I./include -I./gcj  -I../../../../libjava -Iinclude  
-I../../../../libjava/include -I../../../../libjava/../boehm-gc/include  
-I../boehm-gc/include  -I../../../../libjava/libltdl  
-I../../../../libjava/libltdl -I../../../../libjava/.././libjava/../gcc  
-I../../../../libjava/../zlib -I../../../../libjava/../libffi/include  
-I../libffi/include  -fno-rtti -fnon-call-exceptions  -fdollars-in-identifiers  
-Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fno-omit-frame-pointer  
-Wextra -Wall -D_GNU_SOURCE -DPREFIX="\"/usr\"" -DLIBDIR="\"/usr/lib64\""  
-DBOOT_CLASS_PATH="\"/usr/share/java/libgcj-4.0.0.jar\""  
-DJAVA_EXT_DIRS="\"/usr/share/java/ext\"" -O2  -D_GNU_SOURCE  -m32 -MT  
prims.lo -MD -MP -MF "$depbase.Tpo" -c -o  
prims.lo ../../../../libjava/prims.cc; \  
then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit 1;  
fi  
mkdir .libs  
/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/gcc/xgcc  
-shared-libgcc  
-B/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/gcc/  
-nostdinc++  
-L/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/amd64-pld-linux/32/libstdc++-v3/src  
-L/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/amd64-pld-linux/32/libstdc++-v3/src/.libs  
-B/usr/amd64-pld-linux/bin/ -B/usr/amd64-pld-linux/lib/  
-isystem /usr/amd64-pld-linux/include  
-isystem /usr/amd64-pld-linux/sys-include -m32 -DHAVE_CONFIG_H -I.  
-I../../../../libjava -I./include -I./gcj -I../../../../libjava -Iinclude  
-I../../../../libjava/include -I../../../../libjava/../boehm-gc/include  
-I../boehm-gc/include -I../../../../libjava/libltdl  
-I../../../../libjava/libltdl -I../../../../libjava/.././libjava/../gcc  
-I../../../../libjava/../zlib -I../../../../libjava/../libffi/include  
-I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers  
-Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fno-omit-frame-pointer  
-Wextra -Wall -D_GNU_SOURCE -DPREFIX=\"/usr\" -DLIBDIR=\"/usr/lib64\"  
-DBOOT_CLASS_PATH=\"/usr/share/java/libgcj-4.0.0.jar\"  
-DJAVA_EXT_DIRS=\"/usr/share/java/ext\" -O2 -D_GNU_SOURCE -m32 -MT prims.lo  
-MD -MP -MF .deps/prims.Tpo -c ../../../../libjava/prims.cc  -fPIC -DPIC  
-o .libs/prims.o  
../../../../libjava/java/lang/Object.h:23: warning: 'struct _JvObjectPrefix'  
has virtual functions but non-virtual destructor  
../../../../libjava/java/lang/Object.h:42: warning: 'class java::lang::Object'  
has virtual functions but non-virtual destructor  
../../../../libjava/gcj/array.h:19: warning: 'class __JArray' has virtual  
functions but non-virtual destructor  
../../../../libjava/gcj/array.h: In instantiation of 'JArray<jchar>':  
../../../../libjava/gcj/array.h:90:   instantiated from here  
../../../../libjava/gcj/array.h:42: warning: 'class JArray<jchar>' has virtual  
functions but non-virtual destructor  
../../../../libjava/gcj/array.h: In instantiation of 'JArray<jboolean>':  
../../../../libjava/gcj/array.h:96:   instantiated from here  
../../../../libjava/gcj/array.h:42: warning: 'class JArray<jboolean>' has  
virtual functions but non-virtual destructor  
../../../../libjava/gcj/array.h: In instantiation of 'JArray<jbyte>':  
../../../../libjava/gcj/array.h:102:   instantiated from here  
../../../../libjava/gcj/array.h:42: warning: 'class JArray<jbyte>' has virtual  
functions but non-virtual destructor  
../../../../libjava/gcj/array.h: In instantiation of 'JArray<jshort>':  
../../../../libjava/gcj/array.h:108:   instantiated from here  
../../../../libjava/gcj/array.h:42: warning: 'class JArray<jshort>' has  
virtual functions but non-virtual destructor  
../../../../libjava/gcj/array.h: In instantiation of 'JArray<jint>':  
../../../../libjava/gcj/array.h:114:   instantiated from here  
../../../../libjava/gcj/array.h:42: warning: 'class JArray<jint>' has virtual  
functions but non-virtual destructor  
../../../../libjava/gcj/array.h: In instantiation of 'JArray<jlong>':  
../../../../libjava/gcj/array.h:120:   instantiated from here  
../../../../libjava/gcj/array.h:42: warning: 'class JArray<jlong>' has virtual  
functions but non-virtual destructor  
../../../../libjava/gcj/array.h: In instantiation of 'JArray<jfloat>':  
../../../../libjava/gcj/array.h:126:   instantiated from here  
../../../../libjava/gcj/array.h:42: warning: 'class JArray<jfloat>' has  
virtual functions but non-virtual destructor  
../../../../libjava/gcj/array.h: In instantiation of 'JArray<jdouble>':  
../../../../libjava/gcj/array.h:132:   instantiated from here  
../../../../libjava/gcj/array.h:42: warning: 'class JArray<jdouble>' has  
virtual functions but non-virtual destructor  
./java/lang/String.h:33: warning: 'class java::lang::String' has virtual  
functions but non-virtual destructor  
./java/net/URL.h:26: warning: 'class java::net::URL' has virtual functions but  
non-virtual destructor  
./java/lang/reflect/Modifier.h:11: warning: 'class  
java::lang::reflect::Modifier' has virtual functions but non-virtual  
destructor  
./java/security/ProtectionDomain.h:27: warning: 'class  
java::security::ProtectionDomain' has virtual functions but non-virtual  
destructor  
./java/lang/Package.h:23: warning: 'class java::lang::Package' has virtual  
functions but non-virtual destructor  
./gnu/gcj/runtime/StackTrace.h:27: warning: 'class  
gnu::gcj::runtime::StackTrace' has virtual functions but non-virtual  
destructor  
../../../../libjava/java/lang/Class.h:254: warning: 'class java::lang::Class'  
has virtual functions but non-virtual destructor  
./java/util/Dictionary.h:11: warning: 'class java::util::Dictionary' has  
virtual functions but non-virtual destructor  
./java/util/Hashtable.h:12: warning: 'class java::util::Hashtable' has virtual  
functions but non-virtual destructor  
./java/util/Properties.h:11: warning: 'class java::util::Properties' has  
virtual functions but non-virtual destructor  
./java/net/InetAddress.h:23: warning: 'class java::net::InetAddress' has  
virtual functions but non-virtual destructor  
./java/lang/reflect/AccessibleObject.h:12: warning: 'class  
java::lang::reflect::AccessibleObject' has virtual functions but non-virtual  
destructor  
./java/lang/reflect/Field.h:14: warning: 'class java::lang::reflect::Field'  
has virtual functions but non-virtual destructor  
./gnu/gcj/RawData.h:22: warning: 'class gnu::gcj::RawData' has virtual  
functions but non-virtual destructor  
../../../../libjava/gcj/array.h: In instantiation of  
'JArray<java::lang::Object*>':  
../../../../libjava/include/jvm.h:433:   instantiated from here  
../../../../libjava/gcj/array.h:42: warning: 'class  
JArray<java::lang::Object*>' has virtual functions but non-virtual destructor  
./java/lang/ref/Reference.h:22: warning: 'class java::lang::ref::Reference'  
has virtual functions but non-virtual destructor  
./java/lang/ref/WeakReference.h:11: warning: 'class  
java::lang::ref::WeakReference' has virtual functions but non-virtual  
destructor  
./gnu/gcj/runtime/JNIWeakRef.h:25: warning: 'class  
gnu::gcj::runtime::JNIWeakRef' has virtual functions but non-virtual  
destructor  
./gnu/gcj/runtime/NameFinder.h:28: warning: 'class  
gnu::gcj::runtime::NameFinder' has virtual functions but non-virtual  
destructor  
./java/lang/ClassLoader.h:30: warning: 'class java::lang::ClassLoader' has  
virtual functions but non-virtual destructor  
./java/lang/ThreadGroup.h:12: warning: 'class java::lang::ThreadGroup' has  
virtual functions but non-virtual destructor  
./java/lang/Runtime.h:12: warning: 'class java::lang::Runtime' has virtual  
functions but non-virtual destructor  
./java/lang/Thread.h:35: warning: 'class java::lang::Thread' has virtual  
functions but non-virtual destructor  
./java/lang/Throwable.h:12: warning: 'class java::lang::Throwable' has virtual  
functions but non-virtual destructor  
./java/lang/Exception.h:11: warning: 'class java::lang::Exception' has virtual  
functions but non-virtual destructor  
./java/lang/RuntimeException.h:11: warning: 'class  
java::lang::RuntimeException' has virtual functions but non-virtual destructor  
./java/lang/IndexOutOfBoundsException.h:11: warning: 'class  
java::lang::IndexOutOfBoundsException' has virtual functions but non-virtual  
destructor  
./java/lang/ArrayIndexOutOfBoundsException.h:11: warning: 'class  
java::lang::ArrayIndexOutOfBoundsException' has virtual functions but  
non-virtual destructor  
./java/lang/ArithmeticException.h:11: warning: 'class  
java::lang::ArithmeticException' has virtual functions but non-virtual  
destructor  
./java/lang/Error.h:11: warning: 'class java::lang::Error' has virtual  
functions but non-virtual destructor  
./java/lang/LinkageError.h:11: warning: 'class java::lang::LinkageError' has  
virtual functions but non-virtual destructor  
./java/lang/ClassFormatError.h:11: warning: 'class  
java::lang::ClassFormatError' has virtual functions but non-virtual destructor  
./java/lang/VirtualMachineError.h:11: warning: 'class  
java::lang::VirtualMachineError' has virtual functions but non-virtual  
destructor  
./java/lang/InternalError.h:11: warning: 'class java::lang::InternalError' has  
virtual functions but non-virtual destructor  
./java/lang/NegativeArraySizeException.h:11: warning: 'class  
java::lang::NegativeArraySizeException' has virtual functions but non-virtual  
destructor  
./java/lang/NullPointerException.h:11: warning: 'class  
java::lang::NullPointerException' has virtual functions but non-virtual  
destructor  
./java/lang/OutOfMemoryError.h:11: warning: 'class  
java::lang::OutOfMemoryError' has virtual functions but non-virtual destructor  
./java/lang/System.h:11: warning: 'class java::lang::System' has virtual  
functions but non-virtual destructor  
./java/lang/VMThrowable.h:26: warning: 'class java::lang::VMThrowable' has  
virtual functions but non-virtual destructor  
./java/io/OutputStream.h:12: warning: 'class java::io::OutputStream' has  
virtual functions but non-virtual destructor  
./java/io/FilterOutputStream.h:12: warning: 'class  
java::io::FilterOutputStream' has virtual functions but non-virtual destructor  
./java/io/PrintStream.h:26: warning: 'class java::io::PrintStream' has virtual  
functions but non-virtual destructor  
./java/lang/UnsatisfiedLinkError.h:11: warning: 'class  
java::lang::UnsatisfiedLinkError' has virtual functions but non-virtual  
destructor  
./java/security/SecureClassLoader.h:25: warning: 'class  
java::security::SecureClassLoader' has virtual functions but non-virtual  
destructor  
./java/net/URLClassLoader.h:33: warning: 'class java::net::URLClassLoader' has  
virtual functions but non-virtual destructor  
./gnu/gcj/runtime/VMClassLoader.h:26: warning: 'class  
gnu::gcj::runtime::VMClassLoader' has virtual functions but non-virtual  
destructor  
./gnu/gcj/runtime/FinalizerThread.h:25: warning: 'class  
gnu::gcj::runtime::FinalizerThread' has virtual functions but non-virtual  
destructor  
./gnu/java/lang/MainThread.h:26: warning: 'class gnu::java::lang::MainThread'  
has virtual functions but non-virtual destructor  
../../../../libjava/gcj/array.h: In instantiation of  
'JArray<java::lang::String*>':  
../../../../libjava/prims.cc:745:   instantiated from here  
../../../../libjava/gcj/array.h:42: warning: 'class  
JArray<java::lang::String*>' has virtual functions but non-virtual destructor  
../../../../libjava/prims.cc: In function 'jint  
_Jv_CreateJavaVM(JvVMInitArgs*)':  
../../../../libjava/prims.cc:1099: error: 'SYS_sigaction' was not declared in  
this scope  
../../../../libjava/prims.cc:1103: error: 'SYS_sigaction' was not declared in  
this scope  
./include/java-signal-aux.h: At global scope:  
./include/java-signal-aux.h:125: warning: 'void restore()' declared 'static'  
but never defined  
make[5]: *** [prims.lo] Error 1  
make[5]: Leaving directory  
`/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/amd64-pld-linux/32/libjava'  
make[4]: *** [all-recursive] Error 1  
make[4]: Leaving directory  
`/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/amd64-pld-linux/32/libjava'  
make[3]: *** [multi-do] Error 1  
make[3]: Leaving directory  
`/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/amd64-pld-linux/libjava'  
make[2]: *** [all-multi] Error 2  
make[2]: Leaving directory  
`/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux/amd64-pld-linux/libjava'  
make[1]: *** [all-target-libjava] Error 2  
make[1]: Leaving directory  
`/home/users/pluto/rpm/BUILD/gcc-4.0-20050305/obj-amd64-pld-linux'  
make: *** [profiledbootstrap] Error 2
Comment 1 Andrew Pinski 2005-03-06 20:23:22 UTC
Can you try again?  I think this was caused by the patch for PR 20155 which had to be reverted.
Comment 2 Pawel Sikora 2005-03-07 07:21:15 UTC
(In reply to comment #1) 
> Can you try again?  I think this was caused by the patch for PR 20155 which 
had to be reverted. 
 
it didn't helped. 
Comment 3 Andrew Pinski 2005-03-23 05:35:59 UTC
This looks like a bug in your installation of glibc.
#define INIT_SEGV                                       \
do                                                      \
  {                                                     \
    struct old_i386_kernel_sigaction kact;              \
    kact.k_sa_handler = catch_segv;                     \
    kact.k_sa_mask = 0;                                 \
    kact.k_sa_flags = 0x4000000;                        \
    kact.sa_restorer = restore;                         \
    syscall (SYS_sigaction, SIGSEGV, &kact, NULL);      \
  }                                                     \
while (0)   


This works on a "native" 32bit compiler with a "native" 32bit glibc.

Can you confirm that this is your bug in your installation of glibc?
Comment 4 Pawel Sikora 2005-03-25 12:37:48 UTC
(In reply to comment #3)  
> This looks like a bug in your installation of glibc.  
> #define INIT_SEGV                                       \  
> do                                                      \  
>   {                                                     \  
>     struct old_i386_kernel_sigaction kact;              \  
>     kact.k_sa_handler = catch_segv;                     \  
>     kact.k_sa_mask = 0;                                 \  
>     kact.k_sa_flags = 0x4000000;                        \  
>     kact.sa_restorer = restore;                         \  
>     syscall (SYS_sigaction, SIGSEGV, &kact, NULL);      \  
>   }                                                     \  
> while (0)     
>   
>   
> This works on a "native" 32bit compiler with a "native" 32bit glibc.  
>   
> Can you confirm that this is your bug in your installation of glibc?  
  
<bits/syscall.h> from i386 defines SYS_sigaction.  
x86_64 doesn't define SYS_sigaction (even for -m32 abi). 
it looks like a bug in dual arch glibc headers. 
  
Comment 5 Andreas Jaeger 2005-03-25 13:02:39 UTC
This is defined on my x86-64 system:
grep sigaction /usr/include/bits/syscall.h
#define SYS_rt_sigaction __NR_rt_sigaction
#define SYS_sigaction __NR_sigaction

This looks like a problem on your side building glibc.
Comment 6 Pawel Sikora 2005-03-25 14:05:18 UTC
(In reply to comment #5) 
> This is defined on my x86-64 system: 
> grep sigaction /usr/include/bits/syscall.h 
> #define SYS_rt_sigaction __NR_rt_sigaction 
> #define SYS_sigaction __NR_sigaction 
>  
> This looks like a problem on your side building glibc. 
 
# egrep 'SYS.*sigaction' glibc* -R 
 
glibc-devel-2.3.4.amd64/usr/include/bits/syscall.h: 
#define SYS_rt_sigaction __NR_rt_sigaction 
 
glibc-devel-2.3.4.athlon/usr/include/bits/syscall.h: 
#define SYS_rt_sigaction __NR_rt_sigaction 
 
glibc-devel-2.3.4.i686/usr/include/bits/syscall.h: 
#define SYS_rt_sigaction __NR_rt_sigaction 
glibc-devel-2.3.4.i686/usr/include/bits/syscall.h: 
#define SYS_sigaction __NR_sigaction 
 
Comment 7 Andreas Schwab 2005-03-25 15:06:59 UTC
Linux/x86-64 does not have a sigaction syscall. But 
nevertheless /usr/include/sys/syscall.h should define SYS_sigaction for 
__WORDSIZE != 64 if you have the proper bi-arch headers installed. 
Comment 8 Andrew Pinski 2005-03-25 17:10:44 UTC
This is not a GCC bug but a bug in your setup as explained by  Andreas Schwab.