public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: libgcj/3694: natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1
@ 2001-08-01 10:57 ro
0 siblings, 0 replies; 6+ messages in thread
From: ro @ 2001-08-01 10:57 UTC (permalink / raw)
To: ake, gcc-bugs, gcc-prs, java-prs, ro
Synopsis: natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1
State-Changed-From-To: analyzed->closed
State-Changed-By: ro
State-Changed-When: Wed Aug 1 10:57:59 2001
State-Changed-Why:
Fixed for 3.0.1:
http://gcc.gnu.org/ml/java-patches/2001-q3/msg00181.html
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=3694&database=gcc
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libgcj/3694: natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1
@ 2001-07-27 6:16 Rainer Orth
0 siblings, 0 replies; 6+ messages in thread
From: Rainer Orth @ 2001-07-27 6:16 UTC (permalink / raw)
To: ro; +Cc: gcc-prs
The following reply was made to PR libgcj/3694; it has been noted by GNATS.
From: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
To: tromey@redhat.com
Cc: ake@purdue.edu, gcc-gnats@gcc.gnu.org, java-prs@gcc.gnu.org
Subject: Re: libgcj/3694: natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1
Date: Fri, 27 Jul 2001 15:09:03 +0200 (MEST)
Tom Tromey writes:
> >>>>> "Rainer" == ro <ro@gcc.gnu.org> writes:
>
> Rainer> I don't know what to do about the mreq6 problem, since I
> Rainer> don't have any V5.0/V5.0A machine. But I recall that while
> Rainer> IPv6 was first introduced in V5.1, V5.0 had some of the types etc.
> Rainer> mandated by the IPv6 extensions to the socket api.
>
> Is there some easy way we can detect this?
> If we can detect the problem in configure (preferably without
> referring to the host type) then we can simply disable IPv6.
I happend to have a V5.0 CD lying around, and found what's going on: while
<netinet/in.h> (really: <netinet/in6.h> has a definition of struct
sockaddr_in6 on V5.0 (although V5.1 was the first release to support IPv6
in the kernel, unless one used some IPv6 early access kit), which triggers
the definition of HAVE_INET6 by configure.in, it lacks any definition of
struct ipv6_mreq, which is protected by HAVE_INET6 in
java/net/natPlainDatagramSocketImpl.cc.
I think the obvious patch is to replace this by a test for
HAVE_STRUCT_IPV6_MREQ in configure.in and using the result instead. The
other instances of HAVE_INET6 only seem to use struct sockaddr_in6 and thus
should be save; it's probably best to leave them as is, to allow for either
the IPv6 EAK or running V5.0 binaries on V5.1 with IPv6 support enabled.
I'll post a patch together with a fix for the socklen_t/accept problem once
I've tested that part, but cannot check if the mreq6 problem is really
fixed since I don't run V5.0 here.
Rainer
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University
Email: ro@TechFak.Uni-Bielefeld.DE
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libgcj/3694: natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1
@ 2001-07-26 15:46 Tom Tromey
0 siblings, 0 replies; 6+ messages in thread
From: Tom Tromey @ 2001-07-26 15:46 UTC (permalink / raw)
To: ro; +Cc: gcc-prs
The following reply was made to PR libgcj/3694; it has been noted by GNATS.
From: Tom Tromey <tromey@redhat.com>
To: ro@gcc.gnu.org
Cc: ake@purdue.edu, gcc-gnats@gcc.gnu.org, java-prs@gcc.gnu.org
Subject: Re: libgcj/3694: natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1
Date: 26 Jul 2001 17:03:26 -0600
>>>>> "Rainer" == ro <ro@gcc.gnu.org> writes:
Rainer> I don't know what to do about the mreq6 problem, since I
Rainer> don't have any V5.0/V5.0A machine. But I recall that while
Rainer> IPv6 was first introduced in V5.1, V5.0 had some of the types etc.
Rainer> mandated by the IPv6 extensions to the socket api.
Is there some easy way we can detect this?
If we can detect the problem in configure (preferably without
referring to the host type) then we can simply disable IPv6.
Tom
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libgcj/3694: natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1
@ 2001-07-26 12:00 ro
0 siblings, 0 replies; 6+ messages in thread
From: ro @ 2001-07-26 12:00 UTC (permalink / raw)
To: ake, gcc-bugs, gcc-prs, java-prs, nobody, ro
Synopsis: natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1
Responsible-Changed-From-To: unassigned->ro
Responsible-Changed-By: ro
Responsible-Changed-When: Thu Jul 26 12:00:36 2001
Responsible-Changed-Why:
Mine.
State-Changed-From-To: open->analyzed
State-Changed-By: ro
State-Changed-When: Thu Jul 26 12:00:36 2001
State-Changed-Why:
The socklen_t problem also exists on Tru64 UNIX V4.0F with
patch kit 2, but not with patch kit 4, and is also fixed
on V5.1. I on V4.0F with patch kit 4, the definition of
socklen_t is conditional on the definition of _POSIX_PII_SOCKETS,
the same feature test macro used to select either the new
(posix-style with socklen_t) or old (with size_t) declarations
of various socket functions. If a similar patch exists for
V5.0 and V5.0A, this could be used as a workaround.
I tried to define _POSIX_PII_SOCKETS myself in java/net/natPlainDatagramSocketImpl.cc
and java/net/natPlainSocketImpl.cc, but this triggers a different
problem: with this macro defined, accept is changed into
a three-argument macro, conflicting with the one-argument
accept in java/net/PlainSocketImpl.h (from PlainSocketImpl.java).
We cannot work around this by replacing accept by e.g. _accept,
since this accept method is part of the public interface.
Ideas?
I don't know what to do about the mreq6 problem, since I
don't have any V5.0/V5.0A machine. But I recall that while
IPv6 was first introduced in V5.1, V5.0 had some of the types etc.
mandated by the IPv6 extensions to the socket api.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=3694&database=gcc
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libgcj/3694: natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1
@ 2001-07-18 9:46 Tom Tromey
0 siblings, 0 replies; 6+ messages in thread
From: Tom Tromey @ 2001-07-18 9:46 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR libgcj/3694; it has been noted by GNATS.
From: Tom Tromey <tromey@redhat.com>
To: ake@purdue.edu
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: libgcj/3694: natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1
Date: 18 Jul 2001 11:07:25 -0600
>>>>> "Antonio" == ake <ake@purdue.edu> writes:
I looked at this PR a little bit.
Antonio> ../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:162: field
Antonio> `mreq6' has incomplete type
This looks like our test for IPv6 is flawed.
I don't currently have access to an OSF machine, so I can't really
find out what more we need to check.
Antonio> ../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:230: cannot
Antonio> convert `socklen_t*' to `int*' for argument `3' to `int getsockname(int,
Antonio> sockaddr*, int*)'
This is interesting. This means that your OS has socklen_t but
doesn't actually use it in function prototypes. That's bad. Is there
some way to request that OSF use socklen_t in prototypes? Sometimes
an OS will have some #define that can be enabled to do things like
this.
Tom
^ permalink raw reply [flat|nested] 6+ messages in thread
* libgcj/3694: natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1
@ 2001-07-15 21:56 ake
0 siblings, 0 replies; 6+ messages in thread
From: ake @ 2001-07-15 21:56 UTC (permalink / raw)
To: gcc-gnats
>Number: 3694
>Category: libgcj
>Synopsis: natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: support
>Submitter-Id: net
>Arrival-Date: Sun Jul 15 21:56:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Antonio AKe
>Release: gcc snapshot 20010702
>Organization:
>Environment:
ALPHA OSF1 V5.0 910
>Description:
Message error when is compiling atPlainDatagramSocketImpl.cc
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:162: field
`mreq6' has incomplete type
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc: In member
function `virtual void java::net::PlainDatagramSocketImpl::bind(__java_int,
java::net::InetAddress*)':
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:230: cannot
convert `socklen_t*' to `int*' for argument `3' to `int getsockname(int,
sockaddr*, int*)'
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc: In member
function `virtual jint
java::net::PlainDatagramSocketImpl::peek(java::net::InetAddress*)':
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:249: cannot
convert `socklen_t*' to `int*' for argument `6' to `int recvfrom(int, void*,
int, int, sockaddr*, int*)'
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc: In member
function `virtual void
java::net::PlainDatagramSocketImpl::receive(java::net::DatagramPacket*)':
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:343: cannot
convert `socklen_t*' to `int*' for argument `6' to `int recvfrom(int, void*,
int, int, sockaddr*, int*)'
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc: In member
function `virtual jint java::net::PlainDatagramSocketImpl::getTimeToLive()':
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:394: cannot
convert `socklen_t*' to `int*' for argument `5' to `int getsockopt(int, int,
int, void*, int*)'
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc: In member
function `void
java::net::PlainDatagramSocketImpl::mcastGrp(java::net::InetAddress*,
__java_boolean)':
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:430: `IPV6_
ADD_MEMBERSHIP'
undeclared (first use this function)
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:430: (Each
undeclared identifier is reported only once for each function it appears
in.)
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:430: `IPV6_
DROP_MEMBERSHIP'
undeclared (first use this function)
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:431: `union
McastReq' has no member named `mreq6'
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:434: `union
McastReq' has no member named `mreq6'
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:435: `sizeo
f'
applied to incomplete type `ipv6_mreq'
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:436: `union
McastReq' has no member named `mreq6'
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:409: warnin
g: `
int opname' might be used uninitialized in this function
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:410: warnin
g: `
const char*ptr' might be used uninitialized in this function
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc: In member
function `virtual void
java::net::PlainDatagramSocketImpl::setOption(__java_int,
java::lang::Object*)':
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:529: `IPV6_
MULTICAST_IF'
undeclared (first use this function)
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:511: warnin
g: `
int opname' might be used uninitialized in this function
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc: In member
function `virtual java::lang::Object*
java::net::PlainDatagramSocketImpl::getOption(__java_int)':
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:578: cannot
convert `socklen_t*' to `int*' for argument `5' to `int getsockopt(int, int,
int, void*, int*)'
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:592: cannot
convert `socklen_t*' to `int*' for argument `3' to `int getsockname(int,
sockaddr*, int*)'
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:615: cannot
convert `socklen_t*' to `int*' for argument `5' to `int getsockopt(int, int,
int, void*, int*)'
../../../gcc-20010702/libjava/java/net/natPlainDatagramSocketImpl.cc:631: cannot
convert `socklen_t*' to `int*' for argument `5' to `int getsockopt(int, int,
int, void*, int*)'
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2001-08-01 10:57 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-01 10:57 libgcj/3694: natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1 ro
-- strict thread matches above, loose matches on Subject: below --
2001-07-27 6:16 Rainer Orth
2001-07-26 15:46 Tom Tromey
2001-07-26 12:00 ro
2001-07-18 9:46 Tom Tromey
2001-07-15 21:56 ake
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).