This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Canadian cross build fails on 64 bits build machine
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: Christophe LYON <christophe dot lyon at st dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 6 Aug 2010 13:53:17 +0000 (UTC)
- Subject: Re: Canadian cross build fails on 64 bits build machine
- References: <4C5C06AE.4070305@st.com>
On Fri, 6 Aug 2010, Christophe LYON wrote:
> From my brief investigation, I think that the problem is due to the fact that
> struct real_value uses the 'long' type for the 'sig' field, while the
> computation of REAL_WIDTH relies on HOST_BITS_PER_WIDE_INT.
No, this is not a problem; it's fine to use long in the representation but
HOST_WIDE_INT when stored in an rtx. The issue appears rather to be with
#define REAL_VALUE_TYPE_SIZE (SIGNIFICAND_BITS + 32)
where with 64-bit long there are going to be 32 bits of padding in this
structure that are not allowed for. Try changing that 32 to
HOST_BITS_PER_LONG.
--
Joseph S. Myers
joseph@codesourcery.com