Bug#274738: on mips{,el} atexit.o should be compiled with -mxgot

2004-10-13 Thread GOTO Masanori
reassign 274738 binutils
severity 274738 important
thanks

At Tue, 05 Oct 2004 10:04:20 +0900,
GOTO Masanori wrote:
> At Mon, 4 Oct 2004 00:25:00 +0200,
> Thiemo Seufer wrote:
> > > current mainline libgcj fails to build on mips{,el}:
> > > 
> > > /home/doko/gcc/gcc-snapshot-20041003/build/gcc/xgcc -shared-libgcc 
> > > -B/home/doko/gcc/gcc-snapshot-20041003/build/gcc/ -nostdinc++ 
> > > -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src
> > >  
> > > -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src/.libs
> > >  -B/usr/lib/gcc-snapshot/mipsel-linux-gnu/bin/ 
> > > -B/usr/lib/gcc-snapshot/mipsel-linux-gnu/lib/ -isystem 
> > > /usr/lib/gcc-snapshot/mipsel-linux-gnu/include -isystem 
> > > /usr/lib/gcc-snapshot/mipsel-linux-gnu/sys-include -shared -nostdlib 
> > > /usr/lib/crti.o 
> > > /home/doko/gcc/gcc-snapshot-20041003/build/gcc/crtbeginS.o 
> > > .libs/libgcj.la-2.o -Wl,--whole-archive 
> > > ../libffi/.libs/libffi_convenience.a 
> > > ../boehm-gc/.libs/libgcjgc_convenience.a ./libltdl/.libs/libltdlc.a 
> > > -Wl,--no-whole-archive  
> > > -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src
> > >  
> > > -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src/.libs
> > >  -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux
 -g
>  nu/libjava ../libffi/.libs/libffi_convenience.a 
> ../boehm-gc/.libs/libgcjgc_convenience.a -lpthread ./libltdl/.libs/libltdlc.a 
> -ldl -lz -L/home/doko/gcc/gcc-snapshot-20041003/build/gcc -lgcc_s -lc -lgcc_s 
>/home/doko/gcc/gcc-snapshot-20041003/build/gcc/crtendS.o /usr/lib/crtn.o  
> -Wl,-soname -Wl,libgcj.so.6 -o .libs/libgcj.so.6.0.0
> > > /usr/lib/libc_nonshared.a(atexit.oS)(.text+0x38): In function `atexit':
> > > : relocation truncated to fit: R_MIPS_CALL16 __cxa_atexit@@GLIBC_2.2
> > > collect2: ld returned 1 exit status
> > > make[2]: *** [libgcj.la] Error 1
> > > 
> > > can be fixed by compiling glibc's atexit with -mxgot
> >
> > This needs _two_ sets of those objects then, because a link employing
> > multigot will silently break over xgot objects.
> 
> Does this problem come from glibc's compilation problem?
> 
> > > (at least that's the way mozilla succeeded to build).
> > 
> > Actually, no, mozilla uses the standard gcc/libc objects. It believe it
> > happens to work because those objects are linked in earlier, so their
> > GOT entry offset doesn't exceed the limit.
> 
> Do you know what's the actual problem?

This is my memorandum, and the summary.  If you find mistake, please
follow up it.

mips/mipsel has long-standing problem about GOT handling.  The
GOT size is limited to 16KB and it's sometimes small.  This
report is affected by this problem.

There're two ways to fix this problem; multiGOT and XGOT.
XGOT is originally developed in IRIX.  It uses 32bit GOT, so
we don't need to worry about overflow of the table size.
Matthias suggested to use -mxgot.  However, unfortunatelly, we
may lose binary compatibility (said by Thiemo).  Thiemo said
it's nicer than multiGOT.  OTOH, multiGOT is to have multiple
GOT - Daniel suggested it.  He said binutils should be fixed
if it does not work.  Note that multiGOT is firstly supported
by Alexandre Oliva in binutils 2.15 development.

In debian-mips, there were discussions about gcj compilation problem.
David Daney replied to Matthias that the current binutils + glibc
should work without any GOT problems:

http://lists.debian.org/debian-mips/2004/10/msg8.html

I don't know which technically correct is.  However, it's
long-standing problem, and not glibc problem.  This bug should
actually be considered, but it's not sarge's target.  I downgrade it
to important and reassign it to binutils.  If you have another
opinion, let us know.

Regards,
-- gotom




Processed: Re: Bug#274738: on mips{,el} atexit.o should be compiled with -mxgot

2004-10-13 Thread Debian Bug Tracking System
Processing commands for [EMAIL PROTECTED]:

> reassign 274738 binutils
Bug#274738: on mips{,el} atexit.o should be compiled with -mxgot
Bug reassigned from package `glibc' to `binutils'.

> severity 274738 important
Bug#274738: on mips{,el} atexit.o should be compiled with -mxgot
Severity set to `important'.

> thanks
Stopping processing here.

Please contact me if you need assistance.

Debian bug tracking system administrator
(administrator, Debian Bugs database)




Bug#274738: on mips{,el} atexit.o should be compiled with -mxgot

2004-10-04 Thread GOTO Masanori
At Mon, 4 Oct 2004 00:25:00 +0200,
Thiemo Seufer wrote:
> > current mainline libgcj fails to build on mips{,el}:
> > 
> > /home/doko/gcc/gcc-snapshot-20041003/build/gcc/xgcc -shared-libgcc 
> > -B/home/doko/gcc/gcc-snapshot-20041003/build/gcc/ -nostdinc++ 
> > -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src 
> > -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src/.libs
> >  -B/usr/lib/gcc-snapshot/mipsel-linux-gnu/bin/ 
> > -B/usr/lib/gcc-snapshot/mipsel-linux-gnu/lib/ -isystem 
> > /usr/lib/gcc-snapshot/mipsel-linux-gnu/include -isystem 
> > /usr/lib/gcc-snapshot/mipsel-linux-gnu/sys-include -shared -nostdlib 
> > /usr/lib/crti.o /home/doko/gcc/gcc-snapshot-20041003/build/gcc/crtbeginS.o 
> > .libs/libgcj.la-2.o -Wl,--whole-archive ../libffi/.libs/libffi_convenience.a 
> > ../boehm-gc/.libs/libgcjgc_convenience.a ./libltdl/.libs/libltdlc.a 
> > -Wl,--no-whole-archive  
> > -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src 
> > -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src/.libs
> >  -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-g
 nu/libjava ../libffi/.libs/libffi_convenience.a 
../boehm-gc/.libs/libgcjgc_convenience.a -lpthread ./libltdl/.libs/libltdlc.a -ldl -lz 
-L/home/doko/gcc/gcc-snapshot-20041003/build/gcc -lgcc_s -lc -lgcc_s
/home/doko/gcc/gcc-snapshot-20041003/build/gcc/crtendS.o /usr/lib/crtn.o  -Wl,-soname 
-Wl,libgcj.so.6 -o .libs/libgcj.so.6.0.0
> > /usr/lib/libc_nonshared.a(atexit.oS)(.text+0x38): In function `atexit':
> > : relocation truncated to fit: R_MIPS_CALL16 __cxa_atexit@@GLIBC_2.2
> > collect2: ld returned 1 exit status
> > make[2]: *** [libgcj.la] Error 1
> > 
> > can be fixed by compiling glibc's atexit with -mxgot
>
> This needs _two_ sets of those objects then, because a link employing
> multigot will silently break over xgot objects.

Does this problem come from glibc's compilation problem?

> > (at least that's the way mozilla succeeded to build).
> 
> Actually, no, mozilla uses the standard gcc/libc objects. It believe it
> happens to work because those objects are linked in earlier, so their
> GOT entry offset doesn't exceed the limit.

Do you know what's the actual problem?

Regards,
-- gotom


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#274738: on mips{,el} atexit.o should be compiled with -mxgot

2004-10-03 Thread Thiemo Seufer
Matthias Klose wrote:
> Package: glibc
> Severity: serious
> Tags: sid
> 
> current mainline libgcj fails to build on mips{,el}:
> 
> /home/doko/gcc/gcc-snapshot-20041003/build/gcc/xgcc -shared-libgcc 
> -B/home/doko/gcc/gcc-snapshot-20041003/build/gcc/ -nostdinc++ 
> -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src 
> -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src/.libs 
> -B/usr/lib/gcc-snapshot/mipsel-linux-gnu/bin/ 
> -B/usr/lib/gcc-snapshot/mipsel-linux-gnu/lib/ -isystem 
> /usr/lib/gcc-snapshot/mipsel-linux-gnu/include -isystem 
> /usr/lib/gcc-snapshot/mipsel-linux-gnu/sys-include -shared -nostdlib /usr/lib/crti.o 
> /home/doko/gcc/gcc-snapshot-20041003/build/gcc/crtbeginS.o .libs/libgcj.la-2.o 
> -Wl,--whole-archive ../libffi/.libs/libffi_convenience.a 
> ../boehm-gc/.libs/libgcjgc_convenience.a ./libltdl/.libs/libltdlc.a 
> -Wl,--no-whole-archive  
> -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src 
> -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src/.libs 
> -L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libjava 
> ../libffi/.libs/libffi_convenience.a ../boehm-gc/.libs/libgcjgc_convenience.a 
> -lpthread ./libltdl/.libs/libltdlc.a -ldl -lz 
> -L/home/doko/gcc/gcc-snapshot-20041003/build/gcc -lgcc_s -lc -lgcc_s
> /home/doko/gcc/gcc-snapshot-20041003/build/gcc/crtendS.o /usr/lib/crtn.o  
> -Wl,-soname -Wl,libgcj.so.6 -o .libs/libgcj.so.6.0.0
> /usr/lib/libc_nonshared.a(atexit.oS)(.text+0x38): In function `atexit':
> : relocation truncated to fit: R_MIPS_CALL16 __cxa_atexit@@GLIBC_2.2
> collect2: ld returned 1 exit status
> make[2]: *** [libgcj.la] Error 1
> 
> can be fixed by compiling glibc's atexit with -mxgot

This needs _two_ sets of those objects then, because a link employing
multigot will silently break over xgot objects.

> (at least that's the way mozilla succeeded to build).

Actually, no, mozilla uses the standard gcc/libc objects. It believe it
happens to work because those objects are linked in earlier, so their
GOT entry offset doesn't exceed the limit.


Thiemo



Bug#274738: on mips{,el} atexit.o should be compiled with -mxgot

2004-10-03 Thread Matthias Klose
Package: glibc
Severity: serious
Tags: sid

current mainline libgcj fails to build on mips{,el}:

/home/doko/gcc/gcc-snapshot-20041003/build/gcc/xgcc -shared-libgcc 
-B/home/doko/gcc/gcc-snapshot-20041003/build/gcc/ -nostdinc++ 
-L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src 
-L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src/.libs 
-B/usr/lib/gcc-snapshot/mipsel-linux-gnu/bin/ 
-B/usr/lib/gcc-snapshot/mipsel-linux-gnu/lib/ -isystem 
/usr/lib/gcc-snapshot/mipsel-linux-gnu/include -isystem 
/usr/lib/gcc-snapshot/mipsel-linux-gnu/sys-include -shared -nostdlib /usr/lib/crti.o 
/home/doko/gcc/gcc-snapshot-20041003/build/gcc/crtbeginS.o .libs/libgcj.la-2.o 
-Wl,--whole-archive ../libffi/.libs/libffi_convenience.a 
../boehm-gc/.libs/libgcjgc_convenience.a ./libltdl/.libs/libltdlc.a 
-Wl,--no-whole-archive  
-L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src 
-L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libstdc++-v3/src/.libs 
-L/home/doko/gcc/gcc-snapshot-20041003/build/mipsel-linux-gnu/libjava 
../libffi/.libs/libffi_convenience.a ../boehm-gc/.libs/libgcjgc_convenience.a 
-lpthread ./libltdl/.libs/libltdlc.a -ldl -lz 
-L/home/doko/gcc/gcc-snapshot-20041003/build/gcc -lgcc_s -lc -lgcc_s
/home/doko/gcc/gcc-snapshot-20041003/build/gcc/crtendS.o /usr/lib/crtn.o  -Wl,-soname 
-Wl,libgcj.so.6 -o .libs/libgcj.so.6.0.0
/usr/lib/libc_nonshared.a(atexit.oS)(.text+0x38): In function `atexit':
: relocation truncated to fit: R_MIPS_CALL16 __cxa_atexit@@GLIBC_2.2
collect2: ld returned 1 exit status
make[2]: *** [libgcj.la] Error 1

can be fixed by compiling glibc's atexit with -mxgot (at least that's
the way mozilla succeeded to build).