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]

RE: [patch] use of atomic builtins for arm-linux-eabi in boehm-gc


> From:  Matthias Klose
> 
> On 09.12.2009 11:16, Richard Earnshaw wrote:
> >> Current trunk fails to build on arm-linux-gnueabi in 
> boehm-gc, when 
> >> configured
> >> --with-mode=thumb:
> >>
> >> /tmp/ccVpqOWm.s: Assembler messages:
> >> /tmp/ccVpqOWm.s:1160: Error: selected processor does not 
> support `swp 
> >> r3,r3,[r2]'
> >> /tmp/ccVpqOWm.s:2472: Error: selected processor does not 
> support `swp 
> >> r3,r3,[r2]'
> >> /tmp/ccVpqOWm.s:3232: Error: selected processor does not 
> support `swp 
> >> r3,r3,[r2]'
> >> make[5]: *** [alloc.lo] Error 1
> >>
> >> arm-linux-gnueabi now provides the atomic builtins; use them 
> >> unconditionally (as libjava does).
> >>
> >> Ok for the trunk, if testing succeeds? The build on trunk 
> configured 
> >> with --with-mode=thumb fails for other reasons (PR42093), 
> currently 
> >> testing the patch for the 4.4 branch.
> > 2009-12-09  Matthias Klose<doko@ubuntu.com>
> >
> > 	* include/private/gc_locks.h: For __ARM_EABI__ define
> > 	GC_test_and_set  GC_clear to use the atomic builtins.
> >
> > OK for trunk once testing is complete.
> 
> a test build did suceed without regressions. now that the 
> _sync_synchronise fix is backported to the 4.4 branch, ok to 
> commit to 4.4 branch as well?
> 
> > Please also notify the upstream maintainer of boehm-gc, or 
> this patch 
> > may get lost in a future merge.
> 
> forwarded to Hans Boehm.
> 
>    Matthias
> 
Thanks for forwarding.

Since the upstream version now uses libatomic_ops, this code doesn't really exist there anymore.

If anyone wants to double check that the code there makes sense, you can find the gcc/arm dependent code in http://bdwgc.cvs.sourceforge.net/viewvc/bdwgc/bdwgc/libatomic_ops/src/atomic_ops/sysdeps/gcc/arm.h?revision=1.1&view=markup

My long term plan is to convert all of this to C++0x/C1x atomics, once those are sufficiently supported.

Hans


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