This commit is contained in:
espie 2005-02-20 01:24:31 +00:00
parent 124935d487
commit d40553cbda
91 changed files with 0 additions and 6832 deletions

View File

@ -1,5 +0,0 @@
# $OpenBSD: Makefile,v 1.5 2004/10/16 19:28:43 espie Exp $
SUBDIR += stable
.include <bsd.port.subdir.mk>

View File

@ -1,359 +0,0 @@
# $OpenBSD: Makefile,v 1.83 2004/10/20 09:14:40 espie Exp $
ONLY_FOR_ARCHS= alpha i386 m68k sparc sparc64 powerpc vax
MAKE_GXX=Yes
MAKE_FORTRAN=Yes
MAKE_OBJC=Yes
# Java is still mostly broken (boehm-gc)
.if ${MACHINE_ARCH} == "i386"
MAKE_JAVA=Yes
#MAKE_ADA=Yes
#AS_PATH=/usr/bin/as
#LD_PATH=/usr/bin/ld
.endif
MAKE_GXX?=No
MAKE_FORTRAN?=No
MAKE_OBJC?=No
MAKE_JAVA?=No
MAKE_ADA?=No
MYDIR=lang/egcs/stable
# This is a configuration file for gcc
COM= 'GNU compiler collection'
COMMENT= ${COM}: core C compiler
COMMENT-c++ = ${COM}: C++ compiler
COMMENT-estdc= ${COM}: C++ compiler library
COMMENT-g77= ${COM}: f77 compiler
COMMENT-java= ${COM}: java compiler
COMMENT-objc= ${COM}: obj C compiler
COMMENT-ada= ${COM}: Ada compiler
PKGNAME= gcc-$V
PKGNAME-c++ = g++-$V
PKGNAME-estdc = libstdc++-$V
PKGNAME-g77= g77-$V
PKGNAME-java= gcj-$V
PKGNAME-objc= gobjc-$V
PKGNAME-ada= gnat-$V
BUILD_DEPENDS= ::devel/autoconf/2.13
BUILD_DEPENDS+= ::devel/metaauto
SUBPACKAGE?=
.if ${MAKE_JAVA:L} == "yes"
. if !defined(PACKAGING) || ${SUBPACKAGE} == "-java"
LIB_DEPENDS+=gc::devel/boehm-gc
. endif
.endif
# This can be patched out, apart from java that wants a pure parser.
BUILD_DEPENDS+= :bison-*:devel/bison
CATEGORIES= lang
MAINTAINER= Marc Espie <espie@openbsd.org>
PERMIT_PACKAGE_FTP=Yes
PERMIT_DISTFILES_FTP=Yes
PERMIT_PACKAGE_CDROM=Yes
PERMIT_DISTFILES_CDROM=Yes
# user configuration section
# see files/tests for precise testing procedure
.if ${MAKE_JAVA:L} == "yes"
MAKE_GXX=Yes
.endif
MULTI_PACKAGES=
# No sub packages description
DESCR=${PKGDIR}/DESCR
REGRESS_DEPENDS=::devel/dejagnu
# No way around it, java wants a pure parser
.if ${MAKE_JAVA:L} == "yes"
BUILD_DEPENDS+=:bison-*:devel/bison
.endif
#### fetch section
V=3.3.2
DIRECTORY=releases/${DISTNAME}/
DISTNAME= gcc-$V
# getting the right archives where they should be
MASTER_SITE_SUBDIR=${LATEST_DATE}
DIST_SUBDIR=egcs
DISTFILES= gcc-$V.tar.bz2
SITES=
SITES+= ftp://ftp.uvsq.fr/pub/gcc/${DIRECTORY}
SITES+= ftp://ftp.grolier.fr/pub/egcs/${DIRECTORY}
SITES+= ftp://gd.tuwien.ac.at/gnu/gcc/${DIRECTORY}
SITES+= ftp://chardonnay.elis.rug.ac.be/pub/mirrors/gcc.cygnus.com/pub/gcc/${DIRECTORY}
SITES+= ftp://gd.tuwien.ac.at/gnu/gcc/${DIRECTORY}
SITES+= ftp://egcs.cygnus.com/pub/egcs/${DIRECTORY}
SITES+= ftp://ftp.goof.com/pub/pcg/egcs/${DIRECTORY}
SITES+= ftp://go.cygnus.com/pub/ftp.cygnus.com/egcs/${DIRECTORY}
SITES+= ftp://cambridge.cygnus.com/pub/egcs/${DIRECTORY}
SITES+= ftp://sunsite.doc.ic.ac.uk/Mirrors/egcs.cygnus.com/pub/egcs/${DIRECTORY}
SITES+= ftp://ftp.gts.cz/pub/MIRRORS/ftp.cygnus.com/pub/egcs/${DIRECTORY}
SITES+= ftp://sunsite.auc.dk/pub/egcs/${DIRECTORY}
SITES+= ftp://ftp.fu-berlin.de/unix/languages/egcs/egcs/${DIRECTORY}
SITES+= ftp://ftp.gwdg.de/pub/cygnus/egcs/${DIRECTORY}
SITES+= ftp://ftp.mpi-sb.mpg.de/pub/gnu/mirror/egcs.cygnus.com/egcs/${DIRECTORY}
SITES+= ftp://ftp.uni-trier.de/pub/languages/c/implementation/egcs/${DIRECTORY}
SITES+= ftp://ftp.sunet.se/pub/gnu/egcs/${DIRECTORY}
SITES+= ftp://ftp.unicamp.br/pub/gnu/=EXTRA=/cygnus/egcs/${DIRECTORY}
SITES+= ftp://ftp.lbi.ro/mirrors/ftp.cygnus.com/pub/egcs/${DIRECTORY}
SITES+= ftp://ftp.ntua.gr/pub/gnu/egcs/${DIRECTORY}
SITES+= ftp://ftp.nluug.nl/pub/languages/egcs/${DIRECTORY}
SITES+= ftp://ftp.dti.ad.jp/pub/lang/egcs/${DIRECTORY}
SITES+= ftp://ftp.win.or.jp/pub/lang/egcs/${DIRECTORY}
SITES+= ftp://ftp.telewaynet.ad.jp/pub/lang/egcs/${DIRECTORY}
SITES+= ftp://ftp.lab.kdd.co.jp/lang/egcs/${DIRECTORY}
SITES+= ftp://ftp.crc.ca/pub/packages/egcs/${DIRECTORY}
SITES+= ftp://ftp.nc.orc.ru/pub/egcs/${DIRECTORY}
SITES+= ftp://ftp.u-aizu.ac.jp/pub/lang/C/pcg/egcs/${DIRECTORY}
SITES+= ftp://ftp.maisel.int-evry.fr/pub/linux/pentium/egcs/${DIRECTORY}
SITES+= ftp://ftp.yggdrasil.com/mirrors/site/egcs.cygnus.com/pub/egcs/${DIRECTORY}
SITES+= ftp://unix.hensa.ac.uk/mirrors/egcs.cygnus.com/pub/egcs/${DIRECTORY}
# Can't contact those, maybe they work ?
SITES+= ftp://sunsite.mff.cuni.cz/pub/GNU/egcs/${DIRECTORY}
SITES+= ftp://sunsite.icm.edu.pl/pub/programming/egcs/${DIRECTORY}
SITES+= ftp://ftp.task.gda.pl/mirror/egcs.cygnus.com/pub/egcs/${DIRECTORY}
SITES+= ftp://ftp.lca.uevora.pt/pub/egcs/${DIRECTORY}
SITES+= ftp://cair-archive.kaist.ac.kr/pub/gnu/egcs/${DIRECTORY}
SITES+= ftp://linux.ihep.su/pub/cygnus/egcs/${DIRECTORY}
SITES+= ftp://linux.cis.nctu.edu.tw/pub/packages/pcg/egcs/${DIRECTORY}
SITES+= ftp://ftp.ninemoons.com/pub/mirrors/egcs/${DIRECTORY}
# Only contains empty gcc-3.0 directory - maybe it gets updated at
# some point?
SITES+= ftp://ftp.funet.fi/mirrors/ftp.cygnus.com/pub/egcs/${DIRECTORY}
# Bad mirrors (no snapshot)
# ftp.lip6.fr, ftp.ilog.fr, ftp.irisa.fr
# No route to host
# mirrors.aarnet.edu.au
#SITES+= ftp://ftp.lip6.fr/pub/egcs/${DIRECTORY}
#SITES+= ftp://ftp.ilog.fr/pub/Mirrors/egcs/${DIRECTORY}
#SITES+= ftp://ftp.irisa.fr/pub/mirrors/egcs.cygwin.com/gcc/${DIRECTORY}
MASTER_SITES=${SITES:S/%DATE%/${LATEST_DATE}/}
# add a possible next snapshot
####
# Patch section
#ac_dirs=gcc libiberty libstdc++-v3 libf2c/libI77 libffi fastjar libjava
ac_dirs=gcc libiberty libf2c/libI77 libffi fastjar libjava
rm_dirs=zlib texinfo boehm-gc
# get openbsd configuration files where they should be
post-patch:
# cp -R ${FILESDIR}/config/* ${WRKSRC}
# cp -R ${FILESDIR}/include/* ${WRKSRC}/gcc/ginclude
cp ${FILESDIR}/config/gcc/config/i386/openbsdelf.h \
${WRKSRC}/gcc/config/i386/openbsdelf.h
cp ${FILESDIR}/config/gcc/config/exec-stack.h \
${WRKSRC}/gcc/config/exec-stack.h
cd ${WRKSRC} && contrib/gcc_update --touch
# rebuild configure files after patching, then move source around !!!
# XXX: don't try to autoconf the main configure file, it's not autoconf.
# cd ${WRKSRC}/libstdc++-v3 && PATH=${PORTPATH} AUTOCONF_VERSION=2.13 autoheader
.for ac_dir in ${ac_dirs}
cd ${WRKSRC}/${ac_dir} && PATH=${PORTPATH} AUTOCONF_VERSION=2.13 autoconf
.endfor
cd ${WRKSRC} && rm -rf ${rm_dirs}
####
# configure section
#
# define AS_PATH/LD_PATH is you don't want to use the default as/ld.
# This should not be used for regular releases, but if you're using this
# snapshot, you know what you're doing, don't you ?
CONFIGURE_STYLE= gnu
MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC} ${WRKSRC}/gcc
LANGS=c
.if ${MAKE_GXX:L} == "yes"
LANGS:=${LANGS},c++
MULTI_PACKAGES+=-c++ -estdc
.endif
.if ${MAKE_FORTRAN:L} == "yes"
LANGS:=${LANGS},f77
MULTI_PACKAGES+=-g77
.endif
.if ${MAKE_OBJC:L} == "yes"
LANGS:=${LANGS},objc
MULTI_PACKAGES+=-objc
.endif
.if ${MAKE_JAVA:L} == "yes"
LANGS:=${LANGS},java
MULTI_PACKAGES+=-java
CONFIGURE_ARGS+=--enable-java-gc=system-boehm
.endif
.if ${MAKE_ADA:L} == "yes"
LANGS:=${LANGS},ada
MULTI_PACKAGES+=-ada
CONFIGURE_ENV=ADAC=${LOCALBASE}/bin/egcc GNATBIND=${LOCALBASE}/bin/gnatbind
MAKE_ENV=ADAC=${LOCALBASE}/bin/egcc GNATBIND=${LOCALBASE}/bin/gnatbind
CC=${LOCALBASE}/bin/egcc
BUILD_DEPENDS+=:gnat-*:lang/egcs/stable,-ada
.endif
CONFIGURE_ENV+=am_cv_func_iconv=no
# Note: the configure target passes CFLAGS to the configure script anyways.
CFLAGS=-O2 -g
CONFIGURE_ARGS= --verbose --program-transform-name=s,^,e, \
--disable-nls --with-system-zlib
# This is needed, as internal cpp is no longer compatible with the
# visible beast
CONFIGURE_ARGS+=--enable-cpp
CONFIGURE_ARGS+=--enable-languages=${LANGS}
.if ${MAKE_JAVA:L} == "yes"
CONFIGURE_ARGS+=--enable-sjlj-exceptions
.endif
# if you wish to try your luck
#CONFIGURE_ARGS+= --enable-threads=posix
.if defined(AS_PATH)
CONFIGURE_ARGS += --with-as=${AS_PATH}
.else
CONFIGURE_ARGS += --with-gnu-as
.endif
.if defined(LD_PATH)
CONFIGURE_ARGS += --with-ld=${LD_PATH}
.else
CONFIGURE_ARGS += --with-gnu-ld
.endif
CONFIGURE_ARGS += ${CONFIGURE_SHARED}
SEPARATE_BUILD=concurrent
####
# build section
# Issues without gmake:
# stuff doesn't get passed thru correctly to libtool in multi-do
# libstdc++-v3 wants gmake
# java wants gmake
USE_GMAKE= yes
# you shouldn't skip bootstrap unless you know what you're doing
# use bootstrap-lean if you're pressed for space
ALL_TARGET=bootstrap
#ALL_TARGET=bootstrap3
# ALL_TARGET=bootstrap-lean
MAKE_FLAGS=libstdc___la_LDFLAGS='-version-info 31:0:0 -lm'
# desactivate the fixincludes mechanism by supplying a script which does
# nothing
pre-build:
sed -e s,@WRKBUILD@,${WRKBUILD}, -e s,@FILESDIR@,${FILESDIR}, \
${FILESDIR}/fixinc.sh.m4 >${WRKSRC}/gcc/fixinc/openbsd-special
chmod a+x ${WRKSRC}/gcc/fixinc/openbsd-special
echo "cp ${WRKSRC}/gcc/fixinc/openbsd-special ${WRKBUILD}/gcc/fixinc.sh" >${WRKSRC}/gcc/fixinc/mkfixinc.sh
####
# Install & tests section
post-build:
# avoid packaging include copies along...
find ${WRKBUILD} -name \*.orig|xargs rm
.if ${MAKE_ADA:L} == "yes"
cd ${WRKBUILD}/gcc && env ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} gnatlib_and_tools
.endif
post-install:
-ldconfig -U ${PREFIX}/lib ${PREFIX}/lib/. ${PREFIX}/lib/fpic ${PREFIX}/lib/nof
# Tests still need to be performed at the end of install, I don't know why.
REGRESS_DEPENDS+=::${MYDIR}
.if ${MAKE_GXX:L} == "yes"
REGRESS_DEPENDS+=::${MYDIR},-c++,-estdc
.endif
.if ${MAKE_FORTRAN:L} == "yes"
REGRESS_DEPENDS+=::${MYDIR},-g77
.endif
.if ${MAKE_OBJC:L} == "yes"
REGRESS_DEPENDS+=::${MYDIR},-objc
.endif
.if ${MAKE_JAVA:L} == "yes"
REGRESS_DEPENDS+=::${MYDIR},-java
.endif
.if ${MAKE_ADA:L} == "yes"
REGRESS_DEPENDS+=::${MYDIR},-ada
.endif
TEST_RESULT=${WRKBUILD}/test.result
do-regress:
@cd ${WRKBUILD}; ulimit -c 0; \
${MAKE_ENV} ${MAKE_PROGRAM} -k -f ${MAKE_FILE} check && \
${WRKSRC}/contrib/test_summary >${TEST_RESULT}
@echo "Please send the tests results to the gcc project"
@echo "By invoking make send-results"
send-results:
[ -f ${TEST_RESULT} ] && sh ${TEST_RESULT}
.if ${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "sparc"
PKG_ARGS+=-DPIC=1
.else
PKG_ARGS+=-DPIC=0
.endif
.if ${MACHINE_ARCH} == "powerpc"
PKG_ARGS+=-DPPC=1
.else
PKG_ARGS+=-DPPC=0
.endif
GCC_NAME=${WRKBUILD}/gcc/xgcc
.if defined(PACKAGING) && defined(SUBPACKAGE)
. if !empty(SUBPACKAGE) && ${SUBPACKAGE} != "-estdc"
RUN_DEPENDS+=::${MYDIR}
. endif
. if ${SUBPACKAGE} == "-c++"
RUN_DEPENDS+=::${MYDIR},-estdc
. endif
.endif
CONFIG=${MACHINE_ARCH}-unknown-openbsd${OSREV}
SUBST_VARS=CONFIG V
.include <bsd.port.mk>

View File

@ -1,4 +0,0 @@
MD5 (egcs/gcc-3.3.2.tar.bz2) = 65999f654102f5438ac8562d13a6eced
RMD160 (egcs/gcc-3.3.2.tar.bz2) = e0b6d709fb75c4f3640f2b9886168f3166b94df8
SHA1 (egcs/gcc-3.3.2.tar.bz2) = 8750024a3e5a79d17a610d93cb5f171097e3ffee
SIZE (egcs/gcc-3.3.2.tar.bz2) = 23585904

View File

@ -1,40 +0,0 @@
/* Enable stack execute around trampoline address.
Copyright (C) 2002 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. */
#undef FINALIZE_TRAMPOLINE
#define FINALIZE_TRAMPOLINE(TRAMP) \
emit_library_call(gen_rtx_SYMBOL_REF (Pmode, "__enable_execute_stack"), \
0, VOIDmode, 1, memory_address (SImode, (TRAMP)), Pmode)
#undef TRANSFER_FROM_TRAMPOLINE
#define TRANSFER_FROM_TRAMPOLINE \
extern void __enable_execute_stack (void *); \
void \
__enable_execute_stack (addr) \
void *addr; \
{ \
long size = getpagesize (); \
long mask = ~(size-1); \
char *page = (char *) (((long) addr) & mask); \
char *end = (char *) ((((long) (addr + TRAMPOLINE_SIZE)) & mask) + size); \
\
if (mprotect (page, end - page, PROT_READ | PROT_WRITE | PROT_EXEC) < 0) \
perror ("mprotect of trampoline code"); \
}

View File

@ -1,134 +0,0 @@
/* 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. */
/* 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 TARGET_OS_CPP_BUILTINS() \
do \
{ \
OPENBSD_OS_CPP_BUILTINS_ELF(); \
} \
while (0)
/* 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_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 "\t.set\t"
/* The following macros were originally stolen from i386v4.h.
These have to be defined to get PIC code correct. */
/* Assembler format: dispatch tables. */
/* Assembler format: sections. */
/* 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. */
/* our configuration still doesn't handle dwarf2 correctly */
#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}"
#define OBSD_HAS_CORRECT_SPECS
/* pick up defines for mprotect (used in TRANSFER_FROM_TRANPOLINE) */
#include <sys/types.h>
#include <sys/mman.h>

View File

@ -1,79 +0,0 @@
/* Configuration file for an m88k OpenBSD 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. */
/* a.out with DBX. */
#define DBX_DEBUGGING_INFO
#define DEFAULT_GDB_EXTENSIONS 0
#include <aoutos.h>
#include <m88k/m88k.h>
#include <openbsd.h>
/* Identify the compiler. */
#undef VERSION_INFO1
#define VERSION_INFO1 "Motorola m88k, "
/* Macros to be automatically defined. */
#define CPP_PREDEFINES \
"-D__m88k__ -D__unix__ -D__OpenBSD__ -D__CLASSIFY_TYPE__=2 -Asystem(unix) -Asystem(OpenBSD) -Acpu(m88k) -Amachine(m88k)"
/* If -m88000 is in effect, add -Dmc88000; similarly for -m88100 and -m88110.
However, reproduce the effect of -Dmc88100 previously in CPP_PREDEFINES.
Here, the CPU_DEFAULT is assumed to be -m88100. */
#undef CPP_SPEC
#define CPP_SPEC "%{m88000:-D__mc88000__} \
%{!m88000:%{m88100:%{m88110:-D__mc88000__}}} \
%{!m88000:%{!m88100:%{m88110:-D__mc88110__}}} \
%{!m88000:%{!m88110:%{!ansi:%{traditional:-Dmc88100}} \
-D__mc88100__ -D__mc88100}} %{posix:-D_POSIX_SOURCE} \
%{pthread:-D_POSIX_THREADS}"
/* For the Omron Luna/88k, a float function returns a double in traditional
mode (and a float in ansi mode). */
#undef TRADITIONAL_RETURN_FLOAT
/* 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_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Every structure or union's size must be a multiple of 2 bytes. */
#undef STRUCTURE_SIZE_BOUNDARY
#define STRUCTURE_SIZE_BOUNDARY 16
/* 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
#undef SET_ASM_OP
#define SET_ASM_OP ".def"

View File

@ -1,26 +0,0 @@
/* Configuration file for an host running m88k OpenBSD.
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. */
#include <xm-openbsd.h>
#include <m88k/xm-m88k.h>
/* Remove base m88k idiosyncrasies. */
#undef USG
#undef NO_SYS_SIGLIST

View File

@ -1,22 +0,0 @@
/* Configuration file for a mips big endian OpenBSD 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. */
#define TARGET_ENDIAN_DEFAULT MASK_BIG_ENDIAN
#include <mips/openbsd.h>

View File

@ -1,261 +0,0 @@
/* Definitions for MIPS systems running BSD as target machine for GNU compiler.
Copyright (C) 1993, 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. */
/* We settle for little endian for now */
#define TARGET_ENDIAN_DEFAULT 0
#ifndef CROSS_COMPILE
/* Look for the G++ include files in the system-defined place. */
#undef GPLUSPLUS_INCLUDE_DIR
#define GPLUSPLUS_INCLUDE_DIR "/usr/include/g++"
/* Under OpenBSD, the normal location of the various *crt*.o files is the
/usr/lib directory. */
#undef STANDARD_STARTFILE_PREFIX
#define STANDARD_STARTFILE_PREFIX "/usr/lib/"
#endif
/* Provide a LINK_SPEC appropriate for OpenBSD. Here we provide support
for the special GCC options -static, -assert, and -nostdlib. */
#undef LINK_SPEC
#define LINK_SPEC \
"%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \
%{bestGnum} %{shared} %{non_shared} \
%{call_shared} %{no_archive} %{exact_version} \
%{!shared: %{!non_shared: %{!call_shared: -non_shared}}} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so} \
%{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp \
%{static:-Bstatic} %{!static:-Bdynamic} %{assert*}"
/* We have atexit(3). */
#define HAVE_ATEXIT
/* Implicit library calls should use memcpy, not bcopy, etc. */
#define TARGET_MEM_FUNCTIONS
/* Define mips-specific OpenBSD predefines... */
#ifndef CPP_PREDEFINES
#define CPP_PREDEFINES "-D__ANSI_COMPAT \
-DMIPSEL -DR3000 -DSYSTYPE_BSD -D_SYSTYPE_BSD -D__OpenBSD__ -Dmips \
-D__NO_LEADING_UNDERSCORES__ -D__GP_SUPPORT__ \
-Dunix -D_R3000 \
-Asystem(unix) -Asystem(OpenBSD) -Amachine(mips)"
#endif
#ifndef CC1_SPEC
#define CC1_SPEC "\
%{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
%{mips1:-mfp32 -mgp32}%{mips2:-mfp32 -mgp32}\
%{mips3:%{!msingle-float:%{!m4650:-mfp64}} -mgp64} \
%{mips4:%{!msingle-float:%{!m4650:-mfp64}} -mgp64} \
%{mfp64:%{msingle-float:%emay not use both -mfp64 and -msingle-float}} \
%{mfp64:%{m4650:%emay not use both -mfp64 and -m4650}} \
%{m4650:-mcpu=r4650} \
%{G*} %{EB:-meb} %{EL:-mel} %{EB:%{EL:%emay not use both -EB and -EL}} \
%{pic-none: -mno-half-pic} \
%{pic-lib: -mhalf-pic} \
%{pic-extern: -mhalf-pic} \
%{pic-calls: -mhalf-pic} \
%{save-temps: } \
%{!mno-abicalls: -mabicalls}"
#endif
#define SUBTARGET_ASM_SPEC "%{fPIC:-KPIC}"
#ifndef CPP_SPEC
#define CPP_SPEC "\
%{posix:-D_POSIX_SOURCE} \
%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \
%{!mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
%{mips3:-U__mips -D__mips=3 -D__mips64} \
%{mgp32:-U__mips64} %{mgp64:-D__mips64}"
#endif
#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
#undef LIB_SPEC
#define LIB_SPEC "%{p:-lprof1} %{pg:-lprof1} -lc crtn.o%s"
#define STARTFILE_SPEC \
"%{!shared:%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s libprof1.a%s}%{!p:crt1.o%s}}}"
#ifndef MACHINE_TYPE
#define MACHINE_TYPE "OpenBSD/mips"
#endif
#define TARGET_DEFAULT MASK_GAS
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
#define LOCAL_LABEL_PREFIX "."
/* -G is incompatible with -KPIC which is the default, so only allow objects
in the small data section if the user explicitly asks for it. */
#undef MIPS_DEFAULT_GVALUE
#define MIPS_DEFAULT_GVALUE 0
#include "mips/mips.h"
/*
* Some imports from svr4.h in support of shared libraries.
* Currently, we need the DECLARE_OBJECT_SIZE stuff.
*/
/* Define the strings used for the special svr4 .type and .size directives.
These strings generally do not vary from one system running svr4 to
another, but if a given system (e.g. m88k running svr) needs to use
different pseudo-op names for these, they may be overridden in the
file which includes this one. */
#undef TYPE_ASM_OP
#undef SIZE_ASM_OP
#undef WEAK_ASM_OP
#define TYPE_ASM_OP ".type"
#define SIZE_ASM_OP ".size"
#define WEAK_ASM_OP ".weak"
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
expect various different forms for this operand. The one given here
is just a default. You may need to override it in your machine-
specific tm.h file (depending upon the particulars of your assembler). */
#undef TYPE_OPERAND_FMT
#define TYPE_OPERAND_FMT "@%s"
/* Write the extra assembler code needed to declare a function's result.
Most svr4 assemblers don't require any special declaration of the
result value, but there are exceptions. */
#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 in an ELF object file under SVR4. These macros also output
the starting labels for the relevant functions/objects. */
/* Write the extra assembler code needed to declare a function properly.
Some svr4 assemblers 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(STREAM, NAME, DECL) \
do { \
extern FILE *asm_out_text_file; \
\
if (TARGET_GP_OPT) \
{ \
int align; \
STREAM = asm_out_text_file; \
/* Output ALIGN again to the new stream. XXX */ \
align = floor_log2 (FUNCTION_BOUNDARY / BITS_PER_UNIT); \
if (align > 0) \
{ \
if (output_bytecode) \
BC_OUTPUT_ALIGN (STREAM, align); \
else \
ASM_OUTPUT_ALIGN (STREAM, align); \
} \
} \
fprintf (STREAM, "\t%s\t ", TYPE_ASM_OP); \
assemble_name (STREAM, NAME); \
putc (',', STREAM); \
fprintf (STREAM, TYPE_OPERAND_FMT, "function"); \
putc ('\n', STREAM); \
ASM_DECLARE_RESULT (STREAM, DECL_RESULT (DECL)); \
HALF_PIC_DECLARE (NAME); \
} while (0)
/* Assemble generic sections. */
/* Write the 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); \
putc (',', 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)
/* This is how to 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) \
{ \
char label[256]; \
static int labelno; \
labelno++; \
ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \
ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \
fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
assemble_name (FILE, (FNAME)); \
fprintf (FILE, ","); \
assemble_name (FILE, label); \
fprintf (FILE, "-"); \
assemble_name (FILE, (FNAME)); \
putc ('\n', FILE); \
} \
} while (0)
/* Since gas and gld are standard on OpenBSD, we don't need these */
#undef ASM_FINAL_SPEC
#undef STARTFILE_SPEC

View File

@ -1,124 +0,0 @@
/* Configuration for a Mips ABI32 OpenBSD 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. */
/* Default mips is little endian, unless otherwise specified. */
/* Definitions needed for OpenBSD, avoid picking mips 'defaults'. */
/* GAS must know this. */
#define SUBTARGET_ASM_SPEC "%{fPIC:-KPIC} %|"
/* CPP specific OpenBSD specs. */
#define SUBTARGET_CPP_SPEC OBSD_CPP_SPEC
/* Needed for ELF (inspired by netbsd-elf). */
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
#define LOCAL_LABEL_PREFIX "."
/* The profiling lib spec here is not really correct but we leave
it as it is until we have some kind of profiling working. */
#define LIB_SPEC OBSD_LIB_SPEC
#include <mips/mips.h>
/* Get generic OpenBSD definitions. */
#define OBSD_HAS_DECLARE_FUNCTION_NAME
#define OBSD_HAS_DECLARE_OBJECT
#define OBSD_HAS_CORRECT_SPECS
#include <openbsd.h>
/* mips assembler uses .set for arcane purposes. __attribute__((alias))
and friends won't work until we get recent binutils with .weakext
support. */
#undef SET_ASM_OP
/* Run-time target specifications. */
#if TARGET_ENDIAN_DEFAULT != 0
#define CPP_PREDEFINES "-D__SYSTYPE_BSD__ -D__NO_LEADING_UNDERSCORES__ \
-D__GP_SUPPORT__ -D__MIPSEB__ -D__unix__ -D__OpenBSD__ -D__mips__ \
-Asystem(unix) -Asystem(OpenBSD) -Acpu(mips) -Amachine(mips) -Aendian(big)"
#else
#define CPP_PREDEFINES "-D__SYSTYPE_BSD__ -D__NO_LEADING_UNDERSCORES__ \
-D__GP_SUPPORT__ -D__MIPSEL__ -D__unix__ -D__OpenBSD__ -D__mips__ \
-Asystem(unix) -Asystem(OpenBSD) -Acpu(mips) -Amachine(mips) -Aendian(little)"
#endif
/* 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_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Controlling the compilation driver. */
/* LINK_SPEC appropriate for OpenBSD. Support for GCC options
-static, -assert, and -nostdlib. Dynamic loader control.
XXX Why don't we offer -R support ? */
#undef LINK_SPEC
#define LINK_SPEC \
"%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \
%{bestGnum} %{shared} %{non_shared} \
%{call_shared} %{no_archive} %{exact_version} \
%{!shared: %{!non_shared: %{!call_shared: -non_shared}}} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so} \
%{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp \
%{static:-Bstatic} %{!static:-Bdynamic} %{assert*}"
/* -G is incompatible with -KPIC which is the default, so only allow objects
in the small data section if the user explicitly asks for it. */
#undef MIPS_DEFAULT_GVALUE
#define MIPS_DEFAULT_GVALUE 0
/* Since gas and gld are standard on OpenBSD, we don't need these. */
#undef ASM_FINAL_SPEC
#undef STARTFILE_SPEC
/* A C statement to output something to the assembler file to switch to
section NAME for object DECL which is either a FUNCTION_DECL, a VAR_DECL
or NULL_TREE. Some target formats do not support arbitrary sections.
Do not define this macro in such cases. mips.h doesn't define this,
do it here. */
#define ASM_OUTPUT_SECTION_NAME(F, DECL, NAME, RELOC) \
do { \
extern FILE *asm_out_text_file; \
if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL) \
fprintf (asm_out_text_file, "\t.section %s,\"ax\",@progbits\n", (NAME)); \
else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC)) \
fprintf (F, "\t.section %s,\"a\",@progbits\n", (NAME)); \
else \
fprintf (F, "\t.section %s,\"aw\",@progbits\n", (NAME)); \
} while (0)
/* collect2 support (Macros for initialization). */
/* Mips default configuration is COFF-only, and confuses collect2. */
#undef OBJECT_FORMAT_COFF
#undef EXTENDED_COFF

View File

@ -1,25 +0,0 @@
/* Configuration file for an host running mips OpenBSD.
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. */
#include <xm-openbsd.h>
#include <mips/xm-mips.h>
/* We're NOT systemV. */
#undef USG

View File

@ -1,96 +0,0 @@
/* Configuration file for an ns32k OpenBSD 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. */
#include <ns32k/ns32k.h>
/* XXX broken: ns32k should have symbolic defines. */
/* Compile for the floating point unit & 32532 by default.
Don't assume SB is zero.
Don't use bitfield instructions. */
#define TARGET_DEFAULT (1 + 24 + 32 + 64)
/* 32-bit alignment for efficiency. */
#undef POINTER_BOUNDARY
#define POINTER_BOUNDARY 32
/* 32-bit alignment for efficiency. */
#undef FUNCTION_BOUNDARY
#define FUNCTION_BOUNDARY 32
/* 32532 spec says it can handle any alignment. Rumor from tm-ns32k.h
tells this might not be actually true (but it's for 32032, perhaps
National has fixed the bug for 32532). You might have to change this
if the bug still exists. */
#undef STRICT_ALIGNMENT
#define STRICT_ALIGNMENT 0
/* Use pc relative addressing whenever possible,
it's more efficient than absolute (ns32k.c)
You have to fix a bug in gas 1.38.1 to make this work with gas,
patch available from jkp@cs.hut.fi.
(OpenBSD's gas version has this patch already applied) */
#define PC_RELATIVE
/* Operand of bsr or jsr should be just the address. */
#define CALL_MEMREF_IMPLICIT
/* movd insns may have floating point constant operands. */
#define MOVD_FLOAT_OK
/* Get generic OpenBSD definitions. */
#include <openbsd.h>
/* Run-time target specifications. */
#define CPP_PREDEFINES "-D__unix__ -D__ns32k__ -D__ns32000__ -D__ns32532__ -D__OpenBSD__ -D__pc532__ -Asystem(unix) -Asystem(OpenBSD) -Acpu(ns32k) -Amachine(ns32k)"
/* 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_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Specific options for DBX Output. */
/* This is BSD, so it wants DBX format. */
#define DBX_DEBUGGING_INFO
/* Do not break .stabs pseudos into continuations. */
#define DBX_CONTIN_LENGTH 0
/* This is the char to use for continuation (in case we need to turn
continuation back on). */
#define DBX_CONTIN_CHAR '?'
/* 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. */
#undef PCC_STATIC_STRUCT_RETURN
#define DEFAULT_PCC_STRUCT_RETURN 0

View File

@ -1,27 +0,0 @@
/* Configuration file for an host running ns32k OpenBSD.
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. */
#include <xm-openbsd.h>
#include <ns32k/xm-ns32k.h>
/* Remove ns32k idiosyncrasies. */
#undef memcpy
#undef memset
#undef memcmp

View File

@ -1,24 +0,0 @@
/* LIB_SPEC appropriate for OpenBSD. Select the appropriate libc,
depending on profiling and threads. Basically,
-lc(_r)?(_p)?, select _r for threads, and _p for p or pg. */
/* Copyright (C) 2004 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. */
#define OBSD_LIB_SPEC "%{!shared:-lc%{pthread:_r}%{p:_p}%{!p:%{pg:_p}}}"

View File

@ -1,23 +0,0 @@
/* LIB_SPEC appropriate for OpenBSD. Include -lpthread if -pthread is
specified on the command line. */
/* Copyright (C) 2004 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. */
#define OBSD_LIB_SPEC "%{!shared:%{pthread:-lpthread%{p:_p}%{!p:%{pg:_p}}}} %{!shared:-lc%{p:_p}%{!p:%{pg:_p}}}"

View File

@ -1,83 +0,0 @@
/* Configuration file for an hppa risc OpenBSD 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. */
#include <pa/pa.h>
#define OBSD_HAS_DECLARE_FUNCTION_NAME
#include <openbsd.h>
/* Run-time target specifications. */
#define CPP_PREDEFINES "-D__unix__ -D__ANSI_COMPAT -Asystem(unix) -Asystem(OpenBSD) -Amachine(hppa) -D__OpenBSD__ -D__hppa__ -D__hppa"
#undef OVERRIDE_OPTIONS
#define OVERRIDE_OPTIONS \
{ \
override_options (); \
if (! flag_pic) \
target_flags |= MASK_PORTABLE_RUNTIME | MASK_FAST_INDIRECT_CALLS;\
}
/* XXX Why doesn't PA support -R like everyone ??? */
#undef LINK_SPEC
#define LINK_SPEC \
"%{EB} %{EL} %{shared} %{non_shared} \
%{call_shared} %{no_archive} %{exact_version} \
%{!shared: %{!non_shared: %{!call_shared: -non_shared}}} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so} \
%{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp \
%{static:-Bstatic} %{!static:-Bdynamic} %{assert*}"
/* 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_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
/* Output at beginning of assembler file. */
/* This is slightly changed from main pa.h to only output dyncall
when compiling PIC. */
#undef ASM_FILE_START
#define ASM_FILE_START(FILE) \
do { fputs ("\t.SPACE $PRIVATE$\n\
\t.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=24\n\
\t.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=0x1f,ZERO,SORT=80\n\
\t.SPACE $TEXT$\n\
\t.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=0x2c\n\
\t.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=0x2c,CODE_ONLY\n\
\t.IMPORT $global$,DATA\n", FILE);\
if (flag_pic || !TARGET_FAST_INDIRECT_CALLS)\
fputs ("\t.IMPORT $$dyncall, MILLICODE\n", FILE);\
if (profile_flag)\
fputs ("\t.IMPORT _mcount, CODE\n", FILE);\
if (write_symbols != NO_DEBUG) \
output_file_directive ((FILE), main_input_filename); \
} while (0)
/* Remove hpux specific pa defines. */
#undef LDD_SUFFIX
#undef PARSE_LDD_OUTPUT

View File

@ -1,24 +0,0 @@
LIBGCC1=libgcc1-asm.a
CROSS_LIBGCC1=libgcc1-asm.a
ADA_CFLAGS=-mdisable-indexing
LIB1ASMSRC=pa/lib1funcs.asm
LIB1ASMFUNCS=_divI _divU _remI _remU _multiply _dyncall
LIB2FUNCS_EXTRA=lib2funcs.asm ee.asm ee_fp.asm
lib1funcs.asm: $(srcdir)/config/pa/lib1funcs.asm
rm -f lib1funcs.asm
cp $(srcdir)/config/pa/lib1funcs.asm .
lib2funcs.asm: $(srcdir)/config/pa/lib2funcs.asm
rm -f lib2funcs.asm
cp $(srcdir)/config/pa/lib2funcs.asm .
ee.asm: $(srcdir)/config/pa/ee.asm
rm -f ee.asm
cp $(srcdir)/config/pa/ee.asm .
ee_fp.asm: $(srcdir)/config/pa/ee_fp.asm
rm -f ee_fp.asm
cp $(srcdir)/config/pa/ee_fp.asm .
TARGET_LIBGCC2_CFLAGS = -fPIC

View File

@ -1,45 +0,0 @@
/* Configuration file for an host running pa OpenBSD.
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. */
#include <xm-openbsd.h>
/* It is simpler to grab correct defines directly... */
/* #defines that need visibility everywhere. */
#define FALSE 0
#define TRUE 1
/* This describes the machine the compiler is hosted on. */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
#define HOST_BITS_PER_INT 32
#define HOST_BITS_PER_LONG 32
#define HOST_BITS_PER_LONGLONG 64
/* Doubles are stored in memory with the high order word first. This
matters when cross-compiling. */
#define HOST_WORDS_BIG_ENDIAN 1
/* target machine dependencies.
tm.h is a symbolic link to the actual target specific file. */
#include "tm.h"
/* Arguments to use with `exit'. */
#define SUCCESS_EXIT_CODE 0
#define FATAL_EXIT_CODE 33

View File

@ -1,81 +0,0 @@
/* Configuration file for an rs6000 OpenBSD 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. */
#include <rs6000/sysv4.h>
#define OBSD_HAS_CORRECT_SPECS
#define OBSD_HAS_DECLARE_FUNCTION_NAME
#define OBSD_HAS_DECLARE_FUNCTION_SIZE
#define OBSD_HAS_DECLARE_OBJECT
#include <openbsd.h>
/* XXX need to check ASM_WEAKEN_LABEL/ASM_GLOBALIZE_LABEL. */
/* Run-time target specifications. */
#define CPP_PREDEFINES \
"-D__PPC -D__unix__ -D__OpenBSD__ -D__powerpc -Asystem(unix) -Asystem(OpenBSD) -Acpu(powerpc) -Amachine(powerpc)"
#undef LINK_SPEC
#define LINK_SPEC "-m elf32ppc %{shared:-shared} \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so}} \
%{static:-static}}"
#undef LIB_DEFAULT_SPEC
#define LIB_DEFAULT_SPEC "%(lib_openbsd)"
#undef STARTFILE_DEFAULT_SPEC
#define STARTFILE_DEFAULT_SPEC "%(startfile_openbsd)"
#undef ENDFILE_DEFAULT_SPEC
#define ENDFILE_DEFAULT_SPEC "%(endfile_openbsd)"
#undef LINK_START_DEFAULT_SPEC
#define LINK_START_DEFAULT_SPEC "%(link_start_openbsd)"
#undef LINK_OS_DEFAULT_SPEC
#define LINK_OS_DEFAULT_SPEC "%(link_os_openbsd)"
#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (PowerPC OpenBSD)");
/* Define this macro as a C expression for the initializer of an
array of string to tell the driver program which options are
defaults for this target and thus do not need to be handled
specially when using `MULTILIB_OPTIONS'.
Do not define this macro if `MULTILIB_OPTIONS' is not defined in
the target makefile fragment or if none of the options listed in
`MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */
#undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS { "mbig", "mcall-openbsd" }
/* collect2 support (Macros for initialization). */
/* Don't tell collect2 we use COFF as we don't have (yet ?) a dynamic ld
library with the proper functions to handle this -> collect2 will
default to using nm. */
#undef OBJECT_FORMAT_COFF

View File

@ -1,11 +0,0 @@
# include t-rs6000 too
# this is taken from t-ppcos
MULTILIB_MATCHES_FLOAT = msoft-float=mcpu?403 \
msoft-float=mcpu?mpc403 \
msoft-float=mcpu?ppc403
MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT} \
fPIC=mrelocatable-lib \
fPIC=mrelocatable \
fPIC=fpic

View File

@ -1,32 +0,0 @@
/* Configuration file for an host running rs6000 OpenBSD.
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. */
#include <xm-openbsd.h>
#include <rs6000/xm-rs6000.h>
/* Don't get mistaken for systemV. */
#undef USG
/* OpenBSD is using the gnu-linker, and has no COFF dynamic library
specific support on rs6000 yet. */
#undef COLLECT_EXPORT_LIST
/* OpenBSD is not a broken system... */
#undef IO_BUFFER_SIZE

View File

@ -1,40 +0,0 @@
/* Configuration file for a vax OpenBSD 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. */
#include <vax/vax.h>
#define OBSD_OLD_GAS
#include <openbsd.h>
#define CPP_PREDEFINES "-D__unix__ -D__vax__ -D__OpenBSD__ -Asystem(unix) -Asystem(OpenBSD) -Acpu(vax) -Amachine(vax)"
/* 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_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32

View File

@ -1,3 +0,0 @@
# We need urem and udiv from some kind of support library (e.g. libc) and
# at this point we don't have that available
LIBGCC1_TEST =

View File

@ -1,22 +0,0 @@
/* Configuration file for an host running vax OpenBSD.
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. */
#include <xm-openbsd.h>
#include <xm/xm-vax.h>

View File

@ -1,6 +0,0 @@
#!/bin/sh
WRKBUILD=@WRKBUILD@
FILESDIR=@FILESDIR@
mkdir -p $WRKBUILD/gcc/include/machine
cp $FILESDIR/include/machine/ansi.h $WRKBUILD/gcc/include/machine
cp $FILESDIR/include/*.h $WRKBUILD/gcc/include

View File

@ -1,34 +0,0 @@
# $OpenBSD: gcc3.port.mk,v 1.4 2003/02/10 03:29:28 pvalchev Exp $
MODGCC3_ARCHES?=
# Supported languages for now
_MODGCC3CC= cc
_MODGCC3CXX= c++
_MODGCC3G77= g77
# Always include support for this
MODGCC3_LANGS+= ${_MODGCC3CC}
.if ${MODGCC3_ARCHES:L} != ""
. for _i in ${MODGCC3_ARCHES}
. if !empty(MACHINE_ARCH:M${_i})
BUILD_DEPENDS+= ::lang/egcs/stable
. for _j in ${MODGCC3_LANGS:L}
. if !empty(_MODGCC3CC:L:M${_j})
MODGCC3_post-patch+= ln -s ${LOCALBASE}/bin/eg${_MODGCC3CC} ${WRKDIR}/bin/g${_MODGCC3CC};
MODGCC3_post-patch+= ln -s ${LOCALBASE}/bin/eg${_MODGCC3CC} ${WRKDIR}/bin/${_MODGCC3CC};
. endif
. if !empty(_MODGCC3CXX:L:M${_j})
BUILD_DEPENDS+= ::lang/egcs/stable,-c++
LIB_DEPENDS+= estdc++.5::lang/egcs/stable,-estdc
MODGCC3_post-patch+= ln -s ${LOCALBASE}/bin/e${_MODGCC3CXX} ${WRKDIR}/bin/g++;
MODGCC3_post-patch+= ln -s ${LOCALBASE}/bin/e${_MODGCC3CXX} ${WRKDIR}/bin/${_MODGCC3CXX};
. endif
. if !empty(_MODGCC3G77:L:M${_j})
BUILD_DEPENDS+= ::lang/egcs/stable,-g77
MODGCC3_post-patch+= ln -s ${LOCALBASE}/bin/e${_MODGCC3G77} ${WRKDIR}/bin/f77;
MODGCC3_post-patch+= ln -s ${LOCALBASE}/bin/e${_MODGCC3G77} ${WRKDIR}/bin/${_MODGCC3G77};
. endif
. endfor
. endif
. endfor
.endif

View File

@ -1,12 +0,0 @@
/* ansi.h stub to fix _BSD_VA_LIST_ type and C++ issues. */
#ifndef _ANSI_H_
#include_next <machine/ansi.h>
#undef _BSD_VA_LIST_
#define _BSD_VA_LIST_ __builtin_va_list
/* in ANSI C++, wchar_t is a built-in type, NOT a typedef */
#if defined(__cplusplus)
#ifdef _BSD_WCHAR_T_
#undef _BSD_WCHAR_T_
#endif
#endif
#endif

View File

@ -1,25 +0,0 @@
#ifndef _STDARG_H_
#define _STDARG_H_
#include <machine/ansi.h>
/* Define __gnuc_va_list. */
#ifndef __GNUC_VA_LIST
#define __GNUC_VA_LIST
typedef __builtin_va_list __gnuc_va_list;
#endif
/* Note that the type used in va_arg is supposed to match the
actual type **after default promotions**.
Thus, va_arg (..., short) is not valid. */
#define va_start(v,l) __builtin_stdarg_start((v),l)
#define va_end __builtin_va_end
#define va_arg __builtin_va_arg
#define va_copy(d,s) __builtin_va_copy((d),(s))
typedef __gnuc_va_list va_list;
#endif /* not _STDARG_H_ */

View File

@ -1,25 +0,0 @@
/* $OpenBSD: stdbool.h,v 1.2 2004/01/31 14:58:03 espie Exp $ */
#ifndef _STDBOOL_H
#define _STDBOOL_H
/* gcc now includes _Bool has a built-in integer type */
#ifndef __cplusplus
#define bool _Bool
#define true 1
#define false 0
#else
/* and we want g++ to recognize it as well... but carefully */
#define _Bool bool
#define bool bool
#define false false
#define true true
#endif
/* ANSI conformance */
#define __bool_true_false_are_defined 1
#endif

View File

@ -1,34 +0,0 @@
#ifndef _VARARGS_H_
#define _VARARGS_H_
/* These macros implement traditional (non-ANSI) varargs
for GNU C. */
#define va_alist __builtin_va_alist
#define __va_ellipsis ...
/* ??? We don't process attributes correctly in K&R argument context. */
typedef int __builtin_va_alist_t __attribute__((__mode__(__word__)));
/* ??? It would be nice to get rid of the ellipsis here. It causes
current_function_varargs to be set in cc1. */
#define va_dcl __builtin_va_alist_t __builtin_va_alist; ...
/* Define __gnuc_va_list, just as in stdarg.h. */
#ifndef __GNUC_VA_LIST
#define __GNUC_VA_LIST
typedef __builtin_va_list __gnuc_va_list;
#endif
#define va_start(v) __builtin_varargs_start((v))
#define va_end __builtin_va_end
#define va_arg __builtin_va_arg
#define __va_copy(d,s) __builtin_va_copy((d),(s))
/* Define va_list from __gnuc_va_list. */
typedef __gnuc_va_list va_list;
#endif /* _VARARGS_H_ */

View File

@ -1,16 +0,0 @@
testing procedure:
- obtain a RECENT snapshot of dejagnu from egcs.cygnus.com.
I've used dejagnu-980528 for my tests. Installation should be easy.
It was almost a drop-in for dejagnu-1.3 in my case.
Edit framework.exp to remove *.core instead of core in case of failure...
- uncomment the egcs-test... line in the Makefile.
- after build, go to work/egcs-1.1b and perform a gmake check...
you may wish to use script to record the results as you go...
Look in the work/egcs-1.1b/gcc/testsuite directory for more details.
Disregard g77 tests until g77 is ported over.
To run the same testsuites under native gcc 2.8.1:
- move the site.exp file elsewhere, edit it to get the right paths.
- remove the -Os option from the various testsuite drivers, gcc 2.8.1
does not support -Os...
- run with e.g., GCC=/usr/bin/gcc runtest --tool gcc

View File

@ -1,69 +0,0 @@
I've simply checked my test results against a run-of-the-mill installation
on a redhat linux system for differences...
Here are the differences:
-----------------------------------------------------------
FAIL: gcc.c-torture/execute/ieee/rbug.c execution, -O0
FAIL: gcc.c-torture/execute/ieee/rbug.c execution, -O1
FAIL: gcc.c-torture/execute/ieee/rbug.c execution, -O2
FAIL: gcc.c-torture/execute/ieee/rbug.c execution, -O2 -g
FAIL: gcc.c-torture/execute/ieee/rbug.c execution, -Os
FAIL: gcc.dg/980414-1.c (test for excess errors)
FAIL: g++.law/profile1.C (test for excess errors)
XPASS: g++.robertl/eb132.C (test for excess errors)
-----------------------------------------------------------
This is the test summary:
=== libio Summary ===
# of expected passes 40
=== libstdc++ Summary ===
# of expected passes 30
=== gcc Summary ===
# of expected passes 7490
# of unexpected failures 16
# of expected failures 7
# of unsupported tests 11
=== g++ Summary ===
# of expected passes 4220
# of unexpected failures 1
# of unexpected successes 2
# of expected failures 84
# of untested testcases 7
--------
Here is the corresponding test under gcc 2.8.1 (the actual numbers differ as
gcc does not support -Os)
=== gcc Summary ===
# of expected passes 6312
# of unexpected failures 42
# of expected failures 6
# of unsupported tests 11
=== g++ Summary ===
# of expected passes 3622
# of unexpected failures 462
# of unexpected successes 2
# of expected failures 221
# of untested testcases 7
There is one bug in gcc 2.8.1 that also shows up in egcs under standard
OpenBSD configuration: if using -finline-functions, gcc emits stabs lines
for CTORS at an incorrect position. Hence, the linker no longer finds the
CTORS, hence everything breaks down. This has been reported to egcs-bugs.
The way we get around this problem is by relying on collect2: egcs is
built with use_collect2=yes, so it does no longer relies on stabs for
propert CTOR collection, and the bug is no longer visible.
Marc Espie

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-configure_in,v 1.6 2004/01/31 15:23:58 espie Exp $
--- configure.in.orig 2003-11-11 13:38:45.000000000 +0100
+++ configure.in 2003-11-11 13:39:21.000000000 +0100
@@ -638,6 +638,8 @@ case "${target}" in
*-*-lynxos*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
;;
+ *-*-openbsd*)
+ ;;
*-*-*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-gcc_ada_adaint_c,v 1.3 2004/01/31 15:23:58 espie Exp $
--- gcc/ada/adaint.c.orig 2002-11-18 15:39:46.000000000 +0100
+++ gcc/ada/adaint.c 2003-11-10 20:03:52.000000000 +0100
@@ -632,7 +632,7 @@ __gnat_open_new_temp (path, fmode)
strcpy (path, "GNAT-XXXXXX");
-#if defined (linux) && !defined (__vxworks)
+#if (defined (linux) && !defined (__vxworks)) || defined(__OpenBSD__)
return mkstemp (path);
#elif defined (__Lynx__)
mktemp (path);

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-gcc_ada_gnatchop_adb,v 1.3 2004/01/31 15:23:58 espie Exp $
--- gcc/ada/gnatchop.adb.orig 2002-03-14 11:59:24.000000000 +0100
+++ gcc/ada/gnatchop.adb 2003-11-10 19:19:33.000000000 +0100
@@ -48,7 +48,7 @@ procedure Gnatchop is
Config_File_Name : constant String_Access := new String'("gnat.adc");
-- The name of the file holding the GNAT configuration pragmas
- Gcc : String_Access := new String'("gcc");
+ Gcc : String_Access := new String'("egcc");
-- May be modified by switch --GCC=
Gcc_Set : Boolean := False;

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-gcc_ada_gnatlink_adb,v 1.3 2004/01/31 15:23:58 espie Exp $
--- gcc/ada/gnatlink.adb.orig 2002-10-23 09:33:25.000000000 +0200
+++ gcc/ada/gnatlink.adb 2003-11-10 20:03:52.000000000 +0100
@@ -121,7 +121,7 @@ procedure Gnatlink is
subtype chars_ptr is System.Address;
- Gcc : String_Access := Program_Name ("gcc");
+ Gcc : String_Access := Program_Name ("egcc");
Read_Mode : constant String := "r" & ASCII.Nul;

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-gcc_ada_make_adb,v 1.3 2004/01/31 15:23:58 espie Exp $
--- gcc/ada/make.adb.orig 2002-10-23 09:33:26.000000000 +0200
+++ gcc/ada/make.adb 2003-11-10 20:03:52.000000000 +0100
@@ -407,7 +407,7 @@ package body Make is
-- Compiler, Binder & Linker Data and Subprograms --
----------------------------------------------------
- Gcc : String_Access := Program_Name ("gcc");
+ Gcc : String_Access := Program_Name ("egcc");
Gnatbind : String_Access := Program_Name ("gnatbind");
Gnatlink : String_Access := Program_Name ("gnatlink");
-- Default compiler, binder, linker programs

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-gcc_ada_mlib-utl_adb,v 1.3 2004/01/31 15:23:58 espie Exp $
--- gcc/ada/mlib-utl.adb.orig 2002-03-14 11:59:31.000000000 +0100
+++ gcc/ada/mlib-utl.adb 2003-11-10 20:03:52.000000000 +0100
@@ -41,7 +41,7 @@ package body MLib.Utl is
Initialized : Boolean := False;
- Gcc_Name : constant String := "gcc";
+ Gcc_Name : constant String := "egcc";
Gcc_Exec : OS_Lib.String_Access;
Ar_Name : constant String := "ar";

View File

@ -1,43 +0,0 @@
$OpenBSD: patch-gcc_c-common_c,v 1.2 2004/01/31 15:23:58 espie Exp $
--- gcc/c-common.c.orig 2003-11-11 12:54:41.000000000 +0100
+++ gcc/c-common.c 2003-11-11 12:56:12.000000000 +0100
@@ -765,6 +765,8 @@ static tree handle_deprecated_attribute
bool *));
static tree handle_vector_size_attribute PARAMS ((tree *, tree, tree, int,
bool *));
+static tree handle_bounded_attribute PARAMS ((tree *, tree, tree, int,
+ bool *));
static tree handle_nonnull_attribute PARAMS ((tree *, tree, tree, int,
bool *));
static tree handle_nothrow_attribute PARAMS ((tree *, tree, tree, int,
@@ -850,6 +852,8 @@ const struct attribute_spec c_common_att
handle_deprecated_attribute },
{ "vector_size", 1, 1, false, true, false,
handle_vector_size_attribute },
+ { "bounded", 3, 4, false, true, false,
+ handle_bounded_attribute },
{ "visibility", 1, 1, true, false, false,
handle_visibility_attribute },
{ "tls_model", 1, 1, true, false, false,
@@ -6381,6 +6385,21 @@ vector_size_helper (type, bottom)
return outer;
}
+/* Handle a "bounded" attribute; arguments as in
+ struct attribute_spec.handler.
+ Just a stub for now. */
+
+static tree
+handle_bounded_attribute (node, name, args, flags, no_add_attrs)
+ tree *node ATTRIBUTE_UNUSED;
+ tree name ATTRIBUTE_UNUSED;
+ tree args ATTRIBUTE_UNUSED;
+ int flags ATTRIBUTE_UNUSED;
+ bool *no_add_attrs ATTRIBUTE_UNUSED;
+{
+ return NULL_TREE;
+}
+
/* Handle the "nonnull" attribute. */
static tree
handle_nonnull_attribute (node, name, args, flags, no_add_attrs)

View File

@ -1,93 +0,0 @@
$OpenBSD: patch-gcc_c-format_c,v 1.3 2004/01/31 15:23:58 espie Exp $
--- gcc/c-format.c.orig 2002-12-01 18:51:44.000000000 +0100
+++ gcc/c-format.c 2003-11-11 19:49:08.000000000 +0100
@@ -54,7 +54,7 @@ set_Wformat (setting)
/* This must be in the same order as format_types, with format_type_error
last. */
-enum format_type { printf_format_type, scanf_format_type,
+enum format_type { printf_format_type, kprintf_format_type, syslog_format_type, scanf_format_type,
strftime_format_type, strfmon_format_type,
format_type_error };
@@ -572,6 +572,14 @@ static const format_length_info printf_l
{ NULL, 0, 0, NULL, 0, 0 }
};
+static const format_length_info kprintf_length_specs[] =
+{
+ { "h", FMT_LEN_h, STD_C89, NULL, 0, 0 },
+ { "l", FMT_LEN_l, STD_C89, NULL, 0, 0 },
+ { "L", FMT_LEN_L, STD_C89, NULL, 0, 0 },
+ { NULL, 0, 0, NULL, 0, 0 }
+};
+
/* This differs from printf_length_specs only in that "Z" is not accepted. */
static const format_length_info scanf_length_specs[] =
@@ -765,6 +773,46 @@ static const format_char_info print_char
{ NULL, 0, 0, NOLENGTHS, NULL, NULL }
};
+static const format_char_info kprint_char_table[] =
+{
+ /* C89 conversion specifiers. */
+ { "di", 0, STD_C89, { T89_I, T99_SC, T89_S, T89_L, T9L_LL, TEX_LL, T99_SST, T99_PD, T99_IM }, "-wp0 +'I", "i" },
+ { "oxX", 0, STD_C89, { T89_UI, T99_UC, T89_US, T89_UL, T9L_ULL, TEX_ULL, T99_ST, T99_UPD, T99_UIM }, "-wp0#", "i" },
+ { "u", 0, STD_C89, { T89_UI, T99_UC, T89_US, T89_UL, T9L_ULL, TEX_ULL, T99_ST, T99_UPD, T99_UIM }, "-wp0'I", "i" },
+ { "c", 0, STD_C89, { T89_I, BADLEN, BADLEN, T94_WI, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-w", "" },
+ { "s", 1, STD_C89, { T89_C, BADLEN, BADLEN, T94_W, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "cR" },
+ { "p", 1, STD_C89, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-w", "c" },
+/* Kernel bitmap formatting */
+ { "b", 1, STD_C89, { T89_C, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "", "" },
+/* Kernel recursive format */
+ { ":", 1, STD_C89, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "", "" },
+/* Kernel debugger auto-radix printing */
+ { "nrz", 0, STD_C89, { T89_I, T89_I, T89_I, T89_L, T9L_LL, TEX_LL, BADLEN, BADLEN, BADLEN }, "-wp0# +", "" },
+ { NULL, 0, 0, NOLENGTHS, NULL, NULL }
+};
+
+static const format_char_info syslog_char_table[] =
+{
+ /* C89 conversion specifiers. */
+ { "di", 0, STD_C89, { T89_I, T99_SC, T89_S, T89_L, T9L_LL, TEX_LL, T99_SST, T99_PD, T99_IM }, "-wp0 +'I", "i" },
+ { "oxX", 0, STD_C89, { T89_UI, T99_UC, T89_US, T89_UL, T9L_ULL, TEX_ULL, T99_ST, T99_UPD, T99_UIM }, "-wp0#", "i" },
+ { "u", 0, STD_C89, { T89_UI, T99_UC, T89_US, T89_UL, T9L_ULL, TEX_ULL, T99_ST, T99_UPD, T99_UIM }, "-wp0'I", "i" },
+ { "fgG", 0, STD_C89, { T89_D, BADLEN, BADLEN, T99_D, BADLEN, T89_LD, BADLEN, BADLEN, BADLEN }, "-wp0 +#'", "" },
+ { "eE", 0, STD_C89, { T89_D, BADLEN, BADLEN, T99_D, BADLEN, T89_LD, BADLEN, BADLEN, BADLEN }, "-wp0 +#", "" },
+ { "c", 0, STD_C89, { T89_I, BADLEN, BADLEN, T94_WI, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-w", "" },
+ { "s", 1, STD_C89, { T89_C, BADLEN, BADLEN, T94_W, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "cR" },
+ { "p", 1, STD_C89, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-w", "c" },
+ { "n", 1, STD_C89, { T89_I, T99_SC, T89_S, T89_L, T9L_LL, BADLEN, T99_SST, T99_PD, T99_IM }, "", "W" },
+ /* C99 conversion specifiers. */
+ { "F", 0, STD_C99, { T99_D, BADLEN, BADLEN, T99_D, BADLEN, T99_LD, BADLEN, BADLEN, BADLEN }, "-wp0 +#'", "" },
+ { "aA", 0, STD_C99, { T99_D, BADLEN, BADLEN, T99_D, BADLEN, T99_LD, BADLEN, BADLEN, BADLEN }, "-wp0 +#", "" },
+ /* X/Open conversion specifiers. */
+ { "C", 0, STD_EXT, { TEX_WI, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-w", "" },
+ { "S", 1, STD_EXT, { TEX_W, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "R" },
+ { "m", 0, STD_C89, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "" },
+ { NULL, 0, 0, NOLENGTHS, NULL, NULL }
+};
+
static const format_char_info scan_char_table[] =
{
/* C89 conversion specifiers. */
@@ -828,6 +876,18 @@ static const format_kind_info format_typ
'w', 0, 'p', 0, 'L',
&integer_type_node, &integer_type_node
},
+ { "kprintf", kprintf_length_specs, kprint_char_table, " +#0-'I", NULL,
+ printf_flag_specs, printf_flag_pairs,
+ FMT_FLAG_ARG_CONVERT|FMT_FLAG_DOLLAR_MULTIPLE|FMT_FLAG_USE_DOLLAR|FMT_FLAG_EMPTY_PREC_OK,
+ 'w', 0, 'p', 0, 'L',
+ &integer_type_node, &integer_type_node
+ },
+ { "syslog", printf_length_specs, syslog_char_table, " +#0-'I", NULL,
+ printf_flag_specs, printf_flag_pairs,
+ FMT_FLAG_ARG_CONVERT|FMT_FLAG_DOLLAR_MULTIPLE|FMT_FLAG_USE_DOLLAR|FMT_FLAG_EMPTY_PREC_OK,
+ 'w', 0, 'p', 0, 'L',
+ &integer_type_node, &integer_type_node
+ },
{ "scanf", scanf_length_specs, scan_char_table, "*'I", NULL,
scanf_flag_specs, scanf_flag_pairs,
FMT_FLAG_ARG_CONVERT|FMT_FLAG_SCANF_A_KLUDGE|FMT_FLAG_USE_DOLLAR|FMT_FLAG_ZERO_WIDTH_BAD|FMT_FLAG_DOLLAR_GAP_POINTER_OK,

View File

@ -1,27 +0,0 @@
$OpenBSD: patch-gcc_config_alpha_openbsd1_h,v 1.3 2004/01/31 15:23:58 espie Exp $
--- gcc/config/alpha/openbsd1.h.orig Mon Jun 3 17:18:18 2002
+++ gcc/config/alpha/openbsd1.h Mon Jun 3 17:17:57 2002
@@ -0,0 +1,23 @@
+/* Configuration fragment for an alpha OpenBSD 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. */
+
+#define OBSD_HAS_DECLARE_FUNCTION_NAME
+#define OBSD_HAS_DECLARE_FUNCTION_SIZE
+#define OBSD_HAS_DECLARE_OBJECT

View File

@ -1,131 +0,0 @@
$OpenBSD: patch-gcc_config_alpha_openbsd_h,v 1.6 2004/01/31 15:23:58 espie Exp $
--- gcc/config/alpha/openbsd.h.orig 2002-05-13 07:57:38.000000000 +0200
+++ gcc/config/alpha/openbsd.h 2003-11-10 20:24:08.000000000 +0100
@@ -21,22 +21,25 @@ Boston, MA 02111-1307, USA. */
/* We settle for little endian for now. */
#define TARGET_ENDIAN_DEFAULT 0
-#define OBSD_NO_DYNAMIC_LIBRARIES
-#define OBSD_HAS_DECLARE_FUNCTION_NAME
-#define OBSD_HAS_DECLARE_FUNCTION_SIZE
-#define OBSD_HAS_DECLARE_OBJECT
-
-/* alpha ecoff supports only weak aliases, see below. */
-#define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS (FILE,NAME,0)
-
-#include <openbsd.h>
-
/* Controlling the compilation driver. */
/* alpha needs __start. */
#undef LINK_SPEC
#define LINK_SPEC \
- "%{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp %{assert*}"
+ "%{!shared:%{!nostdlib:%{!r*:%{!e*:-e __start}}}} \
+ %{shared:-shared} %{R*} \
+ %{static:-Bstatic} \
+ %{!static:-Bdynamic} \
+ %{assert*} \
+ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so}"
+
+/* 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}"
/* run-time target specifications */
#define TARGET_OS_CPP_BUILTINS() \
@@ -44,6 +47,7 @@ Boston, MA 02111-1307, USA. */
builtin_define ("__OpenBSD__"); \
builtin_define ("__ANSI_COMPAT"); \
builtin_define ("__unix__"); \
+ builtin_define ("__ELF__"); \
builtin_assert ("system=unix"); \
} while (0)
@@ -63,67 +67,22 @@ Boston, MA 02111-1307, USA. */
#define WCHAR_TYPE_SIZE 32
-#undef PREFERRED_DEBUGGING_TYPE
-#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
+/* #undef PREFERRED_DEBUGGING_TYPE */
+/* #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG */
+/* Output and generation of labels. */
#define LOCAL_LABEL_PREFIX "."
-/* We don't have an init section yet. */
-#undef HAS_INIT_SECTION
-
-/* collect2 support (assembler format: macros for initialization). */
-
-/* Don't tell collect2 we use COFF as we don't have (yet ?) a dynamic ld
- library with the proper functions to handle this -> collect2 will
- default to using nm. */
-#undef OBJECT_FORMAT_COFF
-#undef EXTENDED_COFF
-
-/* 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... */
-#ifdef INCOMING_RETURN_ADDR_RTX
-#undef DWARF2_UNWIND_INFO
-#define DWARF2_UNWIND_INFO 0
-#endif
-
-/* Assembler format: file framework. */
-
-/* Taken from alpha/osf.h. This used to be common to all alpha
- configurations, but elf has departed from it.
- Check alpha/alpha.h, alpha/osf.h for it when egcs is upgraded. */
-#ifndef ASM_FILE_START
-#define ASM_FILE_START(FILE) \
-{ \
- alpha_write_verstamp (FILE); \
- fprintf (FILE, "\t.set noreorder\n"); \
- fprintf (FILE, "\t.set volatile\n"); \
- fprintf (FILE, "\t.set noat\n"); \
- if (TARGET_SUPPORT_ARCH) \
- fprintf (FILE, "\t.arch %s\n", \
- TARGET_CPU_EV6 ? "ev6" \
- : (TARGET_CPU_EV5 \
- ? (TARGET_MAX ? "pca56" : TARGET_BWX ? "ev56" : "ev5") \
- : "ev4")); \
- \
- ASM_OUTPUT_SOURCE_FILENAME (FILE, main_input_filename); \
-}
-#endif
-
-/* Assembler format: label output. */
-
-#define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE) \
- do { \
- fputs ("\t.weakext\t", FILE); \
- assemble_name (FILE, NAME); \
- if (VALUE) \
- { \
- fputs (" , ", FILE); \
- assemble_name (FILE, VALUE); \
- } \
- fputc ('\n', FILE); \
- } while (0)
-
+/* .set on alpha is not used to output labels. */
+#undef SET_ASM_OP
+/* So, provide corresponding default, without the .set. */
+#undef ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL
+#define ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL(FILE, SY, HI, LO) \
+ do { \
+ assemble_name (FILE, SY); \
+ fputc ('=', FILE); \
+ assemble_name (FILE, HI); \
+ fputc ('-', FILE); \
+ assemble_name (FILE, LO); \
+ } while (0)

View File

@ -1,74 +0,0 @@
$OpenBSD: patch-gcc_config_gcc,v 1.17 2004/01/31 15:23:58 espie Exp $
--- gcc/config.gcc.orig 2003-10-01 21:07:01.000000000 +0200
+++ gcc/config.gcc 2003-11-11 16:17:26.000000000 +0100
@@ -578,10 +578,11 @@ alpha*-*-netbsd*)
;;
alpha*-*-openbsd*)
- tm_file="${cpu_type}/${cpu_type}.h ${tm_file}"
+ tm_file="alpha/alpha.h alpha/elf.h alpha/openbsd1.h openbsd.h ${tm_file}"
# default x-alpha is only appropriate for dec-osf.
target_cpu_default="MASK_GAS"
tmake_file="alpha/t-alpha alpha/t-ieee"
+ gas=yes gnu_ld=yes
;;
alpha*-dec-osf[45]*)
@@ -1142,13 +1143,23 @@ i[34567]86-*-netbsd*)
x86_64-*-netbsd*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
;;
-i[34567]86-*-openbsd*)
+i[34567]86-*-openbsd2* | i[34567]86-*-openbsd3.[0123])
tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h ${tm_file}"
# needed to unconfuse gdb
tmake_file="t-libc-ok t-openbsd i386/t-openbsd"
# we need collect2 until our bug is fixed...
use_collect2=yes
;;
+i[34567]86-*-openbsd*)
+ # needed to unconfuse gdb
+ tmake_file="t-libc-ok t-openbsd i386/t-openbsd"
+ tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h"
+ tm_file="${tm_file} exec-stack.h"
+ tm_file="${tm_file} openbsd.h i386/openbsdelf.h"
+ gas=yes
+ gnu_ld=yes
+ stabs=yes
+ ;;
i[34567]86-*-coff*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/i386-coff.h"
;;
@@ -2016,8 +2027,8 @@ romp-*-openbsd*)
# Nothing special
;;
powerpc-*-openbsd*)
- tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd"
- extra_headers=
+ tm_file="rs6000/rs6000.h rs6000/openbsd1.h dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h openbsd.h ${tm_file}"
+ tmake_file="${tmake_file} rs6000/t-ppcos rs6000/t-openbsd"
;;
powerpc64-*-linux*)
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux64.h"
@@ -2397,17 +2408,19 @@ sparc-*-netbsd*)
use_collect2=yes
;;
sparc-*-openbsd*)
- tm_file="sparc/sparc.h ${tm_file}"
+ tm_file="sparc/sparc.h elfos.h svr4.h sparc/sysv4.h ${tm_file}"
# needed to unconfuse gdb
tmake_file="t-libc-ok t-openbsd sparc/t-openbsd"
# we need collect2 until our bug is fixed...
+ gas=yes gnu_ld=yes
use_collect2=yes
;;
sparc64-*-openbsd*)
- tm_file="sparc/openbsd1-64.h sparc/sparc.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h"
+ tm_file="sparc/openbsd1-64.h sparc/sparc.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h"
xm_file=sparc/xm-sp64.h
gas=yes gnu_ld=yes
with_cpu=ultrasparc
+ float_format=i128
;;
sparc-*-bsd*)
tm_file="${tm_file} sparc/bsd.h"

View File

@ -1,31 +0,0 @@
$OpenBSD: patch-gcc_config_i386_openbsd_h,v 1.8 2004/01/31 15:23:58 espie Exp $
--- gcc/config/i386/openbsd.h.orig 2002-10-21 00:37:10.000000000 +0200
+++ gcc/config/i386/openbsd.h 2003-11-11 15:33:52.000000000 +0100
@@ -29,6 +29,7 @@ Boston, MA 02111-1307, USA. */
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
+ OPENBSD_OS_CPP_BUILTINS_COMMON(); \
builtin_define ("__unix__"); \
builtin_define ("__OpenBSD__"); \
builtin_assert ("system=unix"); \
@@ -101,3 +102,19 @@ Boston, MA 02111-1307, USA. */
/* OpenBSD gas currently does not support quad, so do not use it. */
#undef ASM_QUAD
+
+#define TRANSFER_FROM_TRAMPOLINE \
+extern void __enable_execute_stack (void *); \
+void \
+__enable_execute_stack (addr) \
+ void *addr; \
+{ \
+ long size = getpagesize (); \
+ long mask = ~(size-1); \
+ char *page = (char *) (((long) addr) & mask); \
+ char *end = (char *) ((((long) (addr + TRAMPOLINE_SIZE)) & mask) + size); \
+ \
+ /* 7 is PROT_READ | PROT_WRITE | PROT_EXEC */ \
+ if (mprotect (page, end - page, 7) < 0) \
+ perror ("mprotect of trampoline code"); \
+}

View File

@ -1,13 +0,0 @@
$OpenBSD: patch-gcc_config_in,v 1.3 2004/01/31 15:23:58 espie Exp $
--- gcc/config.in.orig 2003-10-16 22:10:47.000000000 +0200
+++ gcc/config.in 2003-11-10 20:03:54.000000000 +0100
@@ -156,6 +156,9 @@
/* Define if you have the kill function. */
#undef HAVE_KILL
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#undef HAVE_LANGINFO_CODESET
+
/* Define if you have the lstat function. */
#undef HAVE_LSTAT

View File

@ -1,83 +0,0 @@
--- gcc/config/openbsd.h.orig 2002-11-25 21:54:46.000000000 -0700
+++ gcc/config/openbsd.h 2004-02-08 04:24:34.000000000 -0700
@@ -52,20 +52,20 @@ Boston, MA 02111-1307, USA. */
#ifdef OPENBSD_NATIVE
-#undef GCC_INCLUDE_DIR
-#define GCC_INCLUDE_DIR "/usr/include"
-
/* The compiler is configured with ONLY the gcc/g++ standard headers. */
#undef INCLUDE_DEFAULTS
#define INCLUDE_DEFAULTS \
{ \
{ GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 }, \
- { GCC_INCLUDE_DIR, "GCC", 0, 0 }, \
+ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1 },\
+ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1 }, \
+ { STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT, 0, 0 }, \
{ 0, 0, 0, 0 } \
}
/* Under OpenBSD, the normal location of the various *crt*.o files is the
/usr/lib directory. */
+#undef STANDARD_STARTFILE_PREFIX
-#define STANDARD_STARTFILE_PREFIX "/usr/lib/"
+#define STANDARD_STARTFILE_PREFIX "/usr/local/lib/"
#endif
@@ -73,8 +73,39 @@ Boston, MA 02111-1307, USA. */
/* Controlling the compilation driver. */
+/* TARGET_OS_CPP_BUILTINS() common to all OpenBSD targets. */
+#define OPENBSD_OS_CPP_BUILTINS_COMMON() \
+ do \
+ { \
+ builtin_define ("__OpenBSD__"); \
+ builtin_define ("__unix__"); \
+ builtin_define ("__ANSI_COMPAT"); \
+ builtin_assert ("system=unix"); \
+ builtin_assert ("system=bsd"); \
+ builtin_assert ("system=OpenBSD"); \
+ } \
+ while (0)
+
+/* TARGET_OS_CPP_BUILTINS() common to all OpenBSD ELF targets. */
+#define OPENBSD_OS_CPP_BUILTINS_ELF() \
+ do \
+ { \
+ OPENBSD_OS_CPP_BUILTINS_COMMON(); \
+ builtin_define ("__ELF__"); \
+ } \
+ while (0)
+
+/* TARGET_OS_CPP_BUILTINS() common to all LP64 OpenBSD targets. */
+#define OPENBSD_OS_CPP_BUILTINS_LP64() \
+ do \
+ { \
+ builtin_define ("_LP64"); \
+ builtin_define ("__LP64__"); \
+ } \
+ while (0)
+
/* CPP_SPEC appropriate for OpenBSD. We deal with -posix and -pthread.
- XXX the way threads are handling currently is not very satisfying,
+ XXX the way threads are handled currently is not very satisfying,
since all code must be compiled with -pthread to work.
This two-stage defines makes it easy to pick that for targets that
have subspecs. */
@@ -84,10 +115,9 @@ Boston, MA 02111-1307, USA. */
#define OBSD_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"
#endif
-/* LIB_SPEC appropriate for OpenBSD. Select the appropriate libc,
- depending on profiling and threads. Basically,
- -lc(_r)?(_p)?, select _r for threads, and _p for p or pg. */
-#define OBSD_LIB_SPEC "%{!shared:-lc%{pthread:_r}%{p:_p}%{!p:%{pg:_p}}}"
+/* 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

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-gcc_config_rs6000_crtsavres_asm,v 1.3 2004/01/31 15:23:58 espie Exp $
--- gcc/config/rs6000/crtsavres.asm.orig Tue Feb 19 13:40:41 2002
+++ gcc/config/rs6000/crtsavres.asm Thu May 30 23:54:20 2002
@@ -39,7 +39,7 @@
.file "crtsavres.asm"
.section ".text"
- #include "ppc-asm.h"
+ #include "rs6000/ppc-asm.h"
#ifndef __powerpc64__

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-gcc_config_rs6000_eabi_asm,v 1.3 2004/01/31 15:23:58 espie Exp $
--- gcc/config/rs6000/eabi.asm.orig Tue Feb 19 13:40:41 2002
+++ gcc/config/rs6000/eabi.asm Thu May 30 21:55:17 2002
@@ -38,7 +38,7 @@
.file "eabi.asm"
.section ".text"
- #include "ppc-asm.h"
+ #include "rs6000/ppc-asm.h"
#ifndef __powerpc64__

View File

@ -1,28 +0,0 @@
$OpenBSD: patch-gcc_config_rs6000_openbsd1_h,v 1.3 2004/01/31 15:23:58 espie Exp $
--- gcc/config/rs6000/openbsd1.h.orig Thu May 30 00:56:45 2002
+++ gcc/config/rs6000/openbsd1.h Thu May 30 00:57:11 2002
@@ -0,0 +1,24 @@
+/* Configuration file for an rs6000 OpenBSD 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. */
+
+#define OBSD_HAS_CORRECT_SPECS
+#define OBSD_HAS_DECLARE_FUNCTION_NAME
+#define OBSD_HAS_DECLARE_FUNCTION_SIZE
+#define OBSD_HAS_DECLARE_OBJECT

View File

@ -1,95 +0,0 @@
$OpenBSD: patch-gcc_config_rs6000_openbsd_h,v 1.5 2004/01/31 15:23:58 espie Exp $
--- gcc/config/rs6000/openbsd.h.orig 2003-11-11 15:19:33.000000000 +0100
+++ gcc/config/rs6000/openbsd.h 2003-11-11 15:31:32.000000000 +0100
@@ -0,0 +1,91 @@
+/* Configuration file for an rs6000 OpenBSD 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. */
+
+/* XXX need to check ASM_WEAKEN_LABEL/ASM_GLOBALIZE_LABEL. */
+
+/* Run-time target specifications. */
+#undef TARGET_OS_CPP_BUILTINS /* FIXME: sysv4.h should not define this! */
+#define TARGET_OS_CPP_BUILTINS() \
+ do \
+ { \
+ OPENBSD_OS_CPP_BUILTINS_ELF(); \
+ builtin_define ("__powerpc__"); \
+ builtin_assert ("cpu=powerpc"); \
+ builtin_assert ("machine=powerpc"); \
+ } \
+ while (0)
+
+#undef CPP_OS_DEFAULT_SPEC
+#define CPP_OS_DEFAULT_SPEC "%(cpp_os_openbsd)"
+
+#undef LINKER_NAME
+#define LINKER_NAME "ld"
+
+#undef LINK_SPEC
+#define LINK_SPEC "%{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so}} \
+ %{static:-static}}"
+
+#undef LIB_DEFAULT_SPEC
+#define LIB_DEFAULT_SPEC "%(lib_openbsd)"
+
+#undef STARTFILE_DEFAULT_SPEC
+#define STARTFILE_DEFAULT_SPEC "%(startfile_openbsd)"
+
+#undef ENDFILE_DEFAULT_SPEC
+#define ENDFILE_DEFAULT_SPEC "%(endfile_openbsd)"
+
+#undef LINK_START_DEFAULT_SPEC
+#define LINK_START_DEFAULT_SPEC "%(link_start_openbsd)"
+
+#undef LINK_OS_DEFAULT_SPEC
+#define LINK_OS_DEFAULT_SPEC "%(link_os_openbsd)"
+
+#undef TARGET_VERSION
+#define TARGET_VERSION fprintf (stderr, " (PowerPC OpenBSD)");
+
+/* Default ABI to use */
+#undef RS6000_ABI_NAME
+#define RS6000_ABI_NAME "openbsd"
+
+/* Define this macro as a C expression for the initializer of an
+ array of string to tell the driver program which options are
+ defaults for this target and thus do not need to be handled
+ specially when using `MULTILIB_OPTIONS'.
+
+ Do not define this macro if `MULTILIB_OPTIONS' is not defined in
+ the target makefile fragment or if none of the options listed in
+ `MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */
+
+#undef MULTILIB_DEFAULTS
+#define MULTILIB_DEFAULTS { "mbig", "mcall-openbsd" }
+
+/* collect2 support (Macros for initialization). */
+
+
+/* Don't tell collect2 we use COFF as we don't have (yet ?) a dynamic ld
+ library with the proper functions to handle this -> collect2 will
+ default to using nm. */
+#undef OBJECT_FORMAT_COFF
+
+

View File

@ -1,233 +0,0 @@
$OpenBSD: patch-gcc_config_rs6000_sysv4_h,v 1.6 2004/01/31 15:23:58 espie Exp $
--- gcc/config/rs6000/sysv4.h.orig 2003-06-17 17:59:10.000000000 +0200
+++ gcc/config/rs6000/sysv4.h 2003-11-11 16:57:18.000000000 +0100
@@ -197,6 +197,8 @@ do { \
rs6000_current_abi = ABI_V4; \
else if (!strcmp (rs6000_abi_name, "linux")) \
rs6000_current_abi = ABI_V4; \
+ else if (!strcmp (rs6000_abi_name, "openbsd")) \
+ rs6000_current_abi = ABI_V4; \
else if (!strcmp (rs6000_abi_name, "gnu")) \
rs6000_current_abi = ABI_V4; \
else if (!strcmp (rs6000_abi_name, "netbsd")) \
@@ -823,6 +825,7 @@ do { \
%{mcall-freebsd: -mbig} \
%{mcall-i960-old: -mlittle} \
%{mcall-linux: -mbig} \
+ %{mcall-openbsd: -mbig} \
%{mcall-gnu: -mbig} \
%{mcall-netbsd: -mbig} \
}}}}"
@@ -847,11 +850,13 @@ do { \
%{mcall-freebsd: -mbig %(cc1_endian_big) } \
%{mcall-i960-old: -mlittle %(cc1_endian_little) } \
%{mcall-linux: -mbig %(cc1_endian_big) } \
+ %{mcall-openbsd: -mbig %(cc1_endian_big) } \
%{mcall-gnu: -mbig %(cc1_endian_big) } \
%{mcall-netbsd: -mbig %(cc1_endian_big) } \
- %{!mcall-aixdesc: %{!mcall-freebsd: %{!mcall-i960-old: %{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: \
+ %{!mcall-aixdesc: %{!mcall-freebsd: %{!mcall-i960-old: %{!mcall-linux: \
+ %{!mcall-openbsd: %{!mcall-gnu: %{!mcall-netbsd: \
%(cc1_endian_default) \
- }}}}}} \
+ }}}}}}} \
}}}} \
%{mno-sdata: -msdata=none } \
%{meabi: %{!mcall-*: -mcall-sysv }} \
@@ -860,6 +865,7 @@ do { \
%{mcall-freebsd: -mno-eabi } \
%{mcall-i960-old: -meabi } \
%{mcall-linux: -mno-eabi } \
+ %{mcall-openbsd: -mno-eabi } \
%{mcall-gnu: -mno-eabi } \
%{mcall-netbsd: -mno-eabi }}} \
%{msdata: -msdata=default} \
@@ -892,11 +898,12 @@ do { \
%{mwindiss: %(link_start_windiss) } \
%{mcall-freebsd: %(link_start_freebsd) } \
%{mcall-linux: %(link_start_linux) } \
+%{mcall-openbsd: %(link_start_openbsd) } \
%{mcall-gnu: %(link_start_gnu) } \
%{mcall-netbsd: %(link_start_netbsd) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
- %{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: \
- %{!mcall-freebsd: %(link_start_default) }}}}}}}}}"
+ %{!mcall-linux: %{!mcall-openbsd: %{!mcall-gnu: %{!mcall-netbsd: \
+ %{!mcall-freebsd: %(link_start_default) }}}}}}}}}}"
#define LINK_START_DEFAULT_SPEC ""
@@ -951,11 +958,12 @@ do { \
%{mwindiss: %(link_os_windiss) } \
%{mcall-freebsd: %(link_os_freebsd) } \
%{mcall-linux: %(link_os_linux) } \
+%{mcall-openbsd: %(link_os_openbsd) } \
%{mcall-gnu: %(link_os_gnu) } \
%{mcall-netbsd: %(link_os_netbsd) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
- %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \
- %{!mcall-netbsd: %(link_os_default) }}}}}}}}}"
+ %{!mcall-freebsd: %{!mcall-linux: %{!mcall-openbsd: %{!mcall-gnu: \
+ %{!mcall-netbsd: %(link_os_default) }}}}}}}}}}"
#define LINK_OS_DEFAULT_SPEC ""
@@ -973,12 +981,13 @@ do { \
%{msim: %(cpp_os_sim) } \
%{mwindiss: %(cpp_os_windiss) } \
%{mcall-freebsd: %(cpp_os_freebsd) } \
+%{mcall-openbsd: %(cpp_os_openbsd) } \
%{mcall-linux: %(cpp_os_linux) } \
%{mcall-gnu: %(cpp_os_gnu) } \
%{mcall-netbsd: %(cpp_os_netbsd) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
- %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \
- %{!mcall-netbsd: %(cpp_os_default) }}}}}}}}}"
+ %{!mcall-freebsd: %{!mcall-linux: %{!mcall-openbsd: %{!mcall-gnu: \
+ %{!mcall-netbsd: %(cpp_os_default) }}}}}}}}}}"
#define CPP_OS_DEFAULT_SPEC ""
@@ -992,11 +1001,12 @@ do { \
%{mwindiss: %(startfile_windiss) } \
%{mcall-freebsd: %(startfile_freebsd) } \
%{mcall-linux: %(startfile_linux) } \
+%{mcall-openbsd: %(startfile_openbsd) } \
%{mcall-gnu: %(startfile_gnu) } \
%{mcall-netbsd: %(startfile_netbsd) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
- %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \
- %{!mcall-netbsd: %(startfile_default) }}}}}}}}}"
+ %{!mcall-freebsd: %{!mcall-linux: %{!mcall-openbsd: %{!mcall-gnu: \
+ %{!mcall-netbsd: %(startfile_default) }}}}}}}}}}"
#define STARTFILE_DEFAULT_SPEC ""
@@ -1010,11 +1020,12 @@ do { \
%{mwindiss: %(lib_windiss) } \
%{mcall-freebsd: %(lib_freebsd) } \
%{mcall-linux: %(lib_linux) } \
+%{mcall-openbsd: %(lib_openbsd) } \
%{mcall-gnu: %(lib_gnu) } \
%{mcall-netbsd: %(lib_netbsd) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
- %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \
- %{!mcall-netbsd: %(lib_default) }}}}}}}}}"
+ %{!mcall-freebsd: %{!mcall-linux: %{!mcall-openbsd: %{!mcall-gnu: \
+ %{!mcall-netbsd: %(lib_default) }}}}}}}}}}"
#define LIB_DEFAULT_SPEC ""
@@ -1028,13 +1039,14 @@ do { \
%{mwindiss: %(endfile_windiss)} \
%{mcall-freebsd: crtsavres.o%s %(endfile_freebsd) } \
%{mcall-linux: crtsavres.o%s %(endfile_linux) } \
+%{mcall-openbsd: crtsavres.o%s %(endfile_openbsd) } \
%{mcall-gnu: crtsavres.o%s %(endfile_gnu) } \
%{mcall-netbsd: crtsavres.o%s %(endfile_netbsd) } \
%{mvxworks: crtsavres.o%s %(endfile_vxworks) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
- %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \
+ %{!mcall-freebsd: %{!mcall-linux: %{!mcall-openbsd: %{!mcall-gnu: \
%{!mcall-netbsd: %{!mvxworks: %(crtsavres_default) \
- %(endfile_default) }}}}}}}}}}"
+ %(endfile_default) }}}}}}}}}}}"
#define CRTSAVRES_DEFAULT_SPEC "crtsavres.o%s"
@@ -1231,6 +1243,46 @@ ncrtn.o%s"
%{mcpu=821: %{!Dppc*: %{!Dmpc*: -Dmpc821} } } \
%{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } }"
+/* OpenBSD support. */
+#ifndef LIB_OPENBSD_SPEC
+#define LIB_OPENBSD_SPEC "%{mnewlib: --start-group %(libc_openbsd) --end-group } %{!mnewlib: %(libc_openbsd) }"
+#endif
+
+#ifndef LIBC_OPENBSD_SPEC
+#define LIBC_OPENBSD_SPEC "%{!shared:%{pthread:-lpthread%{p:_p}%{!p:%{pg:_p}}}} %{!shared:-lc%{p:_p}%{!p:%{pg:_p}}}"
+#endif
+
+#ifndef STARTFILE_OPENBSD_SPEC
+#define STARTFILE_OPENBSD_SPEC "\
+%{!shared: %{pg:gcrt0.o%s} %{!pg:%{p:gcrt0.o%s} %{!p:crt0.o%s}}} \
+%{mnewlib: ecrti.o%s} \
+%{!mnewlib: %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}"
+#endif
+/*
+%{!mnewlib: crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}"
+*/
+
+#ifndef ENDFILE_OPENBSD_SPEC
+#define ENDFILE_OPENBSD_SPEC "\
+%{mnewlib: ecrtn.o%s} \
+%{!mnewlib: %{!shared:crtend.o%s} %{shared:crtendS.o%s}}"
+#endif
+/*
+%{!mnewlib: %{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s}"
+*/
+
+#ifndef LINK_START_OPENBSD_SPEC
+#define LINK_START_OPENBSD_SPEC "-Ttext 0x400074"
+#endif
+
+#ifndef LINK_OS_OPENBSD_SPEC
+#define LINK_OS_OPENBSD_SPEC ""
+#endif
+
+#ifndef CPP_OS_OPENBSD_SPEC
+#define CPP_OS_OPENBSD_SPEC OBSD_CPP_SPEC
+#endif
+
/* VxWorks support. */
/* VxWorks does all the library stuff itself. */
#define LIB_VXWORKS_SPEC ""
@@ -1306,6 +1358,8 @@ ncrtn.o%s"
{ "lib_gnu", LIB_GNU_SPEC }, \
{ "lib_linux", LIB_LINUX_SPEC }, \
{ "lib_netbsd", LIB_NETBSD_SPEC }, \
+ { "lib_openbsd", LIB_OPENBSD_SPEC }, \
+ { "libc_openbsd", LIBC_OPENBSD_SPEC }, \
{ "lib_vxworks", LIB_VXWORKS_SPEC }, \
{ "lib_windiss", LIB_WINDISS_SPEC }, \
{ "lib_default", LIB_DEFAULT_SPEC }, \
@@ -1317,6 +1371,7 @@ ncrtn.o%s"
{ "startfile_gnu", STARTFILE_GNU_SPEC }, \
{ "startfile_linux", STARTFILE_LINUX_SPEC }, \
{ "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \
+ { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \
{ "startfile_vxworks", STARTFILE_VXWORKS_SPEC }, \
{ "startfile_windiss", STARTFILE_WINDISS_SPEC }, \
{ "startfile_default", STARTFILE_DEFAULT_SPEC }, \
@@ -1328,6 +1383,7 @@ ncrtn.o%s"
{ "endfile_gnu", ENDFILE_GNU_SPEC }, \
{ "endfile_linux", ENDFILE_LINUX_SPEC }, \
{ "endfile_netbsd", ENDFILE_NETBSD_SPEC }, \
+ { "endfile_openbsd", ENDFILE_OPENBSD_SPEC }, \
{ "endfile_vxworks", ENDFILE_VXWORKS_SPEC }, \
{ "endfile_windiss", ENDFILE_WINDISS_SPEC }, \
{ "endfile_default", ENDFILE_DEFAULT_SPEC }, \
@@ -1343,6 +1399,7 @@ ncrtn.o%s"
{ "link_start_gnu", LINK_START_GNU_SPEC }, \
{ "link_start_linux", LINK_START_LINUX_SPEC }, \
{ "link_start_netbsd", LINK_START_NETBSD_SPEC }, \
+ { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \
{ "link_start_vxworks", LINK_START_VXWORKS_SPEC }, \
{ "link_start_windiss", LINK_START_WINDISS_SPEC }, \
{ "link_start_default", LINK_START_DEFAULT_SPEC }, \
@@ -1355,6 +1412,7 @@ ncrtn.o%s"
{ "link_os_linux", LINK_OS_LINUX_SPEC }, \
{ "link_os_gnu", LINK_OS_GNU_SPEC }, \
{ "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
+ { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
{ "link_os_vxworks", LINK_OS_VXWORKS_SPEC }, \
{ "link_os_windiss", LINK_OS_WINDISS_SPEC }, \
{ "link_os_default", LINK_OS_DEFAULT_SPEC }, \
@@ -1368,6 +1426,7 @@ ncrtn.o%s"
{ "cpp_os_freebsd", CPP_OS_FREEBSD_SPEC }, \
{ "cpp_os_gnu", CPP_OS_GNU_SPEC }, \
{ "cpp_os_linux", CPP_OS_LINUX_SPEC }, \
+ { "cpp_os_openbsd", CPP_OS_OPENBSD_SPEC }, \
{ "cpp_os_netbsd", CPP_OS_NETBSD_SPEC }, \
{ "cpp_os_rtems", CPP_OS_RTEMS_SPEC }, \
{ "cpp_os_vxworks", CPP_OS_VXWORKS_SPEC }, \

View File

@ -1,59 +0,0 @@
$OpenBSD: patch-gcc_config_rs6000_t-openbsd,v 1.4 2004/01/31 15:23:58 espie Exp $
--- gcc/config/rs6000/t-openbsd.orig Thu May 30 22:09:28 2002
+++ gcc/config/rs6000/t-openbsd Thu May 30 22:18:47 2002
@@ -0,0 +1,55 @@
+# include t-rs6000 too
+# this is taken from t-ppccomm
+# but crt* removed.
+
+
+LIB2FUNCS_EXTRA = tramp.S
+
+# This one can't end up in shared libgcc
+LIB2FUNCS_STATIC_EXTRA = eabi.S
+
+# We want fine grained libraries, so use the new code to build the
+# floating point emulation libraries.
+FPBIT = fp-bit.c
+DPBIT = dp-bit.c
+
+
+dp-bit.c: $(srcdir)/config/fp-bit.c
+ cat $(srcdir)/config/fp-bit.c > dp-bit.c
+
+fp-bit.c: $(srcdir)/config/fp-bit.c
+ echo '#define FLOAT' > fp-bit.c
+ cat $(srcdir)/config/fp-bit.c >> fp-bit.c
+
+eabi.S: $(srcdir)/config/rs6000/eabi.asm
+ cat $(srcdir)/config/rs6000/eabi.asm > eabi.S
+
+tramp.S: $(srcdir)/config/rs6000/tramp.asm
+ cat $(srcdir)/config/rs6000/tramp.asm > tramp.S
+
+# Switch synonyms
+MULTILIB_MATCHES_FLOAT = msoft-float=mcpu?401 \
+ msoft-float=mcpu?403 \
+ msoft-float=mcpu?ec603e \
+ msoft-float=mcpu?801 \
+ msoft-float=mcpu?821 \
+ msoft-float=mcpu?823 \
+ msoft-float=mcpu?860
+MULTILIB_MATCHES_ENDIAN = mlittle=mlittle-endian mbig=mbig-endian
+MULTILIB_MATCHES_SYSV = mcall-sysv=mcall-sysv-eabi mcall-sysv=mcall-sysv-noeabi mcall-sysv=mcall-linux mcall-sysv=mcall-netbsd
+
+LIBGCC = stmp-multilib
+INSTALL_LIBGCC = install-multilib
+EXTRA_MULTILIB_PARTS = crtsavres$(objext)
+
+crtsavres.S: $(srcdir)/config/rs6000/crtsavres.asm
+ cat $(srcdir)/config/rs6000/crtsavres.asm >crtsavres.S
+
+$(T)crtsavres$(objext): crtsavres.S
+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtsavres.S -o $(T)crtsavres$(objext)
+
+# It is important that crtbegin.o, etc., aren't surprised by stuff in .sdata.
+CRTSTUFF_T_CFLAGS = -msdata=none
+# Make sure crt*.o are built with -fPIC even if configured with
+# --enable-shared --disable-multilib
+CRTSTUFF_T_CFLAGS_S = -fPIC -msdata=none

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-gcc_config_rs6000_tramp_asm,v 1.3 2004/01/31 15:23:58 espie Exp $
--- gcc/config/rs6000/tramp.asm.orig Sat Dec 1 02:34:11 2001
+++ gcc/config/rs6000/tramp.asm Thu May 30 21:54:10 2002
@@ -37,7 +37,7 @@
.file "tramp.asm"
.section ".text"
- #include "ppc-asm.h"
+ #include "rs6000/ppc-asm.h"
.type trampoline_initial,@object
.align 2

View File

@ -1,31 +0,0 @@
$OpenBSD: patch-gcc_config_sparc_openbsd1-64_h,v 1.5 2004/01/31 15:23:58 espie Exp $
--- gcc/config/sparc/openbsd1-64.h.orig Thu May 30 22:42:33 2002
+++ gcc/config/sparc/openbsd1-64.h Thu Sep 12 14:50:59 2002
@@ -22,3 +22,27 @@ Boston, MA 02111-1307, USA. */
#define OBSD_HAS_DECLARE_FUNCTION_SIZE
#define OBSD_HAS_DECLARE_OBJECT
+/* Configuration file for sparc64 OpenBSD target.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC 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.
+
+GCC 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 GCC; see the file COPYING. If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+#define OBSD_HAS_DECLARE_FUNCTION_NAME
+#define OBSD_HAS_DECLARE_FUNCTION_SIZE
+#define OBSD_HAS_DECLARE_OBJECT
+

View File

@ -1,198 +0,0 @@
$OpenBSD: patch-gcc_config_sparc_openbsd64_h,v 1.12 2004/02/10 20:14:25 sturm Exp $
--- gcc/config/sparc/openbsd64.h.orig 2002-05-30 14:35:58.000000000 -0600
+++ gcc/config/sparc/openbsd64.h 2004-02-08 02:14:44.000000000 -0700
@@ -21,18 +21,28 @@ Boston, MA 02111-1307, USA. */
#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (sparc64 OpenBSD ELF)")
-/* XXX - do we really want HARD_QUAD? */
#undef TARGET_DEFAULT
#define TARGET_DEFAULT \
-(MASK_V9 + MASK_PTR64 + MASK_64BIT + MASK_HARD_QUAD \
+(MASK_V9 + MASK_PTR64 + MASK_64BIT \
+ MASK_APP_REGS + MASK_FPU + MASK_STACK_BIAS + MASK_LONG_DOUBLE_128)
#undef SPARC_DEFAULT_CMODEL
#define SPARC_DEFAULT_CMODEL CM_MEDMID
/* Run-time target specifications. */
-#undef CPP_PREDEFINES
-#define CPP_PREDEFINES "-D__unix__ -D__sparc__ -D__sparc64__ -D__sparcv9__ -D__sparc_v9__ -D__arch64__ -D__ELF__ -D__OpenBSD__ -Asystem(unix) -Asystem(OpenBSD) -Acpu(sparc) -Amachine(sparc)"
+#define TARGET_OS_CPP_BUILTINS() \
+ do \
+ { \
+ OPENBSD_OS_CPP_BUILTINS_ELF(); \
+ OPENBSD_OS_CPP_BUILTINS_LP64(); \
+ builtin_define ("__sparc64__"); \
+ builtin_define ("__sparc_v9__"); \
+ builtin_define ("__sparcv9__"); \
+ builtin_define ("__arch64__"); \
+ builtin_define ("__sparc"); \
+ builtin_define ("__sparc__"); \
+ } \
+ while (0)
#undef CPP_SUBTARGET_SPEC
#define CPP_SUBTARGET_SPEC ""
@@ -57,6 +67,14 @@ Boston, MA 02111-1307, USA. */
#undef LONG_DOUBLE_TYPE_SIZE
#define LONG_DOUBLE_TYPE_SIZE 128
+#undef WINT_TYPE
+#define WINT_TYPE "long int"
+
+#undef WINT_TYPE_SIZE
+#define WINT_TYPE_SIZE 32
+
+#define HANDLE_PRAGMA_REDEFINE_EXTNAME 1
+
#undef LINK_SPEC
#define LINK_SPEC \
"%{!shared:%{!nostdlib:%{!r*:%{!e*:-e __start}}}} \
@@ -73,3 +91,146 @@ Boston, MA 02111-1307, USA. */
crtbegin%O%s} %{shared:crtbeginS%O%s}"
#undef ENDFILE_SPEC
#define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"
+
+#undef ASM_CPU_DEFAULT_SPEC
+#define ASM_CPU_DEFAULT_SPEC "-xarch=v8plusa"
+
+#undef ASM_CPU_SPEC
+#define ASM_CPU_SPEC "\
+%{mcpu=v8plus:-xarch=v8plus} \
+%{mcpu=ultrasparc:-xarch=v8plusa} \
+%{!mcpu*:%(asm_cpu_default)} \
+"
+
+/* Same as sparc.h */
+#undef DBX_REGISTER_NUMBER
+#define DBX_REGISTER_NUMBER(REGNO) \
+ (TARGET_FLAT && (REGNO) == HARD_FRAME_POINTER_REGNUM ? 31 : REGNO)
+
+/* We use stabs-in-elf by default, because that is what the native
+ toolchain uses. */
+#undef PREFERRED_DEBUGGING_TYPE
+#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
+
+/* The Solaris 2 assembler uses .skip, not .zero, so put this back. */
+#undef ASM_OUTPUT_SKIP
+#define ASM_OUTPUT_SKIP(FILE,SIZE) \
+ fprintf (FILE, "\t.skip %u\n", (SIZE))
+
+#undef LOCAL_LABEL_PREFIX
+#define LOCAL_LABEL_PREFIX "."
+
+/* This is how to output a definition of an internal numbered label where
+ PREFIX is the class of label and NUM is the number within the class. */
+
+#undef ASM_OUTPUT_INTERNAL_LABEL
+#define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \
+ fprintf (FILE, ".L%s%d:\n", PREFIX, NUM)
+
+/* This is how to output a reference to an internal numbered label where
+ PREFIX is the class of label and NUM is the number within the class. */
+
+#undef ASM_OUTPUT_INTERNAL_LABELREF
+#define ASM_OUTPUT_INTERNAL_LABELREF(FILE,PREFIX,NUM) \
+ fprintf (FILE, ".L%s%d", PREFIX, NUM)
+
+/* This is how to store into the string LABEL
+ the symbol_ref name of an internal numbered label where
+ PREFIX is the class of label and NUM is the number within the class.
+ This is suitable for output with `assemble_name'. */
+
+#undef ASM_GENERATE_INTERNAL_LABEL
+#define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) \
+ sprintf ((LABEL), "*.L%s%ld", (PREFIX), (long)(NUM))
+
+/* Select a format to encode pointers in exception handling data. CODE
+ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is
+ true if the symbol may be affected by dynamic relocations.
+
+ Some Solaris dynamic linkers don't handle unaligned section relative
+ relocs properly, so force them to be aligned. */
+#ifndef HAVE_AS_SPARC_UA_PCREL
+#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \
+ ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr)
+#endif
+
+/* ??? This does not work in SunOS 4.x, so it is not enabled in sparc.h.
+ Instead, it is enabled here, because it does work under Solaris. */
+/* Define for support of TFmode long double and REAL_ARITHMETIC.
+ Sparc ABI says that long double is 4 words. */
+#define LONG_DOUBLE_TYPE_SIZE 128
+
+/* But indicate that it isn't supported by the hardware. */
+#define WIDEST_HARDWARE_FP_SIZE 64
+
+#define STDC_0_IN_SYSTEM_HEADERS 1
+
+#define MULDI3_LIBCALL "__mul64"
+#define DIVDI3_LIBCALL "__div64"
+#define UDIVDI3_LIBCALL "__udiv64"
+#define MODDI3_LIBCALL "__rem64"
+#define UMODDI3_LIBCALL "__urem64"
+
+#undef INIT_SUBTARGET_OPTABS
+#define INIT_SUBTARGET_OPTABS \
+ fixsfdi_libfunc \
+ = init_one_libfunc (TARGET_ARCH64 ? "__ftol" : "__ftoll"); \
+ fixunssfdi_libfunc \
+ = init_one_libfunc (TARGET_ARCH64 ? "__ftoul" : "__ftoull"); \
+ fixdfdi_libfunc \
+ = init_one_libfunc (TARGET_ARCH64 ? "__dtol" : "__dtoll"); \
+ fixunsdfdi_libfunc \
+ = init_one_libfunc (TARGET_ARCH64 ? "__dtoul" : "__dtoull")
+
+
+/*
+ * Attempt to turn on access permissions for the stack.
+ *
+ * This code must be defined when compiling gcc but not when compiling
+ * libgcc2.a, unless we're generating code for 64 bits SPARC
+ *
+ * _SC_STACK_PROT is only defined for post 2.6, but we want this code
+ * to run always. 2.6 can change the stack protection but has no way to
+ * query it.
+ *
+ */
+
+/* This declares mprotect (used in TRANSFER_FROM_TRAMPOLINE) for
+ libgcc2.c. */
+/* We don't want to include this because sys/mman.h is not present on
+ some non-Solaris configurations that use sol2.h. */
+#if 0 /* def L_trampoline */
+#include <sys/mman.h>
+#endif
+
+#define TRANSFER_FROM_TRAMPOLINE \
+static int need_enable_exec_stack; \
+ \
+static void check_enabling(void) __attribute__ ((constructor)); \
+static void check_enabling(void) \
+{ \
+ extern long sysconf(int); \
+ \
+ int prot = (int) sysconf(515 /*_SC_STACK_PROT */); \
+ if (prot != 7) \
+ need_enable_exec_stack = 1; \
+} \
+ \
+extern void __enable_execute_stack (void *); \
+void \
+__enable_execute_stack (addr) \
+ void *addr; \
+{ \
+ if (!need_enable_exec_stack) \
+ return; \
+ else { \
+ long size = getpagesize (); \
+ long mask = ~(size-1); \
+ char *page = (char *) (((long) addr) & mask); \
+ char *end = (char *) ((((long) (addr + TRAMPOLINE_SIZE)) & mask) + size); \
+ \
+ /* 7 is PROT_READ | PROT_WRITE | PROT_EXEC */ \
+ if (mprotect (page, end - page, 7) < 0) \
+ perror ("mprotect of trampoline code"); \
+ } \
+}

View File

@ -1,19 +0,0 @@
$OpenBSD: patch-gcc_config_sparc_openbsd_h,v 1.4 2004/01/31 15:23:58 espie Exp $
--- gcc/config/sparc/openbsd.h.orig 2003-11-11 15:37:54.000000000 +0100
+++ gcc/config/sparc/openbsd.h 2003-11-11 15:39:02.000000000 +0100
@@ -23,7 +23,14 @@ Boston, MA 02111-1307, USA. */
#include <openbsd.h>
/* Run-time target specifications. */
-#define CPP_PREDEFINES "-D__unix__ -D__sparc__ -D__OpenBSD__ -Asystem=unix -Asystem=OpenBSD -Acpu=sparc -Amachine=sparc"
+#define TARGET_OS_CPP_BUILTINS() \
+ do \
+ { \
+ OPENBSD_OS_CPP_BUILTINS_ELF(); \
+ builtin_define ("__sparc"); \
+ builtin_define ("__sparc__"); \
+ } \
+ while (0)
/* Layout of source language data types */

View File

@ -1,74 +0,0 @@
$OpenBSD: patch-gcc_cp_g++spec_c,v 1.1 2004/02/10 20:14:25 sturm Exp $
--- gcc/cp/g++spec.c.orig 2003-03-10 17:59:25.000000000 -0700
+++ gcc/cp/g++spec.c 2004-02-08 07:47:42.000000000 -0700
@@ -37,10 +37,16 @@ Boston, MA 02111-1307, USA. */
#endif
#ifndef LIBSTDCXX
-#define LIBSTDCXX "-lstdc++"
+#define LIBSTDCXX "-lestdc++"
#endif
#ifndef LIBSTDCXX_PROFILE
-#define LIBSTDCXX_PROFILE "-lstdc++"
+#define LIBSTDCXX_PROFILE "-lestdc++"
+#endif
+#ifndef LIBSUPCXX
+#define LIBSUPCXX "-lsupc++"
+#endif
+#ifndef LIBSUPCXX_PROFILE
+#define LIBSUPCXX_PROFILE "-lsupc++"
#endif
void
@@ -61,6 +67,10 @@ lang_specific_driver (in_argc, in_argv,
link in libstdc++. */
int library = 1;
+ /* This will be 1 if we encounter a situation where we should link
+ libsupc++. */
+ int libsupcxx = 0;
+
/* The number of arguments being added to what's in argv, other than
libraries. We use this to track the number of times we've inserted
-xc++/-xnone. */
@@ -128,10 +138,17 @@ lang_specific_driver (in_argc, in_argv,
if (argv[i][0] == '-')
{
- if (library != 0 && (strcmp (argv[i], "-nostdlib") == 0
+ if ((strcmp (argv[i], "-nostdlib") == 0
|| strcmp (argv[i], "-nodefaultlibs") == 0))
{
library = 0;
+ libsupcxx = -1;
+ }
+ else if (strcmp (argv[i], "-shared") == 0)
+ {
+ library = 0;
+ if (libsupcxx == 0)
+ libsupcxx = 1;
}
else if (strcmp (argv[i], "-lm") == 0
|| strcmp (argv[i], "-lmath") == 0
@@ -146,6 +163,8 @@ lang_specific_driver (in_argc, in_argv,
}
else if (strcmp (argv[i], "-lc") == 0)
args[i] |= WITHLIBC;
+ else if (strcmp (argv[i], "-lestdc++") == 0)
+ libsupcxx = -1;
else if (strcmp (argv[i], "-pg") == 0 || strcmp (argv[i], "-p") == 0)
saw_profile_flag++;
else if (strcmp (argv[i], "-v") == 0)
@@ -269,6 +288,12 @@ lang_specific_driver (in_argc, in_argv,
j++;
}
+ /* Add -lsupc++ for shared. */
+ if (libsupcxx == 1)
+ {
+ arglist[j++] = saw_profile_flag ? LIBSUPCXX_PROFILE : LIBSUPCXX;
+ added_libraries++;
+ }
/* Add `-lstdc++' if we haven't already done so. */
if (library)
{

View File

@ -1,13 +0,0 @@
$OpenBSD: patch-gcc_libgcc2_c,v 1.1 2004/02/10 20:14:25 sturm Exp $
--- gcc/libgcc2.c.orig 2004-02-08 02:20:49.000000000 -0700
+++ gcc/libgcc2.c 2004-02-08 02:24:13.000000000 -0700
@@ -1740,6 +1740,9 @@ mprotect (char *addr, int len, int prot)
return -1;
}
+#else
+#include <sys/types.h>
+#include <sys/mman.h>
#endif /* WINNT && ! __CYGWIN__ && ! _UWIN */
#ifdef TRANSFER_FROM_TRAMPOLINE

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-gcc_testsuite_g++_old-deja_old-deja_exp,v 1.3 2004/01/31 15:23:58 espie Exp $
--- gcc/testsuite/g++.old-deja/old-deja.exp.orig Sat Jun 28 11:44:23 2003
+++ gcc/testsuite/g++.old-deja/old-deja.exp Sat Jun 28 11:44:31 2003
@@ -52,7 +52,7 @@ foreach file [lsort [find $srcdir/$subdi
# We don't want old-dejagnu.exp to have to know about all the global
# variables we use. For now we tell it about CXXFLAGS and LIBS and
# leave LDFLAGS alone.
- old-dejagnu $GXX_UNDER_TEST "$file" "$tfile" "" "$DEFAULT_CXXFLAGS" "-lstdc++"
+ old-dejagnu $GXX_UNDER_TEST "$file" "$tfile" "" "$DEFAULT_CXXFLAGS" "-lestdc++"
}
# The framework doesn't like to see any error remnants,

View File

@ -1,15 +0,0 @@
$OpenBSD: patch-gcc_testsuite_lib_mike-g++_exp,v 1.3 2004/01/31 15:23:58 espie Exp $
--- gcc/testsuite/lib/mike-g++.exp.orig Sat Jun 28 11:45:09 2003
+++ gcc/testsuite/lib/mike-g++.exp Sat Jun 28 11:45:22 2003
@@ -136,9 +136,9 @@ proc postbase { src_code run groups arg
}
if ![ishost "*-dos-*"] {
- lappend options "libs=-lstdc++ -lg++"
+ lappend options "libs=-lestdc++ -lg++"
} else {
- lappend options "libs=-lstdcxx -lgxx"
+ lappend options "libs=-lestdcxx -lgxx"
}
set comp_output [g++_target_compile $src_file $output_file $compile_type $options]

View File

@ -1,60 +0,0 @@
$OpenBSD: patch-gcc_toplev_c,v 1.7 2004/02/10 20:14:25 sturm Exp $
--- gcc/toplev.c.orig 2003-10-09 14:53:35.000000000 -0600
+++ gcc/toplev.c 2004-02-08 01:47:51.000000000 -0700
@@ -852,7 +852,11 @@ int flag_instrument_function_entry_exit
On SVR4 targets, it also controls whether or not to emit a
string identifying the compiler. */
+#ifdef OPENBSD_NATIVE
+int flag_no_ident = 1;
+#else
int flag_no_ident = 0;
+#endif
/* This will perform a peephole pass before sched2. */
int flag_peephole2 = 0;
@@ -904,6 +908,9 @@ int align_functions_log;
minimum function alignment. Zero means no alignment is forced. */
int force_align_functions_log;
+/* Fake StackProtector option, does nothing. */
+int flag_propolice_protection = 0;
+
/* Table of supported debugging formats. */
static const struct
{
@@ -1186,6 +1193,8 @@ static const lang_independent_options f_
N_("Report on permanent memory allocation at end of run") },
{ "trapv", &flag_trapv, 1,
N_("Trap for signed overflow in addition / subtraction / multiplication") },
+ { "no-stack-protector", &flag_propolice_protection, 0,
+ N_("Fake disable stack protection") },
{ "new-ra", &flag_new_regalloc, 1,
N_("Use graph coloring register allocation.") },
};
@@ -1362,6 +1371,9 @@ documented_lang_options[] =
{ "-Wwrite-strings",
N_("Mark strings as 'const char *'") },
{ "-Wno-write-strings", "" },
+ { "-Wbounded",
+ N_("Fake bounds checking option") },
+ { "-Wno-bounded", "" },
#define DEFINE_LANG_NAME(NAME) { NULL, NAME },
@@ -4898,7 +4910,6 @@ parse_options_and_default_flags (argc, a
flag_schedule_insns_after_reload = 1;
#endif
flag_regmove = 1;
- flag_strict_aliasing = 1;
flag_delete_null_pointer_checks = 1;
flag_reorder_blocks = 1;
flag_reorder_functions = 1;
@@ -4906,6 +4917,7 @@ parse_options_and_default_flags (argc, a
if (optimize >= 3)
{
+ flag_strict_aliasing = 1;
flag_inline_functions = 1;
flag_rename_registers = 1;
}

View File

@ -1,34 +0,0 @@
--- libffi/configure.in.orig 2003-08-09 08:59:00.000000000 +0200
+++ libffi/configure.in 2003-11-10 20:33:50.000000000 +0100
@@ -47,11 +47,13 @@ AC_PROG_LIBTOOL
TARGETDIR="unknown"
case "$host" in
mips-sgi-irix5.* | mips-sgi-irix6.*) TARGET=MIPS; TARGETDIR=mips;;
+mips*-*-openbsd*) TARGET=MIPS; TARGETDIR=mips;;
i*86-*-linux*) TARGET=X86; TARGETDIR=x86;;
i*86-*-sco3.2v5*) TARGET=X86; TARGETDIR=x86;;
i*86-*-solaris*) TARGET=X86; TARGETDIR=x86;;
i*86-*-beos*) TARGET=X86; TARGETDIR=x86;;
i*86-*-freebsd*) TARGET=X86; TARGETDIR=x86;;
+i*86-*-openbsd*) TARGET=X86; TARGETDIR=x86;;
i*86-*-netbsdelf*) TARGET=X86; TARGETDIR=x86;;
i*86-*-win32*) TARGET=X86_WIN32; TARGETDIR=x86;;
i*86-*-cygwin*) TARGET=X86_WIN32; TARGETDIR=x86;;
@@ -60,12 +62,17 @@ sparc-sun-4*) TARGET=SPARC; TARGETDIR=sp
sparc*-sun-*) TARGET=SPARC; TARGETDIR=sparc;;
sparc-*-linux* | sparc-*-netbsdelf*) TARGET=SPARC; TARGETDIR=sparc;;
sparc64-*-linux* | sparc64-*-netbsd*) TARGET=SPARC; TARGETDIR=sparc;;
+sparc-*-openbsd*) TARGET=SPARC; TARGETDIR=sparc;;
+sparc64-*-openbsd*) TARGET=SPARC; TARGETDIR=sparc;;
alpha*-*-linux* | alpha*-*-osf* | alpha*-*-freebsd* | alpha*-*-netbsd*) TARGET=ALPHA; TARGETDIR=alpha;;
+alpha*-*-openbsd*) TARGET=ALPHA; TARGETDIR=alpha;;
ia64*-*-*) TARGET=IA64; TARGETDIR=ia64;;
m68k-*-linux*) TARGET=M68K; TARGETDIR=m68k;;
+m68k-*-openbsd*) TARGET=M68K; TARGETDIR=m68k;;
mips64*-*);;
mips*-*-linux*) TARGET=MIPS_LINUX; TARGETDIR=mips;;
powerpc-*-linux* | powerpc-*-sysv*) TARGET=POWERPC; TARGETDIR=powerpc;;
+powerpc-*-openbsd*) TARGET=POWERPC; TARGETDIR=powerpc;;
powerpc-*-beos*) TARGET=POWERPC; TARGETDIR=powerpc;;
powerpc-*-darwin*) TARGET=POWERPC_DARWIN; TARGETDIR=powerpc;;
powerpc-*-aix*) TARGET=POWERPC_AIX; TARGETDIR=powerpc;;

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-libiberty_choose-temp_c,v 1.1 2004/02/10 20:14:25 sturm Exp $
--- libiberty/choose-temp.c.orig 2004-02-08 02:18:04.000000000 -0700
+++ libiberty/choose-temp.c 2004-02-08 02:18:48.000000000 -0700
@@ -29,6 +29,8 @@ Boston, MA 02111-1307, USA. */
#include <string.h>
#endif
+#include <unistd.h> /* mktemp */
+
#include "libiberty.h"
extern char *choose_tmpdir PARAMS ((void));

View File

@ -1,23 +0,0 @@
$OpenBSD: patch-libjava_aclocal_m4,v 1.3 2004/01/31 15:23:58 espie Exp $
--- libjava/aclocal.m4.orig 2003-10-16 22:10:48.000000000 +0200
+++ libjava/aclocal.m4 2003-11-10 20:03:57.000000000 +0100
@@ -458,3 +458,19 @@ for am_file in <<$1>>; do
done<<>>dnl>>)
changequote([,]))])
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_LANGINFO_CODESET],
+[
+ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
+ [AC_TRY_LINK([#include <langinfo.h>],
+ [char* cs = nl_langinfo(CODESET);],
+ am_cv_langinfo_codeset=yes,
+ am_cv_langinfo_codeset=no)
+ ])
+ if test $am_cv_langinfo_codeset = yes; then
+ AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
+ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
+ fi
+])
+

View File

@ -1,42 +0,0 @@
$OpenBSD: patch-libjava_configure_in,v 1.4 2004/01/31 15:23:58 espie Exp $
--- libjava/configure.in.orig 2003-06-17 18:04:20.000000000 +0200
+++ libjava/configure.in 2003-11-12 11:46:13.000000000 +0100
@@ -300,6 +300,7 @@ changequote(<<,>>)dnl
changequote([,])
GC=$enableval,
GC=boehm)
+GC=system-boehm
GCLIBS=
GCINCS=
GCDEPS=
@@ -323,6 +324,22 @@ case "$GC" in
dnl The POSIX thread support needs to know this.
AC_DEFINE(HAVE_BOEHM_GC)
;;
+ system-boehm)
+ AC_MSG_RESULT(system-boehm)
+ GCLIBS=/usr/local/lib/libgc.la
+ GCINCS='-I/usr/local/include'
+ GCSPEC=-lgc
+ JC1GCSPEC='-fuse-boehm-gc'
+ GCTESTSPEC="-L/usr/local/lib"
+
+ dnl We also want to pick up some cpp flags required when including
+ dnl boehm-config.h. Yuck.
+ GCINCS="$GCINCS -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 "
+ GCOBJS=boehm.lo
+ GCHDR=boehm-gc.h
+ dnl The POSIX thread support needs to know this.
+ AC_DEFINE(HAVE_BOEHM_GC)
+ ;;
no)
AC_MSG_RESULT(none)
GCOBJS=nogc.lo
@@ -542,6 +559,7 @@ else
fi
AM_ICONV
+ AM_LANGINFO_CODESET
AM_LC_MESSAGES
AC_STRUCT_TIMEZONE

View File

@ -1,13 +0,0 @@
$OpenBSD: patch-libjava_include_config_h_in,v 1.3 2004/01/31 15:23:58 espie Exp $
--- libjava/include/config.h.in.orig Mon Jun 3 16:40:12 2002
+++ libjava/include/config.h.in Mon Jun 3 16:40:42 2002
@@ -77,6 +77,9 @@
/* Define if you have the `gmtime_r' function. */
#undef HAVE_GMTIME_R
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#undef HAVE_LANGINFO_CODESET
+
/* Define if you have the `localtime_r' function. */
#undef HAVE_LOCALTIME_R

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-libjava_java_lang_natRuntime_cc,v 1.2 2004/01/31 15:23:58 espie Exp $
--- libjava/java/lang/natRuntime.cc.orig 2003-11-11 18:17:19.000000000 +0100
+++ libjava/java/lang/natRuntime.cc 2003-11-11 18:17:42.000000000 +0100
@@ -341,7 +341,7 @@ java::lang::Runtime::traceMethodCalls (j
}
#if ! defined (DEFAULT_FILE_ENCODING) && defined (HAVE_ICONV) \
- && defined (HAVE_NL_LANGINFO)
+ && defined (HAVE_LANGINFO_CODESET)
static char *
file_encoding ()

View File

@ -1,28 +0,0 @@
--- libstdc++-v3/src/Makefile.in.orig 2003-03-17 20:07:39.000000000 +0100
+++ libstdc++-v3/src/Makefile.in 2003-11-12 19:18:45.000000000 +0100
@@ -145,7 +145,7 @@ glibcpp_srcdir = @glibcpp_srcdir@
glibcpp_builddir = @glibcpp_builddir@
toolexecdir = @glibcpp_toolexecdir@
toolexeclibdir = @glibcpp_toolexeclibdir@
-toolexeclib_LTLIBRARIES = libstdc++.la
+toolexeclib_LTLIBRARIES = libestdc++.la
@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@version_arg = @GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@-Wl,--version-script=libstdc++-symbol.ver
@GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE@version_arg =
@@ -408,7 +408,7 @@ distclean-libtool:
maintainer-clean-libtool:
-libstdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES)
+libestdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES)
$(CXXLINK) -rpath $(toolexeclibdir) $(libstdc___la_LDFLAGS) $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD) $(LIBS)
.cc.o:
$(CXXCOMPILE) -c $<
@@ -544,6 +544,7 @@ mostlyclean distclean maintainer-clean
@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@libstdc++-symbol.ver: ${glibcpp_srcdir}/@SYMVER_MAP@
@GLIBCPP_BUILD_VERSIONED_SHLIB_TRUE@ @LN_S@ ${glibcpp_srcdir}/@SYMVER_MAP@ ./libstdc++-symbol.ver || true
@GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE@libstdc++-symbol.ver:
+@GLIBCPP_BUILD_VERSIONED_SHLIB_FALSE@ touch $@
codecvt_members.cc: ${glibcpp_srcdir}/@CCODECVT_CC@
@LN_S@ ${glibcpp_srcdir}/@CCODECVT_CC@ . || true

View File

@ -1,14 +0,0 @@
$OpenBSD: patch-libtool_m4,v 1.3 2004/01/31 15:23:58 espie Exp $
--- libtool.m4.orig 2003-09-09 10:04:17.000000000 +0200
+++ libtool.m4 2003-11-10 20:03:58.000000000 +0100
@@ -701,6 +701,10 @@ newsos6)
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
+openbsd*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
osf3* | osf4* | osf5*)
# this will be overridden with pass_all, but let us keep it just in case
lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'

View File

@ -1,19 +0,0 @@
$OpenBSD: patch-ltcf-c_sh,v 1.3 2004/01/31 15:23:58 espie Exp $
--- ltcf-c.sh.orig 2002-08-14 04:39:52.000000000 +0200
+++ ltcf-c.sh 2003-11-10 20:03:58.000000000 +0100
@@ -476,10 +476,13 @@ else
;;
openbsd*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
+ archive_cmds='$CC $pic_flag -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ archive_expsym_cmds='$CC $pic_flag -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ hardcode_libdir_flag_spec='${wl}-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
+ remove_lgcc=yes
+ output_verbose_link_cmds='$CC $ac_cv_prog_cc_pic -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
;;
os2*)

View File

@ -1,23 +0,0 @@
$OpenBSD: patch-ltcf-cxx_sh,v 1.3 2004/01/31 15:23:58 espie Exp $
--- ltcf-cxx.sh.orig 2003-02-20 02:12:47.000000000 +0100
+++ ltcf-cxx.sh 2003-11-10 20:03:58.000000000 +0100
@@ -407,6 +407,19 @@ case $host_os in
netbsd*)
# NetBSD uses g++ - do we need to do anything?
;;
+ openbsd*)
+ if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then
+ # MM: OpenBSD 2.7 uses G++, but not GNU ld
+ archive_cmds='$CC $pic_flag -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ archive_expsym_cmds='$CC $pic_flag -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ old_archive_cmds="$old_archive_cmds~"'$RANLIB $oldlib'
+ hardcode_libdir_flag_spec='${wl}-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ remove_lgcc=yes
+ output_verbose_link_cmds='$CC $ac_cv_prog_cc_pic -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
+ fi
+ ;;
osf3*)
case $cc_basename in
KCC)

View File

@ -1,19 +0,0 @@
$OpenBSD: patch-ltcf-gcj_sh,v 1.3 2004/01/31 15:23:58 espie Exp $
--- ltcf-gcj.sh.orig Sun Sep 16 15:52:22 2001
+++ ltcf-gcj.sh Sun Sep 16 15:55:09 2001
@@ -445,10 +445,13 @@ else
;;
openbsd*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
+ archive_cmds='$CC $pic_flag -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ archive_expsym_cmds='$CC $pic_flag -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ hardcode_libdir_flag_spec='${wl}-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
+ remove_lgcc=yes
+ output_verbose_link_cmds='$CC $ac_cv_prog_cc_pic -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
;;
os2*)

View File

@ -1,27 +0,0 @@
$OpenBSD: patch-ltconfig,v 1.3 2004/01/31 15:23:58 espie Exp $
--- ltconfig.orig 2003-02-20 03:10:02.000000000 +0100
+++ ltconfig 2003-11-10 20:03:58.000000000 +0100
@@ -625,7 +625,12 @@ old_postuninstall_cmds=
if test -n "$RANLIB"; then
old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
- old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds";;
+ *)
+ old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds";;
+ esac
fi
# Source the script associated with the $tagname tag configuration.
@@ -1281,6 +1286,9 @@ openbsd*)
library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ deplib_check_method=pass_all
+ sys_lib_dlsearch_path_spec='/usr/lib /usr/local/lib /usr/X11R6/lib'
;;
os2*)

View File

@ -1,17 +0,0 @@
OpenBSD currently ships with a slightly modified gcc 2.95.3, which
should be adequate for most people.
Selected changes:
* gcc 3.2 is much slower compiling than gcc 2.95.
* integrated preprocessor, somewhat better diagnostics.
* much better C++ support, almost fully ISO compliant.
* better C++ template diagnostics.
* better code generation, (scheduling on newer intel platforms), sparc64,
and others...
* function at-a-time compile and tree based inliner, that should give
better results than the old inliner.
* profiler-directed optimizations.
* built-in for mmx (needs new gas though) or altivec.
* integrated ada and java compiler (boehm-gc does not work on OpenBSD yet).
* more robust, especially where odd compile options are concerned.

View File

@ -1,3 +0,0 @@
@comment $OpenBSD: PFRAG.PIC,v 1.1 2004/09/15 19:06:57 espie Exp $
lib/gcc-lib/${CONFIG}/${V}/fpic/
lib/gcc-lib/${CONFIG}/${V}/fpic/libgcc.a

View File

@ -1,6 +0,0 @@
@comment $OpenBSD: PFRAG.PIC-c++,v 1.1 2004/09/15 19:06:57 espie Exp $
lib/fpic/libestdc++.a
@comment lib/fpic/libestdc++.la
lib/fpic/libiberty.a
lib/fpic/libsupc++.a
@comment lib/fpic/libsupc++.la

View File

@ -1,4 +0,0 @@
@comment $OpenBSD: PFRAG.PIC-g77,v 1.1 2004/09/15 19:06:57 espie Exp $
lib/fpic/libfrtbegin.a
lib/fpic/libg2c.a
lib/fpic/libg2c.la

View File

@ -1,7 +0,0 @@
@comment $OpenBSD: PFRAG.PIC-java,v 1.1 2004/09/15 19:06:57 espie Exp $
lib/fpic/lib-org-w3c-dom.a
lib/fpic/lib-org-w3c-dom.la
lib/fpic/lib-org-xml-sax.a
lib/fpic/lib-org-xml-sax.la
lib/fpic/libffi.a
lib/fpic/libffi.la

View File

@ -1,3 +0,0 @@
@comment $OpenBSD: PFRAG.PIC-objc,v 1.1 2004/09/15 19:06:57 espie Exp $
lib/fpic/libobjc.a
lib/fpic/libobjc.la

View File

@ -1,2 +0,0 @@
@comment $OpenBSD: PFRAG.PPC,v 1.1 2004/09/15 19:06:57 espie Exp $
lib/gcc-lib/${CONFIG}/${V}/crtsavres.o

View File

@ -1,2 +0,0 @@
@comment $OpenBSD: PFRAG.shared-estdc,v 1.6 2004/08/09 00:02:22 espie Exp $
@lib lib/libestdc++.so.5.5

View File

@ -1,2 +0,0 @@
@comment $OpenBSD: PFRAG.shared-g77,v 1.4 2004/08/09 00:02:22 espie Exp $
@lib lib/libg2c.so.0.0

View File

@ -1,7 +0,0 @@
@comment $OpenBSD: PFRAG.shared-java,v 1.4 2004/08/09 00:02:22 espie Exp $
@lib lib/lib-org-w3c-dom.so.0.0
@lib lib/lib-org-xml-sax.so.0.0
lib/libffi-2.00-beta.so
lib/libffi.so
@comment @lib lib/libgc.so.1.2
@lib lib/libgcj.so.4.0

View File

@ -1,2 +0,0 @@
@comment $OpenBSD: PFRAG.shared-objc,v 1.8 2004/08/09 00:02:22 espie Exp $
@lib lib/libobjc.so.1.0

View File

@ -1,46 +0,0 @@
@comment $OpenBSD: PLIST,v 1.22 2004/09/18 12:52:54 espie Exp $
@conflict egcs-*-core
bin/ecpp
bin/egcc
bin/egccbug
bin/egcov
bin/${CONFIG}-egcc
bin/${CONFIG}-gcc-${V}
@info info/cpp.info
@info info/cppinternals.info
@info info/gcc.info
@info info/gccint.info
lib/gcc-lib/
lib/gcc-lib/${CONFIG}/
lib/gcc-lib/${CONFIG}/${V}/
lib/gcc-lib/${CONFIG}/${V}/cc1
lib/gcc-lib/${CONFIG}/${V}/collect2
lib/fpic/
lib/gcc-lib/${CONFIG}/${V}/include/
lib/gcc-lib/${CONFIG}/${V}/include/README
lib/gcc-lib/${CONFIG}/${V}/include/limits.h
lib/gcc-lib/${CONFIG}/${V}/include/machine/
lib/gcc-lib/${CONFIG}/${V}/include/machine/ansi.h
lib/gcc-lib/${CONFIG}/${V}/include/stdarg.h
lib/gcc-lib/${CONFIG}/${V}/include/stdbool.h
lib/gcc-lib/${CONFIG}/${V}/include/syslimits.h
lib/gcc-lib/${CONFIG}/${V}/include/varargs.h
lib/gcc-lib/${CONFIG}/${V}/install-tools/
lib/gcc-lib/${CONFIG}/${V}/install-tools/fixinc.sh
lib/gcc-lib/${CONFIG}/${V}/install-tools/gsyslimits.h
lib/gcc-lib/${CONFIG}/${V}/install-tools/include/
lib/gcc-lib/${CONFIG}/${V}/install-tools/include/README
lib/gcc-lib/${CONFIG}/${V}/install-tools/include/limits.h
lib/gcc-lib/${CONFIG}/${V}/install-tools/mkheaders
lib/gcc-lib/${CONFIG}/${V}/install-tools/mkheaders.conf
lib/gcc-lib/${CONFIG}/${V}/libgcc.a
lib/gcc-lib/${CONFIG}/${V}/specs
lib/libiberty.a
@man man/man1/cpp.1
@man man/man1/egcc.1
@man man/man1/gcov.1
@comment @man man/man7/fsf-funding.7
@comment @man man/man7/gfdl.7
@comment @man man/man7/gpl.7
%%PIC%%
%%PPC%%

File diff suppressed because it is too large Load Diff

View File

@ -1,206 +0,0 @@
@comment $OpenBSD: PLIST-c++,v 1.17 2004/09/18 12:52:54 espie Exp $
@conflict egcs-*-core
bin/ec++
bin/eg++
bin/${CONFIG}-ec++
bin/${CONFIG}-eg++
include/c++/
include/c++/${V}/
include/c++/${V}/algorithm
include/c++/${V}/backward/
include/c++/${V}/backward/algo.h
include/c++/${V}/backward/algobase.h
include/c++/${V}/backward/alloc.h
include/c++/${V}/backward/backward_warning.h
include/c++/${V}/backward/bvector.h
include/c++/${V}/backward/complex.h
include/c++/${V}/backward/defalloc.h
include/c++/${V}/backward/deque.h
include/c++/${V}/backward/fstream.h
include/c++/${V}/backward/function.h
include/c++/${V}/backward/hash_map.h
include/c++/${V}/backward/hash_set.h
include/c++/${V}/backward/hashtable.h
include/c++/${V}/backward/heap.h
include/c++/${V}/backward/iomanip.h
include/c++/${V}/backward/iostream.h
include/c++/${V}/backward/istream.h
include/c++/${V}/backward/iterator.h
include/c++/${V}/backward/list.h
include/c++/${V}/backward/map.h
include/c++/${V}/backward/multimap.h
include/c++/${V}/backward/multiset.h
include/c++/${V}/backward/new.h
include/c++/${V}/backward/ostream.h
include/c++/${V}/backward/pair.h
include/c++/${V}/backward/queue.h
include/c++/${V}/backward/rope.h
include/c++/${V}/backward/set.h
include/c++/${V}/backward/slist.h
include/c++/${V}/backward/stack.h
include/c++/${V}/backward/stream.h
include/c++/${V}/backward/streambuf.h
include/c++/${V}/backward/strstream
include/c++/${V}/backward/tempbuf.h
include/c++/${V}/backward/tree.h
include/c++/${V}/backward/vector.h
include/c++/${V}/bits/
include/c++/${V}/bits/basic_ios.h
include/c++/${V}/bits/basic_ios.tcc
include/c++/${V}/bits/basic_string.h
include/c++/${V}/bits/basic_string.tcc
include/c++/${V}/bits/boost_concept_check.h
include/c++/${V}/bits/char_traits.h
include/c++/${V}/bits/cmath.tcc
include/c++/${V}/bits/codecvt.h
include/c++/${V}/bits/concept_check.h
include/c++/${V}/bits/cpp_type_traits.h
include/c++/${V}/bits/deque.tcc
include/c++/${V}/bits/fpos.h
include/c++/${V}/bits/fstream.tcc
include/c++/${V}/bits/functexcept.h
include/c++/${V}/bits/gslice.h
include/c++/${V}/bits/gslice_array.h
include/c++/${V}/bits/indirect_array.h
include/c++/${V}/bits/ios_base.h
include/c++/${V}/bits/istream.tcc
include/c++/${V}/bits/list.tcc
include/c++/${V}/bits/locale_classes.h
include/c++/${V}/bits/locale_facets.h
include/c++/${V}/bits/locale_facets.tcc
include/c++/${V}/bits/localefwd.h
include/c++/${V}/bits/mask_array.h
include/c++/${V}/bits/ostream.tcc
include/c++/${V}/bits/pthread_allocimpl.h
include/c++/${V}/bits/slice_array.h
include/c++/${V}/bits/sstream.tcc
include/c++/${V}/bits/stl_algo.h
include/c++/${V}/bits/stl_algobase.h
include/c++/${V}/bits/stl_alloc.h
include/c++/${V}/bits/stl_bvector.h
include/c++/${V}/bits/stl_construct.h
include/c++/${V}/bits/stl_deque.h
include/c++/${V}/bits/stl_function.h
include/c++/${V}/bits/stl_heap.h
include/c++/${V}/bits/stl_iterator.h
include/c++/${V}/bits/stl_iterator_base_funcs.h
include/c++/${V}/bits/stl_iterator_base_types.h
include/c++/${V}/bits/stl_list.h
include/c++/${V}/bits/stl_map.h
include/c++/${V}/bits/stl_multimap.h
include/c++/${V}/bits/stl_multiset.h
include/c++/${V}/bits/stl_numeric.h
include/c++/${V}/bits/stl_pair.h
include/c++/${V}/bits/stl_pthread_alloc.h
include/c++/${V}/bits/stl_queue.h
include/c++/${V}/bits/stl_raw_storage_iter.h
include/c++/${V}/bits/stl_relops.h
include/c++/${V}/bits/stl_set.h
include/c++/${V}/bits/stl_stack.h
include/c++/${V}/bits/stl_tempbuf.h
include/c++/${V}/bits/stl_threads.h
include/c++/${V}/bits/stl_tree.h
include/c++/${V}/bits/stl_uninitialized.h
include/c++/${V}/bits/stl_vector.h
include/c++/${V}/bits/stream_iterator.h
include/c++/${V}/bits/streambuf.tcc
include/c++/${V}/bits/streambuf_iterator.h
include/c++/${V}/bits/stringfwd.h
include/c++/${V}/bits/type_traits.h
include/c++/${V}/bits/valarray_array.h
include/c++/${V}/bits/valarray_array.tcc
include/c++/${V}/bits/valarray_meta.h
include/c++/${V}/bits/vector.tcc
include/c++/${V}/bitset
include/c++/${V}/cassert
include/c++/${V}/cctype
include/c++/${V}/cerrno
include/c++/${V}/cfloat
include/c++/${V}/ciso646
include/c++/${V}/climits
include/c++/${V}/clocale
include/c++/${V}/cmath
include/c++/${V}/complex
include/c++/${V}/csetjmp
include/c++/${V}/csignal
include/c++/${V}/cstdarg
include/c++/${V}/cstddef
include/c++/${V}/cstdio
include/c++/${V}/cstdlib
include/c++/${V}/cstring
include/c++/${V}/ctime
include/c++/${V}/cwchar
include/c++/${V}/cwctype
include/c++/${V}/cxxabi.h
include/c++/${V}/deque
include/c++/${V}/exception
include/c++/${V}/exception_defines.h
include/c++/${V}/ext/
include/c++/${V}/ext/algorithm
include/c++/${V}/ext/enc_filebuf.h
include/c++/${V}/ext/functional
include/c++/${V}/ext/hash_map
include/c++/${V}/ext/hash_set
include/c++/${V}/ext/iterator
include/c++/${V}/ext/memory
include/c++/${V}/ext/numeric
include/c++/${V}/ext/rb_tree
include/c++/${V}/ext/rope
include/c++/${V}/ext/ropeimpl.h
include/c++/${V}/ext/slist
include/c++/${V}/ext/stdio_filebuf.h
include/c++/${V}/ext/stl_hash_fun.h
include/c++/${V}/ext/stl_hashtable.h
include/c++/${V}/ext/stl_rope.h
include/c++/${V}/fstream
include/c++/${V}/functional
include/c++/${V}/${CONFIG}/
include/c++/${V}/${CONFIG}/bits/
include/c++/${V}/${CONFIG}/bits/atomicity.h
include/c++/${V}/${CONFIG}/bits/basic_file.h
include/c++/${V}/${CONFIG}/bits/c++config.h
include/c++/${V}/${CONFIG}/bits/c++io.h
include/c++/${V}/${CONFIG}/bits/c++locale.h
include/c++/${V}/${CONFIG}/bits/codecvt_specializations.h
include/c++/${V}/${CONFIG}/bits/ctype_base.h
include/c++/${V}/${CONFIG}/bits/ctype_inline.h
include/c++/${V}/${CONFIG}/bits/ctype_noninline.h
include/c++/${V}/${CONFIG}/bits/gthr-default.h
include/c++/${V}/${CONFIG}/bits/gthr-posix.h
include/c++/${V}/${CONFIG}/bits/gthr-single.h
include/c++/${V}/${CONFIG}/bits/gthr.h
include/c++/${V}/${CONFIG}/bits/messages_members.h
include/c++/${V}/${CONFIG}/bits/os_defines.h
include/c++/${V}/${CONFIG}/bits/time_members.h
include/c++/${V}/iomanip
include/c++/${V}/ios
include/c++/${V}/iosfwd
include/c++/${V}/iostream
include/c++/${V}/istream
include/c++/${V}/iterator
include/c++/${V}/limits
include/c++/${V}/list
include/c++/${V}/locale
include/c++/${V}/map
include/c++/${V}/memory
include/c++/${V}/new
include/c++/${V}/numeric
include/c++/${V}/ostream
include/c++/${V}/queue
include/c++/${V}/set
include/c++/${V}/sstream
include/c++/${V}/stack
include/c++/${V}/stdexcept
include/c++/${V}/streambuf
include/c++/${V}/string
include/c++/${V}/typeinfo
include/c++/${V}/utility
include/c++/${V}/valarray
include/c++/${V}/vector
lib/gcc-lib/${CONFIG}/${V}/cc1plus
lib/libestdc++.a
@comment lib/libestdc++.la
lib/libsupc++.a
@comment lib/libsupc++.la
@man man/man1/eg++.1
%%PIC%%

View File

@ -1,2 +0,0 @@
@comment $OpenBSD: PLIST-estdc,v 1.2 2004/01/31 14:58:04 espie Exp $
%%SHARED%%

View File

@ -1,12 +0,0 @@
@comment $OpenBSD: PLIST-g77,v 1.14 2004/09/18 12:52:54 espie Exp $
@conflict egcs-*-core
bin/eg77
@info info/g77.info
lib/gcc-lib/${CONFIG}/${V}/f771
lib/gcc-lib/${CONFIG}/${V}/include/g2c.h
lib/libfrtbegin.a
lib/libg2c.a
lib/libg2c.la
@man man/man1/eg77.1
%%SHARED%%
%%PIC%%

File diff suppressed because it is too large Load Diff

View File

@ -1,19 +0,0 @@
@comment $OpenBSD: PLIST-objc,v 1.14 2004/09/18 12:52:54 espie Exp $
@conflict egcs-*-core
lib/gcc-lib/${CONFIG}/${V}/cc1obj
lib/gcc-lib/${CONFIG}/${V}/include/objc/
lib/gcc-lib/${CONFIG}/${V}/include/objc/NXConstStr.h
lib/gcc-lib/${CONFIG}/${V}/include/objc/Object.h
lib/gcc-lib/${CONFIG}/${V}/include/objc/Protocol.h
lib/gcc-lib/${CONFIG}/${V}/include/objc/encoding.h
lib/gcc-lib/${CONFIG}/${V}/include/objc/hash.h
lib/gcc-lib/${CONFIG}/${V}/include/objc/objc-api.h
lib/gcc-lib/${CONFIG}/${V}/include/objc/objc-list.h
lib/gcc-lib/${CONFIG}/${V}/include/objc/objc.h
lib/gcc-lib/${CONFIG}/${V}/include/objc/sarray.h
lib/gcc-lib/${CONFIG}/${V}/include/objc/thr.h
lib/gcc-lib/${CONFIG}/${V}/include/objc/typedstream.h
lib/libobjc.a
lib/libobjc.la
%%SHARED%%
%%PIC%%