svn commit: r403127 - in head/lang: . gcc6-aux gcc6-aux/files
John Marino
marino at FreeBSD.org
Sun Dec 6 16:04:24 UTC 2015
Author: marino
Date: Sun Dec 6 16:04:22 2015
New Revision: 403127
URL: https://svnweb.freebsd.org/changeset/ports/403127
Log:
Add new port lang/gcc6-aux
This will be the successor to lang/gcc5-aux. GCC6 is still in development
although the Ada front end is generally stable. Once gcc6-aux is released,
the lang/gcc-aux port will likely be removed. For that to happen, the
gnatdroid compilers need to move from it to gcc5-aux or gcc6-aux. The
Ada framework will also move to gcc6-aux by default as well.
Added:
head/lang/gcc6-aux/
- copied from r403116, head/lang/gcc5-aux/
Deleted:
head/lang/gcc6-aux/files/diff-cxx-testsuite
Modified:
head/lang/Makefile
head/lang/gcc6-aux/Makefile
head/lang/gcc6-aux/Makefile.common
head/lang/gcc6-aux/Makefile.version
head/lang/gcc6-aux/distinfo
head/lang/gcc6-aux/files/diff-ada
head/lang/gcc6-aux/files/diff-ada-testsuite
head/lang/gcc6-aux/files/diff-core
head/lang/gcc6-aux/files/diff-cxx
Modified: head/lang/Makefile
==============================================================================
--- head/lang/Makefile Sun Dec 6 16:02:15 2015 (r403126)
+++ head/lang/Makefile Sun Dec 6 16:04:22 2015 (r403127)
@@ -101,6 +101,7 @@
SUBDIR += gcc5
SUBDIR += gcc5-aux
SUBDIR += gcc5-devel
+ SUBDIR += gcc6-aux
SUBDIR += gcc6-devel
SUBDIR += gcl
SUBDIR += gforth
Modified: head/lang/gcc6-aux/Makefile
==============================================================================
--- head/lang/gcc5-aux/Makefile Sun Dec 6 14:52:27 2015 (r403116)
+++ head/lang/gcc6-aux/Makefile Sun Dec 6 16:04:22 2015 (r403127)
@@ -1,7 +1,7 @@
# Created by: John Marino <marino at FreeBSD.org>
# $FreeBSD$
-PORTNAME= gcc5-aux
+PORTNAME= gcc6-aux
PORTVERSION= ${SNAPSHOT}
PORTREVISION= ${MAIN_PR}
CATEGORIES= lang
@@ -115,7 +115,6 @@ DISTFILES= \
.if ${PORT_OPTIONS:MFORT} && !${PORT_OPTIONS:MBOOTSTRAP}
LANGS+= fortran
-#APPLY_DIFFS+= fortran
EXTRA_CONFIG+= --enable-libquadmath
.else
EXTRA_CONFIG+= --disable-libquadmath
@@ -128,7 +127,6 @@ LANGS+= objc
.if ${PORT_OPTIONS:MTESTSUITE} && !${PORT_OPTIONS:MBOOTSTRAP}
BUILD_DEPENDS+= dejagnu>=1.4:${PORTSDIR}/misc/dejagnu
APPLY_DIFFS+= ada-testsuite
-APPLY_DIFFS+= cxx-testsuite
APPLY_DIFFS+= gcc-testsuite
.endif
@@ -196,15 +194,6 @@ post-extract:
@${ECHO} "Applying composite patch diff-${suffix}"
@${PATCH} -d ${WRKSRC} -s -E < ${FILESDIR}/diff-${suffix}
.endfor
- # Try to test more locale stuff than stock GCC
- @(cd ${WRKSRC}/libstdc++-v3/testsuite/22_locale && ${REINPLACE_CMD} \
- -e 's|ISO-8859|ISO8859|g' \
- -e 's|ja_JP.eucjp|ja_JP.eucJP|g' \
- -e 's|en_HK|zh_HK|g' \
- -e 's|en_PH|en_NZ|g' \
- -e 's|se_NO|no_NO|g' \
- -e 's|es_MX|es_ES|g' \
- -e 's|ru_RU.UTF8|ru_RU.UTF-8|g' ${LOCALE22FIX})
.if ${PORT_OPTIONS:MSTATIC} || ${PORT_OPTIONS:MBOOTSTRAP}
# Ensure GNAT tools are built statically
${REINPLACE_CMD} -e 's/^GCC_LINK_FLAGS=.*/GCC_LINK_FLAGS=-static/' \
Modified: head/lang/gcc6-aux/Makefile.common
==============================================================================
--- head/lang/gcc5-aux/Makefile.common Sun Dec 6 14:52:27 2015 (r403116)
+++ head/lang/gcc6-aux/Makefile.common Sun Dec 6 16:04:22 2015 (r403127)
@@ -12,132 +12,3 @@ GNU_CONFIGURE= yes
USES= gmake libtool perl5 tar:bzip2
USE_PERL5= build
ALL_TARGET= default
-
-LOCALE22FIX= \
- codecvt/always_noconv/char/wrapped_locale.cc \
- codecvt/always_noconv/wchar_t/2.cc \
- codecvt/always_noconv/wchar_t/3.cc \
- codecvt/always_noconv/wchar_t/wrapped_locale.cc \
- codecvt/encoding/char/wrapped_locale.cc \
- codecvt/encoding/wchar_t/2.cc \
- codecvt/encoding/wchar_t/3.cc \
- codecvt/encoding/wchar_t/wrapped_locale.cc \
- codecvt/in/char/wrapped_locale.cc \
- codecvt/in/wchar_t/2.cc \
- codecvt/in/wchar_t/3.cc \
- codecvt/in/wchar_t/wrapped_locale.cc \
- codecvt/length/char/wrapped_locale.cc \
- codecvt/length/wchar_t/2.cc \
- codecvt/length/wchar_t/3.cc \
- codecvt/length/wchar_t/wrapped_locale.cc \
- codecvt/max_length/char/wrapped_locale.cc \
- codecvt/max_length/wchar_t/2.cc \
- codecvt/max_length/wchar_t/3.cc \
- codecvt/max_length/wchar_t/wrapped_locale.cc \
- codecvt/out/char/wrapped_locale.cc \
- codecvt/out/wchar_t/2.cc \
- codecvt/out/wchar_t/3.cc \
- codecvt/out/wchar_t/7.cc \
- codecvt/out/wchar_t/wrapped_locale.cc \
- codecvt/unshift/char/wrapped_locale.cc \
- codecvt/unshift/wchar_t/2.cc \
- codecvt/unshift/wchar_t/3.cc \
- codecvt/unshift/wchar_t/wrapped_locale.cc \
- collate/compare/char/wrapped_locale.cc \
- collate/compare/wchar_t/wrapped_locale.cc \
- collate/hash/char/wrapped_locale.cc \
- collate/hash/wchar_t/wrapped_locale.cc \
- collate/transform/char/wrapped_locale.cc \
- collate/transform/wchar_t/wrapped_locale.cc \
- ctype/cons/char/wrapped_locale.cc \
- ctype/is/char/wrapped_locale.cc \
- ctype/is/wchar_t/wrapped_locale.cc \
- ctype/narrow/char/wrapped_locale.cc \
- ctype/narrow/wchar_t/3.cc \
- ctype/narrow/wchar_t/wrapped_locale.cc \
- ctype/scan/char/wrapped_locale.cc \
- ctype/scan/wchar_t/wrapped_locale.cc \
- ctype/to/char/wrapped_locale.cc \
- ctype/to/wchar_t/wrapped_locale.cc \
- ctype/widen/char/wrapped_locale.cc \
- ctype/widen/wchar_t/2.cc \
- ctype/widen/wchar_t/3.cc \
- ctype/widen/wchar_t/wrapped_locale.cc \
- facet/2.cc \
- locale/cons/40184.cc \
- locale/cons/5.cc \
- locale/cons/unicode.cc \
- locale/global_locale_objects/2.cc \
- messages/members/char/wrapped_locale.cc \
- money_get/get/char/16.cc \
- money_get/get/char/18.cc \
- money_get/get/char/2.cc \
- money_get/get/char/4.cc \
- money_get/get/char/wrapped_env.cc \
- money_get/get/char/wrapped_locale.cc \
- money_get/get/wchar_t/16.cc \
- money_get/get/wchar_t/18.cc \
- money_get/get/wchar_t/2.cc \
- money_get/get/wchar_t/4.cc \
- money_get/get/wchar_t/wrapped_env.cc \
- money_get/get/wchar_t/wrapped_locale.cc \
- money_put/put/char/2.cc \
- money_put/put/char/wrapped_env.cc \
- money_put/put/char/wrapped_locale.cc \
- money_put/put/wchar_t/2.cc \
- money_put/put/wchar_t/wrapped_env.cc \
- money_put/put/wchar_t/wrapped_locale.cc \
- moneypunct/members/char/wrapped_locale.cc \
- moneypunct/members/wchar_t/wrapped_locale.cc \
- num_get/get/char/3.cc \
- num_get/get/char/wrapped_env.cc \
- num_get/get/char/wrapped_locale.cc \
- num_get/get/wchar_t/3.cc \
- num_get/get/wchar_t/wrapped_env.cc \
- num_get/get/wchar_t/wrapped_locale.cc \
- num_put/put/char/3.cc \
- num_put/put/char/wrapped_env.cc \
- num_put/put/char/wrapped_locale.cc \
- num_put/put/wchar_t/3.cc \
- num_put/put/wchar_t/wrapped_env.cc \
- num_put/put/wchar_t/wrapped_locale.cc \
- numpunct/members/char/wrapped_locale.cc \
- numpunct/members/wchar_t/wrapped_locale.cc \
- time_get/date_order/char/wrapped_locale.cc \
- time_get/date_order/wchar_t/wrapped_locale.cc \
- time_get/get_date/char/2.cc \
- time_get/get_date/char/wrapped_env.cc \
- time_get/get_date/char/wrapped_locale.cc \
- time_get/get_date/wchar_t/2.cc \
- time_get/get_date/wchar_t/wrapped_env.cc \
- time_get/get_date/wchar_t/wrapped_locale.cc \
- time_get/get_monthname/char/2.cc \
- time_get/get_monthname/char/wrapped_env.cc \
- time_get/get_monthname/char/wrapped_locale.cc \
- time_get/get_monthname/wchar_t/2.cc \
- time_get/get_monthname/wchar_t/wrapped_env.cc \
- time_get/get_monthname/wchar_t/wrapped_locale.cc \
- time_get/get_time/char/2.cc \
- time_get/get_time/char/wrapped_env.cc \
- time_get/get_time/char/wrapped_locale.cc \
- time_get/get_time/wchar_t/2.cc \
- time_get/get_time/wchar_t/wrapped_env.cc \
- time_get/get_time/wchar_t/wrapped_locale.cc \
- time_get/get_weekday/char/2.cc \
- time_get/get_weekday/char/38081-1.cc \
- time_get/get_weekday/char/38081-2.cc \
- time_get/get_weekday/char/wrapped_env.cc \
- time_get/get_weekday/char/wrapped_locale.cc \
- time_get/get_weekday/wchar_t/2.cc \
- time_get/get_weekday/wchar_t/wrapped_env.cc \
- time_get/get_weekday/wchar_t/wrapped_locale.cc \
- time_get/get_year/char/wrapped_locale.cc \
- time_get/get_year/wchar_t/wrapped_locale.cc \
- time_put/put/char/3.cc \
- time_put/put/char/7.cc \
- time_put/put/char/wrapped_env.cc \
- time_put/put/char/wrapped_locale.cc \
- time_put/put/wchar_t/3.cc \
- time_put/put/wchar_t/7.cc \
- time_put/put/wchar_t/wrapped_env.cc \
- time_put/put/wchar_t/wrapped_locale.cc
Modified: head/lang/gcc6-aux/Makefile.version
==============================================================================
--- head/lang/gcc5-aux/Makefile.version Sun Dec 6 14:52:27 2015 (r403116)
+++ head/lang/gcc6-aux/Makefile.version Sun Dec 6 16:04:22 2015 (r403127)
@@ -1,14 +1,13 @@
# $FreeBSD$
-GCC_BRANCH= 5
-GCC_POINT= 3.0
+GCC_BRANCH= 6
+GCC_POINT= 0.0
GCC_VERSION= ${GCC_BRANCH}.${GCC_POINT}
-SNAPSHOT= 20151204
-BUILD_RELEASE= yes
+SNAPSHOT= 20151129
+BUILD_RELEASE= no
MAIN_PR= 0
UTIL_PR= 0
ARMV7_PR= 0
-X86_PR= 0
.if ${BUILD_RELEASE:Mno}
# Snapshot naming pattern
Modified: head/lang/gcc6-aux/distinfo
==============================================================================
--- head/lang/gcc5-aux/distinfo Sun Dec 6 14:52:27 2015 (r403116)
+++ head/lang/gcc6-aux/distinfo Sun Dec 6 16:04:22 2015 (r403127)
@@ -1,5 +1,5 @@
-SHA256 (gcc-5.3.0.tar.bz2) = b84f5592e9218b73dbae612b5253035a7b34a9a1f7688d2e1bfaaf7267d5c4db
-SIZE (gcc-5.3.0.tar.bz2) = 95441837
+SHA256 (gcc-6-20151129.tar.bz2) = 9fc70384a69ced8d3014d1182d874c9376fdaaa5d2bb4adb47a0df35a81e3834
+SIZE (gcc-6-20151129.tar.bz2) = 93779686
SHA256 (ada-bootstrap.i386.freebsd.100B.tar.bz2) = 7231209f2600275f554f788ad1d036cf633c4339ebd25bd479a5bb1ddcddedf3
SIZE (ada-bootstrap.i386.freebsd.100B.tar.bz2) = 41229192
SHA256 (ada-bootstrap.x86_64.dragonfly.41.tar.bz2) = eb7785d8b842aee2bb04b43adfb1346b178ee4e83d8775b4e6705fd23f1586f0
Modified: head/lang/gcc6-aux/files/diff-ada
==============================================================================
--- head/lang/gcc5-aux/files/diff-ada Sun Dec 6 14:52:27 2015 (r403116)
+++ head/lang/gcc6-aux/files/diff-ada Sun Dec 6 16:04:22 2015 (r403127)
@@ -1,187 +1,6 @@
---- /dev/null
-+++ gcc/ada/a-intnam-dragonfly.ads
-@@ -0,0 +1,136 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- A D A . I N T E R R U P T S . N A M E S --
-+-- --
-+-- S p e c --
-+-- --
-+-- Copyright (C) 1991-2011, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. --
-+-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-+-- --
-+------------------------------------------------------------------------------
-+
-+-- This is the DragonFly BSD THREADS version of this package
-+
-+with System.OS_Interface;
-+
-+package Ada.Interrupts.Names is
-+
-+ -- All identifiers in this unit are implementation defined
-+
-+ pragma Implementation_Defined;
-+
-+ -- Beware that the mapping of names to signals may be many-to-one. There
-+ -- may be aliases. Also, for all signal names that are not supported on
-+ -- the current system the value of the corresponding constant will be zero.
-+
-+ SIGHUP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGHUP; -- hangup
-+
-+ SIGINT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGINT; -- interrupt (rubout)
-+
-+ SIGQUIT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGQUIT; -- quit (ASCD FS)
-+
-+ SIGILL : constant Interrupt_ID :=
-+ System.OS_Interface.SIGILL; -- illegal instruction (not reset)
-+
-+ SIGTRAP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTRAP; -- trace trap (not reset)
-+
-+ SIGIOT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGIOT; -- IOT instruction
-+
-+ SIGABRT : constant Interrupt_ID := -- used by abort,
-+ System.OS_Interface.SIGABRT; -- replace SIGIOT in the future
-+
-+ SIGFPE : constant Interrupt_ID :=
-+ System.OS_Interface.SIGFPE; -- floating point exception
-+
-+ SIGKILL : constant Interrupt_ID :=
-+ System.OS_Interface.SIGKILL; -- kill (cannot be caught or ignored)
-+
-+ SIGBUS : constant Interrupt_ID :=
-+ System.OS_Interface.SIGBUS; -- bus error
-+
-+ SIGSEGV : constant Interrupt_ID :=
-+ System.OS_Interface.SIGSEGV; -- segmentation violation
-+
-+ SIGPIPE : constant Interrupt_ID := -- write on a pipe with
-+ System.OS_Interface.SIGPIPE; -- no one to read it
-+
-+ SIGALRM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGALRM; -- alarm clock
-+
-+ SIGTERM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTERM; -- software termination signal from kill
-+
-+ SIGURG : constant Interrupt_ID :=
-+ System.OS_Interface.SIGURG; -- urgent condition on IO channel
-+
-+ SIGSTOP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGSTOP; -- stop (cannot be caught or ignored)
-+
-+ SIGTSTP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTSTP; -- user stop requested from tty
-+
-+ SIGCONT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCONT; -- stopped process has been continued
-+
-+ SIGCHLD : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCHLD; -- 4.3BSD's/POSIX name for SIGCLD
-+
-+ SIGCLD : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCLD; -- child status change
-+
-+ SIGTTIN : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTTIN; -- background tty read attempted
-+
-+ SIGTTOU : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTTOU; -- background tty write attempted
-+
-+ SIGIO : constant Interrupt_ID := -- input/output possible,
-+ System.OS_Interface.SIGIO; -- SIGPOLL alias (Solaris)
-+
-+ SIGXCPU : constant Interrupt_ID :=
-+ System.OS_Interface.SIGXCPU; -- CPU time limit exceeded
-+
-+ SIGXFSZ : constant Interrupt_ID :=
-+ System.OS_Interface.SIGXFSZ; -- filesize limit exceeded
-+
-+ SIGVTALRM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGVTALRM; -- virtual timer expired
-+
-+ SIGPROF : constant Interrupt_ID :=
-+ System.OS_Interface.SIGPROF; -- profiling timer expired
-+
-+ SIGWINCH : constant Interrupt_ID :=
-+ System.OS_Interface.SIGWINCH; -- window size change
-+
-+ SIGUSR1 : constant Interrupt_ID :=
-+ System.OS_Interface.SIGUSR1; -- user defined signal 1
-+
-+ SIGUSR2 : constant Interrupt_ID :=
-+ System.OS_Interface.SIGUSR2; -- user defined signal 2
-+
-+end Ada.Interrupts.Names;
--- gcc/ada/adaint.c.orig
+++ gcc/ada/adaint.c
-@@ -497,8 +497,8 @@
- GNAT_STRUCT_STAT stat_result;
- int fd;
-
-- sprintf (full_path, "%s%c%s", dir, DIR_SEPARATOR, file);
-- sprintf (temp_file, "%s%cTMP-%ld-%ld",
-+ snprintf (full_path, 256, "%s%c%s", dir, DIR_SEPARATOR, file);
-+ snprintf (temp_file, 256, "%s%cTMP-%ld-%ld",
- dir, DIR_SEPARATOR, (long)getpid(), (long)getppid ());
-
- /* Create the temporary file and write the process number. */
-@@ -659,7 +659,8 @@
- strcpy (encoding, "encoding=utf8");
- *e_length = strlen (encoding);
- #else
-- strcpy (os_name, filename);
-+ /* o_length is initialized with max os_name size (2x filename size) */
-+ strncpy (os_name, filename, *o_length);
- *o_length = strlen (filename);
- *e_length = 0;
- #endif
-@@ -738,7 +739,7 @@
- }
-
- #if defined (_WIN32) || defined (linux) || defined (sun) \
-- || defined (__FreeBSD__)
-+ || defined (__FreeBSD__) || defined(__DragonFly__)
- #define HAS_TARGET_WCHAR_T
- #endif
-
-@@ -973,9 +974,10 @@
- int fd;
- int o_fmode = O_BINARY;
-
-- strcpy (path, "GNAT-XXXXXX");
-+ strncpy (path, "GNAT-XXXXXX", 12);
-
- #if (defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) \
-+ || defined (__DragonFly__) \
- || defined (linux) || defined(__GLIBC__)) && !defined (__vxworks)
- return mkstemp (path);
- #elif defined (__Lynx__)
-@@ -1147,21 +1149,58 @@
+@@ -1157,6 +1157,47 @@
free (pname);
}
@@ -226,136 +45,31 @@
+
+ tmpnam (tmp_filename);
+
- #elif defined (linux) || defined (__FreeBSD__) || defined (__NetBSD__) \
-- || defined (__OpenBSD__) || defined(__GLIBC__) || defined (__ANDROID__)
-+ || defined (__OpenBSD__) || defined(__GLIBC__) || defined (__DragonFly__)
- #define MAX_SAFE_PATH 1000
- char *tmpdir = getenv ("TMPDIR");
-
- /* If tmpdir is longer than MAX_SAFE_PATH, revert to default value to avoid
- a buffer overflow. */
- if (tmpdir == NULL || strlen (tmpdir) > MAX_SAFE_PATH)
--#ifdef __ANDROID__
-- strcpy (tmp_filename, "/cache/gnat-XXXXXX");
--#else
-- strcpy (tmp_filename, "/tmp/gnat-XXXXXX");
--#endif
-+ strncpy (tmp_filename, "/tmp/gnat-XXXXXX", L_tmpnam);
- else
-- sprintf (tmp_filename, "%s/gnat-XXXXXX", tmpdir);
-+ snprintf (tmp_filename, L_tmpnam, "%s/gnat-XXXXXX", tmpdir);
-
- close (mkstemp(tmp_filename));
- #elif defined (__vxworks) && !(defined (__RTP__) || defined (VTHREADS))
-@@ -2247,7 +2286,9 @@
- {
- int cores = 1;
-
--#if defined (linux) || defined (sun) || defined (AIX) || defined (__APPLE__)
-+#if defined (linux) || defined (sun) || defined (AIX) \
-+ || defined (__APPLE__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
-+ || defined (__DragonFly__) || defined (__NetBSD__)
- cores = (int) sysconf (_SC_NPROCESSORS_ONLN);
-
- #elif defined (__hpux__)
+ #elif defined (__linux__) || defined (__FreeBSD__) || defined (__NetBSD__) \
+ || defined (__OpenBSD__) || defined (__GLIBC__) || defined (__ANDROID__) \
+ || defined (__DragonFly__)
--- gcc/ada/cio.c.orig
+++ gcc/ada/cio.c
-@@ -49,7 +49,8 @@
+@@ -49,7 +49,7 @@
/* Don't use macros on GNU/Linux since they cause incompatible changes between
glibc 2.0 and 2.1 */
--#ifdef linux
-+/* Android is The exception because it uses the BIONIC library */
-+#if defined(linux) && !defined(__ANDROID__)
+-#ifdef __linux__
++#if defined __linux__ && !defined __ANDROID__
#undef putchar
#undef getchar
#undef fputc
--- gcc/ada/cstreams.c.orig
+++ gcc/ada/cstreams.c
-@@ -69,9 +69,10 @@
+@@ -69,7 +69,7 @@
#include <unixlib.h>
#endif
--#ifdef linux
-+#if defined(linux) && !defined(__ANDROID__)
+-#ifdef __linux__
++#if defined __linux__ && !defined __ANDROID__
/* Don't use macros on GNU/Linux since they cause incompatible changes between
glibc 2.0 and 2.1 */
-+/* Android is The exception because it uses the BIONIC library */
-
- #ifdef stderr
- # undef stderr
-@@ -192,7 +193,9 @@
- *p = '\\';
- }
-
--#elif defined (__FreeBSD__)
-+#elif defined (__FreeBSD__) \
-+ || defined (__DragonFly__) \
-+ || defined (__OpenBSD__)
-
- /* Use realpath function which resolves links and references to . and ..
- on those Unix systems that support it. Note that GNU/Linux provides it but
---- gcc/ada/env.c.orig
-+++ gcc/ada/env.c
-@@ -181,7 +181,9 @@
- LIB$SIGNAL (status);
- }
--#elif (defined (__vxworks) && defined (__RTP__)) || defined (__APPLE__)
-+#elif (defined (__vxworks) && defined (__RTP__)) \
-+ || defined (__APPLE__) \
-+ || defined (__OpenBSD__)
- setenv (name, value, 1);
-
- #else
-@@ -304,6 +306,7 @@
- }
- #elif defined (__MINGW32__) || defined (__FreeBSD__) || defined (__APPLE__) \
- || (defined (__vxworks) && defined (__RTP__)) || defined (__CYGWIN__) \
-+ || defined (__DragonFly__) \
- || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__rtems__)
- /* On Windows, FreeBSD and MacOS there is no function to clean all the
- environment but there is a "clean" way to unset a variable. So go
---- gcc/ada/g-comlin.adb.orig
-+++ gcc/ada/g-comlin.adb
-@@ -520,6 +520,7 @@
- begin
- Index_In_Switches := 0;
- Switch_Length := 0;
-+ Param := Parameter_None;
-
- -- Remove all leading spaces first to make sure that Index points
- -- at the start of the first switch.
---- gcc/ada/g-expect.adb.orig
-+++ gcc/ada/g-expect.adb
-@@ -1350,15 +1350,20 @@
-
- -- The following commands are not executed on Unix systems, and are only
- -- required for Windows systems. We are now in the parent process.
-+ -- Although the if-statement is redundant, it's here so the compiler
-+ -- doesn't complain about uninitialized variables.
-
-- -- Restore the old descriptors
-+ if No_Fork_On_Target then
-
-- Dup2 (Input, GNAT.OS_Lib.Standin);
-- Dup2 (Output, GNAT.OS_Lib.Standout);
-- Dup2 (Error, GNAT.OS_Lib.Standerr);
-- Close (Input);
-- Close (Output);
-- Close (Error);
-+ -- Restore the old descriptors
-+
-+ Dup2 (Input, GNAT.OS_Lib.Standin);
-+ Dup2 (Output, GNAT.OS_Lib.Standout);
-+ Dup2 (Error, GNAT.OS_Lib.Standerr);
-+ Close (Input);
-+ Close (Output);
-+ Close (Error);
-+ end if;
- end Set_Up_Child_Communications;
-
- ---------------------------
--- /dev/null
+++ gcc/ada/g-socthi-bsd.adb
@@ -0,0 +1,356 @@
@@ -737,110 +451,17 @@
Read_Mode : constant String := "r" & ASCII.NUL;
---- gcc/ada/gsocket.h.orig
-+++ gcc/ada/gsocket.h
-@@ -209,6 +209,8 @@
- #endif
-
- #if defined (_AIX) || defined (__FreeBSD__) || defined (__hpux__) || \
-+ defined (__DragonFly__) || \
-+ defined (__NetBSD__) || defined (__OpenBSD__) || \
- defined (_WIN32) || defined (__APPLE__) || defined (__ANDROID__)
- # define HAVE_THREAD_SAFE_GETxxxBYyyy 1
-
-@@ -241,7 +243,13 @@
- # endif
- #endif
-
--#if defined (__FreeBSD__) || defined (__vxworks) || defined(__rtems__)
-+#if defined (__FreeBSD__) \
-+ || defined (__DragonFly__) \
-+ || defined (__OpenBSD__) \
-+ || defined (__NetBSD__) \
-+ || defined (__ANDROID__) \
-+ || defined (__vxworks) \
-+ || defined(__rtems__)
- # define Has_Sockaddr_Len 1
- #else
- # define Has_Sockaddr_Len 0
---- gcc/ada/init.c.orig
-+++ gcc/ada/init.c
-@@ -1628,7 +1628,7 @@
- /* FreeBSD Section */
- /*******************/
-
--#elif defined (__FreeBSD__)
-+#elif defined (__FreeBSD__) || defined (__DragonFly__)
-
- #include <signal.h>
- #include <sys/ucontext.h>
-@@ -1673,7 +1673,7 @@
- }
-
- void
--__gnat_install_handler ()
-+__gnat_install_handler (void)
- {
- struct sigaction act;
-
-@@ -2496,9 +2496,13 @@
- initialization of the FP processor. This version is used under INTERIX
- and WIN32. */
-
--#if defined (_WIN32) || defined (__INTERIX) \
-- || defined (__Lynx__) || defined(__NetBSD__) || defined(__FreeBSD__) \
-- || defined (__OpenBSD__)
-+#if defined (_WIN32) \
-+ || defined (__INTERIX) \
-+ || defined (__Lynx__) \
-+ || defined (__NetBSD__) \
-+ || defined (__FreeBSD__) \
-+ || defined (__DragonFly__) \
-+ || defined (__OpenBSD__)
-
- #define HAVE_GNAT_INIT_FLOAT
-
---- gcc/ada/initialize.c.orig
-+++ gcc/ada/initialize.c
-@@ -85,8 +85,11 @@
- /* __gnat_initialize (init_float version) */
- /******************************************/
-
--#elif defined (__Lynx__) || defined (__FreeBSD__) || defined(__NetBSD__) \
-- || defined (__OpenBSD__)
-+#elif defined (__Lynx__) \
-+ || defined (__FreeBSD__) \
-+ || defined (__DragonFly__) \
-+ || defined (__NetBSD__) \
-+ || defined (__OpenBSD__)
-
- void
- __gnat_initialize (void *eh ATTRIBUTE_UNUSED)
---- gcc/ada/link.c.orig
-+++ gcc/ada/link.c
-@@ -103,7 +103,10 @@
- unsigned char __gnat_separate_run_path_options = 0;
- const char *__gnat_default_libgcc_subdir = "lib";
-
--#elif defined (__FreeBSD__)
-+#elif defined (__FreeBSD__) \
-+ || defined (__DragonFly__) \
-+ || defined (__OpenBSD__) \
-+ || defined (__NetBSD__)
- const char *__gnat_object_file_option = "-Wl,@";
- const char *__gnat_run_path_option = "-Wl,-rpath,";
- char __gnat_shared_libgnat_default = STATIC;
--- gcc/ada/make.adb.orig
+++ gcc/ada/make.adb
-@@ -671,7 +671,7 @@
+@@ -667,7 +667,7 @@
-- Compiler, Binder & Linker Data and Subprograms --
----------------------------------------------------
-- Gcc : String_Access := Program_Name ("gcc", "gnatmake");
-+ Gcc : String_Access := Program_Name ("ada", "gnatmake");
- Original_Gcc : constant String_Access := Gcc;
- -- Original_Gcc is used to check if Gcc has been modified by a switch
- -- --GCC=, so that for VM platforms, it is not modified again, as it can
+- Gcc : String_Access := Program_Name ("gcc", "gnatmake");
++ Gcc : String_Access := Program_Name ("ada", "gnatmake");
+ Gnatbind : String_Access := Program_Name ("gnatbind", "gnatmake");
+ Gnatlink : String_Access := Program_Name ("gnatlink", "gnatmake");
+ -- Default compiler, binder, linker programs
--- gcc/ada/mlib-prj.adb.orig
+++ gcc/ada/mlib-prj.adb
@@ -335,6 +335,11 @@
@@ -903,831 +524,6 @@
Gcc_Path : String_Access := null;
Non_Empty_Node : constant Project_Node_Id := 1;
---- gcc/ada/s-oscons-tmplt.c.orig
-+++ gcc/ada/s-oscons-tmplt.c
-@@ -402,7 +402,7 @@
-
- /* ioctl(2) requests are "int" in UNIX, but "unsigned long" on FreeBSD */
-
--#ifdef __FreeBSD__
-+#if defined (__FreeBSD__) || defined (__DragonFly__)
- # define CNI CNU
- # define IOCTL_Req_T "unsigned"
- #else
-@@ -1014,7 +1014,7 @@
-
- */
-
--#if defined (__FreeBSD__) || defined (linux)
-+#if defined (__FreeBSD__) || defined (linux) || defined (__DragonFly__)
- # define PTY_Library "-lutil"
- #else
- # define PTY_Library ""
-@@ -1435,7 +1435,8 @@
- #endif
- CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock")
-
--#if defined(__FreeBSD__) || (defined(_AIX) && defined(_AIXVERSION_530))
-+#if defined(__FreeBSD__) || (defined(_AIX) && defined(_AIXVERSION_530)) \
-+ || defined(__DragonFly__)
- /** On these platforms use system provided monotonic clock instead of
- ** the default CLOCK_REALTIME. We then need to set up cond var attributes
- ** appropriately (see thread.c).
---- /dev/null
-+++ gcc/ada/s-osinte-dragonfly.adb
-@@ -0,0 +1,116 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ I N T E R F A C E --
-+-- --
-+-- B o d y --
-+-- --
-+-- Copyright (C) 1991-2009, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. It is --
-+-- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
-+-- State University (http://www.gnat.com). --
-+-- --
-+------------------------------------------------------------------------------
-+
-+-- This is the DragonFly THREADS version of this package
-+
-+with Interfaces.C; use Interfaces.C;
-+
-+package body System.OS_Interface is
-+
-+ -----------
-+ -- Errno --
-+ -----------
-+
-+ function Errno return int is
-+ type int_ptr is access all int;
-+
-+ function internal_errno return int_ptr;
-+ pragma Import (C, internal_errno, "__get_errno");
-+
-+ begin
-+ return (internal_errno.all);
-+ end Errno;
-+
-+ --------------------
-+ -- Get_Stack_Base --
-+ --------------------
-+
-+ function Get_Stack_Base (thread : pthread_t) return Address is
-+ pragma Unreferenced (thread);
-+ begin
-+ return Null_Address;
-+ end Get_Stack_Base;
-+
-+ ------------------
-+ -- pthread_init --
-+ ------------------
-+
-+ procedure pthread_init is
-+ begin
-+ null;
-+ end pthread_init;
-+
-+ -----------------
-+ -- To_Duration --
-+ -----------------
-+
-+ function To_Duration (TS : timespec) return Duration is
-+ begin
-+ return Duration (TS.ts_sec) + Duration (TS.ts_nsec) / 10#1#E9;
-+ end To_Duration;
-+
-+ ------------------------
-+ -- To_Target_Priority --
-+ ------------------------
-+
-+ function To_Target_Priority
-+ (Prio : System.Any_Priority) return Interfaces.C.int
-+ is
-+ begin
-+ return Interfaces.C.int (Prio);
-+ end To_Target_Priority;
-+
-+ -----------------
-+ -- To_Timespec --
-+ -----------------
-+
-+ function To_Timespec (D : Duration) return timespec is
-+ S : time_t;
-+ F : Duration;
-+
-+ begin
-+ S := time_t (Long_Long_Integer (D));
-+ F := D - Duration (S);
-+
-+ -- If F has negative value due to a round-up, adjust for positive F
-+ -- value.
-+
-+ if F < 0.0 then
-+ S := S - 1;
-+ F := F + 1.0;
-+ end if;
-+
-+ return timespec'(ts_sec => S,
-+ ts_nsec => long (Long_Long_Integer (F * 10#1#E9)));
-+ end To_Timespec;
-+
-+end System.OS_Interface;
---- /dev/null
-+++ gcc/ada/s-osinte-dragonfly.ads
-@@ -0,0 +1,653 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- S Y S T E M . O S _ I N T E R F A C E --
-+-- --
-+-- S p e c --
-+-- --
-+-- Copyright (C) 1991-1994, Florida State University --
-+-- Copyright (C) 1995-2014, Free Software Foundation, Inc. --
-+-- --
-+-- GNAT is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- <http://www.gnu.org/licenses/>. --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. It is --
-+-- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
-+-- State University (http://www.gnat.com). --
-+-- --
-+------------------------------------------------------------------------------
-+
-+-- This is the DragonFly BSD PTHREADS version of this package
-+
-+-- This package encapsulates all direct interfaces to OS services
-+-- that are needed by the tasking run-time (libgnarl).
-+
-+-- PLEASE DO NOT add any with-clauses to this package or remove the pragma
-+-- Preelaborate. This package is designed to be a bottom-level (leaf) package.
-+
-+with Ada.Unchecked_Conversion;
-+
-+with Interfaces.C;
-+
-+package System.OS_Interface is
-+ pragma Preelaborate;
-+
-+ pragma Linker_Options ("-pthread");
-+
-+ subtype int is Interfaces.C.int;
-+ subtype short is Interfaces.C.short;
-+ subtype long is Interfaces.C.long;
-+ subtype unsigned is Interfaces.C.unsigned;
-+ subtype unsigned_short is Interfaces.C.unsigned_short;
-+ subtype unsigned_long is Interfaces.C.unsigned_long;
-+ subtype unsigned_char is Interfaces.C.unsigned_char;
-+ subtype plain_char is Interfaces.C.plain_char;
-+ subtype size_t is Interfaces.C.size_t;
-+
-+ -----------
-+ -- Errno --
-+ -----------
-+
-+ function Errno return int;
-+ pragma Inline (Errno);
-+
-+ EAGAIN : constant := 35;
-+ EINTR : constant := 4;
-+ EINVAL : constant := 22;
-+ ENOMEM : constant := 12;
-+ ETIMEDOUT : constant := 60;
-+
-+ -------------
-+ -- Signals --
-+ -------------
-+
-+ Max_Interrupt : constant := 31;
-+ type Signal is new int range 0 .. Max_Interrupt;
-+ for Signal'Size use int'Size;
-+
-+ SIGHUP : constant := 1; -- hangup
-+ SIGINT : constant := 2; -- interrupt (rubout)
-+ SIGQUIT : constant := 3; -- quit (ASCD FS)
-+ SIGILL : constant := 4; -- illegal instruction (not reset)
-+ SIGTRAP : constant := 5; -- trace trap (not reset)
-+ SIGIOT : constant := 6; -- IOT instruction
-+ SIGABRT : constant := 6; -- used by abort, replace SIGIOT in the future
-+ SIGEMT : constant := 7; -- EMT instruction
-+ SIGFPE : constant := 8; -- floating point exception
-+ SIGKILL : constant := 9; -- kill (cannot be caught or ignored)
-+ SIGBUS : constant := 10; -- bus error
-+ SIGSEGV : constant := 11; -- segmentation violation
-+ SIGSYS : constant := 12; -- bad argument to system call
-+ SIGPIPE : constant := 13; -- write on a pipe with no one to read it
-+ SIGALRM : constant := 14; -- alarm clock
-+ SIGTERM : constant := 15; -- software termination signal from kill
-+ SIGURG : constant := 16; -- urgent condition on IO channel
-+ SIGSTOP : constant := 17; -- stop (cannot be caught or ignored)
-+ SIGTSTP : constant := 18; -- user stop requested from tty
-+ SIGCONT : constant := 19; -- stopped process has been continued
-+ SIGCLD : constant := 20; -- alias for SIGCHLD
-+ SIGCHLD : constant := 20; -- child status change
-+ SIGTTIN : constant := 21; -- background tty read attempted
-+ SIGTTOU : constant := 22; -- background tty write attempted
-+ SIGIO : constant := 23; -- I/O possible (Solaris SIGPOLL alias)
-+ SIGXCPU : constant := 24; -- CPU time limit exceeded
-+ SIGXFSZ : constant := 25; -- filesize limit exceeded
-+ SIGVTALRM : constant := 26; -- virtual timer expired
-+ SIGPROF : constant := 27; -- profiling timer expired
-+ SIGWINCH : constant := 28; -- window size change
-+ SIGINFO : constant := 29; -- information request (BSD)
-+ SIGUSR1 : constant := 30; -- user defined signal 1
-+ SIGUSR2 : constant := 31; -- user defined signal 2
-+
-+ SIGADAABORT : constant := SIGABRT;
-+ -- Change this if you want to use another signal for task abort.
-+ -- SIGTERM might be a good one.
-+
-+ type Signal_Set is array (Natural range <>) of Signal;
-+
-+ -- Interrupts that must be unmasked at all times. DragonFlyBSD
-+ -- pthreads will not allow an application to mask out any
-+ -- interrupt needed by the threads library.
-+ Unmasked : constant Signal_Set :=
-+ (SIGTRAP, SIGBUS, SIGTTIN, SIGTTOU, SIGTSTP);
-+
-+ -- DragonFlyBSD will uses SIGPROF for timing. Do not allow a
-+ -- handler to attach to this signal.
-+ Reserved : constant Signal_Set := (0 .. 0 => SIGPROF);
-+
-+ type sigset_t is private;
-+
-+ function sigaddset
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigaddset, "sigaddset");
-+
-+ function sigdelset
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigdelset, "sigdelset");
-+
-+ function sigfillset (set : access sigset_t) return int;
-+ pragma Import (C, sigfillset, "sigfillset");
-+
-+ function sigismember
-+ (set : access sigset_t;
-+ sig : Signal) return int;
-+ pragma Import (C, sigismember, "sigismember");
-+
-+ function sigemptyset (set : access sigset_t) return int;
-+ pragma Import (C, sigemptyset, "sigemptyset");
-+
-+ -- sigcontext is architecture dependent, so define it private
-+ type struct_sigcontext is private;
-+
-+ type old_struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_mask : sigset_t;
-+ sa_flags : int;
-+ end record;
-+ pragma Convention (C, old_struct_sigaction);
-+
-+ type new_struct_sigaction is record
-+ sa_handler : System.Address;
-+ sa_flags : int;
-+ sa_mask : sigset_t;
-+ end record;
-+ pragma Convention (C, new_struct_sigaction);
-+
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-ports-head
mailing list