This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


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

RFA: [PATCH]: MIPS enhancements to libgcj...


David Daney writes:
 > Greetings,
 > 
 > Here is a much improved version of my libgcj/mips patch.
 > 
 > Build for and tested on mipsisa32el-linux.
 > 
 > For some running the test suite on our hardware is broken again, but I
 > have successfully run several of the key tests manually.  This
 > includes PR218 and SyncTest.
 > 
 > All added features were tested.  Also the gcc-3.3.1 version passes the 
 > entire libjava testsuite (except for a couple of unrelated code 
 > generation problems) for what ever that is worth.
 > 
 > The patch adds can_unwind_signal=yes and backtracing for all
 > mips*-linux platforms.  And enable_hash_synchronization_default=yes
 > for (mipsel*-linux* | mipsisa32el*-linux*).  I think the hash
 > synchronization would work for others as well, but would want someone
 > to test it before enabling it.
 > 
 > The backtrace is implemented in sysdep/dwarf2-backtrace.cc which I
 > think will work for all *-linux* targets.  If someone wants to test
 > this theory, that would be great.

This is very cool.  It'll fix problems on a number of targets.

 > Since I am only an amateur MIPS expert, perhaps someone (a real MIPS
 > expert for example) should look at sysdeps/mips/locks.h
 > 
 > BTW: I now have write after approval in gcc so I can do the checkins now.
 > 
 > David Daney.
 > Index: libjava/ChangeLog
 > ===================================================================
 > RCS file: /cvs/gcc/gcc/libjava/ChangeLog,v
 > retrieving revision 1.2280
 > diff -3 -u -p -r1.2280 ChangeLog
 > --- libjava/ChangeLog	20 Oct 2003 20:14:04 -0000	1.2280
 > +++ libjava/ChangeLog	21 Oct 2003 01:36:41 -0000
 > @@ -1,3 +1,27 @@
 > +2003-10-20  David Daney  <ddaney@avtrex.com)
 > +
 > +	* include/mips-signal.h: New file.
 > +	* sysdep/dwarf2-backtrace.cc: New file.
 > +	* sysdep/mips: New directory.
 > +	* sysdep/mips/locks.h: New file.
 > +	* Makefile.am(extra_cc_files): New, to allow extra c++ files to be
 > +	added to libgcj.
 > +	(extra_cc_source_files): Ditto.
 > +	* configure.in: added --with-broken-dladdr, --with-libgcj-mips-xgot
 > +	(mips*-*-linux*): Use sysdep/dwarf2-backtrace.cc to generate
 > +	backtrace, and include/mips-signal.h as SIGNAL_HANDLER
 > +	(HAVE_DLADDR): Make it depend on setting of --with-broken-dladdr.
 > +	(EXTRA_CC_FILES): New, to support conditional addition of
 > +	sysdep/dwarf2-backtrace.cc.
 > +	* configure.host(mips*-*-linux*): sysdeps_dir=mips,
 > +	can_unwind_signal=yes, use -mxgot if --with-libgcj-mips-xgot set.
 > +	(mipsel*-linux* | mipsisa32el*-linux*): Enable hash synchronization.
 > +	* configure: Regenerated.
 > +	* Makefile.in: Regenerated.
 > +	* include/config.h.in: Regenerated.
 > +	* include/Makefile.in: Regenerated.
 > +	* testsuite/Makefile.in: Regenerated.
 > +	

This is OK.  However, I'm not a MIPS expert either.  Perhaps you do
need to ask one.  But don't let that stop you checking this in.

I agree you do need "memory" clobbers on the barrier instructions, if
"sync" does what I think it does.

Andrew.


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