From: Andrew Haley <aph@redhat.com>
To: java-patches@gcc.gnu.org
Subject: Re: [PATCH,final respin] [4.5 regression] Fix PR42811: java.lang.ExceptionInInitializerError in ecj1 and associated issues.
Date: Sat, 20 Mar 2010 18:17:00 -0000 [thread overview]
Message-ID: <4BA51142.7010504@redhat.com> (raw)
In-Reply-To: <4BA4DFDD.2050802@gmail.com>
On 03/20/2010 02:46 PM, Dave Korn wrote:
>> On 02/20/2010 06:36 PM, Dave Korn wrote:
>
>>> Bootstrapped and tested on i686-pc-cygwin; fixes PR42811 and doesn't cause
>>> any further regressions (there are some preexisting fails that this makes no
>>> difference to). OK for head?
>>
>> A couple of things:
>>
>> 1. Bounce the gc changes off gc@napali
>
> The GC changes have now been accepted upstream. During porting them, I
> developed a testcase, which (by your kind permission) I will submit as a
> separate patch shortly after this round of patches is accepted and checked in.
>
>> 2. Is it really necessary to make the main program depend on a symbol
>> in libgcj-noncore when BC compiling? Can't you make the libgcj
>> itself depend on libgcj-noncore?
>
> It turns out that I can, and I can do it without having to hack libtool or
> do anything else unsuitable (IMO) for stage 3. Bootstrapped, and test results
> posted(*), no regressions.
>
> pr42811-final.diff
> libjava/ChangeLog:
>
> * libjava/configure.ac (DLLTOOL): Call AC_CHECK_TOOL.
> (libgcj_sublib_core_extra_deps): New host-dependent configure var.
> (LIBGCJ_SUBLIB_CORE_EXTRA_DEPS): AC_SUBST it.
> * libjava/configure.host (libgcj_sublib_core_extra_deps): Define
> appropriately on Cygwin and MinGW.
> (libgcj_sublib_core_extra_deps): Add libgcj-noncore-dummy import
> stub library on Cygwin and MinGW.
> * libjava/Makefile.am (LIBJAVA_CORE_EXTRA): Import AC_SUBST'd
> LIBGCJ_SUBLIB_CORE_EXTRA_DEPS if building sublibs, else define empty.
> (libgcj_la_DEPENDENCIES): Use it.
> (DLL_VERSION): New makefile macro.
> (libgcj-noncore-dummy.dll.a): New build rule for dummy import stub
> library.
> (libgcj_noncore_la_LIBADD): Trim superfluous convenience libs.
> (AM_MAKEFLAGS): Add DLLTOOL recursive propagation.
> * libjava/libgcj-noncore-dummy.def: New file.
> * libjava/Makefile.in: Regenerate.
> * libjava/include/Makefile.in: Likewise.
> * libjava/testsuite/Makefile.in: Likewise.
> * libjava/configure: Likewise.
> * libjava/gcj/Makefile.in: Likewise.
>
> pr42811-uninit-mem-fix.diff:
> libjava/ChangeLog:
>
> * jvmti.cc (_Jv_GetJVMTIEnv): Avoid use of uninitialised memory.
>
> pr42811-boehm-gc-fixes.diff:
> boehm-gc/ChangeLog:
>
> * include/private/gc_priv.h (struct roots) [CYGWIN32]: Don't
> declare r_next member on Cygwin as on other windows hosts.
> (LOG_RT_SIZE) [CYGWIN32]: Don't define likewise.
> (RT_SIZE) [CYGWIN32]: Likewise.
> (struct _GC_arrays) [CYGWIN32]: Do declare _heap_bases[] member
> likewise.
> (GC_heap_bases) [CYGWIN32]: Do define likewise.
> (struct _SYSTEM_INFO) [CYGWIN32]: Do forward-declare likewise.
> (GC_sysinfo) [CYGWIN32]: Do declare extern likewise.
> (GC_n_heap_bases) [CYGWIN32]: Likewise.
> (GC_is_tmp_root) [CYGWIN32]: Do prototype likewise.
> * include/private/gcconfig.h (GC_win32_get_mem) [CYGWIN32]: Likewise.
> (GET_MEM) [CYGWIN32]: Do define likewise.
> * boehm-gc/ptr_chck.c (GC_is_visible) [CYGWIN32]: Do handle dynamic
> registration likewise.
> * boehm-gc/os_dep.c (GC_setpagesize) [CYGWIN32]: Do define likewise.
> (GC_no_win32_dlls) [CYGWIN32]: Define as constant false, unlike
> other windows hosts.
> (GC_sysinfo) [CYGWIN32]: Define as on other windows hosts.
> (GC_n_heap_bases) [CYGWIN32]: Likewise.
> (GLOBAL_ALLOC_TEST) [CYGWIN32]: Likewise.
> (GC_win32_get_mem) [CYGWIN32]: Likewise, but wrapping GC_unix_get_mem
> rather than GlobalAlloc/VirtualAlloc.
> (GC_win32_free_heap) [CYGWIN32]: Likewise, but wrapping free instead
> of GlobalFree (even though the function body is optimised away).
> * boehm-gc/mark_rts.c (add_roots_to_index) [CYGWIN32]: Define as on
> other windows hosts.
> (GC_add_roots_inner) [CYGWIN32]: Avoid overlapping or adjacent
> intervals likewise.
> (GC_clear_roots) [CYGWIN32]: Clear GC_root_index[] likewise.
> (GC_rebuild_root_index) [CYGWIN32]: Define as on other windows hosts.
> (GC_remove_tmp_roots) [CYGWIN32]: Call it likewise.
> (GC_remove_roots) [CYGWIN32]: Don't define, as on other windows hosts.
> (GC_is_tmp_root) [CYGWIN32]: Define, as on other windows hosts.
> (GC_cond_register_dynamic_libraries) [CYGWIN32]: Handle temporary
> roots and dynamic registration likewise.
> * boehm-gc/dyn_load.c (GC_has_static_roots) [CYGWIN32]: Define as on
> other windows hosts.
> (GC_register_has_static_roots_callback) [CYGWIN32]: Likewise.
> (GC_cond_add_roots) [CYGWIN32]: Likewise.
> (GC_register_main_static_data) [CYGWIN32]: Define to always return
> false, as on MSWINCE
> (HAVE_REGISTER_MAIN_STATIC_DATA) [CYGWIN32]: Define as on other
> windows hosts.
> (GC_warn_fb) [CYGWIN32]: Likewise.
> (GC_disallow_ignore_fb) [CYGWIN32]: Likewise.
> (GC_ignore_fb_mb) [CYGWIN32]: Likewise.
> (GC_ignore_fb) [CYGWIN32]: Likewise.
> (is_frame_buffer) [CYGWIN32]: Likewise.
> (GC_dump_meminfo) [CYGWIN32]: Likewise.
> (GC_wnt) [CYGWIN32]: Define to constant true.
> (GC_register_dynamic_libraries) [CYGWIN32]: Define as on other
> windows hosts.
>
> OK for HEAD?
OK, thanks.
Andrew.
prev parent reply other threads:[~2010-03-20 18:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-20 18:18 [PATCH] " Dave Korn
2010-02-22 10:12 ` Andrew Haley
2010-02-22 16:49 ` Dave Korn
2010-03-19 15:55 ` Dave Korn
2010-03-20 14:29 ` [PATCH,final respin] " Dave Korn
2010-03-20 18:17 ` Andrew Haley [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BA51142.7010504@redhat.com \
--to=aph@redhat.com \
--cc=java-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).