From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3972 invoked by alias); 2 Dec 2012 02:51:10 -0000 Received: (qmail 3951 invoked by uid 22791); 2 Dec 2012 02:51:08 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_SPAMHAUS_DROP,KHOP_THREADED,RCVD_IN_DNSWL_LOW,TW_IB,TW_LR,TW_WG X-Spam-Check-By: sourceware.org Received: from youngberry.canonical.com (HELO youngberry.canonical.com) (91.189.89.112) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 02 Dec 2012 02:51:03 +0000 Received: from dslb-088-073-127-088.pools.arcor-ip.net ([88.73.127.88] helo=[192.168.42.216]) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1Teze1-0003q3-JN; Sun, 02 Dec 2012 02:51:01 +0000 Message-ID: <50BAC20D.5040206@ubuntu.com> Date: Sun, 02 Dec 2012 02:51:00 -0000 From: Matthias Klose User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: GCC Java CC: Bryce McKinlay , Tom Tromey Subject: Re: [Gc] Re: boehm-gc merge for GCC References: <1353097280.505328435@f161.mail.ru> <50A67667.7020600@ubuntu.com> <1353099257.140499471@f123.mail.ru> <50A6EE27.4000605@ubuntu.com> <50ABADE0.9000305@redhat.com> <50B385C5.6010004@ubuntu.com> <50BA6D7D.8020106@ubuntu.com> In-Reply-To: <50BA6D7D.8020106@ubuntu.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact java-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-owner@gcc.gnu.org X-SW-Source: 2012-12/txt/msg00001.txt.bz2 Am 01.12.2012 21:50, schrieb Matthias Klose: > Am 26.11.2012 18:03, schrieb Bryce McKinlay: >> 2012 at 3:07 PM, Matthias Klose wrote: > >>> So if the merge looks that problematic, maybe restart with trunk, maybe >>> check it in as bdwgc, and have toplevel configury to decide which one to use >>> until the update is stable, and then just drop the boehm-gc directory? >> >> >> I'm not sure it's worth making it configure-time switchable. I'd just put it >> on a branch, make sure it's working on the major platforms, and then merge >> to trunk once the GCC tree goes back in to stage 1. > > ok. so I'll use > > - branches/boehm for the import of the bdwgc branch > - branches/gcj/bdwgc-20121125-merge for the merge proposal > > I'll start with what I currently have, and probably leave the libjava build on > the branch broken for some time. At least its stage1 material. Instead I'll > give the classpath merge priority, still considering it worth having for the 4.8 > release. now committed all patches, which I think were ready for commit. an outstanding hack is Index: boehm.cc =================================================================== --- boehm.cc (Revision 194043) +++ boehm.cc (Arbeitskopie) @@ -53,9 +53,24 @@ #ifdef THREAD_LOCAL_ALLOC # define GC_REDIRECT_TO_LOCAL -# include +# if 0 +# include +# else +# if 0 +# define GC_MALLOC(s) GC_LOCAL_MALLOC(s) +# define GC_MALLOC_ATOMIC(s) GC_LOCAL_MALLOC_ATOMIC(s) +# ifdef GC_GCJ_SUPPORT +# undef GC_GCJ_MALLOC +# define GC_GCJ_MALLOC(s,d) GC_LOCAL_GCJ_MALLOC(s,d) +# endif +# endif +# endif #endif + int GC_is_thread_suspended (pthread_t); + void GC_suspend_thread (pthread_t); + void GC_resume_thread (pthread_t); + // From boehm's misc.c void GC_enable(); void GC_disable(); plus, there are a few more undefined references when built from the branch. Most likely some bits locally to GCC and not upstreamed: libtool: link: /home/packages/gcc/svn/build2/./gcc/gcj -B/home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/ -B/home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/ -B/home/packages/gcc/svn/build2/./gcc/ -B/home/packages/gcc/svn/install2/x86_64-linux-gnu/bin/ -B/home/packages/gcc/svn/install2/x86_64-linux-gnu/lib/ -isystem /home/packages/gcc/svn/install2/x86_64-linux-gnu/include -isystem /home/packages/gcc/svn/install2/x86_64-linux-gnu/sys-include -m32 -ffloat-store -fomit-frame-pointer -Usun -g -O2 -m32 -m32 -o .libs/gij -shared-libgcc -L/home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/.libs -L/home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava ./.libs/libgij.so /home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/.libs/libgcj.so -lpthread -ldl -lrt -Wl,-rpath -Wl,/home/packages/gcc/svn/install2/lib/../lib32 -Wl,-rpath -Wl,/home/packages/gcc/svn/install2/lib/../lib32/gcj-4.8.0-14 /home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/.libs/libgcj.so: undefined reference to `GC_pthread_create' /home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/.libs/libgcj.so: undefined reference to `GC_gcj_malloc' /home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/.libs/libgcj.so: undefined reference to `GC_resume_thread' /home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/.libs/libgcj.so: undefined reference to `GC_pthread_sigmask' /home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/.libs/libgcj.so: undefined reference to `GC_gcj_debug_kind' /home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/.libs/libgcj.so: undefined reference to `GC_suspend_thread' /home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/.libs/libgcj.so: undefined reference to `GC_is_thread_suspended' /home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/.libs/libgcj.so: undefined reference to `GC_gcj_kind' /home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/.libs/libgcj.so: undefined reference to `GC_dlopen' /home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/.libs/libgcj.so: undefined reference to `GC_local_malloc_atomic' /home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/.libs/libgcj.so: undefined reference to `GC_local_gcj_malloc' /home/packages/gcc/svn/build2/x86_64-linux-gnu/32/libjava/.libs/libgcj.so: undefined reference to `GC_init_gcj_malloc' collect2: error: ld returned 1 exit status make[5]: *** [gij] Error 1 I'll leave the state of the branch as it is now, focusing on the classpath merge. please feel free to commit fixes to the merge branch including a mail to java-patches. Thanks, Matthias