This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: RFA: libjava seems to miss some files for win32


2009/7/19 Dave Korn <dave.korn.cygwin@googlemail.com>:
> Kai Tietz wrote:
>
>> There are a lot of issues about casting HANDLE values into jint types,
>> which is for x86 valid, but for x64 can lead potential to pointer
>> truncations. Those part need some review by libjava maintainers. My
>> patch simply casts those kind of pointers via __UINTPTR_TYPE__ into
>> integer scalar before casting it into jint. I put comments at those
>> places, where some rework is necessary.
>
> ?Argh. ?You're replacing a bunch of warnings that draw attention to a real
> problem by a bunch of silent fixmes in the code. ?That's a bit scary to me.

Right, therefore those comments are for. But otherwise I couldn't get
it build, as those kind of failures are treated as errors (what is in
fact a good thing).

>> Index: gcc/libjava/gnu/java/net/natPlainSocketImplWin32.cc
>> ===================================================================
>> --- gcc.orig/libjava/gnu/java/net/natPlainSocketImplWin32.cc ?2009-07-19 12:06:54.200476000 +0200
>> +++ gcc/libjava/gnu/java/net/natPlainSocketImplWin32.cc ? ? ? 2009-07-19 12:13:45.727476500 +0200
>> @@ -58,7 +58,8 @@
>>
>> ? ?// We use native_fd in place of fd here. ?From leaving fd null we avoid
>> ? ?// the double close problem in FileDescriptor.finalize.
>> - ?native_fd = (jint) hSocket;
>> + ?// Fixme, it isn't correct to cast a HANDLE to integer scalar here for x64
>> + ?native_fd = (jint) (__UINTPTR_TYPE__) hSocket;
>> ?}
>
>
> ?Question is, can we change the sizes of the members of class objects, such
> as gnu::java::net::PlainSocketImpl::native_fd, or do these objects and their
> layout form part of an ABI, and/or do they ever get serialised? ?The Java guys
> will be able to tell us.
>
> ? ?cheers,
> ? ? ?DaveK

This was the reason, why I didn't changed api here. The final patch I
see here done by the java team, as I have no real idea, if those types
and members are part of abi, here. If it is there are ways to solve
this (e.g. making abstract handle values for OS handles as example).
So it is for sure necessary that a java maintainer takes action here.

Cheers,
Kai

-- 
|  (\_/) This is Bunny. Copy and paste
| (='.'=) Bunny into your signature to help
| (")_(") him gain world domination


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