This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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







Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]