delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/05/07/19:58:22

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-MimeOLE: Produced By Microsoft Exchange V6.0.5762.3
content-class: urn:content-classes:message
MIME-Version: 1.0
Subject: RE: Object alignment, was: cygwin failures - assertion "!(addr & FLAGS)" failed:
Date: Wed, 8 May 2002 09:37:49 +1000
Message-ID: <FAC87D7C874EAB46A847604DA4FD5A64034712@crtsmail.corp.riotinto.org>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
From: "Billinghurst, David (CRTS)" <David DOT Billinghurst AT riotinto DOT com>
To: <java AT gcc DOT gnu DOT org>, <cygwin AT cygwin DOT com>
X-OriginalArrivalTime: 07 May 2002 23:39:57.0189 (UTC) FILETIME=[7EEC5B50:01C1F620]
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id g47NwLB32761

After rebuilding binutils with 16-byte alignment
 - the first libjava testsuite executable ran
 - another dejagnu problem killed the testsuite 

So this approach is promising, but will need to do some
more dejagnu hacking :-< 


-----Original Message-----
From: Tom Tromey [mailto:tromey AT redhat DOT com]
Sent: Monday, 6 May 2002 10:24 
To: Billinghurst, David (CRTS)
Cc: java AT gcc DOT gnu DOT org; cygwin AT cygwin DOT com
Subject: Re: Object alignment, was: cygwin failures - assertion "!(addr
& FLAGS)" failed:


>>>>> "David" == Billinghurst, David (CRTS) <David DOT Billinghurst AT riotinto DOT com> writes:

David> So we need objects to be 8-byte aligned so that the low three
David> bits of the address are 0?  Are there any ways around this, as
David> I don't think that this is the default on cygwin.

For libgcj this decision is made either by the GC (for dynamically
allocated objects) or the compiler (for statically allocated objects).

The GC should already be doing this.

The compiler might not, but that is something that, in theory, we can
fix entirely in gcj by setting the required alignment correctly.
Unless...

David>  - it is necessary to rebuild ld to ensure 8-byte alignment

... there is some problem getting ld to do this even when gcj sets the
alignment correctly on the type.

It looks like the alignment is in fact set correctly in gcj:

  /* Hash synchronization requires at least 64-bit alignment. */
  if (flag_hash_synchronization && POINTER_SIZE < 64)
    DECL_ALIGN (decl) = 64; 

Tom

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019