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.
This commit is contained in:
espie 2010-05-12 07:38:49 +00:00
parent 60934a5dc6
commit 68dccf6f67
4 changed files with 56 additions and 15 deletions

View File

@ -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}

View File

@ -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':

View File

@ -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 <stdlib.h>" >>config.h
+echo "#include <string.h>" >>config.h
+echo "#include <stdlib.h>" >>hconfig.h
+echo "#include <string.h>" >>hconfig.h
# Truncate the target if necessary
if [ x$host_truncate_target != x ]; then

View File

@ -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)