Remove ezm3. It's only purpose was to provide a minimal Modula-3

system for cvsup, and it won't survive the 5.3->5.4 API changes
anyway.  ok sthen@
This commit is contained in:
naddy 2013-03-18 20:01:14 +00:00
parent 8c0693604b
commit 4db810c975
24 changed files with 1 additions and 2546 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.148 2013/03/08 11:35:15 pascal Exp $
# $OpenBSD: Makefile,v 1.149 2013/03/18 20:01:14 naddy Exp $
SUBDIR =
SUBDIR += STk
@ -19,7 +19,6 @@
SUBDIR += erlang
SUBDIR += expect
SUBDIR += expect,no_tk
SUBDIR += ezm3
SUBDIR += feldspar
SUBDIR += fpc
SUBDIR += freehdl

View File

@ -1,54 +0,0 @@
# $OpenBSD: Makefile,v 1.16 2013/03/11 11:20:27 espie Exp $
ONLY_FOR_ARCHS= i386
COMMENT= Modula-3 distribution for building CVSup
DISTNAME= ezm3-1.0
REVISION= 2
CATEGORIES= lang
HOMEPAGE= http://www.cvsup.org/ezm3/
PERMIT_PACKAGE_CDROM= Yes
WANTLIB= c m
MASTER_SITES= ftp://ftp.FreeBSD.org/pub/FreeBSD/ \
ftp://ftp.se.FreeBSD.org/pub/FreeBSD/ \
ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/ \
ftp://ftp.uk.FreeBSD.org/pub/FreeBSD/ \
ftp://ftp.ru.FreeBSD.org/pub/FreeBSD/
MASTER_SITES:= ${MASTER_SITES:=development/CVSup/ezm3/}
MASTER_SITES0= http://sites.inka.de/~mips/unix/distfiles/
DISTFILES= ${DISTNAME}b-${M3ARCH}-boot.tar.bz2:0 \
${DISTNAME}-src.tar.bz2
# Ezm3 provides full X11 GUI support even when compiled on systems
# which do not have X11 installed.
USE_GMAKE= Yes
USE_GROFF = Yes
ALL_TARGET= exportall
M3ARCH= OpenBSD_386
M3OPTIONS= -DPREFIX=${PREFIX} -DX11BASE=${X11BASE}/lib \
-DBUILD_ALL -DSHIP_ALL
M3WORDSIZE= 32
MAKE_FLAGS= M3OPTIONS="${M3OPTIONS}"
SUBST_VARS= M3ARCH M3WORDSIZE
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}
cd ${PREFIX} && \
strip bin/m3build bin/m3bundle bin/m3ship lib/m3/${M3ARCH}/m3cgc1
${INSTALL_DATA_DIR} ${PREFIX}/share/ezm3
${INSTALL_DATA} ${WRKSRC}/src/COPYRIGHT ${PREFIX}/share/ezm3
NO_TEST= Yes
.include <bsd.port.mk>

View File

@ -1,10 +0,0 @@
MD5 (ezm3-1.0-src.tar.bz2) = f4X2nkILAKUUgdrZL363SQ==
MD5 (ezm3-1.0b-OpenBSD_386-boot.tar.bz2) = UrYWI/SufOe9QtNz6GZWJw==
RMD160 (ezm3-1.0-src.tar.bz2) = QggvIb3mYHMeL56PHAgAfsi5XTE=
RMD160 (ezm3-1.0b-OpenBSD_386-boot.tar.bz2) = aETnNY7DxfBneru7ySP5r1oblkE=
SHA1 (ezm3-1.0-src.tar.bz2) = 6pRD9txQObRx+x2lVNlU8Y70TSA=
SHA1 (ezm3-1.0b-OpenBSD_386-boot.tar.bz2) = xLv9HEiDH5HO+GwsRZUxNlbFk48=
SHA256 (ezm3-1.0-src.tar.bz2) = P1l3hKNqV/LGhbWAXlehmOL0JN3+OIVQ4SeL33r/5ik=
SHA256 (ezm3-1.0b-OpenBSD_386-boot.tar.bz2) = 9hnDnT4MnjOmpWhC8OxpHBnu9AGP1/6tQ6k6NMutIbo=
SIZE (ezm3-1.0-src.tar.bz2) = 6128550
SIZE (ezm3-1.0b-OpenBSD_386-boot.tar.bz2) = 1287753

View File

@ -1,67 +0,0 @@
% $OpenBSD: OpenBSD,v 1.1.1.1 2002/02/23 12:30:21 naddy Exp $
%
% Common code to all OpenBSD configurations
%
% Let the user override INSTALL_ROOT/X11ROOT
if not defined("PREFIX")
PREFIX = "/usr/local"
end
if not defined("X11BASE")
X11BASE = "/usr/X11R6"
end
if not defined("SL")
SL = "/"
end
INSTALL_ROOT = PREFIX
X11ROOT = X11BASE & SL & "lib"
PLATFORM_SUPPORTS_MOTIF = ""
INSTALL_IMPLS = ""
SKIP_M3GDB = "T"
SKIP_GNUEMACS = "T"
BOPT_FLAG = "-O2"
BPIC_FLAG = ["-O2", "-fPIC"]
CC = ["cc","-c"]
GNU_CC = "cc"
GNU_CFLAGS = []
LINK = ["cc"]
MAKELIB = [ "ar", "cru" ]
MAKESHLIB = ["cc","-shared", "-fPIC"]
M3CC_MAKE = ["gmake", "BISON=yacc"]
OPT_FLAG = "-O2"
RANLIB = ["ranlib"]
RPATH_FLAG = "-R"
RPATH_prefix = ""
RPATH_LIB_USE_ONLY = "T"
% OpenBSD/a.out requires a major and minor version number on each shared
% library. Don't try to derive these from the PM3 version number. That
% approach does not work out well in practice.
SHLIB_VERSION = "0.1"
proc m3_make_shared_lib (lib, objects, imported_libs) is
local lib_sox = format ("lib%s.so.%s", lib, SHLIB_VERSION)
local cmd = [MAKESHLIB_CMD, "-o", lib_sox, objects]
if VERBOSE write(cmd, CR) end
return exec(cmd)
end
proc m3_note_shlib(lib) is
if Options{"shared_lib"}[0] and PLATFORM_SUPPORTS_SHARED_LIB
local lib_sox = format ("lib%s.so.%s", lib, SHLIB_VERSION)
if defined ("_all")
install_derived(lib_sox)
install_link(lib_sox,
LIB_TO_PKG_USE & SL & PACKAGE & SL & BUILD_DIR, LIB_INSTALL)
end
deriveds (lib_sox, [""])
end
end
setDefault("","")

View File

@ -1,338 +0,0 @@
$OpenBSD: patch-language_modula3_m3compiler_m3bootstrap_src_m3makefile,v 1.1 2003/05/08 01:34:43 naddy Exp $
--- language/modula3/m3compiler/m3bootstrap/src/m3makefile.orig Thu May 8 01:58:01 2003
+++ language/modula3/m3compiler/m3bootstrap/src/m3makefile Thu May 8 01:58:04 2003
@@ -0,0 +1,334 @@
+%
+% Build a specific package, residing in dir, for target
+
+readonly proc BootstrapPkg(dir,pkg,target,host) is
+ local ret = 0
+
+ % Create a directory for the package e.g. boot-LINUXELF/m3core
+
+ local targetPkg = "ezm3-" & target & SL & "boot-" & target & SL & pkg
+ ret = exec(["mkdir", targetPkg])
+
+ % Create a soft link to the source in the real package
+
+ ret = exec(["ln", "-s", ".." & SL & ".." & SL & ".." & SL & dir & SL & pkg &
+ SL & "src", "."], [], targetPkg)
+
+ % Issue the m3build command for the package
+
+ write("---------- Building " & pkg & " ----------" & CR)
+ ret = exec([BIN_USE & SL & "m3build", "-b", target,
+ "-T", ".." & SL & ".." & SL & ".." & SL &
+ ".." & SL & ".." & SL & ".." & SL &
+ ".." & SL & ".." & SL & ".." & SL &
+ "m3config" & SL & "src" ,
+ "-F", ".." & SL & ".." & SL & ".." & SL & "config.tmpl" ],
+ [], targetPkg)
+ if not equal(ret, 0) error (BIN_USE & SL & "m3build failed for " & pkg &
+ " in " & target & CR) end
+
+ >> "ezm3-" & target & SL & "config.tmpl" in
+ write("override(\"" & pkg & "\",\".." & SL & "..\")" & CR)
+ end
+end
+
+%
+% Remove the links to the real source directory
+
+readonly proc CleanPkg(pkg,target) is
+ local ret = 0
+ ret = exec(["rm", "ezm3-" & target & SL & "boot-" & target & SL & pkg & SL &
+ "src"])
+end
+
+%
+% Write the command to "make" one package
+
+readonly proc WriteMakefileLine(pkg,target,options) is
+ % In a makefile, only real / may work
+ write("\tcd boot-" & target & "/" & pkg & "/" & target &
+ "; ${MAKE} -f make.boot " & options, CR)
+
+end
+
+%
+% Write the global bootstrap makefile
+
+readonly proc CreateMakefile(file,target,header,options) is
+ local exportrpath = "-DEXPORTRPATH=binaries/" & target
+
+ if equal(target,"NT386GNU")
+ exportrpath = "-DEXPORTRPATH=binaries\\\\" & target
+ end
+
+ > file in
+ write(header,CR,CR)
+
+ write("all: boot packages", CR, CR)
+
+ write("exportall: boot exportpackages", CR, CR)
+
+ write("packages:", CR)
+ write("\tboot-" & target & "/" & "m3build" & "/" & target & "/" &
+ "m3build -T ../m3config/src -DBOOTSTRAP=TRUE",
+ " ${M3OPTIONS}",CR, CR)
+
+ write("exportpackages:", CR)
+ write("\tboot-" & target & "/" & "m3build" & "/" & target & "/" &
+ "m3build -T ../m3config/src -DBOOTSTRAP=TRUE " &
+ "${M3OPTIONS} ",exportrpath, CR, CR)
+
+ write("clean: pkg-clean boot-clean",CR, CR)
+
+ write("pkg-clean:", CR)
+ write("\tboot-" & target & "/" & "m3build" & "/" & target & "/" &
+ "m3build -T ../m3config/src -DBOOTSTRAP=TRUE -DCLEAN_ALL",
+ " ${M3OPTIONS}",CR, CR)
+
+ write("nothing:",CR,CR)
+
+ write("boot:", CR)
+ WriteMakefileLine("m3core",target,options)
+ WriteMakefileLine("libm3",target,options)
+ WriteMakefileLine("m3middle",target,options)
+ WriteMakefileLine("m3front",target,options)
+ WriteMakefileLine("m3linker",target,options)
+ WriteMakefileLine("m3driver",target,options)
+ WriteMakefileLine("m3quake",target,options)
+ WriteMakefileLine("m3templates",target,options)
+ WriteMakefileLine("m3config",target,options)
+ WriteMakefileLine("m3build",target,options)
+ WriteMakefileLine("m3ship",target,options)
+
+ write(CR, "boot-clean:", CR)
+ WriteMakefileLine("m3core",target, "clean " & options)
+ WriteMakefileLine("libm3",target, "clean " & options)
+ WriteMakefileLine("m3middle",target, "clean " & options)
+ WriteMakefileLine("m3front",target, "clean " & options)
+ WriteMakefileLine("m3linker",target, "clean " & options)
+ WriteMakefileLine("m3driver",target, "clean " & options)
+ WriteMakefileLine("m3quake",target, "clean " & options)
+ WriteMakefileLine("m3templates",target, "clean " & options)
+ WriteMakefileLine("m3config",target, "clean " & options)
+ WriteMakefileLine("m3build",target, "clean " & options)
+ WriteMakefileLine("m3ship",target, "clean " & options)
+ end
+end
+
+%
+% Compile m3cc as a cross compiler for the specified target
+
+readonly proc CompileCrossCompiler(target,host) is
+ local ret = 0
+ local m3ccdir = "ezm3-" & target & SL & "m3cc"
+
+ % Create a subdirectory for m3cc and make links to the source code.
+ % Then build it as a cross compiler.
+
+ write("---------- Creating cross compiler " & host & " to " & target)
+ write(" ----------" & CR)
+
+ ret = exec(["mkdir", m3ccdir])
+ ret = exec(["ln", "-s", ".." & SL & ".." & SL & ".." & SL & ".." & SL &
+ "m3cc" & SL & "src", "."], [], m3ccdir)
+ ret = exec(["ln", "-s", ".." & SL & ".." & SL & ".." & SL & ".." & SL &
+ "m3cc" & SL & "gcc", "."], [], m3ccdir)
+
+ %
+ % C compilation is slow, as compared to M3, cache the cross-compiler
+ %
+
+ if CACHE_CROSS_COMPILERS and not(stale(CACHE_CROSS_COMPILERS & SL &
+ "m3cgc1-" & target,m3ccdir & SL & "gcc" & SL & "m3.c"))
+ ret = exec(["ln","-s",CACHE_CROSS_COMPILERS & SL & "m3cgc1-" & target,
+ "ezm3-" & target])
+ ret = exec(["rm", "src", "gcc"], [], m3ccdir)
+ ret = exec(["rmdir", m3ccdir])
+ return
+ end
+
+ ret = exec([BIN_USE & SL & "m3build", "-b", host,
+ "-T", ".." & SL & ".." & SL &
+ ".." & SL & ".." & SL & ".." & SL &
+ ".." & SL & ".." & SL & ".." & SL &
+ "m3config" & SL & "src" ,
+ "-DM3CC_TARGET=" & target], [], m3ccdir)
+ if not equal(ret, 0) error ("m3build failed for m3cc in " & target & CR) end
+
+ % Keep the cross compiler under target-m3cgc1 and remove everything else.
+
+ if equal(host,target)
+ ret = exec(["mv", host & SL & "m3cgc1", ".." & SL & "m3cgc1-" & target],
+ [], m3ccdir)
+ else
+ ret = exec(["mv", host & "-" & target & SL & "m3cgc1", ".." & SL &
+ "m3cgc1-" & target], [], m3ccdir)
+ ret = exec(["rm", "-r", host & "-" & target], [], m3ccdir)
+ end
+ ret = exec(["rm", "-r", host], [], m3ccdir)
+ ret = exec(["rm", "src", "gcc"], [], m3ccdir)
+ ret = exec(["rmdir", m3ccdir])
+
+ if CACHE_CROSS_COMPILERS
+ ret = exec(["mv","ezm3-" & target & SL & "m3cgc1-" & target,
+ CACHE_CROSS_COMPILERS])
+ ret = exec(["ln","-s",CACHE_CROSS_COMPILERS & SL & "m3cgc1-" & target,
+ "ezm3-" & target])
+ end
+
+ write("---------- Finished cross compiler ----------")
+end
+
+%
+% Create everything needed for bootstrapping on platform "target"
+
+readonly proc BootstrapTarget(target) is
+ local ret = 0
+ local host = TARGET
+
+ ret = exec(["mkdir", "ezm3-" & target])
+
+ CompileCrossCompiler(target,host)
+
+ % Prepare a config file with bootstrap specific overrides
+ % The -O option should prevent using the integrated backend
+ % which does not produce assembly; moreover, it may reduce the
+ % bootstrap code size.
+
+ > "ezm3-" & target & SL & "config.tmpl" in
+ write("option(\"bootstrap\",\"T\")",CR)
+ write("option(\"shared_lib\",\"\")",CR)
+ if equal(target,"HPPA") or equal(target,"DS3100") or equal(target,"IRIX5")
+ or equal(target,"NT386GNU") or equal(target,"IBMR2")
+ write("option(\"optimization\",\"\")",CR)
+ else
+ write("option(\"optimization\",\"T\")",CR)
+ end
+ if equal(target,"ALPHA_OSF") or equal(target, "Tru64v5")
+ % m3cgc1 generates bad code when -g flag is not used
+ write("option(\"debuginfo\",\"T\")",CR)
+ else
+ write("option(\"debuginfo\",\"" & BOOTDEBUG & "\")",CR)
+ end
+ write("HOST=\"" & host & "\"",CR)
+ write("USE_M3DOC=\"\"",CR)
+ write("IBACK=\"\"",CR)
+ write("setDefault(\"\",\"\")",CR)
+ write("BACKEND=[\"" & path() & SL & ".." & SL & host & SL & "ezm3-" &
+ target & SL & "m3cgc1-" & target &
+ "\",\"-fno-strength-reduce\",\"-quiet\"]", CR)
+ end
+
+ write("---------- Config file ----------", CR)
+ ret = exec(["cat", "ezm3-" & target & SL & "config.tmpl"])
+
+ ret = exec(["mkdir", "ezm3-" & target & SL & "boot-" & target])
+
+ % Build all the packages required for m3build and m3ship
+ % to obtain a bootstrap m3build and m3ship.
+
+ BootstrapPkg("../../../../../text/sgmltools","m3doc",target,host)
+ BootstrapPkg("../../../../../libs","m3core",target,host)
+ BootstrapPkg("../../../../../libs","libm3",target,host)
+ BootstrapPkg("../..","m3middle",target,host)
+ BootstrapPkg("../..","m3front",target,host)
+ BootstrapPkg("../..","m3linker",target,host)
+ BootstrapPkg("../..","m3driver",target,host)
+ BootstrapPkg("../../../..","m3quake",target,host)
+ BootstrapPkg("../..","m3templates",target,host)
+ BootstrapPkg("../../../../..","m3config",target,host)
+ BootstrapPkg("../..","m3build",target,host)
+ BootstrapPkg("../..","m3ship",target,host)
+ CleanPkg("m3doc",target)
+ CleanPkg("m3core",target)
+ CleanPkg("libm3",target)
+ CleanPkg("m3middle",target)
+ CleanPkg("m3front",target)
+ CleanPkg("m3linker",target)
+ CleanPkg("m3driver",target)
+ CleanPkg("m3quake",target)
+ CleanPkg("m3templates",target)
+ CleanPkg("m3config",target)
+ CleanPkg("m3build",target)
+ CleanPkg("m3ship",target)
+
+ local header = "M3OPTIONS=" & CR
+ local options = "\"CC=${CC}\" \"CFLAGS=${CFLAGS}\"" &
+ " \"AS=${AS}\" \"ASFLAGS=${ASFLAGS}\"" &
+ " \"AR=${AR}\" \"ARFLAGS=${ARFLAGS}\"" &
+ " \"RANLIB=${RANLIB}\" \"EXTRALIBS=${EXTRALIBS}\"" &
+ " \"LDFLAGS=${LDFLAGS}\""
+
+ if equal(target,"NT386GNU")
+ header = header & "EXTRALIBS=-ladvapi32" & CR
+ else if equal(target,"SOLsun")
+ header = header & "EXTRALIBS=-lsunmath -lm" & CR
+ else if equal(target,"HPPA")
+ header = header & "EXTRALIBS=-lm -lBSD" & CR
+ else
+ header = header & "EXTRALIBS=-lm" & CR
+ end
+ end
+ end
+
+ if equal(target,"SOLgnu") or equal(target,"SOLsun")
+ header = header & "ASFLAGS=-s -P" & CR
+ end
+
+ if equal(target,"HPPA")
+ header = header & "AS=gas" & CR
+ header = header & "CC=gcc" & CR
+ end
+
+ if equal(target,"LINUXLIBC6")
+ include("../../../../../m3config/src/GCWRAP")
+ header = header & "LDFLAGS=" & GCWRAPFLAGS & CR
+ end
+
+ if equal(target,"ALPHA_OSF")
+ header = header & "CFLAGS=-ieee_with_no_inexact -g3" & CR
+ header = header & "LDFLAGS=-ieee_with_no_inexact" & CR
+ header = header & "ASFLAGS=-g3" & CR
+ end
+
+ if equal(target,"Tru64v5")
+ header = header & "CFLAGS=-ieee_with_no_inexact -g" & CR
+ header = header & "LDFLAGS=-ieee_with_no_inexact" & CR
+ header = header & "ASFLAGS=-g" & CR
+ end
+
+ if equal(target,"FreeBSD2") or equal(target, "OpenBSD_386")
+ header = header & "RANLIB=ranlib" & CR
+ else
+ header = header & "RANLIB=touch" & CR
+ end
+
+ if equal(target, "FBSD_ALPHA")
+ header = header & "CFLAGS=-mieee" & CR
+ end
+
+ CreateMakefile("ezm3-" & target & SL & "Makefile." & target,target,
+ header, options)
+ CreateMakefile("ezm3-" & target & SL & "Makefile",target,
+ header, options)
+
+ ret = exec(["rm", "ezm3-" & target & SL & "config.tmpl"])
+ ret = exec(["rm", "ezm3-" & target & SL & "m3cgc1-" & target])
+ write("---------- bootstrap finished for " & target & " ----------", CR)
+end
+
+% Create a bootstrap for each of these "target" in boot-target
+%
+
+CACHE_CROSS_COMPILERS = lookup("CACHE_CROSS_COMPILERS","")
+BOOTDEBUG = lookup("BOOTDEBUG","")
+
+if defined("BOOTTARGET")
+ BootstrapTarget(BOOTTARGET)
+else
+ foreach platform in Platforms
+ if Platforms{platform}[3] BootstrapTarget(platform) end
+ end
+end
+
+

View File

@ -1,58 +0,0 @@
$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;
output_asm_insn (AS1 (call,%P1), xops);
- output_asm_insn ("addl $_GLOBAL_OFFSET_TABLE_,%0", xops);
+ output_asm_insn ("addl $%__GLOBAL_OFFSET_TABLE_,%0", xops);
}
else if (pic_reg_used)
{
@@ -1795,7 +1795,7 @@ function_prologue (file, size)
output_asm_insn (AS1 (call,%P1), xops);
ASM_OUTPUT_INTERNAL_LABEL (file, "L", CODE_LABEL_NUMBER (xops[1]));
output_asm_insn (AS1 (pop%L0,%0), xops);
- output_asm_insn ("addl $_GLOBAL_OFFSET_TABLE_+[.-%P1],%0", xops);
+ output_asm_insn ("addl $%__GLOBAL_OFFSET_TABLE_+[.-%P1],%0", xops);
}
}
@@ -1893,7 +1893,11 @@ ix86_expand_prologue ()
emit_insn (gen_prologue_get_pc (xops[0], gen_rtx (CONST_INT, Pmode, CODE_LABEL_NUMBER(xops[1]))));
emit_insn (gen_prologue_set_got (xops[0],
+#ifdef YES_UNDERSCORES
+ gen_rtx (SYMBOL_REF, Pmode, "$__GLOBAL_OFFSET_TABLE_"),
+#else
gen_rtx (SYMBOL_REF, Pmode, "$_GLOBAL_OFFSET_TABLE_"),
+#endif
gen_rtx (CONST_INT, Pmode, CODE_LABEL_NUMBER(xops[1]))));
}
else if (pic_reg_used)
@@ -1904,7 +1908,11 @@ ix86_expand_prologue ()
emit_insn (gen_prologue_get_pc (xops[0], gen_rtx (CONST_INT, Pmode, CODE_LABEL_NUMBER(xops[1]))));
emit_insn (gen_pop (xops[0]));
emit_insn (gen_prologue_set_got (xops[0],
+#ifdef YES_UNDERSCORES
+ gen_rtx (SYMBOL_REF, Pmode, "$__GLOBAL_OFFSET_TABLE_"),
+#else
gen_rtx (SYMBOL_REF, Pmode, "$_GLOBAL_OFFSET_TABLE_"),
+#endif
gen_rtx (CONST_INT, Pmode, CODE_LABEL_NUMBER (xops[1]))));
}
}
@@ -2805,6 +2813,12 @@ print_operand (file, x, code)
case '*':
if (USE_STAR)
putc ('*', file);
+ return;
+
+ case '_':
+#ifdef YES_UNDERSCORES
+ putc ('_', file);
+#endif
return;
case 'L':

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_config_i386_i386_h,v 1.1.1.1 2002/02/23 12:30:21 naddy Exp $
--- language/modula3/m3compiler/m3cc/gcc/config/i386/i386.h.orig Fri Sep 7 17:48:43 2001
+++ language/modula3/m3compiler/m3cc/gcc/config/i386/i386.h Fri Sep 7 17:49:00 2001
@@ -2450,7 +2450,7 @@ do { long l; \
c -- don't print special prefixes before constant operands. */
#define PRINT_OPERAND_PUNCT_VALID_P(CODE) \
- ((CODE) == '*')
+ ((CODE) == '*' || (CODE) == '_')
/* Print the name of a register based on its machine mode and number.
If CODE is 'w', pretend the mode is HImode.

View File

@ -1,104 +0,0 @@
$OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_config_i386_openbsd_h,v 1.1.1.1 2002/02/23 12:30:21 naddy Exp $
--- language/modula3/m3compiler/m3cc/gcc/config/i386/openbsd.h.orig Fri Sep 7 15:10:40 2001
+++ language/modula3/m3compiler/m3cc/gcc/config/i386/openbsd.h Fri Sep 7 15:11:58 2001
@@ -0,0 +1,100 @@
+/* Definitions of target machine for GNU compiler for Intel 80386
+ running OpenBSD.
+ Copyright (C) 1988, 1992, 1994, 1996 Free Software Foundation, Inc.
+ Contributed by Poul-Henning Kamp <phk@login.dkuug.dk>
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+/* This is tested by i386gas.h. */
+#define YES_UNDERSCORES
+
+/* Don't assume anything about the header files. */
+#define NO_IMPLICIT_EXTERN_C
+
+#include <i386/gstabs.h>
+
+/* Get perform_* macros to build libgcc.a. */
+#include <i386/perform.h>
+
+#define OBSD_OLD_GAS
+#include <openbsd.h>
+
+/* This goes away when the math-emulator is fixed */
+#undef TARGET_DEFAULT
+#define TARGET_DEFAULT \
+ (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_NO_FANCY_MATH_387)
+
+#define CPP_PREDEFINES "-Dunix -Di386 -D__FreeBSD__ -D__386BSD__ -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)"
+
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "int"
+
+#undef WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE 32
+
+#define HAVE_ATEXIT
+
+/* There are conflicting reports about whether this system uses
+ a different assembler syntax. wilson@cygnus.com says # is right. */
+#undef COMMENT_BEGIN
+#define COMMENT_BEGIN "#"
+
+#undef ASM_APP_ON
+#define ASM_APP_ON "#APP\n"
+
+#undef ASM_APP_OFF
+#define ASM_APP_OFF "#NO_APP\n"
+
+/* The following macros are stolen from i386v4.h */
+/* These have to be defined to get PIC code correct */
+
+/* This is how to output an element of a case-vector that is relative.
+ This is only used for PIC code. See comments by the `casesi' insn in
+ i386.md for an explanation of the expression this outputs. */
+
+#undef ASM_OUTPUT_ADDR_DIFF_ELT
+#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, VALUE, REL) \
+ fprintf (FILE, "\t.long __GLOBAL_OFFSET_TABLE_+[.-%s%d]\n", LPREFIX, VALUE)
+
+/* Indicate that jump tables go in the text section. This is
+ necessary when compiling PIC code. */
+
+#define JUMP_TABLES_IN_TEXT_SECTION (flag_pic)
+
+/* Don't default to pcc-struct-return, because gcc is the only compiler, and
+ we want to retain compatibility with older gcc versions. */
+#define DEFAULT_PCC_STRUCT_RETURN 0
+
+
+/* OpenBSD's profiler recovers all information from the stack pointer.
+ The icky part is not here, but in machine/profile.h. */
+#undef FUNCTION_PROFILER
+#define FUNCTION_PROFILER(FILE, LABELNO) \
+ fputs (flag_pic ? "\tcall mcount@PLT\n": "\tcall mcount\n", FILE);
+
+#undef ASM_OUTPUT_ALIGN
+#define ASM_OUTPUT_ALIGN(FILE,LOG) \
+ if ((LOG)!=0) fprintf ((FILE), "\t.align %d,0x90\n", (LOG))
+
+#define DWARF2_UNWIND_INFO 0

View File

@ -1,217 +0,0 @@
$OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_config_i386_openbsdelf_h,v 1.1 2003/05/08 01:34:43 naddy Exp $
--- language/modula3/m3compiler/m3cc/gcc/config/i386/openbsdelf.h.orig Wed May 7 23:25:22 2003
+++ language/modula3/m3compiler/m3cc/gcc/config/i386/openbsdelf.h Wed May 7 23:38:22 2003
@@ -0,0 +1,213 @@
+/* Configuration for an OpenBSD i386 target.
+
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+/* Get generic OpenBSD definitions. */
+#include <openbsd.h>
+
+/* This gets defined in tm.h->linux.h->svr4.h, and keeps us from using
+ libraries compiled with the native cc, so undef it. */
+#undef NO_DOLLAR_IN_LABEL
+
+/* Override the default comment-starter of "/". */
+#undef ASM_COMMENT_START
+#define ASM_COMMENT_START "#"
+
+
+/* This goes away when the math-emulator is fixed */
+#undef TARGET_DEFAULT
+#define TARGET_DEFAULT \
+ (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_NO_FANCY_MATH_387)
+
+/* Run-time target specifications */
+#define CPP_PREDEFINES "-D__unix__ -D__ELF__ -D__i386__ -D__OpenBSD__ -Asystem(unix) -Asystem(OpenBSD) -Acpu(i386) -Amachine(i386)"
+
+/* As an elf system, we need crtbegin/crtend stuff. */
+#undef STARTFILE_SPEC
+#define STARTFILE_SPEC "\
+ %{!shared: %{pg:gcrt0%O%s} %{!pg:%{p:gcrt0%O%s} %{!p:crt0%O%s}} \
+ crtbegin%O%s} %{shared:crtbeginS%O%s}"
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"
+
+/* Layout of source language data types. */
+
+/* This must agree with <machine/ansi.h> */
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "int"
+
+#undef WCHAR_UNSIGNED
+#define WCHAR_UNSIGNED 0
+
+#undef WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE BITS_PER_WORD
+
+/* Assembler format: overall framework. */
+
+#undef ASM_APP_ON
+#define ASM_APP_ON "#APP\n"
+
+#undef ASM_APP_OFF
+#define ASM_APP_OFF "#NO_APP\n"
+
+#undef SET_ASM_OP
+#define SET_ASM_OP ".set"
+
+/* The following macros were originally stolen from i386v4.h.
+ These have to be defined to get PIC code correct. */
+
+/* Assembler format: dispatch tables. */
+
+/* How to output an element of a case-vector that is relative.
+ This is only used for PIC code. See comments by the `casesi' insn in
+ i386.md for an explanation of the expression this outputs. */
+#undef ASM_OUTPUT_ADDR_DIFF_ELT
+#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, VALUE, REL) \
+ fprintf (FILE, "\t.long _GLOBAL_OFFSET_TABLE_+[.-%s%d]\n", LPREFIX, VALUE)
+
+/* Use stabs instead of DWARF debug format. */
+#undef PREFERRED_DEBUGGING_TYPE
+#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
+
+/* Copy this from the svr4 specifications... */
+/* Define the register numbers to be used in Dwarf debugging information.
+ The SVR4 reference port C compiler uses the following register numbers
+ in its Dwarf output code:
+ 0 for %eax (gnu regno = 0)
+ 1 for %ecx (gnu regno = 2)
+ 2 for %edx (gnu regno = 1)
+ 3 for %ebx (gnu regno = 3)
+ 4 for %esp (gnu regno = 7)
+ 5 for %ebp (gnu regno = 6)
+ 6 for %esi (gnu regno = 4)
+ 7 for %edi (gnu regno = 5)
+ The following three DWARF register numbers are never generated by
+ the SVR4 C compiler or by the GNU compilers, but SDB on x86/svr4
+ believes these numbers have these meanings.
+ 8 for %eip (no gnu equivalent)
+ 9 for %eflags (no gnu equivalent)
+ 10 for %trapno (no gnu equivalent)
+ It is not at all clear how we should number the FP stack registers
+ for the x86 architecture. If the version of SDB on x86/svr4 were
+ a bit less brain dead with respect to floating-point then we would
+ have a precedent to follow with respect to DWARF register numbers
+ for x86 FP registers, but the SDB on x86/svr4 is so completely
+ broken with respect to FP registers that it is hardly worth thinking
+ of it as something to strive for compatibility with.
+ The version of x86/svr4 SDB I have at the moment does (partially)
+ seem to believe that DWARF register number 11 is associated with
+ the x86 register %st(0), but that's about all. Higher DWARF
+ register numbers don't seem to be associated with anything in
+ particular, and even for DWARF regno 11, SDB only seems to under-
+ stand that it should say that a variable lives in %st(0) (when
+ asked via an `=' command) if we said it was in DWARF regno 11,
+ but SDB still prints garbage when asked for the value of the
+ variable in question (via a `/' command).
+ (Also note that the labels SDB prints for various FP stack regs
+ when doing an `x' command are all wrong.)
+ Note that these problems generally don't affect the native SVR4
+ C compiler because it doesn't allow the use of -O with -g and
+ because when it is *not* optimizing, it allocates a memory
+ location for each floating-point variable, and the memory
+ location is what gets described in the DWARF AT_location
+ attribute for the variable in question.
+ Regardless of the severe mental illness of the x86/svr4 SDB, we
+ do something sensible here and we use the following DWARF
+ register numbers. Note that these are all stack-top-relative
+ numbers.
+ 11 for %st(0) (gnu regno = 8)
+ 12 for %st(1) (gnu regno = 9)
+ 13 for %st(2) (gnu regno = 10)
+ 14 for %st(3) (gnu regno = 11)
+ 15 for %st(4) (gnu regno = 12)
+ 16 for %st(5) (gnu regno = 13)
+ 17 for %st(6) (gnu regno = 14)
+ 18 for %st(7) (gnu regno = 15)
+*/
+#undef DBX_REGISTER_NUMBER
+#define DBX_REGISTER_NUMBER(n) \
+((n) == 0 ? 0 \
+ : (n) == 1 ? 2 \
+ : (n) == 2 ? 1 \
+ : (n) == 3 ? 3 \
+ : (n) == 4 ? 6 \
+ : (n) == 5 ? 7 \
+ : (n) == 6 ? 5 \
+ : (n) == 7 ? 4 \
+ : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
+ : (-1))
+
+/* Assembler format: sections. */
+
+/* Indicate when jump tables go in the text section. This is
+ necessary when compiling PIC code. */
+#define JUMP_TABLES_IN_TEXT_SECTION (flag_pic)
+
+/* Stack & calling: aggregate returns. */
+
+/* Don't default to pcc-struct-return, because gcc is the only compiler, and
+ we want to retain compatibility with older gcc versions. */
+#define DEFAULT_PCC_STRUCT_RETURN 0
+
+/* Assembler format: alignment output. */
+
+#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
+#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \
+ if ((LOG) != 0) {\
+ if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
+ else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
+ }
+#endif
+
+/* Stack & calling: profiling. */
+
+/* OpenBSD's profiler recovers all information from the stack pointer.
+ The icky part is not here, but in machine/profile.h. */
+#undef FUNCTION_PROFILER
+#define FUNCTION_PROFILER(FILE, LABELNO) \
+ fputs (flag_pic ? "\tcall mcount@PLT\n": "\tcall mcount\n", FILE);
+
+/* Assembler format: exception region output. */
+
+/* All configurations that don't use elf must be explicit about not using
+ dwarf unwind information. egcs doesn't try too hard to check internal
+ configuration files... */
+#define DWARF2_UNWIND_INFO 0
+
+/* Assembler format: alignment output. */
+
+/* Note that we pick up ASM_OUTPUT_MAX_SKIP_ALIGN from i386/gas.h */
+
+/* Note that we pick up ASM_OUTPUT_MI_THUNK from unix.h. */
+
+#undef LINK_SPEC
+#define LINK_SPEC \
+ "%{!shared:%{!nostdlib:%{!r*:%{!e*:-e __start}}}} \
+ %{shared:-shared} %{R*} \
+ %{static:-Bstatic} \
+ %{!static:-Bdynamic} \
+ %{assert*} \
+ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so}"

View File

@ -1,8 +0,0 @@
$OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_config_i386_xm-openbsd_h,v 1.1.1.1 2002/02/23 12:30:18 naddy Exp $
--- language/modula3/m3compiler/m3cc/gcc/config/i386/xm-openbsd.h.orig Wed May 2 15:48:38 2001
+++ language/modula3/m3compiler/m3cc/gcc/config/i386/xm-openbsd.h Wed May 2 15:49:25 2001
@@ -0,0 +1,4 @@
+/* Configuration for GCC for Intel i386 running OpenBSD as host. */
+
+#include <xm-openbsd.h>
+#include <i386/xm-i386.h>

View File

@ -1,235 +0,0 @@
$OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_config_openbsd_h,v 1.2 2003/05/08 01:34:43 naddy Exp $
--- language/modula3/m3compiler/m3cc/gcc/config/openbsd.h.orig Sun May 4 01:48:54 2003
+++ language/modula3/m3compiler/m3cc/gcc/config/openbsd.h Sun May 4 16:47:56 2003
@@ -0,0 +1,231 @@
+#define STANDARD_STARTFILE_PREFIX "/usr/lib"
+#define OBSD_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"
+
+/* LIB_SPEC appropriate for OpenBSD. Include -lpthread if -pthread is
+ specified on the command line. */
+#define OBSD_LIB_SPEC "%{!shared:%{pthread:-lpthread%{p:_p}%{!p:%{pg:_p}}}} %{!shared:-lc%{p:_p}%{!p:%{pg:_p}}}"
+
+#ifndef OBSD_HAS_CORRECT_SPECS
+
+#ifndef OBSD_NO_DYNAMIC_LIBRARIES
+#undef SWITCH_TAKES_ARG
+#define SWITCH_TAKES_ARG(CHAR) \
+ (DEFAULT_SWITCH_TAKES_ARG (CHAR) \
+ || (CHAR) == 'R')
+#endif
+
+#undef CPP_SPEC
+#define CPP_SPEC OBSD_CPP_SPEC
+
+#ifdef OBSD_OLD_GAS
+/* ASM_SPEC appropriate for OpenBSD. For some architectures, OpenBSD
+ still uses a special flavor of gas that needs to be told when generating
+ pic code. */
+#undef ASM_SPEC
+#define ASM_SPEC "%{fpic:-k} %{fPIC:-k -K} %|"
+#else
+/* Since we use gas, stdin -> - is a good idea, but we don't want to
+ override native specs just for that. */
+#ifndef ASM_SPEC
+#define ASM_SPEC "%|"
+#endif
+#endif
+
+/* LINK_SPEC appropriate for OpenBSD. Support for GCC options
+ -static, -assert, and -nostdlib. */
+#undef LINK_SPEC
+#ifdef OBSD_NO_DYNAMIC_LIBRARIES
+#define LINK_SPEC \
+ "%{g:%{!nostdlib:-L/usr/lib/debug}} %{!nostdlib:%{!r*:%{!e*:-e start}}} -dc -dp %{assert*}"
+#else
+#define LINK_SPEC \
+ "%{g:%{!nostdlib:-L/usr/lib/debug}} %{!shared:%{!nostdlib:%{!r*:%{!e*:-e start}}}} %{shared:-Bshareable -x} -dc -dp %{R*} %{static:-Bstatic} %{assert*}"
+#endif
+
+#undef LIB_SPEC
+#define LIB_SPEC OBSD_LIB_SPEC
+#endif
+
+
+/* Runtime target specification. */
+
+/* You must redefine CPP_PREDEFINES in any arch specific file. */
+#undef CPP_PREDEFINES
+
+/* Implicit calls to library routines. */
+
+/* Use memcpy and memset instead of bcopy and bzero. */
+#define TARGET_MEM_FUNCTIONS
+
+/* Miscellaneous parameters. */
+
+/* Tell libgcc2.c that OpenBSD targets support atexit. */
+#define HAVE_ATEXIT
+
+/* Controlling debugging info: dbx options. */
+
+/* Don't use the `xsTAG;' construct in DBX output; OpenBSD systems that
+ use DBX don't support it. */
+#define DBX_NO_XREFS
+
+
+/* Support of shared libraries, mostly imported from svr4.h through netbsd. */
+/* Two differences from svr4.h:
+ - we use . - _func instead of a local label,
+ - we put extra spaces in expressions such as
+ .type _func , @function
+ This is more readable for a human being and confuses c++filt less. */
+
+/* Assembler format: output and generation of labels. */
+
+/* Define the strings used for the .type and .size directives.
+ These strings generally do not vary from one system running OpenBSD
+ to another, but if a given system needs to use different pseudo-op
+ names for these, they may be overridden in the arch specific file. */
+
+/* OpenBSD assembler is hacked to have .type & .size support even in a.out
+ format object files. Functions size are supported but not activated
+ yet (look for GRACE_PERIOD_EXPIRED in gas/config/obj-aout.c).
+ SET_ASM_OP is needed for attribute alias to work. */
+
+#undef TYPE_ASM_OP
+#undef SIZE_ASM_OP
+#undef SET_ASM_OP
+
+#define TYPE_ASM_OP ".type"
+#define SIZE_ASM_OP ".size"
+#define SET_ASM_OP ".set"
+
+/* The following macro defines the format used to output the second
+ operand of the .type assembler directive. */
+#undef TYPE_OPERAND_FMT
+#define TYPE_OPERAND_FMT "@%s"
+
+/* Provision if extra assembler code is needed to declare a function's result
+ (taken from svr4, not needed yet actually). */
+#ifndef ASM_DECLARE_RESULT
+#define ASM_DECLARE_RESULT(FILE, RESULT)
+#endif
+
+/* These macros generate the special .type and .size directives which
+ are used to set the corresponding fields of the linker symbol table
+ entries under OpenBSD. These macros also have to output the starting
+ labels for the relevant functions/objects. */
+
+#ifndef OBSD_HAS_DECLARE_FUNCTION_NAME
+/* Extra assembler code needed to declare a function properly.
+ Some assemblers may also need to also have something extra said
+ about the function's return value. We allow for that here. */
+#undef ASM_DECLARE_FUNCTION_NAME
+#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \
+ do { \
+ fprintf (FILE, "\t%s\t", TYPE_ASM_OP); \
+ assemble_name (FILE, NAME); \
+ fputs (" , ", FILE); \
+ fprintf (FILE, TYPE_OPERAND_FMT, "function"); \
+ putc ('\n', FILE); \
+ ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \
+ ASM_OUTPUT_LABEL(FILE, NAME); \
+ } while (0)
+#endif
+
+#ifndef OBSD_HAS_DECLARE_FUNCTION_SIZE
+/* Declare the size of a function. */
+#undef ASM_DECLARE_FUNCTION_SIZE
+#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
+ do { \
+ if (!flag_inhibit_size_directive) \
+ { \
+ fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \
+ assemble_name (FILE, (FNAME)); \
+ fputs (" , . - ", FILE); \
+ assemble_name (FILE, (FNAME)); \
+ putc ('\n', FILE); \
+ } \
+ } while (0)
+#endif
+
+#ifndef OBSD_HAS_DECLARE_OBJECT
+/* Extra assembler code needed to declare an object properly. */
+#undef ASM_DECLARE_OBJECT_NAME
+#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
+ do { \
+ fprintf (FILE, "\t%s\t ", TYPE_ASM_OP); \
+ assemble_name (FILE, NAME); \
+ fputs (" , ", FILE); \
+ fprintf (FILE, TYPE_OPERAND_FMT, "object"); \
+ putc ('\n', FILE); \
+ size_directive_output = 0; \
+ if (!flag_inhibit_size_directive && DECL_SIZE (DECL)) \
+ { \
+ size_directive_output = 1; \
+ fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \
+ assemble_name (FILE, NAME); \
+ fprintf (FILE, " , %d\n", int_size_in_bytes (TREE_TYPE (DECL)));\
+ } \
+ ASM_OUTPUT_LABEL (FILE, NAME); \
+ } while (0)
+
+/* Output the size directive for a decl in rest_of_decl_compilation
+ in the case where we did not do so before the initializer.
+ Once we find the error_mark_node, we know that the value of
+ size_directive_output was set by ASM_DECLARE_OBJECT_NAME
+ when it was run for the same decl. */
+#undef ASM_FINISH_DECLARE_OBJECT
+#define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END) \
+do { \
+ char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \
+ if (!flag_inhibit_size_directive && DECL_SIZE (DECL) \
+ && ! AT_END && TOP_LEVEL \
+ && DECL_INITIAL (DECL) == error_mark_node \
+ && !size_directive_output) \
+ { \
+ size_directive_output = 1; \
+ fprintf (FILE, "\t%s\t", SIZE_ASM_OP); \
+ assemble_name (FILE, name); \
+ fprintf (FILE, " , %d\n", int_size_in_bytes (TREE_TYPE (DECL)));\
+ } \
+ } while (0)
+#endif
+
+
+/* Those are `generic' ways to weaken/globalize a label. We shouldn't need
+ to override a processor specific definition. Hence, #ifndef ASM_*
+ In case overriding turns out to be needed, one can always #undef ASM_*
+ before including this file. */
+
+/* Tell the assembler that a symbol is weak. */
+/* Note: netbsd arm32 assembler needs a .globl here. An override may
+ be needed when/if we go for arm32 support. */
+#ifndef ASM_WEAKEN_LABEL
+#define ASM_WEAKEN_LABEL(FILE,NAME) \
+ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
+ fputc ('\n', FILE); } while (0)
+#endif
+
+/* Tell the assembler that a symbol is global. */
+#ifndef ASM_GLOBALIZE_LABEL
+#define ASM_GLOBALIZE_LABEL(FILE,NAME) \
+ do { fputs ("\t.globl\t", FILE); assemble_name (FILE, NAME); \
+ fputc ('\n', FILE); } while(0)
+#endif
+
+
+/* Storage layout. */
+
+/* We don't have to worry about binary compatibility with older C++ code,
+ but there is a big known bug with vtable thunks which has not been
+ fixed yet, so DON'T activate it by default. */
+/* #define DEFAULT_VTABLE_THUNKS 1 */
+
+
+/* Otherwise, since we support weak, gthr.h erroneously tries to use
+ #pragma weak. */
+#define GTHREAD_USE_WEAK 0
+
+/* bug work around: we don't want to support #pragma weak, but the current
+ code layout needs HANDLE_PRAGMA_WEAK asserted for __attribute((weak)) to
+ work. On the other hand, we don't define HANDLE_PRAGMA_WEAK directly,
+ as this depends on a few other details as well... */
+#define HANDLE_SYSV_PRAGMA
+

View File

@ -1,11 +0,0 @@
$OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_config_sub,v 1.1.1.1 2002/02/23 12:30:18 naddy Exp $
--- language/modula3/m3compiler/m3cc/gcc/config.sub.orig Wed May 2 16:03:22 2001
+++ language/modula3/m3compiler/m3cc/gcc/config.sub Wed May 2 16:03:59 2001
@@ -826,6 +826,7 @@ case $os in
| -nindy* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \
| -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -freebsd* | -riscix* \
+ | -openbsd* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \

View File

@ -1,44 +0,0 @@
$OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_config_xm-openbsd_h,v 1.1.1.1 2002/02/23 12:30:18 naddy Exp $
--- language/modula3/m3compiler/m3cc/gcc/config/xm-openbsd.h.orig Wed May 2 16:11:00 2001
+++ language/modula3/m3compiler/m3cc/gcc/config/xm-openbsd.h Wed May 2 16:12:20 2001
@@ -0,0 +1,40 @@
+/* Configuration for GNU C-compiler for hosts running OpenBSD.
+ Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+/* This file defines machine-independent things specific to a host
+ running OpenBSD. This file should not be specified as $xm_file itself;
+ instead $xm_file should be CPU/xm-openbsd.h, which should include both
+ CPU/xm-CPU.h and this file xm-openbsd.h. */
+
+#undef POSIX
+#define POSIX
+
+/* OpenBSD has strerror. */
+#define HAVE_STRERROR
+
+/* We have _sys_siglist, but the declaration in <signal.h> conflicts with
+ the declarations in collect2.c and mips-tfile.c, so disable the declarations
+ in those files. */
+
+#ifdef __GNUC__
+#define alloca __builtin_alloca
+#endif
+
+#define DONT_DECLARE_SYS_SIGLIST

View File

@ -1,30 +0,0 @@
$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 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
;;
+ i[3456]86-*-openbsd*)
+ tm_file="i386/i386.h i386/att.h svr4.h i386/openbsdelf.h i386/perform.h"
+ xm_file=i386/xm-openbsd.h
+ # On OpenBSD, the headers are already ok.
+ fixincludes=Makefile.in
+ xmake_file=none
+ tmake_file=t-libc-ok
+ #use_collect2=yes
+ ;;
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

@ -1,56 +0,0 @@
$OpenBSD: patch-language_modula3_m3compiler_m3cc_gcc_m3_c,v 1.1 2004/01/04 18:04:28 espie Exp $
--- language/modula3/m3compiler/m3cc/gcc/m3.c.orig 2004-01-04 18:28:26.000000000 +0100
+++ language/modula3/m3compiler/m3cc/gcc/m3.c 2004-01-04 18:30:48.000000000 +0100
@@ -27,7 +27,7 @@
-#include <varargs.h>
+#include <stdarg.h>
#include <stdio.h>
#include <errno.h>
#include <setjmp.h>
@@ -991,21 +991,16 @@ static int current_dbg_type_count1;
static int current_dbg_type_count2;
static int current_dbg_type_count3;
-static void debug_tag (kind, id, va_alist)
- char kind;
- char *id;
- va_dcl
+static void debug_tag(char kind, char *id, const char *fmt, ...)
{
va_list args;
- char *fmt;
- va_start (args);
+ va_start (args, fmt);
current_dbg_type_tag [0] = 'M';
current_dbg_type_tag [1] = kind;
current_dbg_type_tag [2] = '_';
memcpy (current_dbg_type_tag + 3, id, UID_SIZE);
- fmt = va_arg (args, char *);
vsprintf (current_dbg_type_tag + UID_SIZE + 3, fmt, args);
va_end (args);
}
@@ -1031,17 +1026,13 @@ static void debug_field (name)
#define debug_field_id debug_field
-static void debug_field_fmt (id, va_alist)
- char *id;
- va_dcl
+static void debug_field_fmt (char *id, const char *fmt, ...)
{
va_list args;
char name [100];
- char *fmt;
memcpy (name, id, UID_SIZE);
- va_start (args);
- fmt = va_arg (args, char *);
+ va_start (args, fmt);
vsprintf (name + UID_SIZE, fmt, args);
va_end (args);

View File

@ -1,29 +0,0 @@
$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)

View File

@ -1,23 +0,0 @@
$OpenBSD: patch-libs_m3core_src_Csupport_OpenBSD_386_dtoa_c,v 1.1 2006/11/11 01:44:54 kurt Exp $
--- libs/m3core/src/Csupport/OpenBSD_386/dtoa.c.orig Sat Jan 27 14:44:30 2001
+++ libs/m3core/src/Csupport/OpenBSD_386/dtoa.c Fri Nov 10 17:49:14 2006
@@ -13,17 +13,6 @@
#define IEEE_8087
#endif
-#include "dtoa.h"
+#define strtod m3_strtod
-/* Apparently libc defines both "__dtoa" and "dtoa". ??? */
-
-char * __dtoa
-#ifdef KR_headers
- (d, mode, ndigits, decpt, sign, rve)
- double d; int mode, ndigits, *decpt, *sign; char **rve;
-#else
- (double d, int mode, int ndigits, int *decpt, int *sign, char **rve)
-#endif
-{
- return dtoa(d, mode, ndigits, decpt, sign, rve);
-}
+#include "dtoa.h"

View File

@ -1,22 +0,0 @@
$OpenBSD: patch-libs_m3core_src_unix_openbsd-2_Ustat_i3,v 1.1 2004/07/17 20:59:57 naddy Exp $
--- libs/m3core/src/unix/openbsd-2/Ustat.i3.orig Sat Jul 17 17:05:56 2004
+++ libs/m3core/src/unix/openbsd-2/Ustat.i3 Sat Jul 17 17:08:29 2004
@@ -45,6 +45,7 @@ TYPE
st_uid : uid_t;
st_gid : gid_t;
st_rdev : dev_t;
+ st_lspare0: long;
st_atime : time_t;
st_spare1 : u_long;
st_mtime : time_t;
@@ -57,7 +58,9 @@ TYPE
st_blksize: u_long;
st_flags : u_long;
st_gen : u_long;
- st_lspare : long;
+ st_lspare1: long;
+ st_birthtime: time_t;
+ st_spare4 : long;
st_qspare1: quad_t;
st_qspare2: quad_t;
END;

View File

@ -1,14 +0,0 @@
$OpenBSD: patch-libs_m3core_src_unix_openbsd-2_Utypes_i3,v 1.1 2004/07/17 20:59:57 naddy Exp $
--- libs/m3core/src/unix/openbsd-2/Utypes.i3.orig Sat Jul 17 17:05:35 2004
+++ libs/m3core/src/unix/openbsd-2/Utypes.i3 Sat Jul 17 17:06:22 2004
@@ -60,8 +60,8 @@ TYPE
paddr_t = long; (* sys V compatibility *)
key_t = long; (* sys V compatibility *)
clock_t = u_long; (* POSIX compliance *)
- mode_t = u_short; (* POSIX compliance *)
- nlink_t = u_short; (* POSIX compliance *)
+ mode_t = u_int; (* POSIX compliance *)
+ nlink_t = u_int; (* POSIX compliance *)
uid_t = u_long; (* POSIX compliance *)
pid_t = long; (* POSIX compliance *)
gid_t = u_long; (* POSIX compliance *)

View File

@ -1,25 +0,0 @@
$OpenBSD: patch-m3config_src_COMMON,v 1.2 2003/05/08 01:34:43 naddy Exp $
--- m3config/src/COMMON.orig Mon Dec 31 01:00:37 2001
+++ m3config/src/COMMON Sun May 4 01:48:54 2003
@@ -316,9 +316,9 @@ proc import_DECPEX() is
end
proc import_OpenGL() is
- import_lib (GLU, OPENGLROOT)
- import_lib (GL, OPENGLROOT)
- import_lib (Xext, OPENGLROOT)
+ import_lib ("GLU", OPENGLROOT)
+ import_lib ("GL", OPENGLROOT)
+ import_lib ("Xext", OPENGLROOT)
end
proc import_TCP() is
@@ -606,7 +606,7 @@ readonly Platforms = {
"NT386" : [ "WIN32", "32BITS", "i486--nt", "" ],
"NT386GNU" : [ "WIN32", "32BITS", "i486--cygwin32", "T" ],
"OKI" : [ "POSIX", "32BITS", "i860--sysv4.0", "" ],
- "OpenBSD_386" : [ "POSIX", "32BITS", "i486-unknown-freebsd", "T" ],
+ "OpenBSD_386" : [ "POSIX", "32BITS", "i386-unknown-openbsd", "T" ],
"SEQUENT" : [ "POSIX", "32BITS", "i386-sequent-bsd", "" ],
"SOLgnu" : [ "POSIX", "32BITS", "sparc-sun-solaris2", "T"],
"SOLsun" : [ "POSIX", "32BITS", "sparc-sun-solaris2", "" ],

View File

@ -1,62 +0,0 @@
$OpenBSD: patch-m3config_src_OpenBSD_386,v 1.1.1.1 2002/02/23 12:30:18 naddy Exp $
--- m3config/src/OpenBSD_386.orig Tue Feb 19 23:09:46 2002
+++ m3config/src/OpenBSD_386 Tue Feb 19 23:10:35 2002
@@ -5,56 +5,7 @@
readonly TARGET = "OpenBSD_386"
include("COMMON")
+include("OpenBSD")
-INSTALL_ROOT = "/usr/local"
-X11ROOT = "/usr/X11R6/lib"
-
-PLATFORM_SUPPORTS_MOTIF = ""
% PLATFORM_SUPPORTS_SHARED_LIB = "T"
-INSTALL_IMPLS = ""
-SKIP_M3GDB = "T"
-SKIP_GNUEMACS = "T"
-
-ASM = ["as", "-k", "-o"]
-BOPT_FLAG = "-O"
-BPIC_FLAG = ["-O0", "-fPIC"]
-CC = ["cc","-c"]
-GNU_CC = "cc"
-GNU_CFLAGS = []
-LINK = ["cc"]
-MAKELIB = [ "ar", "cru" ]
-MAKESHLIB = ["cc","-shared"]
-M3CC_MAKE = ["gmake", "BISON=yacc"]
-OPT_FLAG = "-O"
-RANLIB = ["ranlib"]
-RPATH_FLAG = "-R"
-RPATH_prefix = ""
-RPATH_LIB_USE_ONLY = "T"
-
-% OpenBSD/a.out requires a major and minor version number on each shared
-% library. Don't try to derive these from the PM3 version number. That
-% approach does not work out well in practice.
-SHLIB_VERSION = "0.1"
-
-proc m3_make_shared_lib (lib, objects, imported_libs) is
- local lib_sox = format ("lib%s.so.%s", lib, SHLIB_VERSION)
- local cmd = [MAKESHLIB_CMD, "-o", lib_sox, objects]
-
- if VERBOSE write(cmd, CR) end
- return exec(cmd)
-end
-
-proc m3_note_shlib(lib) is
- if Options{"shared_lib"}[0] and PLATFORM_SUPPORTS_SHARED_LIB
- local lib_sox = format ("lib%s.so.%s", lib, SHLIB_VERSION)
-
- if defined ("_all")
- install_derived(lib_sox)
- install_link(lib_sox,
- LIB_TO_PKG_USE & SL & PACKAGE & SL & BUILD_DIR, LIB_INSTALL)
- end
- deriveds (lib_sox, [""])
- end
-end
-
-setDefault("","")
+ASM = ["as", "-k", "-K", "-o"]

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-m3config_src_m3makefile,v 1.1.1.1 2002/02/23 12:30:18 naddy Exp $
--- m3config/src/m3makefile.orig Wed May 2 20:27:49 2001
+++ m3config/src/m3makefile Wed May 2 20:28:12 2001
@@ -74,6 +74,8 @@ import("libm3")
derived_interface ("M3Config", VISIBLE)
SrcExport("COMMON")
+% This is used by ALL OpenBSD configs
+SrcExport("OpenBSD")
SrcExport("GCWRAP")
SrcExport(TARGET)

View File

@ -1,9 +0,0 @@
Ezm3 is a smaller, more portable distribution of the Modula-3 compiler
and runtime system for people whose only need for Modula-3 is to build
CVSup. It supports all features of CVSup, but has smaller distfiles
and installs more quickly than other versions of Modula-3. Ezm3
provides full X11 GUI support even when compiled on systems which
do not have X11 installed. It links programs statically with the
Modula-3 libraries but dynamically with the system libraries, so that
programs built with Ezm3 can run on systems which do not have
Modula-3 installed on them.

File diff suppressed because it is too large Load Diff