This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/18459] [4.0 Regression] gcj no longer works on win32
- From: "dannysmith at users dot sourceforge dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Nov 2004 20:18:24 -0000
- Subject: [Bug target/18459] [4.0 Regression] gcj no longer works on win32
- References: <20041113044458.18459.ovidr@users.sourceforge.net>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From dannysmith at users dot sourceforge dot net 2004-11-13 20:18 -------
This excerpt from java/class.c appears relavant:
void
emit_register_classes (tree *list_p)
{
if (registered_class == NULL)
return;
/* ??? This isn't quite the correct test. We also have to know
that the target is using gcc's crtbegin/crtend objects rather
than the ones that come with the operating system. */
if (SUPPORTS_WEAK && targetm.have_named_sections)
{
#ifdef JCR_SECTION_NAME
tree t;
named_section_flags (JCR_SECTION_NAME, SECTION_WRITE);
assemble_align (POINTER_SIZE);
for (t = registered_class; t; t = TREE_CHAIN (t))
assemble_integer (XEXP (DECL_RTL (t), 0),
POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
#else
abort ();
#endif
mingw doesn't currently use crtbegin.o/crtend.o -- nor any other mechanism to
init __JCR_LIST__.
I am currently testing a patch (in conjunction with DW2 EH frame support) for
this but will need about 2-3 days to go through a full bootstrap/reg-test cycle.
A safer option at this stage may be add another condition to disable for
cygwin/mingw
Danny
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |dannysmith at users dot
| |sourceforge dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18459