Toolchain upgrade and portability improvements.
upgrade to NetBSD CVS release from 2012/10/17 12:00:00 UTC Makefiles updates to imporve portability Made sure to be consistent in the usage of braces/parenthesis at least on a per file basis. For variables, it is recommended to continue to use braces.
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
# $NetBSD: Makefile,v 1.50 2012/01/10 12:27:54 skrll Exp $
|
||||
# $NetBSD: Makefile,v 1.52 2012/09/18 07:05:15 skrll Exp $
|
||||
|
||||
.include <bsd.own.mk>
|
||||
|
||||
HAVE_GCC= 45 # On Minix
|
||||
|
||||
.ifdef __MINIX
|
||||
HAVE_GCC= 45
|
||||
|
||||
GCC_LANGUAGES=c
|
||||
.else
|
||||
GCC_LANGUAGES=c c++ objc
|
||||
@@ -12,7 +12,6 @@ GCC_LANGUAGES=c c++ objc
|
||||
MODULE= gcc4
|
||||
|
||||
MKNATIVE_CONFIG_TARGET_LIBS= \
|
||||
configure-target-libiberty \
|
||||
configure-target-libstdc++-v3 \
|
||||
configure-target-libobjc
|
||||
|
||||
@@ -41,17 +40,16 @@ SOFTFLOAT_ARGS= -with-float=soft
|
||||
|
||||
# LSC FIXME We are not using the correct target ATM, so overrides for now...
|
||||
COMMON_CONFIGURE_ARGS= --target=${MACHINE_GNU_PLATFORM} \
|
||||
--target=${MACHINE_ARCH}-elf-minix \
|
||||
--disable-libssp \
|
||||
--enable-long-long \
|
||||
--enable-threads \
|
||||
--with-bugurl=http://www.NetBSD.org/Misc/send-pr.html \
|
||||
--with-pkgversion="NetBSD nb2 20111202" \
|
||||
--with-system-zlib \
|
||||
${VAX_CONFIGURE_ARGS} \
|
||||
--disable-threads \
|
||||
--disable-visibility \
|
||||
--disable-libunwind \
|
||||
--enable-long-long \
|
||||
--enable-threads \
|
||||
--with-bugurl=http://www.NetBSD.org/Misc/send-pr.html \
|
||||
--with-pkgversion="NetBSD nb1 20120916" \
|
||||
--with-system-zlib \
|
||||
${VAX_CONFIGURE_ARGS} \
|
||||
--enable-__cxa_atexit
|
||||
.if defined(GCC_CONFIG_ARCH.${MACHINE_ARCH})
|
||||
COMMON_CONFIGURE_ARGS+= --with-arch=${GCC_CONFIG_ARCH.${MACHINE_ARCH}}
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
$NetBSD: README.mknative,v 1.9 2011/09/21 02:15:18 mrg Exp $
|
||||
|
||||
XXX THIS FILE DOES NOT DESCRIBE GCC 4.5 METHODS PROPERLY XXX
|
||||
$NetBSD: README.mknative,v 1.13 2012/09/27 11:29:49 skrll Exp $
|
||||
|
||||
This file describes how to bootstrap the native toolchain on a new NetBSD
|
||||
platform (and how to update the new toolchain files, if needed). These
|
||||
@@ -27,35 +25,50 @@ work.
|
||||
|
||||
3. In src/tools/gcc, do "nbmake-MACHINE bootstrap-libgcc".
|
||||
|
||||
This will create just enough glue in src/gnu/lib/libgcc4/arch to make it
|
||||
possible to build, based on the toolchain built in ${.OBJDIR}/build.
|
||||
This will create just enough glue in src/external/gpl3/gcc/lib/libgcc/arch
|
||||
to make it possible to build, based on the toolchain built in
|
||||
${.OBJDIR}/build.
|
||||
Because the files generated in this step contain things like
|
||||
-DCROSS_COMPILE, they are not suitable for committing. Step 8 below
|
||||
will regenerate the "proper" libgcc config files.
|
||||
|
||||
4. At top level, do
|
||||
"nbmake-MACHINE do-distrib-dirs obj includes MKGCC=no MKBINUTILS=no".
|
||||
"nbmake-MACHINE obj do-distrib-dirs MKGCC=no MKBINUTILS=no", and
|
||||
"nbmake-MACHINE includes HAVE_GCC= MKGCC=no MKBINUTILS=no".
|
||||
|
||||
5. In src/gnu/lib/libgcc4, do "nbmake-MACHINE obj includes".
|
||||
5. In src/lib/csu, do
|
||||
"nbmake-MACHINE dependall". and "nbmake-MACHINE install".
|
||||
|
||||
6. If the platform sets USE_COMPILERCRTSTUFF=yes, then in src/gnu/lib/crtstuff4
|
||||
do "nbmake-MACHINE dependall install"
|
||||
6. If the platform sets USE_COMPILERCRTSTUFF=yes, then in
|
||||
src/external/gpl3/gcc/lib/crtstuff/ do
|
||||
"nbmake-MACHINE obj dependall install"
|
||||
|
||||
7. In each of src/lib/csu, src/gnu/lib/libgcc4, and src/lib,
|
||||
do "nbmake-MACHINE dependall install".
|
||||
7. In src/external/gpl3/gcc/lib/libgcc, do
|
||||
"nbmake-MACHINE obj includes dependall install".
|
||||
|
||||
8. In each of src/external/lgpl3/gmp/lib/libgmp,
|
||||
src/external/lgpl3/mpfr/lib/libmpfr, src/external/lgpl2/mpc/lib/libmpc
|
||||
do "nbmake-MACHINE obj includes LIBISPRIVATE=no", and
|
||||
"nbmake-MACHINE dependall install".
|
||||
|
||||
It is important to have LIBISPRIVATE=no while doing includes as this
|
||||
installs a header file that is not part of standard build.
|
||||
|
||||
9. In src/lib, do
|
||||
"nbmake-MACHINE dependall install MKGCC=no".
|
||||
|
||||
Optionally, all of the following may be set in the environment to reduce
|
||||
the amount of code needed to build at this step. Basically, it must be
|
||||
possible for static binaries to build and base system libs to exist so
|
||||
that "configure" can do its job for the target--these MK* options omit
|
||||
the rest for this stage of the build.
|
||||
the rest for this stage of the build.
|
||||
|
||||
MKCRYPTO=no
|
||||
MKLINT=no
|
||||
MKPROFILE=no
|
||||
MKSHARE=no
|
||||
|
||||
8. In src/tools/gcc, do "nbmake-MACHINE native-gcc".
|
||||
10. In src/tools/gcc, do "nbmake-MACHINE native-gcc".
|
||||
|
||||
This will do a full configury in ${.OBJDIR}/.native that is a "Canadian"
|
||||
cross toolchain (--build reflects the host platform, but --host and
|
||||
@@ -63,7 +76,7 @@ work.
|
||||
native-to-NetBSD compiler on a cross host, and mknative pulls glue data
|
||||
from this.
|
||||
|
||||
9. Try out a full build using "nbmake-MACHINE"; the result should include
|
||||
11. Try out a full build using "nbmake-MACHINE"; the result should include
|
||||
a native compiler.
|
||||
|
||||
10. If all is well, commit the glue files added to src/gnu/{lib,usr.bin}/*.
|
||||
12. If all is well, commit the glue files added to src/gnu/{lib,usr.bin}/*.
|
||||
|
||||
@@ -1,215 +0,0 @@
|
||||
/* $DragonFly: src/gnu/usr.bin/cc41/cc_prep/config/dragonfly-spec.h,v 1.5 2008/07/24 21:45:10 corecode Exp $ */
|
||||
|
||||
/* Base configuration file for all DragonFly targets.
|
||||
Copyright (C) 1999, 2000, 2001 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. */
|
||||
|
||||
/* Common DragonFly configuration.
|
||||
All DragonFly architectures should include this file, which will specify
|
||||
their commonalities.
|
||||
|
||||
Adapted from gcc/config/freebsd-spec.h by
|
||||
Joerg Sonnenberger <joerg@bec.de>
|
||||
|
||||
Adapted from gcc/config/freebsd.h by
|
||||
David O'Brien <obrien@FreeBSD.org>
|
||||
Loren J. Rittle <ljrittle@acm.org>. */
|
||||
|
||||
|
||||
/* This defines which switch letters take arguments. On DragonFly, most of
|
||||
the normal cases (defined in gcc.c) apply, and we also have -h* and
|
||||
-z* options (for the linker) (coming from SVR4).
|
||||
We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
|
||||
|
||||
#define DFBSD_SWITCH_TAKES_ARG(CHAR) \
|
||||
(DEFAULT_SWITCH_TAKES_ARG (CHAR) \
|
||||
|| (CHAR) == 'h' \
|
||||
|| (CHAR) == 'z' /* ignored by ld */ \
|
||||
|| (CHAR) == 'R')
|
||||
|
||||
/* This defines which multi-letter switches take arguments. */
|
||||
|
||||
#define DFBSD_WORD_SWITCH_TAKES_ARG(STR) \
|
||||
(DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \
|
||||
|| !strcmp ((STR), "rpath") || !strcmp ((STR), "rpath-link") \
|
||||
|| !strcmp ((STR), "soname") || !strcmp ((STR), "defsym") \
|
||||
|| !strcmp ((STR), "assert") || !strcmp ((STR), "dynamic-linker"))
|
||||
|
||||
#define DFBSD_TARGET_OS_CPP_BUILTINS() \
|
||||
do \
|
||||
{ \
|
||||
if (DFBSD_MAJOR == 3) \
|
||||
builtin_define ("__DragonFly__=3"); \
|
||||
else if (DFBSD_MAJOR == 2) \
|
||||
builtin_define ("__DragonFly__=2"); \
|
||||
else if (DFBSD_MAJOR == 1) \
|
||||
builtin_define ("__DragonFly__=1"); \
|
||||
else \
|
||||
builtin_define ("__DragonFly__"); \
|
||||
builtin_define ("__DragonFly_cc_version=100001"); \
|
||||
builtin_define_std ("unix"); \
|
||||
builtin_define ("__KPRINTF_ATTRIBUTE__"); \
|
||||
builtin_assert ("system=unix"); \
|
||||
builtin_assert ("system=bsd"); \
|
||||
builtin_assert ("system=DragonFly"); \
|
||||
DFBSD_TARGET_CPU_CPP_BUILTINS(); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Define the default DragonFly-specific per-CPU hook code. */
|
||||
#define DFBSD_TARGET_CPU_CPP_BUILTINS() do {} while (0)
|
||||
|
||||
/* Provide a CPP_SPEC appropriate for DragonFly. We just deal with the GCC
|
||||
option `-posix', and PIC issues. */
|
||||
|
||||
#define DFBSD_CPP_SPEC " \
|
||||
%(cpp_cpu) \
|
||||
%{fPIC|fpic|fPIE|fpie:-D__PIC__ -D__pic__} \
|
||||
%{posix:-D_POSIX_SOURCE}"
|
||||
|
||||
/* Provide a STARTFILE_SPEC appropriate for DragonFly. Here we add
|
||||
the magical crtbegin.o file (see crtstuff.c) which provides part
|
||||
of the support for getting C++ file-scope static object constructed
|
||||
before entering `main'. */
|
||||
|
||||
#define DFBSD_STARTFILE_SPEC \
|
||||
"%{!shared: \
|
||||
%{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
|
||||
%{!p:%{profile:gcrt1.o%s} \
|
||||
%{!profile:crt1.o%s}}}} \
|
||||
crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
|
||||
|
||||
/* Provide a ENDFILE_SPEC appropriate for DragonFly. Here we tack on
|
||||
the magical crtend.o file (see crtstuff.c) which provides part of
|
||||
the support for getting C++ file-scope static object constructed
|
||||
before entering `main', followed by a normal "finalizer" file,
|
||||
`crtn.o'. */
|
||||
|
||||
#define DFBSD_ENDFILE_SPEC \
|
||||
"%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
|
||||
|
||||
/* Provide a LIB_SPEC appropriate for DragonFly as configured and as
|
||||
required by the user-land thread model. Select the appropriate libc,
|
||||
depending on whether we're doing profiling or need threads support.
|
||||
Make it a hard error if -pthread is provided on the command line and gcc
|
||||
was configured with --disable-threads (this will help avoid bug
|
||||
reports from users complaining about threading when they
|
||||
misconfigured the gcc bootstrap but are later consulting DragonFly
|
||||
manual pages that refer to the mythical -pthread option). */
|
||||
|
||||
/* Provide a LIB_SPEC appropriate for DragonFly. Just select the appropriate
|
||||
libc, depending on whether we're doing profiling or need threads support.
|
||||
(simular to the default, except no -lg, and no -p). */
|
||||
|
||||
#ifdef DFBSD_NO_THREADS
|
||||
#define DFBSD_LIB_SPEC " \
|
||||
%{pthread: %eThe -pthread option is only supported on DragonFly when gcc \
|
||||
is built with the --enable-threads configure-time option.} \
|
||||
%{!nostdlib{!nostartfiles{!nolibc: -lc}}} \
|
||||
}"
|
||||
#else
|
||||
#define DFBSD_LIB_SPEC " \
|
||||
%{pthread:-lpthread} \
|
||||
%{!nostdlib: %{!nostartfiles: %{!nolibc: -lc}}} \
|
||||
"
|
||||
#endif
|
||||
|
||||
#define DFBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.2"
|
||||
|
||||
#if 0
|
||||
#define LINK_LIBGCC_SPEC ""
|
||||
#define LIBGCC_SPEC "%{shared: -lgcc_pic} %{!shared: -lgcc}"
|
||||
|
||||
#define PRE_LIB_SPEC " \
|
||||
%{pg: -L"PREFIX2"/lib/gcc41/profiling \
|
||||
%{!static: -rpath /usr/lib/gcc41/profiling \
|
||||
-rpath-link "PREFIX2"/lib/gcc41/profiling}} \
|
||||
%{g: -L"PREFIX2"/lib/gcc41/debug \
|
||||
%{!static: -rpath /usr/lib/gcc41/debug \
|
||||
-rpath-link "PREFIX2"/lib/gcc41/debug}} \
|
||||
-L"PREFIX2"/lib/gcc41 \
|
||||
%{!static: -rpath /usr/lib/gcc41 -rpath-link "PREFIX2"/lib/gcc41} \
|
||||
%{pg: -L"PREFIX2"/lib/profiling \
|
||||
%{!static: -rpath /usr/lib/profiling \
|
||||
-rpath-link "PREFIX2"/lib/profiling}} \
|
||||
%{g: -L"PREFIX2"/lib/debug \
|
||||
%{!static: -rpath /usr/lib/debug -rpath-link "PREFIX2"/lib/debug}} \
|
||||
%{!static: -rpath /usr/lib -rpath-link "PREFIX2"/lib} \
|
||||
"
|
||||
|
||||
#define DFBSD_LINK_COMMAND_SPEC "\
|
||||
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
|
||||
%(linker) %l " LINK_PIE_SPEC "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\
|
||||
%{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\
|
||||
%{static:} %{L*} %(link_libgcc) %o \
|
||||
%{fprofile-arcs|fprofile-generate: -lgcov}\
|
||||
%{!nostdlib:%{!nodefaultlibs:%(pre_lib)}}\
|
||||
%{!nostdlib:%{!nodefaultlibs:%(link_gcc_c_sequence)}}\
|
||||
%{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}"
|
||||
|
||||
#ifndef PREFIX2
|
||||
#define PREFIX2 "/usr"
|
||||
#endif
|
||||
|
||||
#ifndef STANDARD_STARTFILE_PREFIX_1
|
||||
#define STANDARD_STARTFILE_PREFIX_1 PREFIX2"/lib/gcc41/"
|
||||
#endif
|
||||
#ifndef STANDARD_EXEC_PREFIX
|
||||
#define STANDARD_EXEC_PREFIX PREFIX2"/libexec/gcc41/"
|
||||
#endif
|
||||
#ifndef STANDARD_STARTFILE_PREFIX
|
||||
#define STANDARD_STARTFILE_PREFIX PREFIX2"/lib/"
|
||||
#endif
|
||||
#ifndef TOOLDIR_BASE_PREFIX
|
||||
#define TOOLDIR_BASE_PREFIX PREFIX2"/libexec/gcc41"
|
||||
#endif
|
||||
#ifndef STANDARD_BINDIR_PREFIX
|
||||
#define STANDARD_BINDIR_PREFIX PREFIX2"/libexec/gcc41"
|
||||
#endif
|
||||
#ifndef STANDARD_LIBEXEC_PREFIX
|
||||
#define STANDARD_LIBEXEC_PREFIX PREFIX2"/libexec/gcc41"
|
||||
#endif
|
||||
|
||||
#ifndef GPLUSPLUS_INCLUDE_DIR
|
||||
#define GPLUSPLUS_INCLUDE_DIR PREFIX2"/include/c++"
|
||||
#endif
|
||||
#ifndef GPLUSPLUS_TOOL_INCLUDE_DIR
|
||||
#define GPLUSPLUS_TOOL_INCLUDE_DIR PREFIX2"/include/c++/4.1"
|
||||
#endif
|
||||
#ifndef GPLUSPLUS_BACKWARD_INCLUDE_DIR
|
||||
#define GPLUSPLUS_BACKWARD_INCLUDE_DIR PREFIX2"/include/c++/4.1/backward"
|
||||
#endif
|
||||
#ifndef GCC_LOCAL_INCLUDE_DIR
|
||||
#define GCC_LOCAL_INCLUDE_DIR PREFIX2"/libdata/gcc41"
|
||||
#endif
|
||||
#ifndef GCC_INCLUDE_DIR
|
||||
#define GCC_INCLUDE_DIR PREFIX2"/include"
|
||||
#endif
|
||||
|
||||
#undef INCLUDE_DEFAULTS
|
||||
#define INCLUDE_DEFAULTS \
|
||||
{ \
|
||||
{ GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 }, \
|
||||
{ GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 0 }, \
|
||||
{ GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 0 }, \
|
||||
{ GCC_INCLUDE_DIR, "GCC", 0, 0 }, \
|
||||
{ GCC_LOCAL_INCLUDE_DIR, "GCC", 0, 0 }, \
|
||||
{ NULL, NULL, 0, 0 } \
|
||||
}
|
||||
#endif
|
||||
@@ -1,97 +0,0 @@
|
||||
/* $DragonFly: src/gnu/usr.bin/cc41/cc_prep/config/dragonfly.h,v 1.2 2008/05/19 10:46:39 corecode Exp $ */
|
||||
|
||||
/* Base configuration file for all DragonFly targets.
|
||||
Copyright (C) 1999, 2000, 2001 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. */
|
||||
|
||||
/* Common DragonFly configuration.
|
||||
All DragonFly architectures should include this file, which will specify
|
||||
their commonalities.
|
||||
|
||||
Adapted from gcc/config/freebsd.h by
|
||||
Joerg Sonnenberger <joerg@bec.de>
|
||||
|
||||
Adapted from gcc/config/i386/freebsd-elf.h by
|
||||
David O'Brien <obrien@FreeBSD.org>.
|
||||
Further work by David O'Brien <obrien@FreeBSD.org> and
|
||||
Loren J. Rittle <ljrittle@acm.org>. */
|
||||
|
||||
|
||||
/* This defines which switch letters take arguments. On DragonFly, most of
|
||||
the normal cases (defined in gcc.c) apply, and we also have -h* and
|
||||
-z* options (for the linker) (coming from SVR4).
|
||||
We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
|
||||
|
||||
#undef SWITCH_TAKES_ARG
|
||||
#define SWITCH_TAKES_ARG(CHAR) (DFBSD_SWITCH_TAKES_ARG(CHAR))
|
||||
|
||||
#undef WORD_SWITCH_TAKES_ARG
|
||||
#define WORD_SWITCH_TAKES_ARG(STR) (DFBSD_WORD_SWITCH_TAKES_ARG(STR))
|
||||
|
||||
#undef TARGET_OS_CPP_BUILTINS
|
||||
#define TARGET_OS_CPP_BUILTINS() DFBSD_TARGET_OS_CPP_BUILTINS()
|
||||
|
||||
#undef CPP_SPEC
|
||||
#define CPP_SPEC DFBSD_CPP_SPEC
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC DFBSD_STARTFILE_SPEC
|
||||
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC DFBSD_ENDFILE_SPEC
|
||||
|
||||
#undef LIB_SPEC
|
||||
#define LIB_SPEC DFBSD_LIB_SPEC
|
||||
|
||||
#if 0
|
||||
#undef LINK_COMMAND_SPEC
|
||||
#define LINK_COMMAND_SPEC DFBSD_LINK_COMMAND_SPEC
|
||||
#endif
|
||||
|
||||
/************************[ Target stuff ]***********************************/
|
||||
|
||||
/* All DragonFly Architectures support the ELF object file format. */
|
||||
#undef OBJECT_FORMAT_ELF
|
||||
#define OBJECT_FORMAT_ELF
|
||||
|
||||
/* Don't assume anything about the header files. */
|
||||
#undef NO_IMPLICIT_EXTERN_C
|
||||
#define NO_IMPLICIT_EXTERN_C 1
|
||||
|
||||
/* Make gcc agree with DragonFly's standard headers (<machine/stdint.h>, etc...) */
|
||||
|
||||
#undef WCHAR_TYPE
|
||||
#define WCHAR_TYPE "int"
|
||||
|
||||
#define MATH_LIBRARY_PROFILE "-lm_p"
|
||||
|
||||
/* Code generation parameters. */
|
||||
|
||||
/* Use periods rather than dollar signs in special g++ assembler names.
|
||||
This ensures the configuration knows our system correctly so we can link
|
||||
with libraries compiled with the native cc. */
|
||||
#undef NO_DOLLAR_IN_LABEL
|
||||
|
||||
/* Define this so we can compile MS code for use with WINE. */
|
||||
#define HANDLE_PRAGMA_PACK_PUSH_POP
|
||||
|
||||
/* Used by libgcc2.c. We support file locking with fcntl / F_SETLKW.
|
||||
This enables the test coverage code to use file locking when exiting a
|
||||
program, which avoids race conditions if the program has forked. */
|
||||
#define TARGET_POSIX_IO
|
||||
@@ -1,39 +0,0 @@
|
||||
/* This header makes it possible to redefine system calls to the
|
||||
* file system. This way, minix servers can re-route the data
|
||||
* that libgcov tries to send to the file system. This is
|
||||
* necessary, because the servers can't access the file system
|
||||
* directly. Instead, they will copy the data to a helping user
|
||||
* space process, which will call the file system for them.
|
||||
* For more information, see the <minix/gcov.h> header file.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
|
||||
/* These function pointers initially point to the standard system library
|
||||
* functions (fopen, etc). All calls to these system library functions are
|
||||
* then redefined to calls to these function pointers. Because the pointers
|
||||
* still point to the original functions, all functionality is unchanged.
|
||||
* Therefore, libgcov won't act differently when linked to applications.
|
||||
* But, when these pointers are redefined by code within the minix servers,
|
||||
* the file system calls get replaced by other functionality.
|
||||
*/
|
||||
|
||||
#define fopen(...) _gcov_fopen(__VA_ARGS__)
|
||||
#define fread(...) _gcov_fread(__VA_ARGS__)
|
||||
#define fwrite(...) _gcov_fwrite(__VA_ARGS__)
|
||||
#define fclose(...) _gcov_fclose(__VA_ARGS__)
|
||||
#define fseek(...) _gcov_fseek(__VA_ARGS__)
|
||||
#define getenv(...) _gcov_getenv(__VA_ARGS__)
|
||||
|
||||
|
||||
/* wrapper to make it possible to disable gcov_exit on a process exit (for mfs) */
|
||||
|
||||
int do_gcov_exit = 1;
|
||||
|
||||
void gcov_exit_wrapper(void){
|
||||
if(do_gcov_exit)
|
||||
gcov_exit();
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
|
||||
PROGRAM hello
|
||||
print*, 'Hello, World!'
|
||||
END
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
#import <stdio.h>
|
||||
|
||||
int main( int argc, const char *argv[] ) {
|
||||
printf( "hello world\n" );
|
||||
return 0;
|
||||
}
|
||||
@@ -1,148 +0,0 @@
|
||||
/* $DragonFly: src/gnu/usr.bin/cc41/cc_prep/config/i386/dragonfly.h,v 1.1 2006/09/27 12:10:34 corecode Exp $ */
|
||||
|
||||
/* Definitions for Intel 386 running DragonFly with ELF format
|
||||
|
||||
Copyright (C) 1996, 2000, 2002 Free Software Foundation, Inc.
|
||||
Contributed by Eric Youngdale.
|
||||
Modified for stabs-in-ELF by H.J. Lu.
|
||||
Adapted from GNU/Linux version by John Polstra.
|
||||
Continued development by David O'Brien <obrien@freebsd.org>
|
||||
Adapted from the FreeBSD version.
|
||||
|
||||
Changes:
|
||||
- remove support for changing the dynamic linker
|
||||
|
||||
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 TARGET_VERSION fprintf (stderr, " (i386 DragonFly/ELF)");
|
||||
|
||||
/* Override the default comment-starter of "/". */
|
||||
#undef ASM_COMMENT_START
|
||||
#define ASM_COMMENT_START "#"
|
||||
|
||||
#undef ASM_APP_ON
|
||||
#define ASM_APP_ON "#APP\n"
|
||||
|
||||
#undef ASM_APP_OFF
|
||||
#define ASM_APP_OFF "#NO_APP\n"
|
||||
|
||||
#undef DBX_REGISTER_NUMBER
|
||||
#define DBX_REGISTER_NUMBER(n) \
|
||||
(TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
|
||||
|
||||
#undef NO_PROFILE_COUNTERS
|
||||
#define NO_PROFILE_COUNTERS 1
|
||||
|
||||
/* Tell final.c that we don't need a label passed to mcount. */
|
||||
|
||||
#undef MCOUNT_NAME
|
||||
#define MCOUNT_NAME ".mcount"
|
||||
|
||||
/* Make gcc agree with <machine/ansi.h>. */
|
||||
|
||||
#undef SIZE_TYPE
|
||||
#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")
|
||||
|
||||
#undef PTRDIFF_TYPE
|
||||
#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
|
||||
|
||||
#undef WCHAR_TYPE_SIZE
|
||||
#define WCHAR_TYPE_SIZE (TARGET_64BIT ? 32 : BITS_PER_WORD)
|
||||
|
||||
#undef SUBTARGET_EXTRA_SPECS /* i386.h bogusly defines it. */
|
||||
#define SUBTARGET_EXTRA_SPECS \
|
||||
{ "dfbsd_dynamic_linker", DFBSD_DYNAMIC_LINKER }
|
||||
|
||||
/* Provide a STARTFILE_SPEC appropriate for DragonFly. Here we add
|
||||
the magical crtbegin.o file (see crtstuff.c) which provides part
|
||||
of the support for getting C++ file-scope static object constructed
|
||||
before entering `main'. */
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC \
|
||||
"%{!shared: \
|
||||
%{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
|
||||
%{!p:%{profile:gcrt1.o%s} \
|
||||
%{!profile:crt1.o%s}}}} \
|
||||
crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
|
||||
|
||||
/* Provide a ENDFILE_SPEC appropriate for DragonFly. Here we tack on
|
||||
the magical crtend.o file (see crtstuff.c) which provides part of
|
||||
the support for getting C++ file-scope static object constructed
|
||||
before entering `main', followed by a normal "finalizer" file,
|
||||
`crtn.o'. */
|
||||
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC \
|
||||
"%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
|
||||
|
||||
/* Provide a LINK_SPEC appropriate for DragonFly. Here we provide support
|
||||
for the special GCC options -static and -shared, which allow us to
|
||||
link things in one of these three modes by applying the appropriate
|
||||
combinations of options at link-time. We like to support here for
|
||||
as many of the other GNU linker options as possible. But I don't
|
||||
have the time to search for those flags. I am sure how to add
|
||||
support for -soname shared_object_name. H.J.
|
||||
|
||||
I took out %{v:%{!V:-V}}. It is too much :-(. They can use
|
||||
-Wl,-V.
|
||||
|
||||
When the -shared link option is used a final link is not being
|
||||
done. */
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "\
|
||||
%{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
|
||||
%{v:-V} \
|
||||
%{assert*} %{R*} %{rpath*} %{defsym*} \
|
||||
%{shared:-Bshareable %{h*} %{soname*}} \
|
||||
%{!shared: \
|
||||
%{!static: \
|
||||
%{rdynamic:-export-dynamic} \
|
||||
%{!dynamic-linker:-dynamic-linker %(dfbsd_dynamic_linker) }} \
|
||||
%{static:-Bstatic}} \
|
||||
%{symbolic:-Bsymbolic}"
|
||||
|
||||
/* A C statement to output to the stdio stream FILE an assembler
|
||||
command to advance the location counter to a multiple of 1<<LOG
|
||||
bytes if it is within MAX_SKIP bytes.
|
||||
|
||||
This is used to align code labels according to Intel recommendations. */
|
||||
|
||||
#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
|
||||
#undef ASM_OUTPUT_MAX_SKIP_ALIGN
|
||||
#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
|
||||
|
||||
/* Don't default to pcc-struct-return, we want to retain compatibility with
|
||||
older gcc versions AND pcc-struct-return is nonreentrant.
|
||||
(even though the SVR4 ABI for the i386 says that records and unions are
|
||||
returned in memory). */
|
||||
|
||||
#undef DEFAULT_PCC_STRUCT_RETURN
|
||||
#define DEFAULT_PCC_STRUCT_RETURN 0
|
||||
|
||||
/* DragonFly sets the rounding precision of the FPU to 53 bits. Let the
|
||||
compiler get the contents of <float.h> and std::numeric_limits correct. */
|
||||
#undef TARGET_96_ROUND_53_LONG_DOUBLE
|
||||
#define TARGET_96_ROUND_53_LONG_DOUBLE (!TARGET_64BIT)
|
||||
@@ -1,54 +0,0 @@
|
||||
/* $DragonFly: src/gnu/usr.bin/cc41/cc_prep/config/i386/dragonfly64.h,v 1.1 2007/01/15 17:53:16 corecode Exp $ */
|
||||
|
||||
/* Definitions for AMD x86-64 running DragonFly with ELF format
|
||||
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
Contributed by David O'Brien <obrien@FreeBSD.org>
|
||||
Adapted from the FreeBSD version.
|
||||
|
||||
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. */
|
||||
|
||||
/* $FreeBSD: src/contrib/gcc/config/i386/freebsd64.h,v 1.9 2004/07/28 04:44:23 kan Exp $ */
|
||||
|
||||
|
||||
#undef TARGET_VERSION
|
||||
#define TARGET_VERSION fprintf (stderr, " (x86-64 DragonFly/ELF)");
|
||||
|
||||
/* Tell final.c that we don't need a label passed to mcount. */
|
||||
|
||||
#define SUBTARGET_EXTRA_SPECS \
|
||||
{ "dfbsd_dynamic_linker", DFBSD_DYNAMIC_LINKER }
|
||||
|
||||
#undef MCOUNT_NAME
|
||||
#define MCOUNT_NAME ".mcount"
|
||||
|
||||
/* Provide a LINK_SPEC appropriate for the DragonFly/x86-64 ELF target.
|
||||
This is a copy of LINK_SPEC from <i386/dragonfly.h> tweaked for
|
||||
the x86-64 target.
|
||||
XXX We don't support two arch userland yet */
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "\
|
||||
%{v:-V} \
|
||||
%{assert*} %{R*} %{rpath*} %{defsym*} \
|
||||
%{shared:-Bshareable %{h*} %{soname*}} \
|
||||
%{!shared: \
|
||||
%{!static: \
|
||||
%{rdynamic:-export-dynamic} \
|
||||
%{!dynamic-linker:-dynamic-linker %(dfbsd_dynamic_linker) }} \
|
||||
%{static:-Bstatic}} \
|
||||
%{symbolic:-Bsymbolic}"
|
||||
@@ -1,148 +0,0 @@
|
||||
/* Definitions for Intel 386 running MINIX with ELF format
|
||||
Copyright (C) 1996, 2000, 2002, 2004 Free Software Foundation, Inc.
|
||||
Contributed by Eric Youngdale.
|
||||
Modified for stabs-in-ELF by H.J. Lu.
|
||||
Adapted from GNU/Linux version by John Polstra.
|
||||
Continued development by David O'Brien <obrien@freebsd.org>
|
||||
|
||||
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, 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA. */
|
||||
|
||||
#undef MINIX_TARGET_CPU_CPP_BUILTINS
|
||||
#define MINIX_TARGET_CPU_CPP_BUILTINS() \
|
||||
do \
|
||||
{ \
|
||||
builtin_define_with_int_value ("_EM_WSIZE", 4); \
|
||||
builtin_define_with_int_value ("_EM_PSIZE", 4); \
|
||||
builtin_define_with_int_value ("_EM_SSIZE", 2); \
|
||||
builtin_define_with_int_value ("_EM_LSIZE", 4); \
|
||||
builtin_define_with_int_value ("_EM_FSIZE", 4); \
|
||||
builtin_define_with_int_value ("_EM_DSIZE", 8); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
#define TARGET_VERSION fprintf (stderr, " (i386 MINIX/ELF)");
|
||||
|
||||
/* Override the default comment-starter of "/". */
|
||||
#undef ASM_COMMENT_START
|
||||
#define ASM_COMMENT_START "#"
|
||||
|
||||
#undef ASM_APP_ON
|
||||
#define ASM_APP_ON "#APP\n"
|
||||
|
||||
#undef ASM_APP_OFF
|
||||
#define ASM_APP_OFF "#NO_APP\n"
|
||||
|
||||
#undef DBX_REGISTER_NUMBER
|
||||
#define DBX_REGISTER_NUMBER(n) \
|
||||
(TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
|
||||
|
||||
#undef NO_PROFILE_COUNTERS
|
||||
#define NO_PROFILE_COUNTERS 1
|
||||
|
||||
/* Tell final.c that we don't need a label passed to mcount. */
|
||||
|
||||
#undef MCOUNT_NAME
|
||||
#define MCOUNT_NAME ".mcount"
|
||||
|
||||
/* Make gcc agree with <machine/ansi.h>. */
|
||||
|
||||
#undef SIZE_TYPE
|
||||
#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")
|
||||
|
||||
#undef PTRDIFF_TYPE
|
||||
#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
|
||||
|
||||
#undef WCHAR_TYPE_SIZE
|
||||
#define WCHAR_TYPE_SIZE (TARGET_64BIT ? 32 : BITS_PER_WORD)
|
||||
|
||||
#undef SUBTARGET_EXTRA_SPECS /* i386.h bogusly defines it. */
|
||||
#define SUBTARGET_EXTRA_SPECS \
|
||||
{ "minix_dynamic_linker", MINIX_DYNAMIC_LINKER }
|
||||
|
||||
/* Provide a STARTFILE_SPEC appropriate for MINIX. Here we add
|
||||
the magical crtbegin.o file (see crtstuff.c) which provides part
|
||||
of the support for getting C++ file-scope static object constructed
|
||||
before entering `main'. */
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC \
|
||||
"%{!shared: \
|
||||
%{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
|
||||
%{!p:%{profile:gcrt1.o%s} \
|
||||
%{!profile:crt1.o%s}}}} \
|
||||
crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
|
||||
|
||||
/* Provide a ENDFILE_SPEC appropriate for MINIX. Here we tack on
|
||||
the magical crtend.o file (see crtstuff.c) which provides part of
|
||||
the support for getting C++ file-scope static object constructed
|
||||
before entering `main', followed by a normal "finalizer" file,
|
||||
`crtn.o'. */
|
||||
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC \
|
||||
"%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
|
||||
|
||||
/* Provide a LINK_SPEC appropriate for MINIX. Here we provide support
|
||||
for the special GCC options -static and -shared, which allow us to
|
||||
link things in one of these three modes by applying the appropriate
|
||||
combinations of options at link-time. We like to support here for
|
||||
as many of the other GNU linker options as possible. But I don't
|
||||
have the time to search for those flags. I am sure how to add
|
||||
support for -soname shared_object_name. H.J.
|
||||
|
||||
I took out %{v:%{!V:-V}}. It is too much :-(. They can use
|
||||
-Wl,-V.
|
||||
|
||||
When the -shared link option is used a final link is not being
|
||||
done. */
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "\
|
||||
%{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
|
||||
%{v:-V} \
|
||||
%{assert*} %{R*} %{rpath*} %{defsym*} \
|
||||
%{shared:-Bshareable %{h*} %{soname*}} \
|
||||
%{!shared: \
|
||||
%{!static: \
|
||||
%{rdynamic:-export-dynamic} \
|
||||
%{!dynamic-linker:-dynamic-linker %(minix_dynamic_linker) }} \
|
||||
%{static:-Bstatic}} \
|
||||
%{symbolic:-Bsymbolic}"
|
||||
|
||||
/* A C statement to output to the stdio stream FILE an assembler
|
||||
command to advance the location counter to a multiple of 1<<LOG
|
||||
bytes if it is within MAX_SKIP bytes.
|
||||
|
||||
This is used to align code labels according to Intel recommendations. */
|
||||
|
||||
#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
|
||||
#undef ASM_OUTPUT_MAX_SKIP_ALIGN
|
||||
#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
|
||||
|
||||
/* Don't default to pcc-struct-return, we want to retain compatibility with
|
||||
older gcc versions AND pcc-struct-return is nonreentrant.
|
||||
(even though the SVR4 ABI for the i386 says that records and unions are
|
||||
returned in memory). */
|
||||
|
||||
#undef DEFAULT_PCC_STRUCT_RETURN
|
||||
#define DEFAULT_PCC_STRUCT_RETURN 0
|
||||
@@ -1,101 +0,0 @@
|
||||
/* Base configuration file for all FreeBSD targets.
|
||||
Copyright (C) 1999, 2000, 2001, 2004, 2005 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, 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA. */
|
||||
|
||||
/* Common MINIX configuration.
|
||||
All MINIX architectures should include this file, which will specify
|
||||
their commonalities.
|
||||
*/
|
||||
|
||||
/* In case we need to know. */
|
||||
#define USING_CONFIG_MINIX_SPEC 1
|
||||
|
||||
/* This defines which switch letters take arguments. On FreeBSD, most of
|
||||
the normal cases (defined in gcc.c) apply, and we also have -h* and
|
||||
-z* options (for the linker) (coming from SVR4).
|
||||
We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
|
||||
|
||||
#define MINIX_SWITCH_TAKES_ARG(CHAR) \
|
||||
(DEFAULT_SWITCH_TAKES_ARG (CHAR) \
|
||||
|| (CHAR) == 'h' \
|
||||
|| (CHAR) == 'z' /* ignored by ld */ \
|
||||
|| (CHAR) == 'R')
|
||||
|
||||
/* This defines which multi-letter switches take arguments. */
|
||||
|
||||
#define MINIX_WORD_SWITCH_TAKES_ARG(STR) \
|
||||
(DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \
|
||||
|| !strcmp ((STR), "rpath") || !strcmp ((STR), "rpath-link") \
|
||||
|| !strcmp ((STR), "soname") || !strcmp ((STR), "defsym") \
|
||||
|| !strcmp ((STR), "assert") || !strcmp ((STR), "dynamic-linker"))
|
||||
|
||||
#define MINIX_TARGET_OS_CPP_BUILTINS() \
|
||||
do \
|
||||
{ \
|
||||
builtin_define ("__minix"); \
|
||||
builtin_define ("__i386"); \
|
||||
MINIX_TARGET_CPU_CPP_BUILTINS(); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Define the default MINIX-specific per-CPU hook code. */
|
||||
#define MINIX_TARGET_CPU_CPP_BUILTINS() do {} while (0)
|
||||
|
||||
/* Provide a CPP_SPEC appropriate for MINIX. We just deal with the GCC
|
||||
option `-posix', and PIC issues. */
|
||||
|
||||
#define MINIX_CPP_SPEC " \
|
||||
%(cpp_cpu) \
|
||||
%(cpp_arch) \
|
||||
%{posix:-D_POSIX_SOURCE}"
|
||||
|
||||
/* Provide a STARTFILE_SPEC appropriate for MINIX. Here we add
|
||||
the magical crtbegin.o file (see crtstuff.c) which provides part
|
||||
of the support for getting C++ file-scope static object constructed
|
||||
before entering `main'. */
|
||||
|
||||
#define MINIX_STARTFILE_SPEC \
|
||||
"%{!shared: \
|
||||
%{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
|
||||
%{!p:%{profile:gcrt1.o%s} \
|
||||
%{!profile:crt1.o%s}}}} \
|
||||
crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
|
||||
|
||||
/* Provide a ENDFILE_SPEC appropriate for MINIX. Here we tack on
|
||||
the magical crtend.o file (see crtstuff.c) which provides part of
|
||||
the support for getting C++ file-scope static object constructed
|
||||
before entering `main', followed by a normal "finalizer" file,
|
||||
`crtn.o'. */
|
||||
|
||||
#define MINIX_ENDFILE_SPEC \
|
||||
"%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
|
||||
|
||||
/* Provide a LIB_SPEC appropriate for MINIX. Just select the appropriate
|
||||
libc, depending on whether we're doing profiling or need threads support.
|
||||
(similar to the default, except no -lg, and no -p). */
|
||||
|
||||
#define MINIX_LIB_SPEC " \
|
||||
%{pthread: %eThe -pthread option is only supported on FreeBSD when gcc \
|
||||
is built with the --enable-threads configure-time option.} \
|
||||
%{!shared: \
|
||||
%{!pg: -lc} \
|
||||
%{pg: -lc_p} \
|
||||
}"
|
||||
|
||||
#define MINIX_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
|
||||
@@ -1,71 +0,0 @@
|
||||
/* Base configuration file for all FreeBSD targets.
|
||||
Copyright (C) 1999, 2000, 2001 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, 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA. */
|
||||
|
||||
/* Common MINIX configuration.
|
||||
All FreeBSD architectures should include this file, which will specify
|
||||
their commonalities.
|
||||
*/
|
||||
|
||||
/* In case we need to know. */
|
||||
#define USING_CONFIG_MINIX 1
|
||||
|
||||
/* This defines which switch letters take arguments. On MINIX, most of
|
||||
the normal cases (defined in gcc.c) apply, and we also have -h* and
|
||||
-z* options (for the linker) (coming from SVR4).
|
||||
We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
|
||||
|
||||
#undef SWITCH_TAKES_ARG
|
||||
#define SWITCH_TAKES_ARG(CHAR) (MINIX_SWITCH_TAKES_ARG(CHAR))
|
||||
|
||||
#undef WORD_SWITCH_TAKES_ARG
|
||||
#define WORD_SWITCH_TAKES_ARG(STR) (MINIX_WORD_SWITCH_TAKES_ARG(STR))
|
||||
|
||||
#undef TARGET_OS_CPP_BUILTINS
|
||||
#define TARGET_OS_CPP_BUILTINS() MINIX_TARGET_OS_CPP_BUILTINS()
|
||||
|
||||
#undef CPP_SPEC
|
||||
#define CPP_SPEC MINIX_CPP_SPEC
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC MINIX_STARTFILE_SPEC
|
||||
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC MINIX_ENDFILE_SPEC
|
||||
|
||||
#undef LIB_SPEC
|
||||
#define LIB_SPEC MINIX_LIB_SPEC
|
||||
|
||||
|
||||
/************************[ Target stuff ]***********************************/
|
||||
|
||||
/* All MINIX Architectures support the ELF object file format. */
|
||||
#undef OBJECT_FORMAT_ELF
|
||||
#define OBJECT_FORMAT_ELF
|
||||
|
||||
/* Don't assume anything about the header files. */
|
||||
#undef NO_IMPLICIT_EXTERN_C
|
||||
#define NO_IMPLICIT_EXTERN_C 1
|
||||
|
||||
/* Code generation parameters. */
|
||||
|
||||
/* Use periods rather than dollar signs in special g++ assembler names.
|
||||
This ensures the configuration knows our system correctly so we can link
|
||||
with libraries compiled with the native cc. */
|
||||
#undef NO_DOLLAR_IN_LABEL
|
||||
@@ -1,5 +0,0 @@
|
||||
# Compile crtbeginS.o and crtendS.o with pic.
|
||||
CRTSTUFF_T_CFLAGS_S = -fPIC
|
||||
|
||||
# Compile libgcc.a with pic.
|
||||
TARGET_LIBGCC2_CFLAGS += -fPIC
|
||||
@@ -1,64 +0,0 @@
|
||||
#if 0 /* $NetBSD$ */
|
||||
#
|
||||
# This is Solaris x86 specific GCC run-time environment patch, which
|
||||
# makes it possible to reliably deploy .init snippets. Trouble is that
|
||||
# Solaris linker erroneously pads .init segment with zeros [instead of
|
||||
# nops], which is bound to SEGV early upon program start-up. This bug
|
||||
# was recognized by GCC team [it is mentioned in source code], but
|
||||
# workaround apparently and obviously erroneously slipped away in some
|
||||
# newer GCC release. This patch compensates for this mishap by dropping
|
||||
# modified values-X*.o into GCC installation tree. Object modules in
|
||||
# question are normally provided by Sun and linked prior crtbegin.o.
|
||||
# Modified versions are additionally crafted with custom .init segment,
|
||||
# which does some magic:-)
|
||||
# <appro@fy.chalmers.se>
|
||||
set -e
|
||||
gcc=gcc
|
||||
if [[ "x$1" = x*gcc ]]; then
|
||||
gcc=$1; shift
|
||||
fi
|
||||
gcc_dir=`${gcc} "$@" -print-libgcc-file-name`
|
||||
gcc_dir=${gcc_dir%/*} #*/
|
||||
set -x
|
||||
${gcc} "$@" -c -o $gcc_dir/values-Xa.o -DXa $0
|
||||
${gcc} "$@" -c -o $gcc_dir/values-Xc.o -DXc $0
|
||||
${gcc} "$@" -c -o $gcc_dir/values-Xt.o -DXt $0
|
||||
exit
|
||||
#endif
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#if defined(Xa)
|
||||
const enum version _lib_version = ansi_1;
|
||||
#elif defined(Xc)
|
||||
const enum version _lib_version = strict_ansi;
|
||||
#elif defined(Xt)
|
||||
const enum version _lib_version = c_issue_4;
|
||||
#else
|
||||
#error "compile by issuing 'ksh -f values.c [gcc] [-m64]'"
|
||||
#endif
|
||||
|
||||
#if defined(__x86_64__)
|
||||
asm("\n"
|
||||
".section .init\n"
|
||||
".align 1\n"
|
||||
" leaq 1f(%rip),%rax\n"
|
||||
"1: cmpl $0,2f-1b(%rax)\n"
|
||||
" jne 2f\n"
|
||||
" jmp 2f+5\n"
|
||||
" .skip 9\n" /* pad up to 0x1b bytes */
|
||||
"2:\n"
|
||||
);
|
||||
#else
|
||||
asm("\n"
|
||||
".section .init\n"
|
||||
".align 1\n"
|
||||
" call 1f\n"
|
||||
"1: popl %eax\n"
|
||||
" cmpl $0,2f-1b(%eax)\n"
|
||||
" jne 2f\n"
|
||||
" jmp 2f+5\n"
|
||||
" .skip 10\n" /* pad up to 0x1b bytes */
|
||||
"2:\n"
|
||||
);
|
||||
#endif
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
# $NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp $
|
||||
# $NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp $
|
||||
#
|
||||
# Shell script for generating all the constants needed for a native
|
||||
# platform build of src/gnu/dist/gcc.
|
||||
# platform build of gcc.
|
||||
#
|
||||
|
||||
# initialise
|
||||
@@ -548,6 +548,14 @@ get_libstdcxx_v3 () {
|
||||
|
||||
##### gnu/usr.bin/gcc3 #####
|
||||
|
||||
get_gcc_bootstrap () {
|
||||
_subdir="$1"
|
||||
mkdir -p $_OUTDIR/usr.bin/$_subdir/arch/$MACHINE_ARCH
|
||||
for f in auto-host tm config gthr-default; do
|
||||
write_c $_OUTDIRBASE/usr.bin/$_subdir/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gcc/$f.h
|
||||
done
|
||||
}
|
||||
|
||||
get_gcc () {
|
||||
_subdir="$1"
|
||||
mkdir -p $_OUTDIR/usr.bin/$_subdir/arch/$MACHINE_ARCH
|
||||
@@ -697,6 +705,7 @@ libgcc45)
|
||||
get_libgcc gcc
|
||||
get_crtstuff crtstuff
|
||||
get_libgcov gcc
|
||||
get_gcc_bootstrap gcc
|
||||
exit 0
|
||||
;;
|
||||
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
$NetBSD: patch-aa,v 1.1.1.1 2009/09/18 11:24:50 dmcmahill Exp $
|
||||
|
||||
--- configure.orig Sat Apr 25 04:10:29 2009
|
||||
+++ configure
|
||||
@@ -4532,7 +4532,7 @@ if test "${with_mpfr_lib+set}" = set; then
|
||||
fi;
|
||||
|
||||
if test "x$with_mpfr" != x; then
|
||||
- gmplibs="-L$with_mpfr/lib $gmplibs"
|
||||
+ gmplibs="-L$with_mpfr/lib -Wl,-R${PREFIX}/lib $gmplibs"
|
||||
gmpinc="-I$with_mpfr/include"
|
||||
fi
|
||||
if test "x$with_mpfr_include" != x; then
|
||||
--- gcc/config.gcc.orig 2009-04-17 13:58:41 +0200
|
||||
+++ gcc/config.gcc
|
||||
@@ -488,6 +488,33 @@ case ${target} in
|
||||
default_use_cxa_atexit=yes;;
|
||||
esac
|
||||
;;
|
||||
+*-*-dragonfly*)
|
||||
+ gas=yes
|
||||
+ gnu_ld=yes
|
||||
+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
||||
+ case ${target} in
|
||||
+ *-*-dragonfly1 | *-*-dragonfly[1].*)
|
||||
+ tm_defines="${tm_defines} DFBSD_MAJOR=1" ;;
|
||||
+ *-*-dragonfly2 | *-*-dragonfly[2].*)
|
||||
+ tm_defines="${tm_defines} DFBSD_MAJOR=2" ;;
|
||||
+ *-*-dragonfly3 | *-*-dragonfly[3].*)
|
||||
+ tm_defines="${tm_defines} DFBSD_MAJOR=3" ;;
|
||||
+ *-*-dragonfly4 | *-*-dragonfly[4].*)
|
||||
+ tm_defines="${tm_defines} DFBSD_MAJOR=4" ;;
|
||||
+ *)
|
||||
+ echo 'Please update *-*-dragonfly* in gcc/config.gcc'
|
||||
+ exit 1
|
||||
+ ;;
|
||||
+ esac
|
||||
+ tmake_file="t-slibgcc-elf-ver t-dragonfly"
|
||||
+ case ${enable_threads} in
|
||||
+ "" | yes | posix)
|
||||
+ thread_file='posix'
|
||||
+ tmake_file="${tmake_file} t-dragonfly-thread"
|
||||
+ ;;
|
||||
+ esac
|
||||
+ dfbsd_tm_file="${dfbsd_tm_file} dragonfly-spec.h dragonfly.h"
|
||||
+ ;;
|
||||
*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
|
||||
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
|
||||
gas=yes
|
||||
@@ -1053,6 +1080,12 @@ x86_64-*-freebsd*)
|
||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
|
||||
tmake_file="${tmake_file} i386/t-crtstuff"
|
||||
;;
|
||||
+i[34567]86-*-dragonfly*)
|
||||
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${dfbsd_tm_file} i386/dragonfly.h"
|
||||
+ ;;
|
||||
+x86_64-*-dragonfly*)
|
||||
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${dfbsd_tm_file} i386/x86-64.h i386/dragonfly.h i386/dragonfly64.h"
|
||||
+ ;;
|
||||
i[34567]86-*-netbsdelf*)
|
||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
|
||||
;;
|
||||
@@ -1,10 +0,0 @@
|
||||
--- gcc/Makefile.in.orig Fri Jun 3 14:13:51 2011
|
||||
+++ gcc/Makefile.in Fri Jun 3 14:16:25 2011
|
||||
@@ -310,7 +310,6 @@
|
||||
$(srcdir)/ginclude/iso646.h \
|
||||
$(srcdir)/ginclude/stdarg.h \
|
||||
$(srcdir)/ginclude/stdbool.h \
|
||||
- $(srcdir)/ginclude/stddef.h \
|
||||
$(srcdir)/ginclude/varargs.h \
|
||||
$(srcdir)/ginclude/stdfix.h \
|
||||
$(EXTRA_HEADERS)
|
||||
@@ -1,82 +0,0 @@
|
||||
--- gcc/config.gcc.orig Fri Jun 3 14:42:47 2011
|
||||
+++ gcc/config.gcc Fri Jun 3 14:42:58 2011
|
||||
@@ -251,7 +251,7 @@
|
||||
| *-*-sysv* \
|
||||
| vax-*-vms* \
|
||||
)
|
||||
- echo "*** Configuration ${target} not supported" 1>&2
|
||||
+ echo "*** Configuration ${target} recognized but not supported" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -515,6 +515,33 @@
|
||||
esac
|
||||
dfbsd_tm_file="${dfbsd_tm_file} dragonfly-spec.h dragonfly.h"
|
||||
;;
|
||||
+*-*-dragonfly*)
|
||||
+ gas=yes
|
||||
+ gnu_ld=yes
|
||||
+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
||||
+ case ${target} in
|
||||
+ *-*-dragonfly1 | *-*-dragonfly[1].*)
|
||||
+ tm_defines="${tm_defines} DFBSD_MAJOR=1" ;;
|
||||
+ *-*-dragonfly2 | *-*-dragonfly[2].*)
|
||||
+ tm_defines="${tm_defines} DFBSD_MAJOR=2" ;;
|
||||
+ *-*-dragonfly3 | *-*-dragonfly[3].*)
|
||||
+ tm_defines="${tm_defines} DFBSD_MAJOR=3" ;;
|
||||
+ *-*-dragonfly4 | *-*-dragonfly[4].*)
|
||||
+ tm_defines="${tm_defines} DFBSD_MAJOR=4" ;;
|
||||
+ *)
|
||||
+ echo 'Please update *-*-dragonfly* in gcc/config.gcc'
|
||||
+ exit 1
|
||||
+ ;;
|
||||
+ esac
|
||||
+ tmake_file="t-slibgcc-elf-ver t-dragonfly"
|
||||
+ case ${enable_threads} in
|
||||
+ "" | yes | posix)
|
||||
+ thread_file='posix'
|
||||
+ tmake_file="${tmake_file} t-dragonfly-thread"
|
||||
+ ;;
|
||||
+ esac
|
||||
+ dfbsd_tm_file="${dfbsd_tm_file} dragonfly-spec.h dragonfly.h"
|
||||
+ ;;
|
||||
*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
|
||||
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
|
||||
gas=yes
|
||||
@@ -1070,6 +1097,14 @@
|
||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/x86-64.h"
|
||||
tmake_file="${tmake_file} i386/t-i386elf t-svr4"
|
||||
;;
|
||||
+i[34567]86-*-minix)
|
||||
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h minix-spec.h minix.h i386/minix.h"
|
||||
+# tmake_file="t-slibgcc-elf-ver t-minix i386/t-minix"
|
||||
+# use_fixproto=yes
|
||||
+ gas=yes
|
||||
+ gnu_ld=yes
|
||||
+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
||||
+ ;;
|
||||
i[34567]86-*-aout*)
|
||||
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h"
|
||||
;;
|
||||
@@ -1086,6 +1121,12 @@
|
||||
x86_64-*-dragonfly*)
|
||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${dfbsd_tm_file} i386/x86-64.h i386/dragonfly.h i386/dragonfly64.h"
|
||||
;;
|
||||
+i[34567]86-*-dragonfly*)
|
||||
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${dfbsd_tm_file} i386/dragonfly.h"
|
||||
+ ;;
|
||||
+x86_64-*-dragonfly*)
|
||||
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${dfbsd_tm_file} i386/x86-64.h i386/dragonfly.h i386/dragonfly64.h"
|
||||
+ ;;
|
||||
i[34567]86-*-netbsdelf*)
|
||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
|
||||
;;
|
||||
@@ -2466,7 +2507,7 @@
|
||||
cxx_target_objs="m32c-pragma.o"
|
||||
;;
|
||||
*)
|
||||
- echo "*** Configuration ${target} not supported" 1>&2
|
||||
+ echo "*** Configuration ${target} not recognized, not supported" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -1,15 +0,0 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/gcov.c.orig Sat Jan 9 00:05:06 2010
|
||||
+++ gcc/gcov.c
|
||||
@@ -58,6 +58,10 @@ along with Gcov; see the file COPYING3. If not see
|
||||
|
||||
#define STRING_SIZE 200
|
||||
|
||||
+#ifdef _MINIX
|
||||
+#define block_t gcc_block_t
|
||||
+#endif
|
||||
+
|
||||
struct function_info;
|
||||
struct block_info;
|
||||
struct source_info;
|
||||
@@ -1,34 +0,0 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/libgcov.c.orig Thu Apr 9 23:23:07 2009
|
||||
+++ gcc/libgcov.c
|
||||
@@ -40,6 +40,11 @@ see the files COPYING3 and COPYING.RUNTIME respectivel
|
||||
#define GCOV_LINKAGE /* nothing */
|
||||
#endif
|
||||
#endif
|
||||
+
|
||||
+#ifndef L_gcov_merge_add
|
||||
+#include "gcov-minix-fs-wrapper.h"
|
||||
+#endif
|
||||
+
|
||||
#include "gcov-io.h"
|
||||
|
||||
#if defined(inhibit_libc)
|
||||
@@ -152,7 +157,7 @@ gcov_version (struct gcov_info *ptr, gcov_unsigned_t v
|
||||
in two separate programs, and we must keep the two program
|
||||
summaries separate. */
|
||||
|
||||
-static void
|
||||
+void
|
||||
gcov_exit (void)
|
||||
{
|
||||
struct gcov_info *gi_ptr;
|
||||
@@ -564,7 +569,7 @@ __gcov_init (struct gcov_info *info)
|
||||
gcov_crc32 = crc32;
|
||||
|
||||
if (!gcov_list)
|
||||
- atexit (gcov_exit);
|
||||
+ atexit (gcov_exit_wrapper);
|
||||
|
||||
info->next = gcov_list;
|
||||
gcov_list = info;
|
||||
@@ -1,40 +0,0 @@
|
||||
$NetBSD: patch-af,v 1.1 2009/09/24 11:50:57 dmcmahill Exp $
|
||||
|
||||
--- libgcc/config.host.orig Fri Apr 17 11:58:41 2009
|
||||
+++ libgcc/config.host
|
||||
@@ -149,6 +149,8 @@ case ${host} in
|
||||
# machine-specific sections may refine and add to this
|
||||
# configuration.
|
||||
;;
|
||||
+*-*-dragonfly*)
|
||||
+ ;;
|
||||
*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu*)
|
||||
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
|
||||
;;
|
||||
@@ -277,9 +279,15 @@ x86_64-*-elf*)
|
||||
;;
|
||||
i[34567]86-*-aout*)
|
||||
;;
|
||||
+i[34567]86-*-minix*)
|
||||
+ ;;
|
||||
i[34567]86-*-freebsd*)
|
||||
;;
|
||||
x86_64-*-freebsd*)
|
||||
+ ;;
|
||||
+i[34567]86-*-dragonfly*)
|
||||
+ ;;
|
||||
+x86_64-*-dragonfly*)
|
||||
;;
|
||||
i[34567]86-*-netbsdelf*)
|
||||
;;
|
||||
--- libjava/configure.orig 2009-07-22 07:43:59.000000000 +0000
|
||||
+++ libjava/configure 2009-09-23 12:51:11.000000000 +0000
|
||||
@@ -28129,7 +28129,7 @@ echo "${ECHO_T}Python modules dir: ${pyt
|
||||
|
||||
|
||||
# needed for aot-compile-rpm
|
||||
-MAKE=`which make`
|
||||
+MAKE=${PKGSRC_MAKE}
|
||||
|
||||
|
||||
# Check whether --enable-aot-compile-rpm or --disable-aot-compile-rpm was given.
|
||||
@@ -1,23 +0,0 @@
|
||||
--- libjava/contrib/rebuild-gcj-db.in.orig Wed Jul 2 13:17:54 2008
|
||||
+++ libjava/contrib/rebuild-gcj-db.in Fri Jun 3 14:16:43 2011
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
# rebuild-gcj-db
|
||||
|
||||
## Copyright (C) 2000, 2002, 2003, 2008 Free Software Foundation
|
||||
@@ -16,12 +16,12 @@
|
||||
base=@prefix@/lib/$dirname
|
||||
dbLocation=`@prefix@/bin/gcj-dbtool -p $base`
|
||||
libdir=$base/gcj
|
||||
- if ! test -d $libdir; then
|
||||
+ if test ! -d $libdir; then
|
||||
# No shared libraries here.
|
||||
continue
|
||||
fi
|
||||
dirname $dbLocation | xargs mkdir -p
|
||||
@prefix@/bin/gcj-dbtool -n $dbLocation 64
|
||||
- find $libdir -follow -name '*.db' -print0 | \
|
||||
+ find $libdir -follow -name '*.db' -print | @AWK@ '{printf("%s%c", $1, 0);}' | \
|
||||
@prefix@/bin/gcj-dbtool -0 -m $dbLocation $dbLocation
|
||||
done
|
||||
@@ -1,20 +0,0 @@
|
||||
--- gcc/fortran/f95-lang.c.orig Tue Jun 15 12:27:01 2010
|
||||
+++ gcc/fortran/f95-lang.c Fri Jun 3 14:51:32 2011
|
||||
@@ -873,10 +873,17 @@
|
||||
|
||||
gfc_define_builtin ("__builtin_cabsl", func_clongdouble_longdouble,
|
||||
BUILT_IN_CABSL, "cabsl", true);
|
||||
+#if defined (__NetBSD__)
|
||||
gfc_define_builtin ("__builtin_cabs", func_cdouble_double,
|
||||
+ BUILT_IN_CABS, "__c99_cabs", true);
|
||||
+ gfc_define_builtin ("__builtin_cabsf", func_cfloat_float,
|
||||
+ BUILT_IN_CABSF, "__c99_cabsf", true);
|
||||
+#else
|
||||
+ gfc_define_builtin ("__builtin_cabs", func_cdouble_double,
|
||||
BUILT_IN_CABS, "cabs", true);
|
||||
gfc_define_builtin ("__builtin_cabsf", func_cfloat_float,
|
||||
BUILT_IN_CABSF, "cabsf", true);
|
||||
+#endif
|
||||
|
||||
gfc_define_builtin ("__builtin_copysignl", mfunc_longdouble[1],
|
||||
BUILT_IN_COPYSIGNL, "copysignl", true);
|
||||
@@ -1,54 +0,0 @@
|
||||
$NetBSD$
|
||||
|
||||
--- libstdc++-v3/config/io/basic_file_stdio.cc.orig Thu Apr 9 23:23:07 2009
|
||||
+++ libstdc++-v3/config/io/basic_file_stdio.cc
|
||||
@@ -27,6 +27,10 @@
|
||||
// ISO C++ 14882: 27.8 File-based streams
|
||||
//
|
||||
|
||||
+#ifndef _POSIX_SOURCE
|
||||
+#define _POSIX_SOURCE 1
|
||||
+#endif
|
||||
+
|
||||
#include <bits/basic_file.h>
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
--- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig 2009-04-09 23:23:07.000000000 +0000
|
||||
+++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
|
||||
@@ -30,6 +30,8 @@
|
||||
// Full details can be found from the CVS files at:
|
||||
// anoncvs@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h
|
||||
// See www.netbsd.org for details of access.
|
||||
+
|
||||
+#include <sys/param.h>
|
||||
|
||||
_GLIBCXX_BEGIN_NAMESPACE(std)
|
||||
|
||||
@@ -42,6 +44,19 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
||||
// NB: Offsets into ctype<char>::_M_table force a particular size
|
||||
// on the mask type. Because of this, we don't use an enum.
|
||||
typedef unsigned char mask;
|
||||
+#if __NetBSD_Version__ >= 599004100
|
||||
+ static const mask upper = _CTYPE_U;
|
||||
+ static const mask lower = _CTYPE_L;
|
||||
+ static const mask alpha = _CTYPE_U | _CTYPE_L;
|
||||
+ static const mask digit = _CTYPE_N;
|
||||
+ static const mask xdigit = _CTYPE_N | _CTYPE_X;
|
||||
+ static const mask space = _CTYPE_S;
|
||||
+ static const mask print = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N | _CTYPE_B;
|
||||
+ static const mask graph = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N;
|
||||
+ static const mask cntrl = _CTYPE_C;
|
||||
+ static const mask punct = _CTYPE_P;
|
||||
+ static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_N;
|
||||
+#else
|
||||
static const mask upper = _U;
|
||||
static const mask lower = _L;
|
||||
static const mask alpha = _U | _L;
|
||||
@@ -53,6 +68,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
||||
static const mask cntrl = _C;
|
||||
static const mask punct = _P;
|
||||
static const mask alnum = _U | _L | _N;
|
||||
+#endif
|
||||
};
|
||||
|
||||
_GLIBCXX_END_NAMESPACE
|
||||
@@ -1,54 +0,0 @@
|
||||
$NetBSD$
|
||||
|
||||
--- libstdc++-v3/config/os/generic/error_constants.h.orig Thu Apr 9 23:23:07 2009
|
||||
+++ libstdc++-v3/config/os/generic/error_constants.h
|
||||
@@ -51,12 +51,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
||||
#endif
|
||||
|
||||
broken_pipe = EPIPE,
|
||||
+#ifdef _GLIBCXX_HAVE_ECONNABORTED
|
||||
connection_aborted = ECONNABORTED,
|
||||
+#endif
|
||||
connection_already_in_progress = EALREADY,
|
||||
connection_refused = ECONNREFUSED,
|
||||
connection_reset = ECONNRESET,
|
||||
cross_device_link = EXDEV,
|
||||
+#ifdef _GLIBCXX_HAVE_EDESTADDRREQ
|
||||
destination_address_required = EDESTADDRREQ,
|
||||
+#endif
|
||||
device_or_resource_busy = EBUSY,
|
||||
directory_not_empty = ENOTEMPTY,
|
||||
executable_format_error = ENOEXEC,
|
||||
@@ -79,7 +83,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
||||
is_a_directory = EISDIR,
|
||||
message_size = EMSGSIZE,
|
||||
network_down = ENETDOWN,
|
||||
+#ifdef _GLIBCXX_HAVE_ENETRESET
|
||||
network_reset = ENETRESET,
|
||||
+#endif
|
||||
network_unreachable = ENETUNREACH,
|
||||
no_buffer_space = ENOBUFS,
|
||||
no_child_process = ECHILD,
|
||||
@@ -94,7 +100,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
||||
no_message_available = ENODATA,
|
||||
#endif
|
||||
|
||||
+#ifdef _GLIBCXX_HAVE_ENOMSG
|
||||
no_message = ENOMSG,
|
||||
+#endif
|
||||
no_protocol_option = ENOPROTOOPT,
|
||||
no_space_on_device = ENOSPC,
|
||||
|
||||
--- libjava/configure.host.orig 2011-02-25 16:07:42.000000000 +0100
|
||||
+++ libjava/configure.host
|
||||
@@ -310,6 +310,9 @@
|
||||
*-*-freebsd*)
|
||||
slow_pthread_self=
|
||||
;;
|
||||
+ *-*-netbsd*)
|
||||
+ slow_pthread_self=
|
||||
+ ;;
|
||||
*-mingw*)
|
||||
libgcj_flags="${libgcj_flags} -fno-omit-frame-pointer"
|
||||
# FIXME: win32_exception_handler( ) in win32.cc does not do the
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
$NetBSD$
|
||||
|
||||
--- libgfortran/intrinsics/c99_functions.c.orig Thu Apr 9 23:23:07 2009
|
||||
+++ libgfortran/intrinsics/c99_functions.c
|
||||
@@ -1412,7 +1412,7 @@ ctanl (long double complex a)
|
||||
#endif
|
||||
|
||||
|
||||
-#if !defined(HAVE_TGAMMA)
|
||||
+#if !defined(HAVE_TGAMMA) && defined(HAVE_NEXTAFTER)
|
||||
#define HAVE_TGAMMA 1
|
||||
|
||||
extern double tgamma (double);
|
||||
@@ -1551,7 +1551,7 @@ tgamma (double x)
|
||||
|
||||
|
||||
|
||||
-#if !defined(HAVE_LGAMMA)
|
||||
+#if !defined(HAVE_LGAMMA) && defined(HAVE_NEXTAFTER)
|
||||
#define HAVE_LGAMMA 1
|
||||
|
||||
extern double lgamma (double);
|
||||
--- libjava/configure.ac.orig 2011-02-25 16:08:27.000000000 +0100
|
||||
+++ libjava/configure.ac
|
||||
@@ -1011,6 +1011,11 @@
|
||||
THREADLDFLAGS=-pthread
|
||||
THREADSPEC=-lpthread
|
||||
;;
|
||||
+ *-*-netbsd*)
|
||||
+ # NetBSD should work with pthread.
|
||||
+ THREADLDFLAGS=-pthread
|
||||
+ THREADSPEC=-lpthread
|
||||
+ ;;
|
||||
alpha*-dec-osf* | hppa*-hp-hpux*)
|
||||
THREADCXXFLAGS=-pthread
|
||||
# boehm-gc needs some functions from librt, so link that too.
|
||||
@@ -1,36 +0,0 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/ginclude/stddef.h.orig Thu Apr 9 23:23:07 2009
|
||||
+++ gcc/ginclude/stddef.h
|
||||
@@ -58,6 +58,9 @@ see the files COPYING3 and COPYING.RUNTIME respectivel
|
||||
#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
|
||||
#include <sys/_types.h>
|
||||
#endif
|
||||
+#if defined (__minix)
|
||||
+#include <minix/types.h>
|
||||
+#endif
|
||||
|
||||
/* In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
|
||||
defined if the corresponding type is *not* defined.
|
||||
--- libjava/boehm.cc.orig 2011-03-05 18:09:36.000000000 +0000
|
||||
+++ libjava/boehm.cc
|
||||
@@ -747,7 +747,8 @@ _Jv_GCAttachThread ()
|
||||
// The registration interface is only defined on posixy systems and
|
||||
// only actually works if pthread_getattr_np is defined.
|
||||
// FIXME: until gc7 it is simpler to disable this on solaris.
|
||||
-#if defined(HAVE_PTHREAD_GETATTR_NP) && !defined(GC_SOLARIS_THREADS)
|
||||
+#if defined(HAVE_PTHREAD_GETATTR_NP) && !defined(GC_SOLARIS_THREADS) \
|
||||
+ && !defined(__NetBSD__)
|
||||
GC_register_my_thread ();
|
||||
#endif
|
||||
}
|
||||
@@ -755,7 +756,8 @@ _Jv_GCAttachThread ()
|
||||
void
|
||||
_Jv_GCDetachThread ()
|
||||
{
|
||||
-#if defined(HAVE_PTHREAD_GETATTR_NP) && !defined(GC_SOLARIS_THREADS)
|
||||
+#if defined(HAVE_PTHREAD_GETATTR_NP) && !defined(GC_SOLARIS_THREADS) \
|
||||
+ && !defined(__NetBSD__)
|
||||
GC_unregister_my_thread ();
|
||||
#endif
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/toplev.h.orig Fri Feb 20 15:20:38 2009
|
||||
+++ gcc/toplev.h
|
||||
@@ -174,7 +174,8 @@ extern int exact_log2 (unsigned HOST_
|
||||
extern int floor_log2 (unsigned HOST_WIDE_INT);
|
||||
|
||||
/* Inline versions of the above for speed. */
|
||||
-#if GCC_VERSION >= 3004
|
||||
+/* #if GCC_VERSION >= 3004 */
|
||||
+#if 0
|
||||
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
|
||||
# define CLZ_HWI __builtin_clzl
|
||||
# define CTZ_HWI __builtin_ctzl
|
||||
@@ -1,19 +0,0 @@
|
||||
$NetBSD$
|
||||
|
||||
Fix build on NetBSD i386/amd64 after the ansi.h header include protection
|
||||
name change.
|
||||
|
||||
--- gcc/ginclude/stddef.h.orig 2009-04-09 23:23:07.000000000 +0000
|
||||
+++ gcc/ginclude/stddef.h
|
||||
@@ -53,6 +53,11 @@ see the files COPYING3 and COPYING.RUNTI
|
||||
one less case to deal with in the following. */
|
||||
#if defined (__BSD_NET2__) || defined (____386BSD____) || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) || defined(__NetBSD__)
|
||||
#include <machine/ansi.h>
|
||||
+#if !defined(_MACHINE_ANSI_H_)
|
||||
+#if defined(_I386_ANSI_H_) || defined(_X86_64_ANSI_H_)
|
||||
+#define _MACHINE_ANSI_H_
|
||||
+#endif
|
||||
+#endif
|
||||
#endif
|
||||
/* On FreeBSD 5, machine/ansi.h does not exist anymore... */
|
||||
#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
|
||||
Reference in New Issue
Block a user