From: Thomas Conté Date: Wed, 6 Oct 1999 19:56:29 +0000 (+0200) Subject: While awaiting a good test program to detect the broken gcc. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=dbba660d3c41b689165c852b880d602ed8d35700;p=p5sagit%2Fp5-mst-13.2.git While awaiting a good test program to detect the broken gcc. To: Cc: Subject: Re: [ID 19990825.007] test t/lib/ipc_sysv.t failing under irix 6.4 Message-ID: <000a01bf1024$1d938f20$252ad0d4@eng.iway.fr> p4raw-id: //depot/cfgperl@4322 --- diff --git a/hints/irix_6.sh b/hints/irix_6.sh index 2881385..2c14041 100644 --- a/hints/irix_6.sh +++ b/hints/irix_6.sh @@ -130,6 +130,8 @@ malloc_cflags='ccflags="-DSTRICT_ALIGNMENT $ccflags"' ldflags="$ldflags -mabi=64 -L/usr/lib64" lddlflags="$lddlflags -mabi=64" ;; + *) ccflags="$ccflags -DIRIX32_SEMUN_BROKEN_BY_GCC" + ;; esac ;; *) diff --git a/perl.h b/perl.h index 60881c0..e8c9c1e 100644 --- a/perl.h +++ b/perl.h @@ -3154,12 +3154,21 @@ typedef struct am_table_short AMTS; # include # ifndef HAS_UNION_SEMUN /* Provide the union semun. */ union semun { - int val; - struct semid_ds *buf; - unsigned short *array; + int val; + struct semid_ds *buf; + unsigned short *array; }; # endif # ifdef USE_SEMCTL_SEMUN +# ifdef IRIX32_SEMUN_BROKEN_BY_GCC + union gccbug_semun { + int val; + struct semid_ds *buf; + unsigned short *array; + char __dummy[5]; + }; +# define semun gccbug_semun +# endif # define Semctl(id, num, cmd, semun) semctl(id, num, cmd, semun) # else # ifdef USE_SEMCTL_SEMID_DS