From 68dccf6f672c1cfed8ca8e5d2fa1ad0b5164c7e8 Mon Sep 17 00:00:00 2001 From: espie Date: Wed, 12 May 2010 07:38:49 +0000 Subject: [PATCH] fixes for gcc4: - obstack.h uses casts as lvalues, fix those - hack standard includes to avoid tons of strlen/malloc warnings (may even fix bootstrap on other things than i386) - remove non-standard assert.h that requires an eprintf in libgcc. - bump pkgname, just in case... verified to work with both gcc3 and gcc4. --- lang/ezm3/Makefile | 5 ++-- ...la3_m3compiler_m3cc_gcc_config_i386_i386_c | 20 ++++++------- ...uage_modula3_m3compiler_m3cc_gcc_configure | 17 +++++++++-- ...uage_modula3_m3compiler_m3cc_gcc_obstack_h | 29 +++++++++++++++++++ 4 files changed, 56 insertions(+), 15 deletions(-) create mode 100644 lang/ezm3/patches/patch-language_modula3_m3compiler_m3cc_gcc_obstack_h diff --git a/lang/ezm3/Makefile b/lang/ezm3/Makefile index cb87e99ed09..574a1d551f2 100644 --- a/lang/ezm3/Makefile +++ b/lang/ezm3/Makefile @@ -1,10 +1,10 @@ -# $OpenBSD: Makefile,v 1.11 2008/09/28 13:55:17 naddy Exp $ +# $OpenBSD: Makefile,v 1.12 2010/05/12 07:38:49 espie Exp $ ONLY_FOR_ARCHS= i386 COMMENT= Modula-3 distribution for building CVSup DISTNAME= ezm3-1.0 -PKGNAME= ${DISTNAME}p1 +PKGNAME= ${DISTNAME}p2 CATEGORIES= lang HOMEPAGE= http://www.cvsup.org/ezm3/ @@ -43,6 +43,7 @@ WRKINST= ${WRKDIST}/binaries/${M3ARCH} post-patch: cp ${FILESDIR}/OpenBSD ${WRKSRC}/m3config/src + rm -f ${WRKSRC}/language/modula3/m3compiler/m3cc/gcc/assert.h do-install: chown -R ${BINOWN}:${BINGRP} ${WRKINST} diff --git a/lang/ezm3/patches/patch-language_modula3_m3compiler_m3cc_gcc_config_i386_i386_c b/lang/ezm3/patches/patch-language_modula3_m3compiler_m3cc_gcc_config_i386_i386_c index bc2cfd06b93..6d9589d1e7f 100644 --- a/lang/ezm3/patches/patch-language_modula3_m3compiler_m3cc_gcc_config_i386_i386_c +++ b/lang/ezm3/patches/patch-language_modula3_m3compiler_m3cc_gcc_config_i386_i386_c @@ -1,6 +1,6 @@ -$OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_config_i386_i386_c,v 1.2 2004/01/04 18:04:28 espie Exp $ ---- language/modula3/m3compiler/m3cc/gcc/config/i386/i386.c.orig 2000-11-24 22:21:19.000000000 +0100 -+++ language/modula3/m3compiler/m3cc/gcc/config/i386/i386.c 2004-01-04 18:27:05.000000000 +0100 +$OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_config_i386_i386_c,v 1.3 2010/05/12 07:38:49 espie Exp $ +--- language/modula3/m3compiler/m3cc/gcc/config/i386/i386.c.orig Fri Nov 24 22:21:19 2000 ++++ language/modula3/m3compiler/m3cc/gcc/config/i386/i386.c Tue May 11 21:08:26 2010 @@ -1785,7 +1785,7 @@ function_prologue (file, size) xops[1] = pic_label_rtx; @@ -43,16 +43,16 @@ $OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_config_i386_i386_c,v 1.2 20 gen_rtx (CONST_INT, Pmode, CODE_LABEL_NUMBER (xops[1])))); } } -@@ -2807,6 +2815,12 @@ print_operand (file, x, code) +@@ -2805,6 +2813,12 @@ print_operand (file, x, code) + case '*': + if (USE_STAR) putc ('*', file); - return; - ++ return; ++ + case '_': +#ifdef YES_UNDERSCORES + putc ('_', file); +#endif -+ return; -+ - case 'L': - PUT_OP_SIZE (code, 'l', file); return; + + case 'L': diff --git a/lang/ezm3/patches/patch-language_modula3_m3compiler_m3cc_gcc_configure b/lang/ezm3/patches/patch-language_modula3_m3compiler_m3cc_gcc_configure index 549d7e8942b..a050b5d581f 100644 --- a/lang/ezm3/patches/patch-language_modula3_m3compiler_m3cc_gcc_configure +++ b/lang/ezm3/patches/patch-language_modula3_m3compiler_m3cc_gcc_configure @@ -1,7 +1,7 @@ -$OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_configure,v 1.2 2003/05/08 01:34:43 naddy Exp $ +$OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_configure,v 1.3 2010/05/12 07:38:49 espie Exp $ --- language/modula3/m3compiler/m3cc/gcc/configure.orig Mon Jan 29 00:56:13 2001 -+++ language/modula3/m3compiler/m3cc/gcc/configure Wed May 7 23:19:10 2003 -@@ -1040,6 +1040,15 @@ for machine in $canon_build $canon_host ++++ language/modula3/m3compiler/m3cc/gcc/configure Wed May 12 09:11:09 2010 +@@ -1040,6 +1040,15 @@ for machine in $canon_build $canon_host $canon_target; fixincludes=Makefile.in xmake_file=i386/x-freebsd ;; @@ -17,3 +17,14 @@ $OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_configure,v 1.2 2003/05/08 i[3456]86-*-netbsdelf*) tm_file=i386/netbsd-elf.h xm_file=i386/xm-netbsd.h +@@ -3017,6 +3026,10 @@ do + echo "#include \"$file\"" >>$link + done + done ++echo "#include " >>config.h ++echo "#include " >>config.h ++echo "#include " >>hconfig.h ++echo "#include " >>hconfig.h + + # Truncate the target if necessary + if [ x$host_truncate_target != x ]; then diff --git a/lang/ezm3/patches/patch-language_modula3_m3compiler_m3cc_gcc_obstack_h b/lang/ezm3/patches/patch-language_modula3_m3compiler_m3cc_gcc_obstack_h new file mode 100644 index 00000000000..89d1e521e45 --- /dev/null +++ b/lang/ezm3/patches/patch-language_modula3_m3compiler_m3cc_gcc_obstack_h @@ -0,0 +1,29 @@ +$OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_obstack_h,v 1.1 2010/05/12 07:38:49 espie Exp $ +--- language/modula3/m3compiler/m3cc/gcc/obstack.h.orig Wed May 12 08:48:25 2010 ++++ language/modula3/m3compiler/m3cc/gcc/obstack.h Wed May 12 08:52:01 2010 +@@ -377,8 +377,10 @@ __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ + _obstack_newchunk (__o, sizeof (void *)); \ +- if (!__o->alloc_failed) \ +- *((void **)__o->next_free)++ = ((void *)datum); \ ++ if (!__o->alloc_failed) { \ ++ *((void **)__o->next_free) = ((void *)datum); \ ++ __o->next_free += sizeof(void *); \ ++ } \ + (void) 0; }) + + #define obstack_int_grow(OBSTACK,datum) \ +@@ -386,8 +388,10 @@ __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + if (__o->next_free + sizeof (int) > __o->chunk_limit) \ + _obstack_newchunk (__o, sizeof (int)); \ +- if (!__o->alloc_failed) \ +- *((int *)__o->next_free)++ = ((int)datum); \ ++ if (!__o->alloc_failed) { \ ++ *((int *)__o->next_free) = ((int)datum); \ ++ __o->next_free += sizeof(int); \ ++ } \ + (void) 0; }) + + #define obstack_ptr_grow_fast(h,aptr) (*((void **) (h)->next_free)++ = (void *)aptr)