gcc-3.1 2002年04月03日 libjava failures on sparc-linux?

Christian Jönsson c.christian.joensson@telia.com
Tue Apr 16 03:31:00 GMT 2002


On Mon, Apr 15, 2002 at 07:58:54PM -0700, Boehm, Hans wrote:
> That stack pointer value doesn't look a lot like GC_stackbottom. Just for
> grins, could you try the attached (completely untested) patch? This makes
> linux/SPARC determine GC_stackbottom in the same way as on other Linux
> platforms, i.e. it first cheats and looks for a private glibc symbol, and
> reads the stack base from /proc if that fails.

I applied it to Hans et als. gc6.1alpha4 sources, it seems to work there.
Here's the output of make test (which used to yield a seg. viol.)
./setjmp_test
This appears to be a SPARC running LINUX
Stack appears to grow down, which is the default.
A good guess for STACKBOTTOM on this machine is 0xe8fff000.
Note that this may vary between machines of ostensibly
the same architecture (e.g. Sun 3/50s and 3/80s).
On many machines the value is not fixed.
A good guess for ALIGNMENT on this machine is 4.
Generic mark_regs code probably wont work
Assembly code supplied
./gctest
Completed 1 tests
Allocated 648421 collectable objects
Allocated 101 uncollectable objects
Allocated 1250000 atomic objects
Allocated 10880 stubborn objects
Finalized 2204/2206 objects - finalization is probably ok
Total number of bytes allocated is 60648304
Final heap size is 4157440 bytes
Collector appears to work
gcc -g -I./include -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DSILENT -DALL_INTERIOR_POINTERS -c -I. ./cord/cordbscs.c
mv cordbscs.o cord/cordbscs.o
gcc -g -I./include -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DSILENT -DALL_INTERIOR_POINTERS -c -I. ./cord/cordxtra.c
mv cordxtra.o cord/cordxtra.o
gcc -g -I./include -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DSILENT -DALL_INTERIOR_POINTERS -c -I. ./cord/cordprnt.c
mv cordprnt.o cord/cordprnt.o
rm -f cord/cordtest
./if_mach SPARC DRSNX gcc -g -I./include -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DSILENT -DALL_INTERIOR_POINTERS -o cord/cordtest ./cord/cordtest.c cord/cordbscs.o cord/cordxtra.o cord/cordprnt.o gc.a -lucb
./if_mach HP_PA HPUX gcc -g -I./include -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DSILENT -DALL_INTERIOR_POINTERS -o cord/cordtest ./cord/cordtest.c cord/cordbscs.o cord/cordxtra.o cord/cordprnt.o gc.a -ldld `./threadlibs`
./if_mach M68K AMIGA gcc -g -I./include -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DSILENT -DALL_INTERIOR_POINTERS -UGC_AMIGA_MAKINGLIB -o cord/cordtest ./cord/cordtest.c cord/cordbscs.o cord/cordxtra.o cord/cordprnt.o gc.a `./threadlibs`
./if_not_there cord/cordtest gcc -g -I./include -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DSILENT -DALL_INTERIOR_POINTERS -o cord/cordtest ./cord/cordtest.c cord/cordbscs.o cord/cordxtra.o cord/cordprnt.o gc.a `./threadlibs`
^^^^Starting command^^^^
cord/cordtest
SUCCEEDED
So Hans, what do we do now? Incorporate your patch into the gcc 3.1 branch
and trunk? Test it first in gc6.1alpha5?
Cheers,
/ChJ


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /