From dbba660d3c41b689165c852b880d602ed8d35700 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Thomas=20Cont=C3=A9?= Date: Wed, 6 Oct 1999 21:56:29 +0200 Subject: [PATCH] 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 --- hints/irix_6.sh | 2 ++ perl.h | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) 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 -- 2.7.4