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:
parent
8c0693604b
commit
4db810c975
@ -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
|
||||
|
@ -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>
|
@ -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
|
@ -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("","")
|
@ -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
|
||||
+
|
||||
+
|
@ -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':
|
@ -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.
|
@ -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
|
@ -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}"
|
@ -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>
|
@ -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
|
||||
+
|
@ -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* \
|
@ -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
|
@ -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
|
@ -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);
|
||||
|
@ -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)
|
@ -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"
|
@ -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;
|
@ -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 *)
|
@ -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", "" ],
|
@ -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"]
|
@ -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)
|
||||
|
@ -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.
|
1104
lang/ezm3/pkg/PLIST
1104
lang/ezm3/pkg/PLIST
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user