This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
re: long longlong in libffi (powerpc)
- From: Andreas Tobler <toa at pop dot agri dot ch>
- To: Andrew Haley <aph at redhat dot com>
- Cc: green at redhat dot com,java at gcc dot gnu dot org
- Date: Tue, 21 Jan 2003 12:57:51 +0100
- Subject: re: long longlong in libffi (powerpc)
-- Original Message --
>Please try to figure out if this is returning the wrong answer, and if
>so why. It could be s shell bug.
Well, in my first mail with this topic I stated:
My system claims long as 4 byte and longlong as 8 bytes.
>From the config.status of libffi.
${ac_dA}SIZEOF_LONG${ac_dB}SIZEOF_LONG${ac_dC}4${ac_dD}
${ac_dA}SIZEOF_LONG_LONG${ac_dB}SIZEOF_LONG_LONG${ac_dC}8${ac_dD}
from fficonfig.h: (in objdir, the configured one)
/* The number of bytes in a long. */
#define SIZEOF_LONG 4
/* The number of bytes in a long long. */
#define SIZEOF_LONG_LONG 8
So I assume this check should be ok.
What I'm confused about is the fact that I override the definition of ulong
if SIZEOF_LONG == 4
#define UINT32 unsigned long
#define SINT32 long
#define ffi_type_ulong ffi_type_uint32
#define ffi_type_slong ffi_type_sint32
with this one:
#if SIZEOF_LONG_LONG == 8
#define UINT64 unsigned long long
#define SINT64 long long
#define ffi_type_ulong ffi_type_uint64
#define ffi_type_slong ffi_type_sint64
Now ffi_type_ulong is 64bit long?
Anyway, I thought this would be the cause for my failure I'm investigating.
But the longer I think the more I have the feeling that it isn't.
On powerpc linux the InvokeReturn passes while on darwin it doesn't. So
my 'theory' is no longer valid :(
I continue.
Thanks,
Andreas