This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
RE: threads and gc on SPARC/Solaris 2.8
- To: "'Andrew Haley'" <aph at cambridge dot redhat dot com>, java at gcc dot gnu dot org
- Subject: RE: threads and gc on SPARC/Solaris 2.8
- From: "Boehm, Hans" <hans_boehm at hp dot com>
- Date: Wed, 27 Jun 2001 12:32:52 -0700
- Cc: "Hans-J. Boehm" <boehm at acm dot org>
My reading is that in 3.0, GC_clear_stack_inner is not used in the
multithreaded configuration, and it should thus be OK.
The trunk has a bug, as does my version. GC_clear_stack_inner is called,
but not defined for SPARC + threads. It looks to me like removing the /* &&
!defined(THREADS) */ condition in mach_dep.c should fix the problem. I
think that was only a space optimization, which is now no longer correct.
I'll apply that fix to my version, but I'd appreciate it if someone with a
less modified tree could test it and check it in sooner than I will.
This does seem to imply that nobody has built the trunk on SPARC/Solaris for
a few months.
Hans
> -----Original Message-----
> From: Andrew Haley [mailto:aph@cambridge.redhat.com]
> Sent: Wednesday, June 27, 2001 11:55 AM
> To: java@gcc.gnu.org
> Cc: Hans-J. Boehm
> Subject: threads and gc on SPARC/Solaris 2.8
>
>
> In mach_dep.c we have:
>
> #if defined(ASM_CLEAR_CODE) && !defined(THREADS)
> GC_clear_stack_inner:
> ... code to clear the stack.
>
> GC_clear_stack_inner is defined nowhere else, and we depend on it.
> Yet it isn't compiled when THREADS is defined, which it always needs
> to be for Java. However, comments say it is essential. If I compile
> GC_clear_stack_inner and use it with threads, it faults with an
> illegal instruction.
>
> What is going on here? I don't get it. Has anybody made gcj work on
> Sparc/Solaris?
>
> Andrew.
>