From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8593 invoked by alias); 11 Feb 2003 00:46:00 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 8565 invoked by uid 71); 11 Feb 2003 00:46:00 -0000 Resent-Date: 11 Feb 2003 00:46:00 -0000 Resent-Message-ID: <20030211004600.8563.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, java-prs@gcc.gnu.org, ro@TechFak.Uni-Bielefeld.DE Resent-Reply-To: gcc-gnats@gcc.gnu.org, David.Billinghurst@riotinto.com Received: (qmail 6278 invoked by uid 48); 11 Feb 2003 00:38:29 -0000 Message-Id: <20030211003829.6277.qmail@sources.redhat.com> Date: Tue, 11 Feb 2003 00:46:00 -0000 From: David.Billinghurst@riotinto.com Reply-To: David.Billinghurst@riotinto.com To: gcc-gnats@gcc.gnu.org Cc: ro@TechFak.Uni-Bielefeld.DE X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) X-GNATS-Notify: ro@TechFak.Uni-Bielefeld.DE Subject: libgcj/9652: libjava bootstrap failure on irix6.5.1[78] X-SW-Source: 2003-02/txt/msg00477.txt.bz2 List-Id: >Number: 9652 >Category: libgcj >Synopsis: libjava bootstrap failure on irix6.5.1[78] >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Tue Feb 11 00:46:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: David Billinghurst >Release: 3.2.2/3.3/3.4 >Organization: >Environment: irix6.5.18m >Description: libgcj build fails on irix6.5.1[78] /exd4/billingd/obj/gcc/gcc/xgcc -shared-libgcc -B/exd4/billingd/obj/gcc/gcc/ -nostdinc++ -L/exd4/billingd/obj/gcc/mips-sgi-irix6.5/mabi=64/libstdc++-v3/src -L/exd4/billingd/obj/gcc/mips-sgi-irix6.5/mabi=64/libstdc++-v3/src/.libs -B/exd4/billingd/tmp/gcc/mips-sgi-irix6.5/bin/ -B/exd4/billingd/tmp/gcc/mips-sgi-irix6.5/lib/ -isystem /exd4/billingd/tmp/gcc/mips-sgi-irix6.5/include -mabi=64 -DHAVE_CONFIG_H -I. -I/exd4/billingd/src/gcc/libjava -I./include -I./gcj -I/exd4/billingd/src/gcc/libjava -Iinclude -I/exd4/billingd/src/gcc/libjava/include -I/exd4/billingd/src/gcc/libjava/../boehm-gc/include -DNO_EXECUTE_PERMISSION=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -I/exd4/billingd/src/gcc/libjava/libltdl -I/exd4/billingd/src/gcc/libjava/libltdl -I/exd4/billingd/src/gcc/libjava/.././libjava/../gcc -I/exd4/billingd/src/gcc/libjava/../zlib -I/exd4/billingd/src/gcc/libjava/../libffi! /include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -W -Wall -D_GNU_SOURCE -DPREFIX=\"/exd4/billingd/tmp/gcc\" -g -O2 -mabi=64 -Wp,-MD,.deps/prims.pp -c /exd4/billingd/src/gcc/libjava/prims.cc -DPIC -o .libs/prims.o In file included from /exd4/billingd/src/gcc/libjava/prims.cc:12: include/platform.h: In function `int _Jv_accept(int, sockaddr*, socklen_t*)': include/platform.h:107: error: invalid conversion from `socklen_t*' to `int*' Rainer Orth http://gcc.gnu.org/ml/java/2003-02/msg00038.html wrote: I've tripped over the same problem some time ago, but didn't have time to report or provide a fix. The problem is that IRIX 6.5.17 and 6.5.18 introduced a definition of socklen_t in . libjava assumes that if socklen_t is defined, it can be used e.g. as the type of accept's last arg. This is wrong here, since IRIX provides several different definitions of accept, with differing types: #if _NO_XOPEN4 && _NO_XOPEN5 /* Std BSD4.3/SGI */ extern int accept(int, void *, int *); #if _ABIAPI /* BB3.0 is XPG compliant but can't use hidden names */ extern int accept(int, struct sockaddr *, size_t *); #else /* this is normal XPG */ extern int __xpg4_accept(int, struct sockaddr *, size_t *); So socklen_t should match those, but doesn't, leading to the compilation failure observed. This is a known bug (Bug Id 864477), to be fixed in the upcoming 6.5.19, but not for 6.5.1[78]. I meant to fix the current definition via fixincludes to read like this: /* * socklen_t type definition */ #ifndef _SOCKLEN_T #define _SOCKLEN_T #if _NO_XOPEN4 && _NO_XOPEN5 typedef int socklen_t; #else typedef size_t socklen_t; #endif /* _NO_XOPEN4 && _NO_XOPEN5 */ #endif /*_SOCKLEN_T */ Unfortunately, I haven't found any time to do so. I'll probably wait for 6.5.19 (to be released in a few days) to check their definition to make sure I don't do anything incompatible for 6.5.1[78] and don't break 6.5.19 either. Rainer >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: