aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorsheldonh <sheldonh@FreeBSD.org>1999-06-24 19:11:28 +0800
committersheldonh <sheldonh@FreeBSD.org>1999-06-24 19:11:28 +0800
commit2173ae2ffa3502aaa9df3388e2d4479ec313970b (patch)
tree65a379bc6364d963a61455bffd1c460cafbad23b /lang
parent767b5dd84fec9563799b17b0f33e43c33fac1079 (diff)
downloadfreebsd-ports-gnome-2173ae2ffa3502aaa9df3388e2d4479ec313970b.tar.gz
freebsd-ports-gnome-2173ae2ffa3502aaa9df3388e2d4479ec313970b.tar.zst
freebsd-ports-gnome-2173ae2ffa3502aaa9df3388e2d4479ec313970b.zip
Update 3.10p -> 3.11p:
* Build requires a GNAT compiler, for which the maintainer has created a package. For now, provide two MASTER_SITEs from which it is available so that it'll find its way into the FreeBSD distfiles. * Uses variables in the PLIST to reduce diff sizes in future. * Doesn't install info files, which are virtually duplicates of the ones we already have. * AOUT support is on its wAy OUT. Do what we can, but don't blow any fuses. * Hand maintainership over to Daniel Eischen, at the request of the previous maintainer. PR: 10093 Submitted by: Daniel Eischen <eischen@vigrid.com>
Diffstat (limited to 'lang')
-rw-r--r--lang/gnat/Makefile212
-rw-r--r--lang/gnat/distinfo5
-rw-r--r--lang/gnat/files/4fintnam.ads2
-rw-r--r--lang/gnat/files/5fintman.adb69
-rw-r--r--lang/gnat/files/5fosinte.adb75
-rw-r--r--lang/gnat/files/5fosinte.ads254
-rw-r--r--lang/gnat/files/5ftaprop.adb664
-rw-r--r--lang/gnat/files/5ftaspri.ads52
-rw-r--r--lang/gnat/files/freebsdgcc28-patches538
-rw-r--r--lang/gnat/files/patch-aa161
-rw-r--r--lang/gnat/files/patch-ab86
-rw-r--r--lang/gnat/files/patch-ac54
-rw-r--r--lang/gnat/files/patch-ad41
-rw-r--r--lang/gnat/files/patch-ae24
-rw-r--r--lang/gnat/files/patch-af34
-rw-r--r--lang/gnat/pkg-comment2
-rw-r--r--lang/gnat/pkg-descr10
-rw-r--r--lang/gnat/pkg-plist1864
18 files changed, 2444 insertions, 1703 deletions
diff --git a/lang/gnat/Makefile b/lang/gnat/Makefile
index 2396fb86c88e..a5e40c9ba853 100644
--- a/lang/gnat/Makefile
+++ b/lang/gnat/Makefile
@@ -8,87 +8,187 @@
# $Id: Makefile,v 1.16 1998/01/18 15:12:38 steve Exp $
#
# Note:
-# - FreeBSD tasking libraries created by Dan Eischen have been incorportated
+# - FreeBSD tasking libraries created by Dan Eischen have been incorporated
# into this edition
# - The default names of a number of binaries have been altered to avoid
-# conflict with other gcc based products. Standard names can be provided using
-# symbolic links.
+# conflict with other gcc based products. Standard names can be provided
+# using symbolic links.
-DISTNAME= gnat-3.10p-src
-PKGNAME= gnat-3.10p
+DISTNAME= gcc-2.8.1
+PKGNAME= gnat-3.11p
CATEGORIES= lang
MASTER_SITES= ftp://cs.nyu.edu/pub/gnat/ \
- ${MASTER_SITE_GNU}
-DISTFILES= gnat-3.10p-src.tar.gz gcc-2.7.2.1.tar.gz
+ ${MASTER_SITE_GNU} \
+ ftp://ftp.pcnet.com/users/eischen/GNAT/ \
+ http://axl.noc.iafrica.com/~sheldonh/
+DISTFILES= gnat-3.11p-src.tar.gz gcc-2.8.1.tar.gz
-MAINTAINER= maurice@serc.rmit.edu.au
+MAINTAINER= eischen@vigrid.com
-.if !exists(/usr/local/bin/gnatf)
-BROKEN= "requires existing gnat compiler"
-.endif
-.if !exists(/usr/local/bin/adagcc)
-BROKEN= "requires patched gcc compiler"
+.include <bsd.port.pre.mk>
+
+.if ${PORTOBJFORMAT} == "elf"
+GNUHOST= ${ARCH}-unknown-freebsdelf${OSREL}
+.else
+GNUHOST= ${ARCH}-unknown-freebsd${OSREL}
.endif
-# You need a compiler who calls an existing gnat compiler (3.08 or greater):
-# if you have one, if you have one put it here, otherwise,
-# you will need to install from a package first
+GCC_VERSION= 2.8.1
+PLIST_SUB= GNUHOST=${GNUHOST} GCC_VERSION=${GCC_VERSION}
+# Make no mistake about what host/target we are building on/for.
+# This package does not support cross-compiling, and this fixes
+# problems with bsd.port.mk files from earlier FreeBSD 3.x releases.
+CONFIGURE_TARGET= --host=${GNUHOST} --target=${GNUHOST}
+CONFIGURE_ARGS= --program-prefix=ada
+GNU_CONFIGURE= yes
USE_GMAKE= yes
MAN1= adagcc.1 cccp.1
-# Make sure we use the patched gcc compiler
-CC = /usr/local/bin/adagcc
+# You need a compiler who calls an existing GNAT compiler (3.10 or greater).
+# If you have one, point CC at it. By default, we'll look for one in the
+# obvious places. If we can't find one, we'll fetch a distfile containing
+# a minimum (still pretty large) compiler toolset and use that to build.
+
+# For the GNAT compiler, we look in ${PREFIX} and in /usr/local.
+.ifdef PREFIX
+have_boot!= if [ -x ${PREFIX}/bin/adagcc -a -x ${PREFIX}/bin/gnatbind ]; then \
+ ${ECHO} "${PREFIX}/bin"; \
+ else \
+ ${ECHO} ""; \
+ fi
+.else
+have_boot=
+.endif
+.if empty(have_boot)
+have_boot!= if [ -x /usr/local/bin/adagcc -a -x /usr/local/bin/gnatbind ]; then \
+ ${ECHO} "/usr/local/bin"; \
+ else \
+ ${ECHO} ""; \
+ fi
+.endif
-# Which version of gcc do we have? Must be 2.7.2.1
-CCVERSION= 2.7.2.1
+#
+# Check for attempts to cross-compile the GNAT compiler. We only supply
+# an ELF bootstrap compiler. If the gnat-3.10 package is still around,
+# you could possible install that and build gnat-3.11p as aout. This
+# is not supported, though.
+.if empty(have_boot)
+have_boot!= if [ ${PORTOBJFORMAT} = "aout" ]; then \
+ ${ECHO} "borken for cross"; \
+ else \
+ ${ECHO} ""; \
+ fi
+.else
+have_boot!= if [ `file ${have_boot}/adagcc | awk ' { print $$2 }'` = "ELF" ]; then \
+ if [ ${PORTOBJFORMAT} = "elf" ]; then \
+ ${ECHO} ${have_boot}; \
+ else \
+ ${ECHO} "borken for cross"; \
+ fi \
+ else \
+ if [ ${PORTOBJFORMAT} = "elf" ]; then \
+ ${ECHO} ""; \
+ else \
+ ${ECHO} ${have_boot}; \
+ fi \
+ fi
+.endif
+
+.if ${have_boot} == "borken for cross"
+BROKEN= "Cannot build an aout compiler with an ELF compiler."
+.endif
+
+.if empty(have_boot)
+DISTFILES+= gnat-3.11p-boot.tar.gz
+# Warning! You need the trailing slash on GCC_EXEC_PREFIX.
+COMPILEDATA= GCC_EXEC_PREFIX=${WRKDIR}/adaboot/lib/gcc-lib/ \
+ ADA_INCLUDE_PATH=${WRKDIR}/adaboot/lib/gcc-lib/adainclude \
+ ADA_OBJECTS_PATH=${WRKDIR}/adaboot/lib/gcc-lib/adalib
+have_boot= ${WRKDIR}/adaboot
+.endif
-# which language set
-LANG = c ada
+# Make sure we use the Ada-aware gcc compiler.
+CC = adagcc
+CONFIGURE_ENV= ${COMPILE_DATA} PATH=${have_boot}/bin:$$PATH
pre-patch:
@${ECHO} "===> Applying FreeBSD patches to gcc for ${DISTNAME}"
- -( cd ${WRKDIR}/gcc-2.7.2.1; \
- ${PATCH} < ${PATCHDIR}/patch-freebsdgcc; )
+ -( ${PATCH} ${PATCH_ARGS} < ${FILESDIR}/freebsdgcc28-patches )
@${ECHO} "===> Patching gcc for ${DISTNAME}"
- -( cd ${WRKDIR}/gcc-2.7.2.1; \
- ${PATCH} < ${WRKSRC}/src/gcc-2721.dif; )
- (cd ${WRKDIR}/gcc-2.7.2.1; \
- ${CP} -R ${WRKSRC}/src/ada ada; )
+ -( ${PATCH} ${PATCH_ARGS} < ${WRKDIR}/gnat-3.11p-src/src/gcc-281.dif )
+ @${ECHO} "===> Copying GNAT compiler sources into GCC tree."
+ -( ${MV} ${WRKDIR}/gnat-3.11p-src/src/ada ${WRKDIR}/gcc-2.8.1 )
-pre-configure:
- (cd ${WRKDIR}/gcc-2.7.2.1/ada; \
- ${TOUCH} treeprs.ads a-[es]info.h nmake.ad[bs] )
-
-do-build:
- (cd ${WRKDIR}/gcc-2.7.2.1; ${GMAKE} CC="${CC}" CFLAGS="-O2" LANGUAGES="${LANG}" )
- (cd ${WRKDIR}/gcc-2.7.2.1; ${GMAKE} CC="${CC}" CFLAGS="-O2" LANGUAGES="${LANG}" bootstrap )
- (cd ${WRKDIR}/gcc-2.7.2.1; ${GMAKE} CC="${CC}" CFLAGS="-O2" gnatlib_and_tools )
-
-# patch the src that we are going to use and copy any additional files
-# required into the correct locations
-# use version specific patches where necessary
-do-patch:
- (cd ${WRKDIR}; \
- FILES="${PATCHDIR}/patch-[a-z][a-z]" ; \
- SORTEDFILES=`${ECHO} $$FILES | ${TR} " " "\n" | sort` ; \
- for i in $$SORTEDFILES ; do \
- ${ECHO} Applying ---- $$i ;\
- ${PATCH} < $$i ;\
- done )
+# Copy any additional files required into the correct locations.
+post-patch:
(cd ${FILESDIR}; \
- for i in *.adb *.ads ; do \
- ${CP} $$i ${WRKDIR}/gcc-2.7.2.1/ada; \
- done )
+ for i in *.adb *.ads ; do \
+ ${CP} $$i ${WRKSRC}/ada; \
+ done )
+pre-configure:
+ @(cd ${WRKDIR}/gcc-2.8.1/config/${ARCH}/ ; \
+ MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
+ ${MV} freebsd.h freebsd.h.in ; \
+ ${SED} -e "s:__FreeBSD__=[0-9]*:__FreeBSD__=$${MAJ}:" freebsd.h.in \
+ >freebsd.h ; \
+ ${MV} freebsd-elf.h freebsd-elf.h.in ; \
+ ${SED} -e "s:__FreeBSD__=[0-9]*:__FreeBSD__=$${MAJ}:" freebsd-elf.h.in \
+ >freebsd-elf.h)
+ @(cd ${WRKSRC}/ada; \
+ ${TOUCH} treeprs.ads a-[es]info.h nmake.ad[bs])
+
+#
+# Can't get this to work with default bsd.port.mk do-configure target.
+#
do-configure:
- (cd ${WRKDIR}/gcc-2.7.2.1; \
- ./configure --prefix=${PREFIX} --program-prefix=ada )
+ @(cd ${WRKSRC} && ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS})
+
+#
+# We intentionally override CFLAGS because the build procedure is explicitly
+# spelled out in gnat-3.11p-src/src/README.BUILD. Remove CFLAGS from the
+# do-build target at your own risk.
+#
+do-build:
+ (cd ${WRKSRC}; \
+ PATH=${have_boot}/bin:$$PATH \
+ ${COMPILEDATA} ${GMAKE} CC="${CC}" OLDCC="adagcc" CFLAGS="-O2" LANGUAGES="c ada" )
+ (cd ${WRKSRC}; \
+ ${GMAKE} CFLAGS="-O2" LANGUAGES="c ada" bootstrap )
+ (cd ${WRKSRC}; \
+ ${GMAKE} CFLAGS="-O2" gnattools )
+ (cd ${WRKSRC}; \
+ ${GMAKE} CFLAGS="-O2" GNATLIBCFLAGS="-O2" gnatlib )
do-install:
- (cd ${WRKDIR}/gcc-2.7.2.1; \
- ${GMAKE} CC="${CC}" LANGUAGES="${LANG}" install )
+ (cd ${WRKSRC}; \
+ ${GMAKE} CC="${CC}" LANGUAGES="c ada" ${INSTALL_TARGET} )
post-install:
+ @(for prog in ${PREFIX}/bin/adagcc \
+ ${PREFIX}/bin/gnat \
+ ${PREFIX}/bin/gnatbind \
+ ${PREFIX}/bin/gnatbl \
+ ${PREFIX}/bin/gnatchop \
+ ${PREFIX}/bin/gnatfind \
+ ${PREFIX}/bin/gnatkr \
+ ${PREFIX}/bin/gnatlink \
+ ${PREFIX}/bin/gnatls \
+ ${PREFIX}/bin/gnatmake \
+ ${PREFIX}/bin/gnatmem \
+ ${PREFIX}/bin/gnatprep \
+ ${PREFIX}/bin/gnatpsta \
+ ${PREFIX}/bin/gnatpsys \
+ ${PREFIX}/bin/gnatxref \
+ ${PREFIX}/bin/${GNUHOST}-gcc \
+ ${PREFIX}/lib/gcc-lib/${GNUHOST}/${GCC_VERSION}/cc1 \
+ ${PREFIX}/lib/gcc-lib/${GNUHOST}/${GCC_VERSION}/gnat1 \
+ ${PREFIX}/lib/gcc-lib/${GNUHOST}/${GCC_VERSION}/cpp ; do \
+ if [ -x $$prog ]; then \
+ strip $$prog ; \
+ fi \
+ done)
+ @(chown -R bin:bin ${PREFIX}/lib/gcc-lib/${GNUHOST}/${GCC_VERSION})
@(${ECHO} "-----------------------------------------------------------" )
@(${ECHO} "" )
@(${ECHO} "For information about using the tasking library please read" )
@@ -97,4 +197,4 @@ post-install:
@(${ECHO} "-----------------------------------------------------------" )
@(${ECHO} "" )
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/lang/gnat/distinfo b/lang/gnat/distinfo
index ef199d1ddaf0..8e17546de5c5 100644
--- a/lang/gnat/distinfo
+++ b/lang/gnat/distinfo
@@ -1,2 +1,3 @@
-MD5 (gnat-3.10p-src.tar.gz) = ff672b160649efe2849fa5ca91dac580
-MD5 (gcc-2.7.2.1.tar.gz) = 655b43dbb48f611fc667ec21584a4460
+MD5 (gnat-3.11p-src.tar.gz) = 44ef3007e0ea216ab9a1e4a2712a0f8b
+MD5 (gcc-2.8.1.tar.gz) = 311829e9c36080fb54b0145285746a9e
+MD5 (gnat-3.11p-boot.tar.gz) = e78d6bfa82e0fa941e779d7f14dc4708
diff --git a/lang/gnat/files/4fintnam.ads b/lang/gnat/files/4fintnam.ads
index 29f53e62ae96..eea386d04723 100644
--- a/lang/gnat/files/4fintnam.ads
+++ b/lang/gnat/files/4fintnam.ads
@@ -39,7 +39,7 @@
-- This is only a first approximation.
-- It should be autogenerated by the m4 macro processor.
--- Contributed by Daniel Eischen (deischen@iworks.InterWorks.org)
+-- Contributed by Daniel Eischen (eischen@vigrid.com)
with System.OS_Interface;
-- used for names of interrupts
diff --git a/lang/gnat/files/5fintman.adb b/lang/gnat/files/5fintman.adb
index 9d6eb5e45220..db857ec6c5f2 100644
--- a/lang/gnat/files/5fintman.adb
+++ b/lang/gnat/files/5fintman.adb
@@ -7,7 +7,7 @@
-- B o d y --
-- (Version for new GNARL) --
-- --
--- $Revision: 1.1 $ --
+-- $Revision: 1.3 $ --
-- --
-- Copyright (C) 1991,1992,1993,1994,1995,1996 Florida State University --
-- --
@@ -44,7 +44,7 @@
-- This file performs the system-dependent translation between machine
-- exceptions and the Ada exceptions, if any, that should be raised when
-- they occur. This version works for FreeBSD. Contributed by
--- Daniel M. Eischen (deischen@iworks.InterWorks.org).
+-- Daniel M. Eischen (eischen@vigrid.com).
-- PLEASE DO NOT add any dependences on other packages.
-- This package is designed to work with or without tasking support.
@@ -61,16 +61,12 @@
with Interfaces.C;
-- used for int and other types
-with System.Error_Reporting;
--- used for Shutdown
-
with System.OS_Interface;
-- used for various Constants, Signal and types
package body System.Interrupt_Management is
use Interfaces.C;
- use System.Error_Reporting;
use System.OS_Interface;
type Interrupt_List is array (Interrupt_ID range <>) of Interrupt_ID;
@@ -137,7 +133,7 @@ package body System.Interrupt_Management is
when SIGBUS =>
raise Storage_Error;
when others =>
- pragma Assert (Shutdown ("Unexpected signal"));
+ pragma Assert (False);
null;
end case;
end Notify_Exception;
@@ -152,6 +148,10 @@ package body System.Interrupt_Management is
mask : aliased sigset_t;
Result : Interfaces.C.int;
+ Unreserve_All_Interrupts : Interfaces.C.int;
+ pragma Import
+ (C, Unreserve_All_Interrupts, "__gl_unreserve_all_interrupts");
+
begin
Abort_Task_Interrupt := SIGABRT;
@@ -170,14 +170,17 @@ package body System.Interrupt_Management is
-- In that case, this field should be changed back to 0. ??? (Dong-Ik)
Result := sigemptyset (mask'Access);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---sigemptyset"));
+ pragma Assert (Result = 0);
- for I in Exception_Interrupts'Range loop
- Result := sigaddset (mask'Access, Signal (Exception_Interrupts (I)));
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---sigaddset"));
- end loop;
+ -- ??? For the same reason explained above, we can't mask these
+ -- signals because otherwise we won't be able to catch more than
+ -- one signal.
+
+ -- for I in Exception_Interrupts'Range loop
+ -- Result :=
+ -- sigaddset (mask'Access, Signal (Exception_Interrupts (I)));
+ -- pragma Assert (Result = 0);
+ -- end loop;
act.sa_mask := mask;
@@ -185,28 +188,26 @@ package body System.Interrupt_Management is
Keep_Unmasked (Exception_Interrupts (I)) := True;
Result :=
sigaction
- (Signal (Exception_Interrupts (I)), act'Access,
+ (Signal (Exception_Interrupts (I)), act'Unchecked_Access,
old_act'Unchecked_Access);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---sigaction"));
+ pragma Assert (Result = 0);
end loop;
- Keep_Unmasked (Abort_Task_Interrupt) := true;
--- Keep_Unmasked (SIGBUS) := true;
+ Keep_Unmasked (Abort_Task_Interrupt) := True;
+ Keep_Unmasked (SIGSTOP) := True;
+ Keep_Unmasked (SIGKILL) := True;
- Keep_Unmasked (SIGSTOP) := true;
- Keep_Unmasked (SIGKILL) := true;
- Keep_Unmasked (SIGINT) := true;
+ -- By keeping SIGINT unmasked, allow the user to do a Ctrl-C, but in the
+ -- same time, disable the ability of handling this signal
+ -- via Ada.Interrupts.
+ -- The pragma Unreserve_All_Interrupts let the user the ability to
+ -- change this behavior.
- -- Keep_Unmasked (SIGEMT) := true;
- -- Keep_Unmasked (SIGCHLD) := true;
- -- Keep_Unmasked (SIGALRM) := true;
- -- ???? The above signals have been found to need to be
- -- kept unmasked on some systems, per Dong-Ik Oh.
- -- I don't know whether the MIT/Provenzano threads
- -- need these or any other signals unmasked at the thread level.
- -- I hope somebody will take
- -- the time to look it up. -- Ted Baker
+ if Unreserve_All_Interrupts = 0 then
+ Keep_Unmasked (SIGINT) := True;
+ else
+ Keep_Unmasked (SIGINT) := False;
+ end if;
-- FreeBSD uses SIGINFO to dump thread status to stdout. If
-- the user really wants to attach his own handler, let him.
@@ -216,9 +217,9 @@ package body System.Interrupt_Management is
-- in order to handle the setitimer/getitimer operations. We
-- could probably allow SIGALARM, but we'll leave it as unmasked
-- for now. FreeBSD pthreads also needs SIGCHLD.
- Keep_Unmasked (SIGCHLD) := true;
- Keep_Unmasked (SIGALRM) := true;
- Keep_Unmasked (SIGVTALRM) := true;
+ Keep_Unmasked (SIGCHLD) := True;
+ Keep_Unmasked (SIGALRM) := True;
+ Keep_Unmasked (SIGVTALRM) := True;
Reserve := Reserve or Keep_Unmasked or Keep_Masked;
diff --git a/lang/gnat/files/5fosinte.adb b/lang/gnat/files/5fosinte.adb
index 12febc4d3ddc..e449cf5bf733 100644
--- a/lang/gnat/files/5fosinte.adb
+++ b/lang/gnat/files/5fosinte.adb
@@ -7,7 +7,7 @@
-- B o d y --
-- (Version for new GNARL) --
-- --
--- $Revision: 1.1 $ --
+-- $Revision: 1.2 $ --
-- --
-- Copyright (C) 1991,1992,1993,1994,1995,1996 Florida State University --
-- --
@@ -39,7 +39,7 @@
-- This is only a first approximation.
-- It should be autogenerated by the m4 macro processor.
--- Contributed by Daniel M. Eischen (deischen@iworks.InterWorks.org)
+-- Contributed by Daniel M. Eischen (eischen@vigrid.com)
-- DO NOT EDIT this file.
-- It was automatically generated from another file by the m4 macro processor.
@@ -56,10 +56,10 @@
-- __HAS_SIGCONTEXT = 1
-- __HAS_UCONTEXT = 0
-- __THREADS = POSIX_THREADS
--- __THREAD_VARIANT = ??
+-- __THREAD_VARIANT = MIT-THREADS
-- __HAS_TIMESPEC = 1
-- __HAS_NANOSLEEP = 1
--- __HAS_CLOCK_GETTIME = 0
+-- __HAS_CLOCK_GETTIME = 1
-- __HAS_GETTIMEOFDAY = 1
-- __POSIX_THREAD_PRIO_PROTECT = 0
-- __POSIX_THREAD_PRIO_INHERIT = 0
@@ -86,8 +86,61 @@ package body System.OS_Interface is
return (internal_errno.all);
end Errno;
+ function Get_Stack_Base (thread : pthread_t) return Address is
+ begin
+ return (0);
+ end Get_Stack_Base;
+
+ function pthread_getschedparam
+ (thread : pthread_t;
+ policy : access int;
+ param : access struct_sched_param) return int is
- type sigset_t_ptr is access all sigset_t;
+ function pthread_getprio (thread : pthread_t) return int;
+ pragma Import (C, pthread_getprio, "pthread_getprio");
+
+ Result : int;
+ begin
+ Result := pthread_getprio (thread);
+ if Result >= 0 then
+ -- Only set sched_param if we succeeded. Also ensure
+ -- we return a successful status to the caller.
+ param.sched_priority := Result;
+ Result := 0;
+ end if;
+ return (Result);
+ end pthread_getschedparam;
+
+ function pthread_setschedparam
+ (thread : pthread_t;
+ policy : int;
+ param : access struct_sched_param) return int is
+
+ function pthread_setprio (thread : pthread_t; prio : int) return int;
+ pragma Import (C, pthread_setprio, "pthread_setprio");
+
+ begin
+ return (pthread_setprio (thread, param.sched_priority));
+ end pthread_setschedparam;
+
+ function pthread_attr_setschedpolicy
+ (attr : access pthread_attr_t;
+ policy : int) return int is
+ begin
+ return (0);
+ end pthread_attr_setschedpolicy;
+
+ function pthread_attr_getschedpolicy
+ (attr : access pthread_attr_t;
+ policy : access int) return int is
+ begin
+ return (0);
+ end pthread_attr_getschedpolicy;
+
+ procedure pthread_init is
+ begin
+ null;
+ end pthread_init;
function pthread_sigmask_set
(how : int;
@@ -166,16 +219,4 @@ package body System.OS_Interface is
tv_usec => long (Long_Long_Integer (F * 10#1#E6)));
end To_Timeval;
- -- FreeBSD Pthreads has pthread_yield and it is imported as
- -- sched_yield in 5fosinte.ads. The FreeBSD pthread_yield does
- -- not have any parameters, so the import may be used directly
- -- without the need for a wrapper as shown below.
--- function sched_yield return int is
--- procedure sched_yield_base (arg : System.Address);
--- pragma Import (C, sched_yield_base, "pthread_yield");
--- begin
--- sched_yield_base (System.Null_Address);
--- return 0;
--- end sched_yield;
-
end System.OS_Interface;
diff --git a/lang/gnat/files/5fosinte.ads b/lang/gnat/files/5fosinte.ads
index b8ecbec463d3..63d773ae554b 100644
--- a/lang/gnat/files/5fosinte.ads
+++ b/lang/gnat/files/5fosinte.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (Version for new GNARL) --
-- --
--- $Revision: 1.1 $ --
+-- $Revision: 1.5 $ --
-- --
-- Copyright (C) 1991,92,93,94,95,1996 Free Software Foundation, Inc. --
-- --
@@ -39,7 +39,7 @@
-- This is only a first approximation.
-- It should be autogenerated by the m4 macro processor.
--- Contributed by Daniel Eischen (deischen@iworks.InterWorks.org)
+-- Contributed by Daniel Eischen (eischen@vigrid.com)
-- DO NOT EDIT this file.
-- It was automatically generated from another file by the m4 macro processor.
@@ -87,7 +87,7 @@ with Interfaces.C;
package System.OS_Interface is
pragma Preelaborate;
- pragma Linker_Options ("-lc_r");
+ pragma Linker_Options ("-pthread");
subtype int is Interfaces.C.int;
subtype short is Interfaces.C.short;
@@ -250,7 +250,7 @@ package System.OS_Interface is
function sigaction
(sig : Signal;
- act : access struct_sigaction;
+ act : struct_sigaction_ptr;
oact : struct_sigaction_ptr)
return int;
pragma Import (C, sigaction, "sigaction");
@@ -259,6 +259,9 @@ package System.OS_Interface is
-- Time --
----------
+ Time_Slice_Supported : constant boolean := True;
+ -- Indicates wether time slicing is supported (i.e SCHED_RR is supported)
+
type timespec is private;
function nanosleep (rqtp, rmtp : access timespec) return int;
@@ -297,7 +300,7 @@ package System.OS_Interface is
function gettimeofday
(tv : access struct_timeval;
- tz : access struct_timezone) return int;
+ tz : System.Address) return int;
pragma Import (C, gettimeofday, "gettimeofday");
procedure usleep (useconds : unsigned_long);
@@ -309,13 +312,13 @@ package System.OS_Interface is
-- Priority Scheduling --
-------------------------
- MIN_PRIO : constant := 0;
- MAX_PRIO : constant := 126;
+ MIN_PRIO : constant := 0;
+ MAX_PRIO : constant := 126;
+ DEFAULT_PRIO : constant := 64;
- SCHED_RR : constant := 0;
- SCHED_IO : constant := 1;
- SCHED_FIFO : constant := 2;
- SCHED_OTHER : constant := 3;
+ SCHED_FIFO : constant := 1;
+ SCHED_OTHER : constant := 2;
+ SCHED_RR : constant := 3;
-------------
-- Process --
@@ -323,6 +326,8 @@ package System.OS_Interface is
type pid_t is private;
+ Self_PID : constant pid_t;
+
function kill
(pid : pid_t;
sig : Signal)
@@ -351,10 +356,55 @@ package System.OS_Interface is
PTHREAD_CREATE_DETACHED : constant := 1;
PTHREAD_CREATE_JOINABLE : constant := 0;
+ -----------
+ -- Stack --
+ -----------
+
+ Stack_Base_Available : constant boolean := False;
+ -- Indicates wether the stack base is available on this target.
+ -- This allows us to share s-osinte.adb between all the FSU run time.
+ -- Note that this value can only be true if pthread_t has a complete
+ -- definition that corresponds exactly to the C header files.
+
+ function Get_Stack_Base (thread : pthread_t) return Address;
+ pragma Inline (Get_Stack_Base);
+ -- returns the stack base of the specified thread.
+ -- Only call this function when Stack_Base_Available is True.
+
+ function Get_Page_Size return size_t;
+ function Get_Page_Size return Address;
+ pragma Import (C, Get_Page_Size, "getpagesize");
+ -- returns the size of a page, or 0 if this is not relevant on this
+ -- target
+
+ PROT_NONE : constant := 0;
+ PROT_READ : constant := 1;
+ PROT_WRITE : constant := 2;
+ PROT_EXEC : constant := 4;
+ PROT_ALL : constant := PROT_READ + PROT_WRITE + PROT_EXEC;
+
+ PROT_ON : constant := PROT_NONE;
+ PROT_OFF : constant := PROT_ALL;
+
+ function mprotect
+ (addr : Address; len : size_t; prot : int) return int;
+ pragma Import (C, mprotect);
+
+ -----------------------------------------
+ -- Nonstandard Thread Initialization --
+ -----------------------------------------
+ -- FSU_THREADS requires pthread_init, which is nonstandard
+ -- and this should be invoked during the elaboration of s-taprop.adb
+ --
+ -- FreeBSD does not require this so we provide an empty Ada body.
+ procedure pthread_init;
+
---------------------------
-- POSIX.1c Section 3 --
---------------------------
+ type sigset_t_ptr is access all sigset_t;
+
function sigwait
(set : access sigset_t;
sig : access Signal)
@@ -369,8 +419,8 @@ package System.OS_Interface is
function pthread_sigmask
(how : int;
- set : access sigset_t;
- oset : access sigset_t)
+ set : sigset_t_ptr;
+ oset : sigset_t_ptr)
return int;
pragma Import (C, pthread_sigmask, "pthread_sigmask");
@@ -472,44 +522,44 @@ package System.OS_Interface is
----------------------------
-- FreeBSD pthreads does not support these yet.
--- PTHREAD_PRIO_NONE : constant := 0;
--- PTHREAD_PRIO_PROTECT : constant := 2;
--- PTHREAD_PRIO_INHERIT : constant := 1;
+ --
+ -- PTHREAD_PRIO_NONE : constant := 0;
+ -- PTHREAD_PRIO_PROTECT : constant := 2;
+ -- PTHREAD_PRIO_INHERIT : constant := 1;
-- FreeBSD doesn't have pthread_getschedparam or pthread_setschedparam
- -- yet. It has pthread_getprio and pthread_setprio, so we use these
- -- instead.
-
--- type struct_sched_param is record
--- prio : int;
--- no_data : System.Address;
--- end record;
--- pragma Convention (C, struct_sched_param);
---
--- function pthread_getschedparam
--- (thread : pthread_t;
--- policy : access int;
--- param : access struct_sched_param)
--- return int;
--- pragma Import (C, pthread_getschedparam, "pthread_getschedparam");
---
--- function pthread_setschedparam
--- (thread : pthread_t;
--- policy : int;
--- param : access struct_sched_param)
--- return int;
--- pragma Import (C, pthread_setschedparam, "pthread_setschedparam");
+ -- yet, but we provide the compliant interface and implement them with
+ -- pthread_getprio and pthread_setprio instead.
+
+ type struct_sched_param is record
+ sched_priority : int;
+ end record;
+ pragma Convention (C, struct_sched_param);
+
+ function sched_getparam
+ (pid : pid_t;
+ param : access struct_sched_param)
+ return int;
+ pragma Import (C, sched_getparam, "sched_getparam");
+
+ function sched_setscheduler
+ (pid : pid_t;
+ policy : int;
+ param : access struct_sched_param)
+ return int;
+ pragma Import (C, sched_setscheduler, "sched_setscheduler");
function pthread_getschedparam
- (thread : pthread_t)
+ (thread : pthread_t;
+ policy : access int;
+ param : access struct_sched_param)
return int;
- pragma Import (C, pthread_getschedparam, "pthread_getprio");
function pthread_setschedparam
- (thread : pthread_t;
- priority : int)
+ (thread : pthread_t;
+ policy : int;
+ param : access struct_sched_param)
return int;
- pragma Import (C, pthread_setschedparam, "pthread_setprio");
function pthread_attr_setscope
(attr : access pthread_attr_t;
@@ -541,45 +591,29 @@ package System.OS_Interface is
(attr : access pthread_attr_t;
policy : int)
return int;
- pragma Import
- (C, pthread_attr_setschedpolicy,
- "pthread_attr_setschedpolicy");
+-- pragma Import
+-- (C, pthread_attr_setschedpolicy,
+-- "pthread_attr_setschedpolicy");
function pthread_attr_getschedpolicy
(attr : access pthread_attr_t;
policy : access int)
return int;
- pragma Import (C, pthread_attr_getschedpolicy,
- "pthread_attr_getschedpolicy");
+-- pragma Import (C, pthread_attr_getschedpolicy,
+-- "pthread_attr_getschedpolicy");
-- FreeBSD doesn't have pthread_attr_setschedparm and
- -- pthread_attr_getschedparm yet. It has pthread_attr_setprio and
- -- pthread_attr_getprio instead. It seems we don't need either one
- -- of these, though.
+ -- pthread_attr_getschedparm yet.
-- function pthread_attr_setschedparam
--- (attr : access pthread_attr_t;
--- sched_param : access struct_sched_param)
+-- (attr : access pthread_attr_t;
+-- param : access struct_sched_param)
-- return int;
--- pragma Import (C, pthread_attr_setschedparam,
--- "pthread_attr_setschedparam");
--
-- function pthread_attr_getschedparam
--- (attr : access pthread_attr_t;
--- sched_param : access struct_sched_param)
+-- (attr : access pthread_attr_t;
+-- param : access struct_sched_param)
-- return int;
--- pragma Import (C, pthread_attr_getschedparam,
--- "pthread_attr_getschedparam");
- function pthread_attr_setschedparam
- (attr : access pthread_attr_t;
- priority : int)
- return int;
- pragma Import (C, pthread_attr_setschedparam, "pthread_attr_setprio");
-
- function pthread_attr_getschedparam
- (attr : access pthread_attr_t)
- return int;
- pragma Import (C, pthread_attr_getschedparam, "pthread_attr_getprio");
function sched_yield return int;
pragma Import (C, sched_yield, "pthread_yield");
@@ -598,8 +632,6 @@ package System.OS_Interface is
return int;
pragma Import (C, pthread_attr_destroy, "pthread_attr_destroy");
-
-
function pthread_attr_setdetachstate
(attr : access pthread_attr_t;
detachstate : int)
@@ -673,6 +705,16 @@ package System.OS_Interface is
return int;
pragma Import (C, pthread_key_create, "pthread_key_create");
+ --------------------------------------
+ -- Non-portable pthread functions --
+ --------------------------------------
+
+ function pthread_set_name_np
+ (thread : pthread_t;
+ name : System.Address)
+ return int;
+ pragma Import (C, pthread_set_name_np, "pthread_set_name_np");
+
private
@@ -692,6 +734,7 @@ private
-- #define sa_sigaction __funcptr._sigaction
type pid_t is new int;
+ Self_PID : constant pid_t := 0;
type time_t is new long;
@@ -710,66 +753,15 @@ private
end record;
pragma Convention (C, struct_timeval);
+ type record_type_1 is null record;
+ pragma Convention (C, record_type_1);
- type enumeral_type_3 is new int;
- type pthread_attr_t is record
- schedparam_policy : enumeral_type_3;
- prio : int;
- suspend : int;
- flags : int;
- arg_attr : System.Address;
- cleanup_attr : System.Address;
- stackaddr_attr : System.Address;
- stacksize_attr : size_t;
- end record;
- pragma Convention (C, pthread_attr_t);
-
- type enumeral_type_2 is new int;
- type pthread_condattr_t is record
- c_type : enumeral_type_2;
- c_flags : long;
- end record;
- pragma Convention (C, pthread_condattr_t);
-
- type enumeral_type_1 is new int;
- type pthread_mutexattr_t is record
- m_type : enumeral_type_1;
- m_flags : long;
- end record;
- pragma Convention (C, pthread_mutexattr_t);
-
- type record_type_3 is null record;
- pragma Convention (C, record_type_3);
- type pthread_t is access record_type_3;
-
- type enumeral_type_4 is new int;
- type pthread_queue_t is record
- q_next : System.Address;
- q_last : System.Address;
- q_data : System.Address;
- end record;
- pragma Convention (C, pthread_queue_t);
- type union_type_1 is new int;
- type pthread_mutex_t is record
- m_type : enumeral_type_4;
- m_queue : pthread_queue_t;
- m_owner : System.Address;
--- m_lock : long;
- m_data : union_type_1;
- m_flags : long;
- end record;
- pragma Convention (C, pthread_mutex_t);
-
- type enumeral_type_5 is new int;
- type pthread_cond_t is record
- c_type : enumeral_type_5;
- c_queue : pthread_queue_t;
--- c_lock : long;
- c_data : System.Address;
- c_flags : long;
- end record;
- pragma Convention (C, pthread_cond_t);
-
- type pthread_key_t is new int;
+ type pthread_t is access record_type_1;
+ type pthread_attr_t is access record_type_1;
+ type pthread_mutex_t is access record_type_1;
+ type pthread_mutexattr_t is access record_type_1;
+ type pthread_cond_t is access record_type_1;
+ type pthread_condattr_t is access record_type_1;
+ type pthread_key_t is new int;
end System.OS_Interface;
diff --git a/lang/gnat/files/5ftaprop.adb b/lang/gnat/files/5ftaprop.adb
index 813c40530c4a..3c94fc5dc6bb 100644
--- a/lang/gnat/files/5ftaprop.adb
+++ b/lang/gnat/files/5ftaprop.adb
@@ -1,15 +1,14 @@
------------------------------------------------------------------------------
-- --
--- GNU ADA RUNTIME LIBRARY (GNARL) COMPONENTS --
+-- GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS --
-- --
-- S Y S T E M . T A S K _ P R I M I T I V E S . O P E R A T I O N S --
-- --
-- B o d y --
--- (Version for new GNARL) --
-- --
--- $Revision: 1.1 $ --
+-- $Revision: 1.5 $ --
-- --
--- Copyright (C) 1991,1992,1993,1994,1995,1996 Florida State University --
+-- Copyright (C) 1997, Florida State University --
-- --
-- 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- --
@@ -36,15 +35,19 @@
------------------------------------------------------------------------------
-- This is the FreeBSD PTHREADS version of this package. Contributed
--- by Daniel M. Eischen (deischen@iworks.InterWorks.org).
+-- by Daniel M. Eischen (eischen@vigrid.com).
+
+pragma Polling (Off);
+-- Turn off polling, we do not want ATC polling to take place during
+-- tasking operations. It causes infinite loops and other problems.
+
+with System.Tasking.Debug;
+-- used for Known_Tasks
with Interfaces.C;
-- used for int
-- size_t
-with System.Error_Reporting;
--- used for Shutdown
-
with System.Interrupt_Management;
-- used for Keep_Unmasked
-- Abort_Task_Interrupt
@@ -65,18 +68,28 @@ with System.Tasking;
-- used for Ada_Task_Control_Block
-- Task_ID
+with System.Tasking.Initialization;
+-- used for Defer/Undefer_Abort
+
+with System.Task_Info;
+-- used for Task_Image_Type
+
+with System.OS_Primitives;
+-- used for Delay_Modes
+
with Unchecked_Conversion;
with Unchecked_Deallocation;
package body System.Task_Primitives.Operations is
+ use System.Tasking.Debug;
use System.Tasking;
use Interfaces.C;
- use System.Error_Reporting;
use System.OS_Interface;
use System.Parameters;
+ use System.OS_Primitives;
- pragma Linker_Options ("-lc_r");
+ pragma Linker_Options ("-pthread");
------------------
-- Local Data --
@@ -85,12 +98,23 @@ package body System.Task_Primitives.Operations is
-- The followings are logically constants, but need to be initialized
-- at run time.
- ATCB_Key : aliased pthread_key_t;
- -- Key used to find the Ada Task_ID associated with a thread
+ All_Tasks_L : aliased System.Task_Primitives.RTS_Lock;
+ -- See comments on locking rules in System.Locking_Rules (spec).
+
+ Environment_Task_ID : Task_ID;
+ -- A variable to hold Task_ID for the environment task.
Unblocked_Signal_Mask : aliased sigset_t;
-- The set of signals that should unblocked in all tasks
+ Next_Serial_Number : Task_Serial_Number := 100;
+ -- We start at 100, to reserve some special values for
+ -- using in error checking.
+
+ Time_Slice_Val : Integer;
+ pragma Import (C, Time_Slice_Val, "__gl_time_slice_val");
+
+
-----------------------
-- Local Subprograms --
-----------------------
@@ -104,6 +128,30 @@ package body System.Task_Primitives.Operations is
function To_Address is new Unchecked_Conversion (Task_ID, System.Address);
+
+ --------------------
+ -- Local Packages --
+ --------------------
+
+ package Specific is
+
+ procedure Initialize (Environment_Task : Task_ID);
+ pragma Inline (Initialize);
+ -- Initialize various data needed by this package.
+
+ procedure Set (Self_Id : Task_ID);
+ pragma Inline (Set);
+ -- Set the self id for the current task.
+
+ function Self return Task_ID;
+ pragma Inline (Self);
+ -- Return a pointer to the Ada Task Control Block of the calling task.
+
+ end Specific;
+
+ package body Specific is separate;
+ -- The body of this package is target specific.
+
-------------------
-- Abort_Handler --
-------------------
@@ -113,7 +161,7 @@ package body System.Task_Primitives.Operations is
-- The technical issues and alternatives here are essentially
-- the same as for raising exceptions in response to other
- -- signals (e.g. Storage_Error). See code and comments in
+ -- signals (e.g. Storage_Error). See code and comments in
-- the package body System.Interrupt_Management.
-- Some implementations may not allow an exception to be propagated
@@ -124,7 +172,7 @@ package body System.Task_Primitives.Operations is
-- GNAT exceptions are originally implemented using setjmp()/longjmp().
-- On most UNIX systems, this will allow transfer out of a signal handler,
-- which is usually the only mechanism available for implementing
- -- asynchronous handlers of this kind. However, some
+ -- asynchronous handlers of this kind. However, some
-- systems do not restore the signal mask on longjmp(), leaving the
-- abort signal masked.
@@ -135,12 +183,15 @@ package body System.Task_Primitives.Operations is
-- Normal return from this handler will then raise
-- the exception after the mask and other system state has
-- been restored (see example below).
+
-- 2. Use siglongjmp()/sigsetjmp() to implement exceptions.
+
-- 3. Unmask the signal in the Abortion_Signal exception handler
-- (in the RTS).
-- The following procedure would be needed if we can't lonjmp out of
- -- a signal handler. (See below.)
+ -- a signal handler (See below)
+
-- procedure Raise_Abort_Signal is
-- begin
-- raise Standard'Abort_Signal;
@@ -151,7 +202,7 @@ package body System.Task_Primitives.Operations is
code : Interfaces.C.int;
context : access struct_sigcontext) is
- T : Task_ID := Self;
+ T : Task_ID := Self;
Result : Interfaces.C.int;
Old_Set : aliased sigset_t;
@@ -160,14 +211,17 @@ package body System.Task_Primitives.Operations is
-- following code can be used:
if T.Deferral_Level = 0
- and then T.Pending_ATC_Level < T.ATC_Nesting_Level then
+ and then T.Pending_ATC_Level < T.ATC_Nesting_Level and then
+ not T.Aborting
+ then
+ T.Aborting := True;
-- Make sure signals used for RTS internal purpose are unmasked
- Result := pthread_sigmask
- (SIG_UNBLOCK, Unblocked_Signal_Mask'Access, Old_Set'Access);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---Enter_Task (pthread_sigmask)"));
+ Result := pthread_sigmask (SIG_UNBLOCK,
+ Unblocked_Signal_Mask'Unchecked_Access, Old_Set'Unchecked_Access);
+ pragma Assert (Result = 0);
+
raise Standard'Abort_Signal;
end if;
@@ -182,19 +236,39 @@ package body System.Task_Primitives.Operations is
end Abort_Handler;
+ -------------------
+ -- Stack_Guard --
+ -------------------
+
+ procedure Stack_Guard (T : ST.Task_ID; On : Boolean) is
+
+ Stack_Base : constant Address := Get_Stack_Base (T.LL.Thread);
+ Guard_Page_Address : Address;
+
+ Res : Interfaces.C.int;
+
+ begin
+ if Stack_Base_Available then
+ -- Compute the guard page address
+
+ Guard_Page_Address :=
+ Stack_Base - (Stack_Base mod Get_Page_Size) + Get_Page_Size;
+
+ if On then
+ Res := mprotect (Guard_Page_Address, Get_Page_Size, PROT_ON);
+ else
+ Res := mprotect (Guard_Page_Address, Get_Page_Size, PROT_OFF);
+ end if;
+
+ pragma Assert (Res = 0);
+ end if;
+ end Stack_Guard;
+
----------
-- Self --
----------
- function Self return Task_ID is
- Result : System.Address;
-
- begin
- Result := pthread_getspecific (ATCB_Key);
- pragma Assert (Result /= System.Null_Address
- or else Shutdown ("GNULLI failure---pthread_getspecific"));
- return To_Task_ID (Result);
- end Self;
+ function Self return Task_ID renames Specific.Self;
---------------------
-- Initialize_Lock --
@@ -215,8 +289,7 @@ package body System.Task_Primitives.Operations is
Result : Interfaces.C.int;
begin
Result := pthread_mutexattr_init (Attributes'Access);
- pragma Assert (Result = 0 or else Result = ENOMEM
- or else Shutdown ("GNULLI failure---pthread_mutexattr_init"));
+ pragma Assert (Result = 0 or else Result = ENOMEM);
if Result = ENOMEM then
raise STORAGE_ERROR;
@@ -224,23 +297,23 @@ package body System.Task_Primitives.Operations is
Result := pthread_mutex_init (L, Attributes'Access);
- pragma Assert (Result = 0 or else Result = ENOMEM
- or else Shutdown ("GNULLI failure---pthread_mutex_init"));
+ pragma Assert (Result = 0 or else Result = ENOMEM);
if Result = ENOMEM then
raise STORAGE_ERROR;
end if;
+ Result := pthread_mutexattr_destroy (Attributes'Access);
+ pragma Assert (Result = 0);
end Initialize_Lock;
- procedure Initialize_Lock (L : access RTS_Lock) is
+ procedure Initialize_Lock (L : access RTS_Lock; Level : Lock_Level) is
Attributes : aliased pthread_mutexattr_t;
Result : Interfaces.C.int;
begin
Result := pthread_mutexattr_init (Attributes'Access);
- pragma Assert (Result = 0 or else Result = ENOMEM
- or else Shutdown ("GNULLI failure---pthread_mutexattr_init"));
+ pragma Assert (Result = 0 or else Result = ENOMEM);
if Result = ENOMEM then
raise STORAGE_ERROR;
@@ -248,13 +321,14 @@ package body System.Task_Primitives.Operations is
Result := pthread_mutex_init (L, Attributes'Access);
- pragma Assert (Result = 0 or else Result = ENOMEM
- or else Shutdown ("GNULLI failure---pthread_mutex_init"));
+ pragma Assert (Result = 0 or else Result = ENOMEM);
if Result = ENOMEM then
raise STORAGE_ERROR;
end if;
+ Result := pthread_mutexattr_destroy (Attributes'Access);
+ pragma Assert (Result = 0);
end Initialize_Lock;
-------------------
@@ -266,8 +340,7 @@ package body System.Task_Primitives.Operations is
begin
Result := pthread_mutex_destroy (L);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---pthread_mutex_destroy"));
+ pragma Assert (Result = 0);
end Finalize_Lock;
procedure Finalize_Lock (L : access RTS_Lock) is
@@ -275,8 +348,7 @@ package body System.Task_Primitives.Operations is
begin
Result := pthread_mutex_destroy (L);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---pthread_mutex_destroy"));
+ pragma Assert (Result = 0);
end Finalize_Lock;
----------------
@@ -288,14 +360,11 @@ package body System.Task_Primitives.Operations is
begin
Result := pthread_mutex_lock (L);
- if Result = 0 then
- Ceiling_Violation := False;
- else
- Ceiling_Violation := Result = EINVAL;
- end if;
- -- assumes the cause of EINVAL is a priority ceiling violation
- pragma Assert (Result = 0 or else Result = EINVAL
- or else Shutdown ("GNULLI failure---pthread_mutex_lock"));
+
+ -- Assume that the cause of EINVAL is a priority ceiling violation
+
+ Ceiling_Violation := (Result = EINVAL);
+ pragma Assert (Result = 0 or else Result = EINVAL);
end Write_Lock;
procedure Write_Lock (L : access RTS_Lock) is
@@ -303,17 +372,14 @@ package body System.Task_Primitives.Operations is
begin
Result := pthread_mutex_lock (L);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---pthread_mutex_lock"));
+ pragma Assert (Result = 0);
end Write_Lock;
procedure Write_Lock (T : Task_ID) is
- Result : Interfaces.C.int;
-
+ Result : Interfaces.C.int;
begin
Result := pthread_mutex_lock (T.LL.L'Access);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---pthread_mutex_lock"));
+ pragma Assert (Result = 0);
end Write_Lock;
---------------
@@ -334,8 +400,7 @@ package body System.Task_Primitives.Operations is
begin
Result := pthread_mutex_unlock (L);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---pthread_mutex_unlock"));
+ pragma Assert (Result = 0);
end Unlock;
procedure Unlock (L : access RTS_Lock) is
@@ -343,158 +408,180 @@ package body System.Task_Primitives.Operations is
begin
Result := pthread_mutex_unlock (L);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---pthread_mutex_unlock"));
+ pragma Assert (Result = 0);
end Unlock;
procedure Unlock (T : Task_ID) is
- Result : Interfaces.C.int;
-
+ Result : Interfaces.C.int;
begin
Result := pthread_mutex_unlock (T.LL.L'Access);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---pthread_mutex_unlock"));
+ pragma Assert (Result = 0);
end Unlock;
-------------
-- Sleep --
-------------
- procedure Sleep (Self_ID : Task_ID) is
+ procedure Sleep (Self_ID : Task_ID;
+ Reason : System.Tasking.Task_States) is
+
Result : Interfaces.C.int;
begin
- pragma Assert (Self_ID = Self
- or else Shutdown ("GNULLI failure---Self in Sleep"));
+ pragma Assert (Self_ID = Self);
Result := pthread_cond_wait (Self_ID.LL.CV'Access, Self_ID.LL.L'Access);
+
-- EINTR is not considered a failure.
- pragma Assert (Result = 0 or else Result = EINTR
- or else Shutdown ("GNULLI failure---Sleep"));
+
+ pragma Assert (Result = 0 or else Result = EINTR);
+
end Sleep;
- ---------------
- -- Sleep_For --
- ---------------
+ -----------------
+ -- Timed_Sleep --
+ -----------------
- procedure Sleep_For
+ -- This is for use within the run-time system, so abort is
+ -- assumed to be already deferred, and the caller should be
+ -- holding its own ATCB lock.
+
+ procedure Timed_Sleep
(Self_ID : Task_ID;
- Rel_Time : Duration;
- Timedout : out Boolean)
+ Time : Duration;
+ Mode : ST.Delay_Modes;
+ Reason : System.Tasking.Task_States;
+ Timedout : out Boolean;
+ Yielded : out Boolean)
is
+
+ Check_Time : constant Duration := Clock;
+ Abs_Time : Duration;
+ Request : aliased timespec;
+ Result : Interfaces.C.int;
+
begin
- Sleep_Until (Self_ID, Rel_Time + Clock, Timedout);
- end Sleep_For;
+ Timedout := True;
+ Yielded := False;
+
+ if Mode = Relative then
+ Abs_Time := Time + Check_Time;
+ else
+ Abs_Time := Time;
+ end if;
+
+ if Abs_Time > Check_Time then
+ Request := To_Timespec (Abs_Time);
+ loop
+ exit when Self_ID.Pending_ATC_Level < Self_ID.ATC_Nesting_Level
+ or else Self_ID.Pending_Priority_Change;
+
+ Result := pthread_cond_timedwait
+ (Self_ID.LL.CV'Access, Self_ID.LL.L'Access, Request'Access);
+
+ exit when Abs_Time <= Clock;
+
+ if Result = 0 or Result = EINTR then
+
+ -- Somebody may have called Wakeup for us
+
+ Timedout := False;
+ exit;
+ end if;
+
+ pragma Assert (Result = ETIMEDOUT);
+ end loop;
+ end if;
+ end Timed_Sleep;
-----------------
- -- Sleep_Until --
+ -- Timed_Delay --
-----------------
- procedure Sleep_Until
+ -- This is for use in implementing delay statements, so
+ -- we assume the caller is abort-deferred but is holding
+ -- no locks.
+
+ procedure Timed_Delay
(Self_ID : Task_ID;
- Abs_Time : Duration;
- Timedout : out Boolean)
+ Time : Duration;
+ Mode : ST.Delay_Modes)
is
- Request : aliased timespec;
- Result : Interfaces.C.int;
+ Check_Time : constant Duration := Clock;
+ Abs_Time : Duration;
+ Request : aliased timespec;
+ Result : Interfaces.C.int;
begin
- pragma Assert (Self_ID = Self
- or else Shutdown ("GNULLI failure---Self in Sleep_Until"));
- if Abs_Time <= Clock then
- Timedout := True;
- Result := sched_yield;
- return;
- end if;
+ -- Only the little window between deferring abort and
+ -- locking Self_ID is the reason we need to
+ -- check for pending abort and priority change below! :(
- Request := To_Timespec (Abs_Time);
+ Initialization.Defer_Abort_Nestable (Self_ID);
+ Write_Lock (Self_ID);
- -- We loop until the requested delay is serviced. For early wakeups,
- -- we check the Clock again and re-request delays until we sleep
- -- at least for the specified amount.
+ if Mode = Relative then
+ Abs_Time := Time + Check_Time;
+ else
+ Abs_Time := Time;
+ end if;
- loop
- -- Perform delays until one of the following conditions is true:
- -- 1) cond_timedwait wakes up due to time expiration.
- -- 2) We were interrupted by an abort signal (abortion is pending).
- -- 3) We received a wakeup, via cond_signal to our CV.
- -- 4) An error has occurred in the OS-provided delay primitive.
- -- Conditions (1), (2), and (3) are normal.
- -- Condition (4) should never happen unless the OS is broken,
- -- or there is an error in our own runtime system code.
+ if Abs_Time > Check_Time then
+ Request := To_Timespec (Abs_Time);
+ Self_ID.State := Delay_Sleep;
loop
- Result := pthread_cond_timedwait
- (Self_ID.LL.CV'Access, Self_ID.LL.L'Access, Request'Access);
-
- if Result = 0 or else
- (Self_ID.Pending_Action and then
- Self_ID.Pending_ATC_Level < Self_ID.ATC_Nesting_Level)
- then
- Timedout := False;
- return;
- else
- -- As of 11/25/97, FreeBSD-3.0 returns the correct
- -- (POSIX specified) code (ETIMEDOUT) for a timed-out
- -- operation. Previous versions of FreeBSD would
- -- return -1, and set the thread-safe errno to EAGAIN.
- if Result < 0 and then Errno = EAGAIN then
- Result := ETIMEDOUT;
- end if;
+ if Self_ID.Pending_Priority_Change then
+ Self_ID.Pending_Priority_Change := False;
+ Self_ID.Base_Priority := Self_ID.New_Base_Priority;
+ Set_Priority (Self_ID, Self_ID.Base_Priority);
end if;
- if Result = ETIMEDOUT then
- exit;
- end if;
+ exit when Self_ID.Pending_ATC_Level < Self_ID.ATC_Nesting_Level;
- pragma Assert (Result /= EINVAL or else
- Shutdown ("GNULLI failure---Sleep_Until (cond_timedwait)"));
+ Result := pthread_cond_timedwait
+ (Self_ID.LL.CV'Access, Self_ID.LL.L'Access, Request'Access);
+ exit when Abs_Time <= Clock;
+
+ pragma Assert (Result = 0
+ or else Result = ETIMEDOUT
+ or else Result = EINTR);
end loop;
- -- Make sure we delayed long enough. If we did, give up the
- -- CPU. Otherwise, request a delay again with unserviced amount
- -- of time.
+ Self_ID.State := Runnable;
+ end if;
- if (Abs_Time <= Clock) then
- Timedout := True;
- Result := sched_yield;
- exit;
- else
- Request := To_Timespec (Abs_Time);
- end if;
- end loop;
- end Sleep_Until;
+ Unlock (Self_ID);
+ Result := sched_yield;
+ Initialization.Undefer_Abort_Nestable (Self_ID);
+ end Timed_Delay;
-----------
-- Clock --
-----------
function Clock return Duration is
- TS : aliased timespec;
+ TV : aliased struct_timeval;
Result : Interfaces.C.int;
begin
- Result := clock_gettime (CLOCK_REALTIME, TS'Unchecked_Access);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---clock_gettime"));
- return To_Duration (TS);
- exception
- when others =>
- pragma Assert (Shutdown ("exception in Clock"));
- return 0.0;
+ -- We should use clock_gettime() for FreeBSD 3.x; FreeBSD 2.x
+ -- doesn't have clock_gettime.
+ Result := gettimeofday (TV'Unchecked_Access, System.Null_Address);
+ pragma Assert (Result = 0);
+ return To_Duration (TV);
end Clock;
------------
-- Wakeup --
------------
- procedure Wakeup (T : Task_ID) is
+ procedure Wakeup (T : Task_ID; Reason : System.Tasking.Task_States) is
Result : Interfaces.C.int;
begin
Result := pthread_cond_signal (T.LL.CV'Access);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---Wakeup"));
+ pragma Assert (Result = 0);
end Wakeup;
-----------
@@ -503,6 +590,7 @@ package body System.Task_Primitives.Operations is
procedure Yield is
Result : Interfaces.C.int;
+
begin
Result := sched_yield;
end Yield;
@@ -511,31 +599,27 @@ package body System.Task_Primitives.Operations is
-- Set_Priority --
------------------
- -- FreeBSD doesn't have the correct pthread_setschedparam routine
- -- yet. Instead, pthread_setschedparam is imported from pthread_setprio
- -- which only takes a pthread_t and integer as arguments.
--- procedure Set_Priority (T : Task_ID; Prio : System.Any_Priority) is
--- Result : Interfaces.C.int;
--- Param : aliased struct_sched_param;
--- begin
--- T.LL.Current_Priority := Interfaces.C.int (Prio);
--- Param.prio := Interfaces.C.int (Prio);
---
--- Result := pthread_setschedparam (T.LL.Thread, SCHED_FIFO,
--- Param'Access);
--- pragma Assert (Result = 0
--- or else Shutdown ("GNULLI failure---Set_Priority"));
---
--- end Set_Priority;
procedure Set_Priority (T : Task_ID; Prio : System.Any_Priority) is
Result : Interfaces.C.int;
+ Param : aliased struct_sched_param;
+
begin
T.LL.Current_Priority := Interfaces.C.int (Prio);
- Result := pthread_setschedparam (T.LL.Thread, Interfaces.C.int (Prio));
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---Set_Priority"));
+ -- Convert the Ada priority to be based around the default
+ -- system priority.
+ Param.sched_priority := DEFAULT_PRIO + Interfaces.C.int (Prio) -
+ Interfaces.C.int (System.Default_Priority);
+
+ if Time_Slice_Supported and then Time_Slice_Val > 0 then
+ Result := pthread_setschedparam
+ (T.LL.Thread, SCHED_RR, Param'Access);
+ else
+ Result := pthread_setschedparam
+ (T.LL.Thread, SCHED_FIFO, Param'Access);
+ end if;
+ pragma Assert (Result = 0);
end Set_Priority;
------------------
@@ -552,15 +636,22 @@ package body System.Task_Primitives.Operations is
----------------
procedure Enter_Task (Self_ID : Task_ID) is
- Result : Interfaces.C.int;
-
begin
-
Self_ID.LL.Thread := pthread_self;
- Result := pthread_setspecific (ATCB_Key, To_Address (Self_ID));
- pragma Assert (Result = 0 or else
- Shutdown ("GNULLI failure---Enter_Task (pthread_setspecific)"));
+ Specific.Set (Self_ID);
+
+ Lock_All_Tasks_List;
+
+ for I in Known_Tasks'Range loop
+ if Known_Tasks (I) = null then
+ Known_Tasks (I) := Self_ID;
+ Self_ID.Known_Tasks_Index := I;
+ exit;
+ end if;
+ end loop;
+
+ Unlock_All_Tasks_List;
end Enter_Task;
----------------------
@@ -573,9 +664,14 @@ package body System.Task_Primitives.Operations is
Cond_Attr : aliased pthread_condattr_t;
begin
+ -- Give the task a unique serial number.
+
+ Self_ID.Serial_Number := Next_Serial_Number;
+ Next_Serial_Number := Next_Serial_Number + 1;
+ pragma Assert (Next_Serial_Number /= 0);
+
Result := pthread_mutexattr_init (Mutex_Attr'Access);
- pragma Assert (Result = 0 or else Result = ENOMEM
- or else Shutdown ("GNULLI failure---pthread_mutexattr_init"));
+ pragma Assert (Result = 0 or else Result = ENOMEM);
if Result /= 0 then
Succeeded := False;
@@ -583,8 +679,7 @@ package body System.Task_Primitives.Operations is
end if;
Result := pthread_mutex_init (Self_ID.LL.L'Access, Mutex_Attr'Access);
- pragma Assert (Result = 0 or else Result = ENOMEM
- or else Shutdown ("GNULLI failure---pthread_mutex_init"));
+ pragma Assert (Result = 0 or else Result = ENOMEM);
if Result /= 0 then
Succeeded := False;
@@ -592,29 +687,30 @@ package body System.Task_Primitives.Operations is
end if;
Result := pthread_condattr_init (Cond_Attr'Access);
- pragma Assert (Result = 0 or else Result = ENOMEM
- or else Shutdown ("GNULLI failure---pthread_condattr_init"));
+ pragma Assert (Result = 0 or else Result = ENOMEM);
if Result /= 0 then
Result := pthread_mutex_destroy (Self_ID.LL.L'Access);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---pthread_mutex_destory"));
+ pragma Assert (Result = 0);
Succeeded := False;
return;
end if;
Result := pthread_cond_init (Self_ID.LL.CV'Access, Cond_Attr'Access);
- pragma Assert (Result = 0 or else Result = ENOMEM
- or else Shutdown ("GNULLI failure---pthread_cond_init"));
+ pragma Assert (Result = 0 or else Result = ENOMEM);
if Result /= 0 then
Result := pthread_mutex_destroy (Self_ID.LL.L'Access);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---pthread_mutex_destory"));
+ pragma Assert (Result = 0);
+ Result := pthread_mutexattr_destroy (Mutex_Attr'Access);
+ pragma Assert (Result = 0);
Succeeded := False;
return;
end if;
+ Result := pthread_mutexattr_destroy (Mutex_Attr'Access);
+ pragma Assert (Result = 0);
+
Succeeded := True;
end Initialize_TCB;
@@ -630,6 +726,8 @@ package body System.Task_Primitives.Operations is
Priority : System.Any_Priority;
Succeeded : out Boolean)
is
+ use type System.Task_Info.Task_Image_Type;
+
Attributes : aliased pthread_attr_t;
Adjusted_Stack_Size : Interfaces.C.size_t;
Result : Interfaces.C.int;
@@ -638,62 +736,41 @@ package body System.Task_Primitives.Operations is
Unchecked_Conversion (System.Address, Thread_Body);
begin
- if Stack_Size = System.Parameters.Unspecified_Size then
- Adjusted_Stack_Size := Interfaces.C.size_t (2 * Default_Stack_Size);
- -- Let's change the s-parame.adb to give a larger Stack_Size ?????
- else
- if Stack_Size < Size_Type (Minimum_Stack_Size) then
- Adjusted_Stack_Size :=
- Interfaces.C.size_t (Stack_Size + Minimum_Stack_Size);
-
- -- sum, instead of max: may be overkill, but should be safe
- -- thr_min_stack is a function call.
-
- -- Actually, we want to get the Default_Stack_Size and
- -- Minimum_Stack_Size from the file System.Parameters.
- -- Right now the package is not made target specific.
- -- We use our own local definitions for now ???
-
- else
- Adjusted_Stack_Size := Interfaces.C.size_t (Stack_Size);
- end if;
-
- -- Ask for 4 extra bytes of stack space so that the ATCB
- -- pointer can be stored below the stack limit, plus extra
- -- space for the frame of Task_Wrapper. This is so the user
- -- gets the amount of stack requested exclusive of the needs
- -- of the runtime.
+ if Stack_Size = Unspecified_Size then
+ Adjusted_Stack_Size := Interfaces.C.size_t (Default_Stack_Size);
+ elsif Stack_Size < Minimum_Stack_Size then
+ Adjusted_Stack_Size := Interfaces.C.size_t (Minimum_Stack_Size);
+ else
+ Adjusted_Stack_Size := Interfaces.C.size_t (Stack_Size);
end if;
- Adjusted_Stack_Size := Adjusted_Stack_Size + 4;
+ if Stack_Base_Available then
+ -- If Stack Checking is supported then allocate 2 additional pages:
+ --
+ -- In the worst case, stack is allocated at something like
+ -- N * Get_Page_Size - epsilon, we need to add the size for 2 pages
+ -- to be sure the effective stack size is greater than what
+ -- has been asked.
- -- Since the initial signal mask of a thread is inherited from the
- -- creator, we need to set our local signal mask mask all signals
- -- during the creation operation, to make sure the new thread is
- -- not disturbed by signals before it has set its own Task_ID.
+ Adjusted_Stack_Size := Adjusted_Stack_Size + 2 * Get_Page_Size;
+ end if;
Result := pthread_attr_init (Attributes'Access);
- pragma Assert (Result = 0 or else Result = ENOMEM
- or else Shutdown ("GNULLI failure---pthread_attr_init"));
+ pragma Assert (Result = 0 or else Result = ENOMEM);
if Result /= 0 then
Succeeded := False;
return;
end if;
- -- Create threads detached following email to report@gnat.com
- -- confirming this is correct (should be fixed for GNAT after 3.09).
- -- (Peter Burwood)
Result := pthread_attr_setdetachstate
(Attributes'Access, PTHREAD_CREATE_DETACHED);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---pthread_setdetachstate"));
+ pragma Assert (Result = 0);
Result := pthread_attr_setstacksize
(Attributes'Access, Interfaces.C.size_t (Adjusted_Stack_Size));
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---pthread_attr_setstacksize"));
+ pragma Assert (Result = 0);
-- Since the initial signal mask of a thread is inherited from the
-- creator, and the Environment task has all its signals masked, we
@@ -705,13 +782,20 @@ package body System.Task_Primitives.Operations is
Attributes'Access,
Thread_Body_Access (Wrapper),
To_Address (T));
- pragma Assert (Result = 0 or else Result = EAGAIN
- or else Shutdown ("GNULLI failure---Create_Task (pthread_create)"));
+ pragma Assert (Result = 0 or else Result = EAGAIN);
Succeeded := Result = 0;
- Set_Priority (T, Priority);
+ if T.Task_Image /= null then
+ declare
+ Name : aliased string (1 .. T.Task_Image.all'Length + 1);
+ begin
+ Name := T.Task_Image.all & Ascii.Nul;
+ Result := pthread_set_name_np (T.LL.Thread, Name'Address);
+ end;
+ end if;
+ Set_Priority (T, Priority);
end Create_Task;
------------------
@@ -722,21 +806,20 @@ package body System.Task_Primitives.Operations is
Result : Interfaces.C.int;
Tmp : Task_ID := T;
- procedure Free is new Unchecked_Deallocation
- (Ada_Task_Control_Block, Task_ID);
+ procedure Free is new
+ Unchecked_Deallocation (Ada_Task_Control_Block, Task_ID);
begin
Result := pthread_mutex_destroy (T.LL.L'Access);
- pragma Assert (Result = 0 or else
- Shutdown ("GNULLI failure---Finalize_TCB (pthread_mutex_destroy)"));
+ pragma Assert (Result = 0);
+
Result := pthread_cond_destroy (T.LL.CV'Access);
- pragma Assert (Result = 0 or else
- Shutdown ("GNULLI failure---Finalize_TCB (pthread_cond_destroy)"));
+ pragma Assert (Result = 0);
+
+ if T.Known_Tasks_Index /= -1 then
+ Known_Tasks (T.Known_Tasks_Index) := null;
+ end if;
- -- Following report to report@gnat.com regarding ATCB memory leak
- -- this Free is now called. The answer back from ACT didn't give
- -- the source for a fix, but I calling this Free is sufficient.
- -- (Peter Burwood)
Free (Tmp);
end Finalize_TCB;
@@ -759,21 +842,76 @@ package body System.Task_Primitives.Operations is
begin
Result := pthread_kill (T.LL.Thread,
Signal (System.Interrupt_Management.Abort_Task_Interrupt));
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---Abort_Task"));
+ pragma Assert (Result = 0);
end Abort_Task;
----------------
+ -- Check_Exit --
+ ----------------
+
+ -- Dummy versions. The only currently working versions is for solaris
+ -- (native).
+
+ function Check_Exit (Self_ID : ST.Task_ID) return Boolean is
+ begin
+ return True;
+ end Check_Exit;
+
+ --------------------
+ -- Check_No_Locks --
+ --------------------
+
+ function Check_No_Locks (Self_ID : ST.Task_ID) return Boolean is
+ begin
+ return True;
+ end Check_No_Locks;
+
+ ----------------------
+ -- Environment_Task --
+ ----------------------
+
+ function Environment_Task return Task_ID is
+ begin
+ return Environment_Task_ID;
+ end Environment_Task;
+
+ -------------------------
+ -- Lock_All_Tasks_List --
+ -------------------------
+
+ procedure Lock_All_Tasks_List is
+ begin
+ Write_Lock (All_Tasks_L'Access);
+ end Lock_All_Tasks_List;
+
+ ---------------------------
+ -- Unlock_All_Tasks_List --
+ ---------------------------
+
+ procedure Unlock_All_Tasks_List is
+ begin
+ Unlock (All_Tasks_L'Access);
+ end Unlock_All_Tasks_List;
+
+ ----------------
-- Initialize --
----------------
procedure Initialize (Environment_Task : Task_ID) is
- act : aliased struct_sigaction;
- old_act : aliased struct_sigaction;
- Tmp_Set : aliased sigset_t;
- Result : Interfaces.C.int;
+ act : aliased struct_sigaction;
+ old_act : aliased struct_sigaction;
+ Tmp_Set : aliased sigset_t;
+ Result : Interfaces.C.int;
+ param : aliased struct_sched_param;
begin
+ Environment_Task_ID := Environment_Task;
+
+ -- Initialize the lock used to synchronize chain of all ATCBs.
+
+ Initialize_Lock (All_Tasks_L'Access, All_Tasks_Level);
+
+ Specific.Initialize (Environment_Task);
Enter_Task (Environment_Task);
@@ -783,33 +921,31 @@ package body System.Task_Primitives.Operations is
act.sa_handler := Abort_Handler'Address;
Result := sigemptyset (Tmp_Set'Access);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---Initialize (sigemptyset)"));
+ pragma Assert (Result = 0);
act.sa_mask := Tmp_Set;
Result :=
sigaction (
Signal (System.Interrupt_Management.Abort_Task_Interrupt),
- act'Access,
+ act'Unchecked_Access,
old_act'Unchecked_Access);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---Initialize (sigaction)"));
+
+ pragma Assert (Result = 0);
+
+ if Time_Slice_Supported and then Time_Slice_Val > 0 then
+ if sched_getparam (Self_PID, param'Access) = 0 then
+ Result := sched_setscheduler (Self_PID, SCHED_RR, param'Access);
+ pragma Assert (Result = 0);
+ end if;
+ end if;
end Initialize;
begin
declare
Result : Interfaces.C.int;
- begin
- -- pthread_init;
- -- This call is needed for MIT thread library. We wish
- -- we could move this to s-osinte.adb and be executed during
- -- the package elaboration. However, in doing so we get an
- -- elaboration problem.
-
- -- It doesn't appear necessary to call it because pthread_init is
- -- called before any Ada elaboration occurs.
+ begin
-- Mask Environment task for all signals. The original mask of the
-- Environment task will be recovered by Interrupt_Server task
@@ -821,20 +957,14 @@ begin
-- Prepare the set of signals that should unblocked in all tasks
Result := sigemptyset (Unblocked_Signal_Mask'Access);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---Initialize (sigemptyset)"));
+ pragma Assert (Result = 0);
for J in Interrupt_Management.Interrupt_ID loop
if System.Interrupt_Management.Keep_Unmasked (J) then
Result := sigaddset (Unblocked_Signal_Mask'Access, Signal (J));
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---Initialize (sigaddset)"));
+ pragma Assert (Result = 0);
end if;
end loop;
-
- Result := pthread_key_create (ATCB_Key'Access, null);
- pragma Assert (Result = 0
- or else Shutdown ("GNULLI failure---Initialize (pthread_keycreate)"));
end;
end System.Task_Primitives.Operations;
diff --git a/lang/gnat/files/5ftaspri.ads b/lang/gnat/files/5ftaspri.ads
index 9cd6b64d989b..30922667f92e 100644
--- a/lang/gnat/files/5ftaspri.ads
+++ b/lang/gnat/files/5ftaspri.ads
@@ -1,15 +1,14 @@
------------------------------------------------------------------------------
-- --
--- GNU ADA RUNTIME LIBRARY (GNARL) COMPONENTS --
+-- GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS --
-- --
-- S Y S T E M . T A S K _ P R I M I T I V E S --
-- --
-- S p e c --
--- (Version for new GNARL) --
-- --
--- $Revision: 1.1 $ --
+-- $Revision: 1.1 $ --
-- --
--- Copyright (C) 1991,92,93,94,95,1996 Free Software Foundation, Inc. --
+-- Copyright (C) 1991-1997, 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- --
@@ -36,35 +35,7 @@
------------------------------------------------------------------------------
-- This is the FreeBSD PTHREADS version of this package. Contributed
--- by Daniel M. Eischen (deischen@iworks.InterWorks.org).
-
--- DO NOT EDIT this file.
--- It was automatically generated from another file by the m4 macro processor.
--- The name of the file you should edit is the same as this one, but with
--- ".ads" replaced by ".sm4", or
--- ".adb" replaced by ".bm4", or
--- ".c" replaced by ".cm4", or
--- ".dat" replaced by ".tm4"
-
--- Local options selected:
--- __TARGET = i386-unknown-freebsd
--- __ARCH = I386
--- __OS = FREEBSD
--- __HAS_SIGCONTEXT = 1
--- __HAS_UCONTEXT = 0
--- __THREADS = POSIX_THREADS
--- __THREAD_VARIANT = ??
--- __HAS_TIMESPEC = 1
--- __HAS_NANOSLEEP = 1
--- __HAS_CLOCK_GETTIME = 0
--- __HAS_GETTIMEOFDAY = 1
--- __POSIX_THREAD_PRIO_PROTECT = 0
--- __POSIX_THREAD_PRIO_INHERIT = 0
--- __POSIX_THREAD_ATTR_STACKADDR = 1
--- __POSIX_THREAD_ATTR_STACKSIZE = 1
--- __POSIX_THREAD_PRIORITY_SCHEDULING = 0
-
--- This package provides low-level support for most tasking features.
+-- by Daniel M. Eischen (eischen@vigrid.com).
with Interfaces.C;
-- used for int
@@ -99,6 +70,7 @@ private
type Lock is new System.OS_Interface.pthread_mutex_t;
type RTS_Lock is new System.OS_Interface.pthread_mutex_t;
+
type Private_Data is record
Thread : aliased System.OS_Interface.pthread_t;
pragma Atomic (Thread);
@@ -107,30 +79,38 @@ private
-- They put the same value (thr_self value). We do not want to
-- use lock on those operations and the only thing we have to
-- make sure is that they are updated in atomic fashion.
- CV : aliased System.OS_Interface.pthread_cond_t;
- L : aliased RTS_Lock;
+
+ CV : aliased System.OS_Interface.pthread_cond_t;
+
+ L : aliased RTS_Lock;
-- protection for all components is lock L
+
Current_Priority : Interfaces.C.int := 0;
-- Active priority, except that the effects of protected object
-- priority ceilings are not reflected. This only reflects explicit
-- priority changes and priority inherited through task activation
-- and rendezvous.
+ --
-- Ada 95 notes: In Ada 95, this field will be transferred to the
-- Priority field of an Entry_Calls component when an entry call
-- is initiated. The Priority of the Entry_Calls component will not
-- change for the duration of the call. The accepting task can
-- use it to boost its own priority without fear of its changing in
-- the meantime.
+ --
-- This can safely be used in the priority ordering
-- of entry queues. Once a call is queued, its priority does not
-- change.
+ --
-- Since an entry call cannot be made while executing
-- a protected action, the priority of a task will never reflect a
-- priority ceiling change at the point of an entry call.
+ --
-- Protection: Only written by Self, and only accessed when Acceptor
-- accepts an entry or when Created activates, at which points Self is
-- suspended.
- Stack_Size : Interfaces.c.size_t;
+
+ Stack_Size : Interfaces.C.size_t;
-- Requested stack size.
-- Protection: Only used by Self.
end record;
diff --git a/lang/gnat/files/freebsdgcc28-patches b/lang/gnat/files/freebsdgcc28-patches
new file mode 100644
index 000000000000..58db454627eb
--- /dev/null
+++ b/lang/gnat/files/freebsdgcc28-patches
@@ -0,0 +1,538 @@
+--- config/i386/freebsd.h.orig Sun Oct 19 09:31:05 1997
++++ config/i386/freebsd.h Tue Aug 11 14:28:56 1998
+@@ -35,10 +35,21 @@
+ #include "i386/perform.h"
+
+ #undef CPP_PREDEFINES
+-#define CPP_PREDEFINES "-Dunix -Di386 -D__FreeBSD__ -D__386BSD__ -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)"
++#define CPP_PREDEFINES "-Dunix -Di386 -D__FreeBSD__=2 -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)"
++
++/* FreeBSD using a.out does not support DWARF2 unwinding mechanisms.
++ Thus, need the equivalent of "-fsjlj-exceptions" (use setjmp/longjmp
++ for exceptions). */
++#define DWARF2_UNWIND_INFO 0
++
++/* Provide a CPP_SPEC appropriate for OpenBSD. Current we just deal with
++ the GCC option `-posix'. */
++
++#undef CPP_SPEC
++#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
+
+ /* Like the default, except no -lg. */
+-#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
++#define LIB_SPEC "%{!shared:%{!pg:-lc}%{pg:-lc_p}}"
+
+ #undef SIZE_TYPE
+ #define SIZE_TYPE "unsigned int"
+@@ -54,8 +65,13 @@
+ #undef WCHAR_TYPE_SIZE
+ #define WCHAR_TYPE_SIZE 16
+
++/* We have atexit(3). */
+ #define HAVE_ATEXIT
+
++/* We want gcc.c to call mktemp() for each file it generates. We would
++ prefer mkstemp(), but we will take what we get. XXX busted */
++/* #undef MKTEMP_EACH_FILE */
++
+ #undef ASM_APP_ON
+ #define ASM_APP_ON "#APP\n"
+
+@@ -114,6 +130,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -123,6 +140,16 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++/* Handle #pragma weak and #pragma pack. */
++
++#define HANDLE_SYSV_PRAGMA 1
++
++/* This is how we tell the assembler that a symbol is weak. */
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -131,9 +158,9 @@
+ #define ASM_DECLARE_RESULT(FILE, RESULT)
+ #endif
+
+-/* These macros generate the special .type and .size directives which
++/* these macros generate the special .type and .size directives which
+ are used to set the corresponding fields of the linker symbol table
+- entries in an ELF object file under SVR4. These macros also output
++ entries in an elf object file under svr4. these macros also output
+ the starting labels for the relevant functions/objects. */
+
+ /* Write the extra assembler code needed to declare a function properly.
+@@ -185,6 +212,7 @@
+ && DECL_INITIAL (DECL) == error_mark_node \
+ && !size_directive_output) \
+ { \
++ size_directive_output = 1; \
+ fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
+ assemble_name (FILE, name); \
+ fprintf (FILE, ",%d\n", int_size_in_bytes (TREE_TYPE (DECL)));\
+@@ -213,33 +241,57 @@
+ } \
+ } while (0)
+
++/* XXX - should ASM_SPEC be " %| %{fpic:-k} %{fPIC:-k -K}" ??? */
+ #define ASM_SPEC " %| %{fpic:-k} %{fPIC:-k}"
++
+ #define LINK_SPEC \
+- "%{!nostdlib:%{!r*:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} %{assert*}"
++ "%{p:%e`-p' not supported; use `-pg' and gprof(1)} \
++ %{shared:-Bshareable} \
++ %{!shared:%{!nostdlib:%{!r:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} \
++ %{pg:-Bstatic} %{Z}} \
++ %{assert*} %{R*}"
++
++#ifdef FROM_OPENBSD
++/* This defines which switch letters take arguments.
++ make -R /path/to/lib work the same as -R/path/to/lib */
++#undef SWITCH_TAKES_ARG
++#define SWITCH_TAKES_ARG(CHAR) \
++ (DEFAULT_SWITCH_TAKES_ARG(CHAR) \
++ || (CHAR) == 'R')
++#endif
++
++#define STARTFILE_SPEC \
++ "%{shared:c++rt0.o%s} \
++ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+-/* This is defined when gcc is compiled in the BSD-directory-tree, and must
+- * make up for the gap to all the stuff done in the GNU-makefiles.
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
++
++/* FREEBSD_NATIVE is defined when gcc is compiled in the BSD-directory-tree,
++ * and must make up for the gap to all the stuff done in the GNU-makefiles.
+ */
+
+ #ifdef FREEBSD_NATIVE
+
+-#define INCLUDE_DEFAULTS { \
+- { "/usr/include", 0, 0, 0 }, \
+- { "/usr/include/g++", "G++", 1, 1 }, \
+- { 0, 0, 0, 0} \
+- }
++#undef GCC_INCLUDE_DIR
++#define GCC_INCLUDE_DIR "/usr/include"
++
++#undef GPLUSPLUS_INCLUDE_DIR
++#define GPLUSPLUS_INCLUDE_DIR "/usr/include/g++"
++
++/* Look for the include files in the system-defined places. */
++
++#undef INCLUDE_DEFAULTS
++#define INCLUDE_DEFAULTS \
++ { \
++ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 }, \
++ { GCC_INCLUDE_DIR, 0, 0, 0 }, \
++ { 0, 0, 0, 0 } \
++ }
+
+ #undef MD_EXEC_PREFIX
+ #define MD_EXEC_PREFIX "/usr/libexec/"
+
+ #undef STANDARD_STARTFILE_PREFIX
+ #define STANDARD_STARTFILE_PREFIX "/usr/lib"
+-
+-#if 0 /* This is very wrong!!! */
+-#define DEFAULT_TARGET_MACHINE "i386-unknown-freebsd_1.0"
+-#define GPLUSPLUS_INCLUDE_DIR "/usr/local/lib/gcc-lib/i386-unknown-freebsd_1.0/2.5.8/include"
+-#define TOOL_INCLUDE_DIR "/usr/local/i386-unknown-freebsd_1.0/include"
+-#define GCC_INCLUDE_DIR "/usr/local/lib/gcc-lib/i386-unknown-freebsd_1.0/2.5.8/include"
+-#endif
+
+ #endif /* FREEBSD_NATIVE */
+--- configure.orig Sat Feb 28 18:02:02 1998
++++ configure Tue Aug 11 13:51:17 1998
+@@ -677,9 +677,9 @@
+ if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
+ fi
+-ac_config_guess=$ac_aux_dir/config.guess
+-ac_config_sub=$ac_aux_dir/config.sub
+-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
++ac_config_guess="/bin/sh $ac_aux_dir/config.guess"
++ac_config_sub="/bin/sh $ac_aux_dir/config.sub"
++ac_configure="/bin/sh $ac_aux_dir/configure" # This should be Cygnus configure.
+
+
+ # Do some error checking and defaulting for the host and target type.
+@@ -2797,6 +2797,20 @@
+ a29k-*-*) # Default a29k environment.
+ use_collect2=yes
+ ;;
++ alpha*-*-freebsd*)
++ tm_file=alpha/freebsd.h
++ # On FreeBSD, the headers are already ok, except for math.h. (??right??)
++ fixincludes=fixinc.math
++ fixincludes=fixinc.math
++ tmake_file=t-libc-ok
++ ;;
++ alpha-*-openbsd*)
++ tm_file=alpha/openbsd.h
++ # On OpenBSD, the headers are already okay.
++ fixincludes=Makefile.in
++ tmake_file=t-libc-ok
++ xmake_file=x-openbsd
++ ;;
+ alpha*-*-linux-gnuecoff*)
+ tm_file="${tm_file} alpha/linux.h"
+ xm_file="${xm_file} alpha/xm-linux.h"
+@@ -3158,6 +3172,14 @@
+ use_collect2=yes
+ fixincludes=Makefile.in
+ ;;
++ hppa*-*-openbsd*)
++ target_cpu_default=1
++ tm_file="pa/pa-openbsd.h"
++ xm_file=pa/xm-openbsd.h
++ xmake_file=x-openbsd
++ use_collect2=yes
++ fixincludes=Makefile.in
++ ;;
+ i370-*-mvs*)
+ ;;
+ i[34567]86-ibm-aix*) # IBM PS/2 running AIX
+@@ -3277,6 +3299,13 @@
+ fixincludes=fixinc.math
+ tmake_file=t-netbsd
+ ;;
++ i[34567]86-*-openbsd*)
++ tm_file=i386/openbsd.h
++ # On OpenBSD, the headers are already okay.
++ fixincludes=Makefile.in
++ tmake_file=t-libc-ok
++ xmake_file=x-openbsd
++ ;;
+ i[34567]86-*-coff*)
+ tm_file=i386/i386-coff.h
+ tmake_file=i386/t-i386bare
+@@ -3964,6 +3993,13 @@
+ fixincludes=fixinc.math
+ tmake_file=t-netbsd
+ ;;
++ m68k-*-openbsd*)
++ tm_file=m68k/openbsd.h
++ # On OpenBSD, the headers are already okay.
++ fixincludes=Makefile.in
++ tmake_file=t-libc-ok
++ xmake_file=x-openbsd
++ ;;
+ m68k-*-sysv3*) # Motorola m68k's running system V.3
+ xm_file=m68k/xm-m68kv.h
+ xmake_file=m68k/x-m68kv
+@@ -4273,6 +4309,20 @@
+ prefix=$native_prefix
+ fi
+ ;;
++ mips*el-*-openbsd*) # MIPS running OpenBSD
++ tm_file=mips/openbsd-le.h
++ xmake_file=x-openbsd
++ tmake_file=t-libc-ok
++ # On OpenBSD, the headers are already okay.
++ fixincludes=Makefile.in
++ ;;
++ mips*-*-openbsd*) # MIPS big-endian running OpenBSD
++ tm_file=mips/openbsd-be.h
++ xmake_file=x-openbsd
++ tmake_file=t-libc-ok
++ # On OpenBSD, the headers are already okay.
++ fixincludes=Makefile.in
++ ;;
+ mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news.
+ tm_file=mips/news4.h
+ if [ x$stabs = xyes ]; then
+@@ -4612,6 +4662,13 @@
+ fixincludes=fixinc.math
+ tmake_file=t-netbsd
+ ;;
++ ns32k-*-openbsd*)
++ tm_file=ns32k/openbsd.h
++ tmake_file=t-libc-ok
++ # On OpenBSD, the headers are already okay.
++ fixincludes=Makefile.in
++ xmake_file=x-openbsd
++ ;;
+ pdp11-*-bsd)
+ tm_file="${tm_file} pdp11/2bsd.h"
+ ;;
+@@ -4625,10 +4682,23 @@
+ romp-*-aos*)
+ use_collect2=yes
+ ;;
++ romp-*-openbsd*)
++ tm_file=romp/openbsd.h
++ # On OpenBSD, the headers are already okay.
++ fixincludes=Makefile.in
++ xmake_file=romp/x-openbsd
++ ;;
+ romp-*-mach*)
+ xmake_file=romp/x-mach
+ use_collect2=yes
+ ;;
++ powerpc-*-*bsd*)
++ tm_file=rs6000/openbsd.h
++ tmake_file=rs6000/t-openbsd
++ # On OpenBSD, the headers are already okay.
++ fixincludes=Makefile.in
++ xmake_file=rs6000/x-openbsd
++ ;;
+ powerpc-*-sysv* | powerpc-*-elf*)
+ tm_file=rs6000/sysv4.h
+ xm_file=rs6000/xm-sysv4.h
+@@ -4841,6 +4911,13 @@
+ fixincludes=fixinc.math
+ tmake_file=t-netbsd
+ ;;
++ sparc-*-openbsd*)
++ tm_file=sparc/openbsd.h
++ # On OpenBSD, the headers are already okay.
++ fixincludes=Makefile.in
++ tmake_file=t-libc-ok
++ xmake_file=x-openbsd
++ ;;
+ sparc-*-bsd*)
+ tm_file=sparc/bsd.h
+ ;;
+@@ -5009,6 +5086,14 @@
+ # On NetBSD, the headers are already okay, except for math.h.
+ fixincludes=fixinc.math
+ tmake_file=t-netbsd
++ float_format=vax
++ ;;
++ vax-*-openbsd*)
++ tm_file=vax/openbsd.h
++ tmake_file="t-libc-ok vax/t-openbsd"
++ # On OpenBSD, the headers are already okay.
++ fixincludes=Makefile.in
++ xmake_file=x-openbsd
+ float_format=vax
+ ;;
+ vax-*-ultrix*) # vaxen running ultrix
+--- choose-temp.c.orig Thu Dec 4 06:17:56 1997
++++ choose-temp.c Tue Aug 11 04:05:05 1998
+@@ -107,12 +107,17 @@
+ base = try (getenv ("TMP"), base);
+ base = try (getenv ("TEMP"), base);
+
++#ifdef COMMENT_OUT /* XXX - P_tmpdir is not /tmp in 4.4BSD */
+ #ifdef P_tmpdir
+ base = try (P_tmpdir, base);
+ #endif
++#endif /* XXX */
+
+ /* Try /usr/tmp, then /tmp. */
++#ifdef COMMENT_OUT /* XXX - want /tmp used, peroid. Sometimes pkg_add can
++ create a /usr/tmp, so beware. */
+ base = try (usrtmp, base);
++#endif /* XXX */
+ base = try (tmp, base);
+
+ /* If all else fails, use the current directory! */
+--- flags.h.orig Wed Dec 31 05:02:33 1997
++++ flags.h Tue Aug 11 13:31:22 1998
+@@ -216,6 +216,20 @@
+
+ extern int flag_unroll_all_loops;
+
++/* Nonzero forces all invariant computations in loops to be moved
++ outside the loop. */
++
++extern int flag_move_all_movables;
++
++/* Nonzero forces all general induction variables in loops to be
++ strength reduced. */
++
++extern int flag_reduce_all_givs;
++
++/* Nonzero gets another run of loop_optimize performed. */
++
++extern int flag_rerun_loop_opt;
++
+ /* Nonzero for -fcse-follow-jumps:
+ have cse follow jumps to do a more extensive job. */
+
+--- toplev.c.orig Wed Feb 25 18:04:46 1998
++++ toplev.c Tue Aug 11 14:40:22 1998
+@@ -463,6 +463,20 @@
+
+ int flag_unroll_all_loops;
+
++/* Nonzero forces all invariant computations in loops to be moved
++ outside the loop. */
++
++int flag_move_all_movables = 0;
++
++/* Nonzero forces all general induction variables in loops to be
++ strength reduced. */
++
++int flag_reduce_all_givs = 0;
++
++/* Nonzero gets another run of loop_optimize performed. */
++
++int flag_rerun_loop_opt = 0;
++
+ /* Nonzero for -fwritable-strings:
+ store string constants in data segment and don't uniquize them. */
+
+--- loop.c.orig Fri Feb 6 11:23:34 1998
++++ loop.c Tue Aug 11 16:57:35 1998
+@@ -1637,6 +1637,7 @@
+ extra cost because something else was already moved. */
+
+ if (already_moved[regno]
++ || flag_move_all_movables
+ || (threshold * savings * m->lifetime) >= insn_count
+ || (m->forces && m->forces->done
+ && n_times_used[m->forces->regno] == 1))
+@@ -3911,7 +3912,7 @@
+ of such giv's whether or not we know they are used after the loop
+ exit. */
+
+- if (v->lifetime * threshold * benefit < insn_count
++ if (!flag_reduce_all_givs && v->lifetime * threshold * benefit < insn_count
+ && ! bl->reversed)
+ {
+ if (loop_dump_stream)
+--- cp/lex.c.orig Wed Nov 26 12:13:20 1997
++++ cp/lex.c Tue Aug 11 13:37:17 1998
+@@ -3329,6 +3329,14 @@
+ token_buffer[0] = '^';
+ token_buffer[1] = 0;
+ }
++ else if (ptr->token == NAMESPACE)
++ {
++ static int warned;
++ if (! warned)
++ warning ("namespaces are mostly broken in this version of g++");
++
++ warned = 1;
++ }
+
+ value = (int) ptr->token;
+ }
+--- gcc.1.orig Tue Feb 17 10:44:00 1998
++++ gcc.1 Tue Aug 11 13:30:01 1998
+@@ -182,7 +182,7 @@
+ \-Waggregate\-return
+ \-Wcast\-align
+ \-Wcast\-qual
+-\-Wchar\-subscript
++\-Wchar\-subscripts
+ \-Wcomment
+ \-Wconversion
+ \-Wenum\-clash
+--- invoke.texi.orig Tue Feb 17 10:54:05 1998
++++ invoke.texi Tue Aug 11 13:29:38 1998
+@@ -115,7 +115,7 @@
+ @smallexample
+ -fsyntax-only -pedantic -pedantic-errors
+ -w -W -Wall -Waggregate-return -Wbad-function-cast
+--Wcast-align -Wcast-qual -Wchar-subscript -Wcomment
++-Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment
+ -Wconversion -Werror -Wformat
+ -Wid-clash-@var{len} -Wimplicit -Wimplicit-int
+ -Wimplicit-function-declarations -Wimport -Winline
+@@ -153,6 +153,7 @@
+ -frerun-cse-after-loop -fschedule-insns
+ -fschedule-insns2 -fstrength-reduce -fthread-jumps
+ -funroll-all-loops -funroll-loops
++-fmove-all-movables -freduce-all-givs -frerun-loop-opt
+ -O -O0 -O1 -O2 -O3
+ @end smallexample
+
+@@ -2284,6 +2285,47 @@
+ Perform the optimization of loop unrolling. This is done for all loops
+ and usually makes programs run more slowly. @samp{-funroll-all-loops}
+ implies @samp{-fstrength-reduce} as well as @samp{-frerun-cse-after-loop}.
++
++@item -fmove-all-movables
++Forces all invariant computations in loops to be moved
++outside the loop.
++This option is provided primarily to improve performance
++for some Fortran code, though it might improve code written
++in other languages.
++
++@emph{Note:} When compiling programs written in Fortran,
++this option is enabled by default.
++
++Analysis of Fortran code optimization and the resulting
++optimizations triggered by this option, and the
++@samp{-freduce-all-givs} and @samp{-frerun-loop-opt}
++options as well, were
++contributed by Toon Moene (@code{toon@@moene.indiv.nluug.nl}).
++
++Please let us (@code{fortran@@gnu.ai.mit.edu})
++know how use of these options affects
++the performance of your production code.
++We're very interested in code that runs @emph{slower}
++when these options are @emph{enabled}.
++
++@item -freduce-all-givs
++Forces all general-induction variables in loops to be
++strength-reduced.
++This option is provided primarily to improve performance
++for some Fortran code, though it might improve code written
++in other languages.
++
++@emph{Note:} When compiling programs written in Fortran,
++this option is enabled by default.
++
++@item -frerun-loop-opt
++Runs loop optimizations a second time.
++This option is provided primarily to improve performance
++for some Fortran code, though it might improve code written
++in other languages.
++
++@emph{Note:} When compiling programs written in Fortran,
++this option is enabled by default.
+
+ @item -fno-peephole
+ Disable any machine-specific peephole optimizations.
+--- config/alpha/alpha.c.orig Fri Feb 6 17:23:50 1998
++++ config/alpha/alpha.c Tue Aug 11 04:06:42 1998
+@@ -1843,7 +1843,7 @@
+ /* Write a version stamp. Don't write anything if we are running as a
+ cross-compiler. Otherwise, use the versions in /usr/include/stamp.h. */
+
+-#if !defined(CROSS_COMPILE) && !defined(_WIN32) && !defined(__linux__) && !defined(VMS)
++#if !defined(CROSS_COMPILE) && !defined(_WIN32) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__linux__) && !defined(VMS)
+ #include <stamp.h>
+ #endif
+
+--- ginclude/stdarg.h.orig Sat Oct 18 10:26:07 1997
++++ ginclude/stdarg.h Tue Aug 11 13:27:03 1998
+@@ -64,7 +64,7 @@
+
+ #ifndef __GNUC_VA_LIST
+ #define __GNUC_VA_LIST
+-#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__)
++#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__) || defined(__OpenBSD__)
+ typedef char *__gnuc_va_list;
+ #else
+ typedef void *__gnuc_va_list;
+--- ginclude/stddef.h.orig Mon Oct 28 04:35:28 1996
++++ ginclude/stddef.h Tue Aug 11 13:26:05 1998
+@@ -24,7 +24,7 @@
+
+ /* On 4.3bsd-net2, make sure ansi.h is included, so we have
+ one less case to deal with in the following. */
+-#if defined (__BSD_NET2__) || defined (____386BSD____) || defined (__FreeBSD__) || defined(__NetBSD__)
++#if defined (__BSD_NET2__) || defined (____386BSD____) || defined (__FreeBSD__) || defined(__NetBSD__) || defined (__OpenBSD__)
+ #include <machine/ansi.h>
+ #endif
+
diff --git a/lang/gnat/files/patch-aa b/lang/gnat/files/patch-aa
index eb8cd4588e4a..62e53dc189b9 100644
--- a/lang/gnat/files/patch-aa
+++ b/lang/gnat/files/patch-aa
@@ -1,141 +1,36 @@
-diff -c orig/Makefile.in gcc/Makefile.in
-*** orig/Makefile.in Thu Mar 27 17:32:15 1997
---- gcc-2.7.2.1/Makefile.in Fri Apr 4 19:55:09 1997
+*** ./Makefile.in.orig Wed Jun 23 02:34:31 1999
+--- ./Makefile.in Wed Jun 23 02:35:29 1999
***************
-*** 189,200 ****
- local_prefix = /usr/local
- # Directory in which to put host dependent programs and libraries
- exec_prefix = $(prefix)
- # Directory in which to put the executable for the command `gcc'
- bindir = $(exec_prefix)/bin
- # Directory in which to put the directories used by the compiler.
- libdir = $(exec_prefix)/lib
- # Directory in which the compiler finds executables, libraries, etc.
-! libsubdir = $(libdir)/gcc-lib/$(target)/$(version)
- # Directory in which the compiler finds g++ includes.
- gxx_include_dir= $(libdir)/g++-include
- # Directory to search for site-specific includes.
---- 189,202 ----
- local_prefix = /usr/local
- # Directory in which to put host dependent programs and libraries
- exec_prefix = $(prefix)
-+ # directory to hold compilers
-+ compdir = $(prefix)/libexec/ada
- # Directory in which to put the executable for the command `gcc'
- bindir = $(exec_prefix)/bin
- # Directory in which to put the directories used by the compiler.
- libdir = $(exec_prefix)/lib
- # Directory in which the compiler finds executables, libraries, etc.
-! libsubdir = $(libdir)
- # Directory in which the compiler finds g++ includes.
- gxx_include_dir= $(libdir)/g++-include
- # Directory to search for site-specific includes.
-***************
-*** 213,219 ****
- mandir = $(prefix)/man/man1
- # Directory in which to find other cross-compilation tools and headers.
- # Used in install-cross.
-! tooldir = $(exec_prefix)/$(target)
- # Dir for temp files.
- tmpdir = /tmp
+*** 152,158 ****
+ ENQUIRE_LDFLAGS = $(LDFLAGS)
---- 215,221 ----
- mandir = $(prefix)/man/man1
- # Directory in which to find other cross-compilation tools and headers.
- # Used in install-cross.
-! tooldir = $(exec_prefix)
- # Dir for temp files.
- tmpdir = /tmp
+ # Sed command to transform gcc to installed name. Overwritten by configure.
+! program_transform_name = -e s,x,x,
+ program_transform_cross_name = -e s,^,$(target_alias)-,
-***************
-*** 1141,1148 ****
+ # Tools to use when building a cross-compiler.
+--- 152,158 ----
+ ENQUIRE_LDFLAGS = $(LDFLAGS)
- gcc.o: gcc.c $(CONFIG_H) multilib.h config.status $(lang_specs_files)
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
- -DSTANDARD_STARTFILE_PREFIX=\"$(libdir)/\" \
-! -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-lib/\" \
- -DDEFAULT_TARGET_VERSION=\"$(version)\" \
- -DDEFAULT_TARGET_MACHINE=\"$(target)\" \
- -DTOOLDIR_BASE_PREFIX=\"$(exec_prefix)/\" \
---- 1143,1152 ----
+ # Sed command to transform gcc to installed name. Overwritten by configure.
+! program_transform_name = -e s,^,ada,
+ program_transform_cross_name = -e s,^,$(target_alias)-,
- gcc.o: gcc.c $(CONFIG_H) multilib.h config.status $(lang_specs_files)
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ -DFREEBSD_NATIVE \
-+ -DFREEBSD_PREFIX=\"$(prefix)\" \
- -DSTANDARD_STARTFILE_PREFIX=\"$(libdir)/\" \
-! -DSTANDARD_EXEC_PREFIX=\"$(libdir)/\" \
- -DDEFAULT_TARGET_VERSION=\"$(version)\" \
- -DDEFAULT_TARGET_MACHINE=\"$(target)\" \
- -DTOOLDIR_BASE_PREFIX=\"$(exec_prefix)/\" \
-***************
-*** 2055,2069 ****
- # Create the installation directory.
- install-dir:
- -if [ -d $(libdir) ] ; then true ; else mkdir $(libdir) ; chmod a+rx $(libdir) ; fi
-- -if [ -d $(libdir)/gcc-lib ] ; then true ; else mkdir $(libdir)/gcc-lib ; chmod a+rx $(libdir)/gcc-lib ; fi
- # This dir isn't currently searched by cpp.
- # -if [ -d $(libdir)/gcc-lib/include ] ; then true ; else mkdir $(libdir)/gcc-lib/include ; chmod a+rx $(libdir)/gcc-lib/include ; fi
-! -if [ -d $(libdir)/gcc-lib/$(target) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target) ; chmod a+rx $(libdir)/gcc-lib/$(target) ; fi
-! -if [ -d $(libdir)/gcc-lib/$(target)/$(version) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target)/$(version) ; chmod a+rx $(libdir)/gcc-lib/$(target)/$(version) ; fi
-! -if [ -d $(libdir)/gcc-lib/$(target)/$(version)/include ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target)/$(version)/include ; chmod a+rx $(libdir)/gcc-lib/$(target)/$(version)/include ; fi
- -if [ -d $(bindir) ] ; then true ; else mkdir $(bindir) ; chmod a+rx $(bindir) ; fi
- -if [ -d $(includedir) ] ; then true ; else mkdir $(includedir) ; chmod a+rx $(includedir) ; fi
- -if [ -d $(tooldir) ] ; then true ; else mkdir $(tooldir) ; chmod a+rx $(tooldir) ; fi
- -if [ -d $(assertdir) ] ; then true ; else mkdir $(assertdir) ; chmod a+rx $(assertdir) ; fi
- -if [ -d $(infodir) ] ; then true ; else mkdir $(infodir) ; chmod a+rx $(infodir) ; fi
- # We don't use mkdir -p to create the parents of mandir,
---- 2059,2073 ----
- # Create the installation directory.
- install-dir:
- -if [ -d $(libdir) ] ; then true ; else mkdir $(libdir) ; chmod a+rx $(libdir) ; fi
- # This dir isn't currently searched by cpp.
- # -if [ -d $(libdir)/gcc-lib/include ] ; then true ; else mkdir $(libdir)/gcc-lib/include ; chmod a+rx $(libdir)/gcc-lib/include ; fi
-! # -if [ -d $(libdir)/gcc-lib/$(target) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target) ; chmod a+rx $(libdir)/gcc-lib/$(target) ; fi
-! # -if [ -d $(libdir)/gcc-lib/$(target)/$(version) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target)/$(version) ; chmod a+rx $(libdir)/gcc-lib/$(target)/$(version) ; fi
-! # -if [ -d $(libdir)/gcc-lib/$(target)/$(version)/include ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target)/$(version)/include ; chmod a+rx $(libdir)/gcc-lib/$(target)/$(version)/include ; fi
- -if [ -d $(bindir) ] ; then true ; else mkdir $(bindir) ; chmod a+rx $(bindir) ; fi
- -if [ -d $(includedir) ] ; then true ; else mkdir $(includedir) ; chmod a+rx $(includedir) ; fi
- -if [ -d $(tooldir) ] ; then true ; else mkdir $(tooldir) ; chmod a+rx $(tooldir) ; fi
-+ -if [ -d $(compdir) ] ; then true ; else mkdir $(compdir) ; chmod a+rx $(compdir) ; fi
- -if [ -d $(assertdir) ] ; then true ; else mkdir $(assertdir) ; chmod a+rx $(assertdir) ; fi
- -if [ -d $(infodir) ] ; then true ; else mkdir $(infodir) ; chmod a+rx $(infodir) ; fi
- # We don't use mkdir -p to create the parents of mandir,
-***************
-*** 2077,2084 ****
- install-common: native install-dir $(EXTRA_PARTS) lang.install-common
- for file in $(COMPILERS); do \
- if [ -f $$file ] ; then \
-! rm -f $(libsubdir)/$$file; \
-! $(INSTALL_PROGRAM) $$file $(libsubdir)/$$file; \
- else true; \
- fi; \
- done
---- 2081,2088 ----
- install-common: native install-dir $(EXTRA_PARTS) lang.install-common
- for file in $(COMPILERS); do \
- if [ -f $$file ] ; then \
-! rm -f $(compdir)/$$file; \
-! $(INSTALL_PROGRAM) $$file $(compdir)/$$file; \
- else true; \
- fi; \
- done
+ # Tools to use when building a cross-compiler.
***************
-*** 2110,2117 ****
- $(INSTALL_DATA) SYSCALLS.c.X $(libsubdir)/SYSCALLS.c.X; \
- chmod a-x $(libsubdir)/SYSCALLS.c.X; \
- fi
-! -rm -f $(libsubdir)/cpp$(exeext)
-! $(INSTALL_PROGRAM) cpp$(exeext) $(libsubdir)/cpp$(exeext)
+*** 2151,2157 ****
+ # Install the driver last so that the window when things are
+ # broken is small.
+ install-normal: install-common $(INSTALL_HEADERS) $(INSTALL_LIBGCC) \
+! install-man install-info lang.install-normal install-driver
- # Install the driver program as $(target)-gcc
- # and also as either gcc (if native) or $(tooldir)/bin/gcc.
---- 2114,2121 ----
- $(INSTALL_DATA) SYSCALLS.c.X $(libsubdir)/SYSCALLS.c.X; \
- chmod a-x $(libsubdir)/SYSCALLS.c.X; \
- fi
-! -rm -f $(compdir)/cpp$(exeext)
-! $(INSTALL_PROGRAM) cpp$(exeext) $(compdir)/cpp$(exeext)
+ # Do nothing while making gcc with a cross-compiler. The person who
+ # makes gcc for the target machine has to know how to put a complete
+--- 2151,2157 ----
+ # Install the driver last so that the window when things are
+ # broken is small.
+ install-normal: install-common $(INSTALL_HEADERS) $(INSTALL_LIBGCC) \
+! install-man lang.install-normal install-driver
- # Install the driver program as $(target)-gcc
- # and also as either gcc (if native) or $(tooldir)/bin/gcc.
+ # Do nothing while making gcc with a cross-compiler. The person who
+ # makes gcc for the target machine has to know how to put a complete
diff --git a/lang/gnat/files/patch-ab b/lang/gnat/files/patch-ab
index baf5ebdeec18..998287bcf91e 100644
--- a/lang/gnat/files/patch-ab
+++ b/lang/gnat/files/patch-ab
@@ -1,36 +1,62 @@
-diff -c orig/gcc.c gcc/gcc.c
-*** orig/gcc.c Thu Apr 3 08:37:06 1997
---- gcc-2.7.2.1/gcc.c Fri Apr 4 23:21:00 1997
+*** ./config/i386/freebsd.h.orig Fri Sep 4 23:57:29 1998
+--- ./config/i386/freebsd.h Fri Sep 4 23:58:54 1998
***************
-*** 1354,1362 ****
- #undef MD_STARTFILE_PREFIX_1
- #endif
+*** 49,55 ****
+ #define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
-! #ifndef STANDARD_EXEC_PREFIX
-! #define STANDARD_EXEC_PREFIX "/usr/local/lib/gcc-lib/"
-! #endif /* !defined STANDARD_EXEC_PREFIX */
+ /* Like the default, except no -lg. */
+! #define LIB_SPEC "%{!shared:%{!pg:-lc}%{pg:-lc_p}}"
- static char *standard_exec_prefix = STANDARD_EXEC_PREFIX;
- static char *standard_exec_prefix_1 = "/usr/lib/gcc/";
---- 1354,1360 ----
- #undef MD_STARTFILE_PREFIX_1
- #endif
+ #undef SIZE_TYPE
+ #define SIZE_TYPE "unsigned int"
+--- 49,55 ----
+ #define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
-! #define STANDARD_EXEC_PREFIX FREEBSD_PREFIX "/libexec/"
+ /* Like the default, except no -lg. */
+! #define LIB_SPEC "%{!shared:%{!pg:%{!pthread:%{!kthread:-lc}%{kthread:-lpthread -lc}}%{pthread:-lc_r}}%{pg:%{!pthread:%{!kthread:-lc_p}%{kthread:-lpthread_p -lc_p}}%{pthread:-lc_r_p}}}"
- static char *standard_exec_prefix = STANDARD_EXEC_PREFIX;
- static char *standard_exec_prefix_1 = "/usr/lib/gcc/";
+ #undef SIZE_TYPE
+ #define SIZE_TYPE "unsigned int"
+*** ./config/i386/freebsd-elf.h.orig Fri Dec 5 07:15:34 1997
+--- ./config/i386/freebsd-elf.h Fri Feb 12 21:35:52 1999
***************
-*** 2708,2715 ****
---- 2706,2716 ----
- /* Use 2 as fourth arg meaning try just the machine as a suffix,
- as well as trying the machine and the version. */
- #ifdef FREEBSD_NATIVE
-+ add_prefix (&exec_prefixes, FREEBSD_PREFIX "/libexec/ada/", 0, 0, NULL_PTR);
-+ add_prefix (&exec_prefixes, FREEBSD_PREFIX "/libexec/", 0, 0, NULL_PTR);
- add_prefix (&exec_prefixes, "/usr/libexec/", 0, 0, NULL_PTR);
- add_prefix (&exec_prefixes, "/usr/bin/", 0, 0, NULL_PTR);
-+ add_prefix (&startfile_prefixes, FREEBSD_PREFIX "/lib/", 0, 0, NULL_PTR);
- add_prefix (&startfile_prefixes, "/usr/libdata/gcc/", 0, 0, NULL_PTR);
- #else /* not FREEBSD_NATIVE */
- #ifndef OS2
+*** 140,146 ****
+ #define WCHAR_TYPE_SIZE BITS_PER_WORD
+
+ #undef CPP_PREDEFINES
+! #define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__=2 -Asystem(FreeBSD)"
+
+ #undef CPP_SPEC
+ #define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
+--- 140,146 ----
+ #define WCHAR_TYPE_SIZE BITS_PER_WORD
+
+ #undef CPP_PREDEFINES
+! #define CPP_PREDEFINES "-Di386 -Dunix -D__ELF__ -D__FreeBSD__=3 -Asystem(FreeBSD) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)"
+
+ #undef CPP_SPEC
+ #define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
+***************
+*** 152,159 ****
+ * -lc_p or -ggdb to LDFLAGS at the link time, respectively.
+ */
+ #define LIB_SPEC \
+! "%{!shared: %{mieee-fp:-lieee} %{p:-lgmon} %{pg:-lgmon} \
+! %{!ggdb:-lc} %{ggdb:-lg}}"
+ #else
+ #define LIB_SPEC \
+ "%{!shared: \
+--- 152,164 ----
+ * -lc_p or -ggdb to LDFLAGS at the link time, respectively.
+ */
+ #define LIB_SPEC \
+! "%{!shared: \
+! %{!pg: \
+! %{!pthread: %{!kthread:-lc} %{kthread:-lpthread -lc}} \
+! %{pthread:-lc_r}} \
+! %{pg: \
+! %{!pthread: %{!kthread:-lc_p} %{kthread:-lpthread_p -lc_p}} \
+! %{pthread:-lc_r_p}}}"
+ #else
+ #define LIB_SPEC \
+ "%{!shared: \
diff --git a/lang/gnat/files/patch-ac b/lang/gnat/files/patch-ac
index e831059d7171..26c4d9687173 100644
--- a/lang/gnat/files/patch-ac
+++ b/lang/gnat/files/patch-ac
@@ -1,32 +1,24 @@
-*** gcc-2.7.2.1/ada/Makefile.in.orig Sun Nov 16 09:10:32 1997
---- gcc-2.7.2.1/ada/Makefile.in Sun Nov 16 09:14:37 1997
+*** ./ada/Makefile.in.orig Wed Jul 29 21:00:07 1998
+--- ./ada/Makefile.in Mon Aug 31 09:16:59 1998
***************
-*** 815,820 ****
---- 815,821 ----
- fsu* | FSU*) letter=l;;\
- native | *) letter=i;;\
- esac;;\
-+ *86*-freebsd*) letter=f ;;\
- mips-sgi-irix*) letter=g ;;\
- hppa*-hp-hpux*) letter=h ;;\
- *-ibm-aix4*) letter=c ;;\
-***************
-*** 865,870 ****
---- 866,872 ----
- *-*-rtems* | *-rtems* |\
- *-go32-msdos | *-go32 |\
- *86*-linux* |\
-+ *86*-freebsd* |\
- mips-sni-* |\
- *) \
- \
-***************
-*** 920,925 ****
---- 922,928 ----
- *-*-rtems* | *-rtems* |\
- *-go32-msdos | *-go32 |\
- *86*-linux* |\
-+ *86*-freebsd* |\
- mips-sni-* |\
- *-*-cygwin32* |\
- *-*-mingw32* |\
+*** 779,784 ****
+--- 779,797 ----
+ endif
+ endif
+
++ ifeq ($(strip $(filter-out %86 freebsd%,$(arch) $(osys))),)
++ LIBGNAT_TARGET_PAIRS = \
++ a-intnam.ads<4fintnam.ads \
++ s-inmaop.adb<7sinmaop.adb \
++ s-intman.adb<5fintman.adb \
++ s-osinte.adb<5fosinte.adb \
++ s-osinte.ads<5fosinte.ads \
++ s-osprim.adb<7sosprim.adb \
++ s-taprop.adb<5ftaprop.adb \
++ s-taspri.ads<5ftaspri.ads \
++ s-tpopsp.adb<7stpopsp.adb
++ endif
++
+ ifeq ($(strip $(filter-out mips sgi irix%,$(targ))),)
+ LIBGNAT_TARGET_PAIRS = \
+ a-emstop.adb<4gemstop.adb \
diff --git a/lang/gnat/files/patch-ad b/lang/gnat/files/patch-ad
index 15066bfc11f2..5ca0030b6f41 100644
--- a/lang/gnat/files/patch-ad
+++ b/lang/gnat/files/patch-ad
@@ -1,36 +1,19 @@
-*** gcc-2.7.2.1/ada/make.adb.orig Thu Aug 14 00:02:45 1997
---- gcc-2.7.2.1/ada/make.adb Sun Nov 16 09:18:18 1997
+*** ./ada/make.adb.orig Wed Jul 29 21:01:09 1998
+--- ./ada/make.adb Tue Sep 1 00:24:06 1998
***************
-*** 201,207 ****
+*** 202,208 ****
-- Compiler, Binder & Linker Data and Subprograms --
----------------------------------------------------
-! Gcc : String_Access := GNAT.OS_Lib.Locate_Exec_On_Path ("gcc");
- Gnatbind : String_Access := GNAT.OS_Lib.Locate_Exec_On_Path ("gnatbind");
- Gnatlink : String_Access := GNAT.OS_Lib.Locate_Exec_On_Path ("gnatlink");
-
---- 201,207 ----
+! Gcc : String_Access := Program_Name ("gcc");
+ Gnatbind : String_Access := Program_Name ("gnatbind");
+ Gnatlink : String_Access := Program_Name ("gnatlink");
+ -- Default compiler, binder, linker programs
+--- 202,208 ----
-- Compiler, Binder & Linker Data and Subprograms --
----------------------------------------------------
-! Gcc : String_Access := GNAT.OS_Lib.Locate_Exec_On_Path ("adagcc");
- Gnatbind : String_Access := GNAT.OS_Lib.Locate_Exec_On_Path ("gnatbind");
- Gnatlink : String_Access := GNAT.OS_Lib.Locate_Exec_On_Path ("gnatlink");
-
-***************
-*** 941,947 ****
- Comp_Last := Comp_Last + 1;
- Comp_Args (Comp_Last) := new String'(Name_Buffer (1 .. Name_Len));
-
-! Display ("gcc", Comp_Args (Args'First .. Comp_Last));
-
- return
- GNAT.OS_Lib.Non_Blocking_Spawn
---- 941,947 ----
- Comp_Last := Comp_Last + 1;
- Comp_Args (Comp_Last) := new String'(Name_Buffer (1 .. Name_Len));
-
-! Display ("adagcc", Comp_Args (Args'First .. Comp_Last));
-
- return
- GNAT.OS_Lib.Non_Blocking_Spawn
+! Gcc : String_Access := Program_Name ("adagcc");
+ Gnatbind : String_Access := Program_Name ("gnatbind");
+ Gnatlink : String_Access := Program_Name ("gnatlink");
+ -- Default compiler, binder, linker programs
diff --git a/lang/gnat/files/patch-ae b/lang/gnat/files/patch-ae
index 5ebf05b30a00..bc5c986bcef5 100644
--- a/lang/gnat/files/patch-ae
+++ b/lang/gnat/files/patch-ae
@@ -1,19 +1,19 @@
-*** gcc-2.7.2.1/ada/gnatcmd.adb.orig Thu Aug 14 00:02:49 1997
---- gcc-2.7.2.1/ada/gnatcmd.adb Sun Nov 16 09:23:23 1997
+*** ./ada/gnatcmd.adb.orig Wed Jul 29 21:01:07 1998
+--- ./ada/gnatcmd.adb Tue Sep 1 00:25:06 1998
***************
-*** 987,993 ****
+*** 988,994 ****
(Cname => new S'("COMPILE"),
- Usage => new S'("GNAT COMPILE file file .. file /qualifiers"),
-! Unixcmd => new S'("gcc -c"),
+ Usage => new S'("GNAT COMPILE filespec[,...] /qualifiers"),
+! Unixcmd => new S'("gcc -c -x ada"),
Switches => GCC_Switches'Access,
- Minfile => 1,
- Maxfile => 0,
---- 987,993 ----
+ Params => new Parameter_Array'(1 => FILES_OR_WILDCARD),
+ Defext => " "),
+--- 988,994 ----
(Cname => new S'("COMPILE"),
- Usage => new S'("GNAT COMPILE file file .. file /qualifiers"),
-! Unixcmd => new S'("adagcc -c"),
+ Usage => new S'("GNAT COMPILE filespec[,...] /qualifiers"),
+! Unixcmd => new S'("adagcc -c -x ada"),
Switches => GCC_Switches'Access,
- Minfile => 1,
- Maxfile => 0,
+ Params => new Parameter_Array'(1 => FILES_OR_WILDCARD),
+ Defext => " "),
diff --git a/lang/gnat/files/patch-af b/lang/gnat/files/patch-af
index d7f39259084c..8ec2237ecc32 100644
--- a/lang/gnat/files/patch-af
+++ b/lang/gnat/files/patch-af
@@ -1,37 +1,19 @@
-*** gcc-2.7.2.1/ada/gnatlink.adb.orig Sun Nov 16 09:24:27 1997
---- gcc-2.7.2.1/ada/gnatlink.adb Sun Nov 16 09:25:18 1997
+*** ./ada/gnatlink.adb.orig Wed Jul 29 21:01:08 1998
+--- ./ada/gnatlink.adb Tue Sep 1 00:26:17 1998
***************
-*** 63,69 ****
+*** 73,79 ****
Table_Increment => 100,
Table_Name => "Gnatlink.Binder_Options");
-! Gcc : constant String := "gcc";
+! Gcc : String_Access := Program_Name ("gcc");
Read_Mode : constant String := "r" & Ascii.Nul;
- Write_Mode : constant String := "w" & Ascii.Nul;
---- 63,69 ----
+
+--- 73,79 ----
Table_Increment => 100,
Table_Name => "Gnatlink.Binder_Options");
-! Gcc : constant String := "adagcc";
+! Gcc : String_Access := Program_Name ("adagcc");
Read_Mode : constant String := "r" & Ascii.Nul;
- Write_Mode : constant String := "w" & Ascii.Nul;
-***************
-*** 424,430 ****
- Write_Eol;
- Write_Str (" [-v] -- verbose mode");
- Write_Eol;
-! Write_Str (" [-gnatlink name] -- full name for the linker (gcc)");
- Write_Eol;
- Write_Str (" [list of objects] -- non Ada binaries");
- Write_Eol;
---- 424,431 ----
- Write_Eol;
- Write_Str (" [-v] -- verbose mode");
- Write_Eol;
-! Write_Str (" [-gnatlink name] -- full name for the linker " &
-! "(adagcc)");
- Write_Eol;
- Write_Str (" [list of objects] -- non Ada binaries");
- Write_Eol;
+
diff --git a/lang/gnat/pkg-comment b/lang/gnat/pkg-comment
index 4afa0510afaa..3e1878a6c1b8 100644
--- a/lang/gnat/pkg-comment
+++ b/lang/gnat/pkg-comment
@@ -1 +1 @@
-The GNU Ada Translator.
+The GNU Ada Compiler system.
diff --git a/lang/gnat/pkg-descr b/lang/gnat/pkg-descr
index a38a4e8b6b50..7c068108a84d 100644
--- a/lang/gnat/pkg-descr
+++ b/lang/gnat/pkg-descr
@@ -1,7 +1,7 @@
-The GNU ada compiler Gnat 3.09 built on GCC 2.7.2.1.
+The GNU Ada compiler system (GNAT 3.11p) built on GCC 2.8.1.
-The libraries supplied with this version of GNAT support tasking if
-minor modifications are made to FreeBSD's libc_r.
+The libraries supplied with this version of GNAT support tasking
+with FreeBSD 2.2.6+, 3.x, and 4.x versions of libc_r.
-Maurice Castro
-maurice@serc.rmit.edu.au
+Daniel Eischen
+eischen@vigrid.com
diff --git a/lang/gnat/pkg-plist b/lang/gnat/pkg-plist
index 897806d6880c..2a2871c45362 100644
--- a/lang/gnat/pkg-plist
+++ b/lang/gnat/pkg-plist
@@ -1,903 +1,983 @@
bin/adagcc
+bin/gnat
bin/gnatbind
bin/gnatbl
bin/gnatchop
-bin/gnatchp
-bin/gnatcmd
-bin/gnatf
+bin/gnatfind
bin/gnatkr
bin/gnatlink
bin/gnatls
bin/gnatmake
+bin/gnatmem
bin/gnatprep
bin/gnatpsta
bin/gnatpsys
-bin/i386-unknown-freebsd2.2-gcc
-@unexec install-info --delete %D/info/cpp.info %D/info/dir
-@unexec install-info --delete %D/info/gcc.info %D/info/dir
-info/cpp.info
-info/cpp.info-1
-info/cpp.info-2
-info/cpp.info-3
-info/gcc.info
-info/gcc.info-1
-info/gcc.info-10
-info/gcc.info-11
-info/gcc.info-12
-info/gcc.info-13
-info/gcc.info-14
-info/gcc.info-15
-info/gcc.info-16
-info/gcc.info-17
-info/gcc.info-18
-info/gcc.info-19
-info/gcc.info-2
-info/gcc.info-20
-info/gcc.info-21
-info/gcc.info-22
-info/gcc.info-23
-info/gcc.info-24
-info/gcc.info-25
-info/gcc.info-3
-info/gcc.info-4
-info/gcc.info-5
-info/gcc.info-6
-info/gcc.info-7
-info/gcc.info-8
-info/gcc.info-9
-@exec install-info %D/info/cpp.info %D/info/dir
-@exec install-info %D/info/gcc.info $D/info/dir
-lib/adainclude/a-astaco.adb
-lib/adainclude/a-astaco.ads
-lib/adainclude/a-caldel.adb
-lib/adainclude/a-caldel.ads
-lib/adainclude/a-calend.adb
-lib/adainclude/a-calend.ads
-lib/adainclude/a-chahan.adb
-lib/adainclude/a-chahan.ads
-lib/adainclude/a-charac.ads
-lib/adainclude/a-chlat1.ads
-lib/adainclude/a-colien.adb
-lib/adainclude/a-colien.ads
-lib/adainclude/a-comlin.adb
-lib/adainclude/a-comlin.ads
-lib/adainclude/a-cwila1.ads
-lib/adainclude/a-decima.adb
-lib/adainclude/a-decima.ads
-lib/adainclude/a-diocst.adb
-lib/adainclude/a-diocst.ads
-lib/adainclude/a-direio.adb
-lib/adainclude/a-direio.ads
-lib/adainclude/a-dynpri.adb
-lib/adainclude/a-dynpri.ads
-lib/adainclude/a-except.adb
-lib/adainclude/a-except.ads
-lib/adainclude/a-filico.adb
-lib/adainclude/a-filico.ads
-lib/adainclude/a-finali.adb
-lib/adainclude/a-finali.ads
-lib/adainclude/a-flteio.ads
-lib/adainclude/a-fwteio.ads
-lib/adainclude/a-inteio.ads
-lib/adainclude/a-interr.adb
-lib/adainclude/a-interr.ads
-lib/adainclude/a-intnam.ads
-lib/adainclude/a-ioexce.ads
-lib/adainclude/a-iwteio.ads
-lib/adainclude/a-lfteio.ads
-lib/adainclude/a-lfwtio.ads
-lib/adainclude/a-liteio.ads
-lib/adainclude/a-liwtio.ads
-lib/adainclude/a-llftio.ads
-lib/adainclude/a-llfwti.ads
-lib/adainclude/a-llitio.ads
-lib/adainclude/a-lliwti.ads
-lib/adainclude/a-ncelfu.ads
-lib/adainclude/a-ngcefu.adb
-lib/adainclude/a-ngcefu.ads
-lib/adainclude/a-ngcoty.adb
-lib/adainclude/a-ngcoty.ads
-lib/adainclude/a-ngelfu.adb
-lib/adainclude/a-ngelfu.ads
-lib/adainclude/a-nlcefu.ads
-lib/adainclude/a-nlcoty.ads
-lib/adainclude/a-nlelfu.ads
-lib/adainclude/a-nllcef.ads
-lib/adainclude/a-nllcty.ads
-lib/adainclude/a-nllefu.ads
-lib/adainclude/a-nscefu.ads
-lib/adainclude/a-nscoty.ads
-lib/adainclude/a-nselfu.ads
-lib/adainclude/a-nucoty.ads
-lib/adainclude/a-nudira.adb
-lib/adainclude/a-nudira.ads
-lib/adainclude/a-nuelfu.ads
-lib/adainclude/a-nuflra.adb
-lib/adainclude/a-nuflra.ads
-lib/adainclude/a-numaux.ads
-lib/adainclude/a-numeri.ads
-lib/adainclude/a-numran.adb
-lib/adainclude/a-numran.ads
-lib/adainclude/a-reatim.adb
-lib/adainclude/a-reatim.ads
-lib/adainclude/a-retide.adb
-lib/adainclude/a-retide.ads
-lib/adainclude/a-sequio.adb
-lib/adainclude/a-sequio.ads
-lib/adainclude/a-sfteio.ads
-lib/adainclude/a-sfwtio.ads
-lib/adainclude/a-siocst.adb
-lib/adainclude/a-siocst.ads
-lib/adainclude/a-siteio.ads
-lib/adainclude/a-siwtio.ads
-lib/adainclude/a-ssicst.adb
-lib/adainclude/a-ssicst.ads
-lib/adainclude/a-ssitio.ads
-lib/adainclude/a-ssiwti.ads
-lib/adainclude/a-stmaco.ads
-lib/adainclude/a-storio.adb
-lib/adainclude/a-storio.ads
-lib/adainclude/a-strbou.adb
-lib/adainclude/a-strbou.ads
-lib/adainclude/a-stream.ads
-lib/adainclude/a-strfix.adb
-lib/adainclude/a-strfix.ads
-lib/adainclude/a-string.ads
-lib/adainclude/a-strmap.adb
-lib/adainclude/a-strmap.ads
-lib/adainclude/a-strsea.adb
-lib/adainclude/a-strsea.ads
-lib/adainclude/a-strunb.adb
-lib/adainclude/a-strunb.ads
-lib/adainclude/a-ststio.adb
-lib/adainclude/a-ststio.ads
-lib/adainclude/a-stunau.adb
-lib/adainclude/a-stunau.ads
-lib/adainclude/a-stwibo.adb
-lib/adainclude/a-stwibo.ads
-lib/adainclude/a-stwifi.adb
-lib/adainclude/a-stwifi.ads
-lib/adainclude/a-stwima.adb
-lib/adainclude/a-stwima.ads
-lib/adainclude/a-stwise.adb
-lib/adainclude/a-stwise.ads
-lib/adainclude/a-stwiun.adb
-lib/adainclude/a-stwiun.ads
-lib/adainclude/a-suteio.adb
-lib/adainclude/a-suteio.ads
-lib/adainclude/a-swmwco.ads
-lib/adainclude/a-sytaco.adb
-lib/adainclude/a-sytaco.ads
-lib/adainclude/a-tags.adb
-lib/adainclude/a-tags.ads
-lib/adainclude/a-tasatt.adb
-lib/adainclude/a-tasatt.ads
-lib/adainclude/a-taside.adb
-lib/adainclude/a-taside.ads
-lib/adainclude/a-teioed.adb
-lib/adainclude/a-teioed.ads
-lib/adainclude/a-textio.adb
-lib/adainclude/a-textio.ads
-lib/adainclude/a-ticoau.adb
-lib/adainclude/a-ticoau.ads
-lib/adainclude/a-ticoio.adb
-lib/adainclude/a-ticoio.ads
-lib/adainclude/a-tideau.adb
-lib/adainclude/a-tideau.ads
-lib/adainclude/a-tideio.adb
-lib/adainclude/a-tideio.ads
-lib/adainclude/a-tienau.adb
-lib/adainclude/a-tienau.ads
-lib/adainclude/a-tienio.adb
-lib/adainclude/a-tienio.ads
-lib/adainclude/a-tifiio.adb
-lib/adainclude/a-tifiio.ads
-lib/adainclude/a-tiflau.adb
-lib/adainclude/a-tiflau.ads
-lib/adainclude/a-tiflio.adb
-lib/adainclude/a-tiflio.ads
-lib/adainclude/a-tigeau.adb
-lib/adainclude/a-tigeau.ads
-lib/adainclude/a-tiinau.adb
-lib/adainclude/a-tiinau.ads
-lib/adainclude/a-tiinio.adb
-lib/adainclude/a-tiinio.ads
-lib/adainclude/a-timoau.adb
-lib/adainclude/a-timoau.ads
-lib/adainclude/a-timoio.adb
-lib/adainclude/a-timoio.ads
-lib/adainclude/a-tiocst.adb
-lib/adainclude/a-tiocst.ads
-lib/adainclude/a-titest.adb
-lib/adainclude/a-titest.ads
-lib/adainclude/a-unccon.ads
-lib/adainclude/a-uncdea.ads
-lib/adainclude/a-witeio.adb
-lib/adainclude/a-witeio.ads
-lib/adainclude/a-wtcoau.adb
-lib/adainclude/a-wtcoau.ads
-lib/adainclude/a-wtcoio.adb
-lib/adainclude/a-wtcoio.ads
-lib/adainclude/a-wtcstr.adb
-lib/adainclude/a-wtcstr.ads
-lib/adainclude/a-wtdeau.adb
-lib/adainclude/a-wtdeau.ads
-lib/adainclude/a-wtdeio.adb
-lib/adainclude/a-wtdeio.ads
-lib/adainclude/a-wtedit.adb
-lib/adainclude/a-wtedit.ads
-lib/adainclude/a-wtenau.adb
-lib/adainclude/a-wtenau.ads
-lib/adainclude/a-wtenio.adb
-lib/adainclude/a-wtenio.ads
-lib/adainclude/a-wtfiio.adb
-lib/adainclude/a-wtfiio.ads
-lib/adainclude/a-wtflau.adb
-lib/adainclude/a-wtflau.ads
-lib/adainclude/a-wtflio.adb
-lib/adainclude/a-wtflio.ads
-lib/adainclude/a-wtgeau.adb
-lib/adainclude/a-wtgeau.ads
-lib/adainclude/a-wtinau.adb
-lib/adainclude/a-wtinau.ads
-lib/adainclude/a-wtinio.adb
-lib/adainclude/a-wtinio.ads
-lib/adainclude/a-wtmoau.adb
-lib/adainclude/a-wtmoau.ads
-lib/adainclude/a-wtmoio.adb
-lib/adainclude/a-wtmoio.ads
-lib/adainclude/a-wttest.adb
-lib/adainclude/a-wttest.ads
-lib/adainclude/ada.ads
-lib/adainclude/calendar.ads
-lib/adainclude/directio.ads
-lib/adainclude/g-busora.adb
-lib/adainclude/g-busora.ads
-lib/adainclude/g-busorg.adb
-lib/adainclude/g-busorg.ads
-lib/adainclude/g-casuti.adb
-lib/adainclude/g-casuti.ads
-lib/adainclude/g-debuti.adb
-lib/adainclude/g-debuti.ads
-lib/adainclude/g-hesora.adb
-lib/adainclude/g-hesora.ads
-lib/adainclude/g-hesorg.adb
-lib/adainclude/g-hesorg.ads
-lib/adainclude/g-htable.adb
-lib/adainclude/g-htable.ads
-lib/adainclude/g-io.adb
-lib/adainclude/g-io.ads
-lib/adainclude/g-io_aux.adb
-lib/adainclude/g-io_aux.ads
-lib/adainclude/g-os_lib.adb
-lib/adainclude/g-os_lib.ads
-lib/adainclude/g-spipat.adb
-lib/adainclude/g-spipat.ads
-lib/adainclude/g-spitbo.adb
-lib/adainclude/g-spitbo.ads
-lib/adainclude/g-sptabo.ads
-lib/adainclude/g-sptain.ads
-lib/adainclude/g-sptavs.ads
-lib/adainclude/gnat.ads
-lib/adainclude/i-c.adb
-lib/adainclude/i-c.ads
-lib/adainclude/i-cexten.ads
-lib/adainclude/i-cobol.adb
-lib/adainclude/i-cobol.ads
-lib/adainclude/i-cpoint.adb
-lib/adainclude/i-cpoint.ads
-lib/adainclude/i-cpp.adb
-lib/adainclude/i-cpp.ads
-lib/adainclude/i-cstrea.adb
-lib/adainclude/i-cstrea.ads
-lib/adainclude/i-cstrin.adb
-lib/adainclude/i-cstrin.ads
-lib/adainclude/i-fortra.adb
-lib/adainclude/i-fortra.ads
-lib/adainclude/i-os2err.ads
-lib/adainclude/i-os2lib.adb
-lib/adainclude/i-os2lib.ads
-lib/adainclude/i-os2syn.ads
-lib/adainclude/i-os2thr.ads
-lib/adainclude/i-pacdec.adb
-lib/adainclude/i-pacdec.ads
-lib/adainclude/interfac.ads
-lib/adainclude/ioexcept.ads
-lib/adainclude/machcode.ads
-lib/adainclude/s-addima.adb
-lib/adainclude/s-addima.ads
-lib/adainclude/s-arit64.adb
-lib/adainclude/s-arit64.ads
-lib/adainclude/s-assert.adb
-lib/adainclude/s-assert.ads
-lib/adainclude/s-asthan.adb
-lib/adainclude/s-asthan.ads
-lib/adainclude/s-atacco.adb
-lib/adainclude/s-atacco.ads
-lib/adainclude/s-auxdec.adb
-lib/adainclude/s-auxdec.ads
-lib/adainclude/s-bitops.adb
-lib/adainclude/s-bitops.ads
-lib/adainclude/s-cconst.ads
-lib/adainclude/s-chepoo.ads
-lib/adainclude/s-comexc.adb
-lib/adainclude/s-comexc.ads
-lib/adainclude/s-debpoo.adb
-lib/adainclude/s-debpoo.ads
-lib/adainclude/s-direio.adb
-lib/adainclude/s-direio.ads
-lib/adainclude/s-errrep.adb
-lib/adainclude/s-errrep.ads
-lib/adainclude/s-exctab.adb
-lib/adainclude/s-exctab.ads
-lib/adainclude/s-exnflt.ads
-lib/adainclude/s-exngen.adb
-lib/adainclude/s-exngen.ads
-lib/adainclude/s-exnint.ads
-lib/adainclude/s-exnlfl.ads
-lib/adainclude/s-exnlin.ads
-lib/adainclude/s-exnllf.ads
-lib/adainclude/s-exnlli.ads
-lib/adainclude/s-exnsfl.ads
-lib/adainclude/s-exnsin.ads
-lib/adainclude/s-exnssi.ads
-lib/adainclude/s-expflt.ads
-lib/adainclude/s-expgen.adb
-lib/adainclude/s-expgen.ads
-lib/adainclude/s-expint.ads
-lib/adainclude/s-explfl.ads
-lib/adainclude/s-explin.ads
-lib/adainclude/s-expllf.ads
-lib/adainclude/s-explli.ads
-lib/adainclude/s-expllu.adb
-lib/adainclude/s-expllu.ads
-lib/adainclude/s-expmod.adb
-lib/adainclude/s-expmod.ads
-lib/adainclude/s-expsfl.ads
-lib/adainclude/s-expsin.ads
-lib/adainclude/s-expssi.ads
-lib/adainclude/s-expuns.adb
-lib/adainclude/s-expuns.ads
-lib/adainclude/s-fatflt.ads
-lib/adainclude/s-fatgen.adb
-lib/adainclude/s-fatgen.ads
-lib/adainclude/s-fatlfl.ads
-lib/adainclude/s-fatllf.ads
-lib/adainclude/s-fatsfl.ads
-lib/adainclude/s-ficobl.ads
-lib/adainclude/s-fileio.adb
-lib/adainclude/s-fileio.ads
-lib/adainclude/s-finimp.adb
-lib/adainclude/s-finimp.ads
-lib/adainclude/s-finroo.adb
-lib/adainclude/s-finroo.ads
-lib/adainclude/s-fore.adb
-lib/adainclude/s-fore.ads
-lib/adainclude/s-imgbiu.adb
-lib/adainclude/s-imgbiu.ads
-lib/adainclude/s-imgboo.adb
-lib/adainclude/s-imgboo.ads
-lib/adainclude/s-imgcha.adb
-lib/adainclude/s-imgcha.ads
-lib/adainclude/s-imgdec.adb
-lib/adainclude/s-imgdec.ads
-lib/adainclude/s-imgint.adb
-lib/adainclude/s-imgint.ads
-lib/adainclude/s-imgllb.adb
-lib/adainclude/s-imgllb.ads
-lib/adainclude/s-imglld.adb
-lib/adainclude/s-imglld.ads
-lib/adainclude/s-imglli.adb
-lib/adainclude/s-imglli.ads
-lib/adainclude/s-imgllu.adb
-lib/adainclude/s-imgllu.ads
-lib/adainclude/s-imgllw.adb
-lib/adainclude/s-imgllw.ads
-lib/adainclude/s-imgrea.adb
-lib/adainclude/s-imgrea.ads
-lib/adainclude/s-imguns.adb
-lib/adainclude/s-imguns.ads
-lib/adainclude/s-imgwch.adb
-lib/adainclude/s-imgwch.ads
-lib/adainclude/s-imgwiu.adb
-lib/adainclude/s-imgwiu.ads
-lib/adainclude/s-inmaop.adb
-lib/adainclude/s-inmaop.ads
-lib/adainclude/s-interr.adb
-lib/adainclude/s-interr.ads
-lib/adainclude/s-intman.adb
-lib/adainclude/s-intman.ads
-lib/adainclude/s-io.adb
-lib/adainclude/s-io.ads
-lib/adainclude/s-maccod.ads
-lib/adainclude/s-mantis.adb
-lib/adainclude/s-mantis.ads
-lib/adainclude/s-osinte.adb
-lib/adainclude/s-osinte.ads
-lib/adainclude/s-pack03.adb
-lib/adainclude/s-pack03.ads
-lib/adainclude/s-pack05.adb
-lib/adainclude/s-pack05.ads
-lib/adainclude/s-pack06.adb
-lib/adainclude/s-pack06.ads
-lib/adainclude/s-pack07.adb
-lib/adainclude/s-pack07.ads
-lib/adainclude/s-pack09.adb
-lib/adainclude/s-pack09.ads
-lib/adainclude/s-pack10.adb
-lib/adainclude/s-pack10.ads
-lib/adainclude/s-pack11.adb
-lib/adainclude/s-pack11.ads
-lib/adainclude/s-pack12.adb
-lib/adainclude/s-pack12.ads
-lib/adainclude/s-pack13.adb
-lib/adainclude/s-pack13.ads
-lib/adainclude/s-pack14.adb
-lib/adainclude/s-pack14.ads
-lib/adainclude/s-pack15.adb
-lib/adainclude/s-pack15.ads
-lib/adainclude/s-pack17.adb
-lib/adainclude/s-pack17.ads
-lib/adainclude/s-pack18.adb
-lib/adainclude/s-pack18.ads
-lib/adainclude/s-pack19.adb
-lib/adainclude/s-pack19.ads
-lib/adainclude/s-pack20.adb
-lib/adainclude/s-pack20.ads
-lib/adainclude/s-pack21.adb
-lib/adainclude/s-pack21.ads
-lib/adainclude/s-pack22.adb
-lib/adainclude/s-pack22.ads
-lib/adainclude/s-pack23.adb
-lib/adainclude/s-pack23.ads
-lib/adainclude/s-pack24.adb
-lib/adainclude/s-pack24.ads
-lib/adainclude/s-pack25.adb
-lib/adainclude/s-pack25.ads
-lib/adainclude/s-pack26.adb
-lib/adainclude/s-pack26.ads
-lib/adainclude/s-pack27.adb
-lib/adainclude/s-pack27.ads
-lib/adainclude/s-pack28.adb
-lib/adainclude/s-pack28.ads
-lib/adainclude/s-pack29.adb
-lib/adainclude/s-pack29.ads
-lib/adainclude/s-pack30.adb
-lib/adainclude/s-pack30.ads
-lib/adainclude/s-pack31.adb
-lib/adainclude/s-pack31.ads
-lib/adainclude/s-parame.adb
-lib/adainclude/s-parame.ads
-lib/adainclude/s-parint.adb
-lib/adainclude/s-parint.ads
-lib/adainclude/s-pooglo.adb
-lib/adainclude/s-pooglo.ads
-lib/adainclude/s-pooloc.adb
-lib/adainclude/s-pooloc.ads
-lib/adainclude/s-poosiz.adb
-lib/adainclude/s-poosiz.ads
-lib/adainclude/s-powtab.ads
-lib/adainclude/s-proinf.adb
-lib/adainclude/s-proinf.ads
-lib/adainclude/s-rpc.adb
-lib/adainclude/s-rpc.ads
-lib/adainclude/s-secsta.adb
-lib/adainclude/s-secsta.ads
-lib/adainclude/s-sequio.adb
-lib/adainclude/s-sequio.ads
-lib/adainclude/s-stalib.adb
-lib/adainclude/s-stalib.ads
-lib/adainclude/s-std.adb
-lib/adainclude/s-std.ads
-lib/adainclude/s-stoele.adb
-lib/adainclude/s-stoele.ads
-lib/adainclude/s-stopoo.ads
-lib/adainclude/s-stratt.adb
-lib/adainclude/s-stratt.ads
-lib/adainclude/s-strcon.adb
-lib/adainclude/s-strcon.ads
-lib/adainclude/s-strequ.adb
-lib/adainclude/s-strequ.ads
-lib/adainclude/s-strops.adb
-lib/adainclude/s-strops.ads
-lib/adainclude/s-taenca.adb
-lib/adainclude/s-taenca.ads
-lib/adainclude/s-taprde.adb
-lib/adainclude/s-taprde.ads
-lib/adainclude/s-taprob.adb
-lib/adainclude/s-taprob.ads
-lib/adainclude/s-taprop.adb
-lib/adainclude/s-taprop.ads
-lib/adainclude/s-tasabo.adb
-lib/adainclude/s-tasabo.ads
-lib/adainclude/s-tasdeb.adb
-lib/adainclude/s-tasdeb.ads
-lib/adainclude/s-tasinf.ads
-lib/adainclude/s-tasini.adb
-lib/adainclude/s-tasini.ads
-lib/adainclude/s-taskin.adb
-lib/adainclude/s-taskin.ads
-lib/adainclude/s-tasoli.adb
-lib/adainclude/s-tasoli.ads
-lib/adainclude/s-taspda.adb
-lib/adainclude/s-taspda.ads
-lib/adainclude/s-taspri.ads
-lib/adainclude/s-tasque.adb
-lib/adainclude/s-tasque.ads
-lib/adainclude/s-tasren.adb
-lib/adainclude/s-tasren.ads
-lib/adainclude/s-tassta.adb
-lib/adainclude/s-tassta.ads
-lib/adainclude/s-tastim.adb
-lib/adainclude/s-tastim.ads
-lib/adainclude/s-tasuti.adb
-lib/adainclude/s-tasuti.ads
-lib/adainclude/s-tataat.adb
-lib/adainclude/s-tataat.ads
-lib/adainclude/s-timope.adb
-lib/adainclude/s-timope.ads
-lib/adainclude/s-timtyp.ads
-lib/adainclude/s-unstyp.ads
-lib/adainclude/s-vaflop.adb
-lib/adainclude/s-vaflop.ads
-lib/adainclude/s-valboo.adb
-lib/adainclude/s-valboo.ads
-lib/adainclude/s-valcha.adb
-lib/adainclude/s-valcha.ads
-lib/adainclude/s-valdec.adb
-lib/adainclude/s-valdec.ads
-lib/adainclude/s-valenu.adb
-lib/adainclude/s-valenu.ads
-lib/adainclude/s-valint.adb
-lib/adainclude/s-valint.ads
-lib/adainclude/s-vallld.adb
-lib/adainclude/s-vallld.ads
-lib/adainclude/s-vallli.adb
-lib/adainclude/s-vallli.ads
-lib/adainclude/s-valllu.adb
-lib/adainclude/s-valllu.ads
-lib/adainclude/s-valrea.adb
-lib/adainclude/s-valrea.ads
-lib/adainclude/s-valuns.adb
-lib/adainclude/s-valuns.ads
-lib/adainclude/s-valuti.adb
-lib/adainclude/s-valuti.ads
-lib/adainclude/s-valwch.adb
-lib/adainclude/s-valwch.ads
-lib/adainclude/s-vercon.adb
-lib/adainclude/s-vercon.ads
-lib/adainclude/s-wchcnv.adb
-lib/adainclude/s-wchcnv.ads
-lib/adainclude/s-wchcon.ads
-lib/adainclude/s-wchjis.adb
-lib/adainclude/s-wchjis.ads
-lib/adainclude/s-wchstw.adb
-lib/adainclude/s-wchstw.ads
-lib/adainclude/s-wchwts.adb
-lib/adainclude/s-wchwts.ads
-lib/adainclude/s-widboo.adb
-lib/adainclude/s-widboo.ads
-lib/adainclude/s-widcha.adb
-lib/adainclude/s-widcha.ads
-lib/adainclude/s-widenu.adb
-lib/adainclude/s-widenu.ads
-lib/adainclude/s-widlli.adb
-lib/adainclude/s-widlli.ads
-lib/adainclude/s-widllu.adb
-lib/adainclude/s-widllu.ads
-lib/adainclude/s-widwch.adb
-lib/adainclude/s-widwch.ads
-lib/adainclude/s-wwdcha.adb
-lib/adainclude/s-wwdcha.ads
-lib/adainclude/s-wwdenu.adb
-lib/adainclude/s-wwdenu.ads
-lib/adainclude/s-wwdwch.adb
-lib/adainclude/s-wwdwch.ads
-lib/adainclude/sequenio.ads
-lib/adainclude/system.ads
-lib/adainclude/text_io.ads
-lib/adainclude/unchconv.ads
-lib/adainclude/unchdeal.ads
-lib/adalib/a-caldel.ali
-lib/adalib/a-calend.ali
-lib/adalib/a-chahan.ali
-lib/adalib/a-charac.ali
-lib/adalib/a-chlat1.ali
-lib/adalib/a-colien.ali
-lib/adalib/a-comlin.ali
-lib/adalib/a-cwila1.ali
-lib/adalib/a-decima.ali
-lib/adalib/a-dynpri.ali
-lib/adalib/a-except.ali
-lib/adalib/a-filico.ali
-lib/adalib/a-finali.ali
-lib/adalib/a-flteio.ali
-lib/adalib/a-fwteio.ali
-lib/adalib/a-inteio.ali
-lib/adalib/a-interr.ali
-lib/adalib/a-intnam.ali
-lib/adalib/a-ioexce.ali
-lib/adalib/a-iwteio.ali
-lib/adalib/a-lfteio.ali
-lib/adalib/a-lfwtio.ali
-lib/adalib/a-liteio.ali
-lib/adalib/a-liwtio.ali
-lib/adalib/a-llftio.ali
-lib/adalib/a-llfwti.ali
-lib/adalib/a-llitio.ali
-lib/adalib/a-lliwti.ali
-lib/adalib/a-ncelfu.ali
-lib/adalib/a-nlcefu.ali
-lib/adalib/a-nlcoty.ali
-lib/adalib/a-nlelfu.ali
-lib/adalib/a-nllcef.ali
-lib/adalib/a-nllcty.ali
-lib/adalib/a-nllefu.ali
-lib/adalib/a-nscefu.ali
-lib/adalib/a-nscoty.ali
-lib/adalib/a-nselfu.ali
-lib/adalib/a-nucoty.ali
-lib/adalib/a-nuelfu.ali
-lib/adalib/a-nuflra.ali
-lib/adalib/a-numaux.ali
-lib/adalib/a-numeri.ali
-lib/adalib/a-numran.ali
-lib/adalib/a-reatim.ali
-lib/adalib/a-retide.ali
-lib/adalib/a-sfteio.ali
-lib/adalib/a-sfwtio.ali
-lib/adalib/a-siteio.ali
-lib/adalib/a-siwtio.ali
-lib/adalib/a-ssicst.ali
-lib/adalib/a-ssitio.ali
-lib/adalib/a-ssiwti.ali
-lib/adalib/a-stmaco.ali
-lib/adalib/a-strbou.ali
-lib/adalib/a-stream.ali
-lib/adalib/a-strfix.ali
-lib/adalib/a-string.ali
-lib/adalib/a-strmap.ali
-lib/adalib/a-strsea.ali
-lib/adalib/a-strunb.ali
-lib/adalib/a-ststio.ali
-lib/adalib/a-stunau.ali
-lib/adalib/a-stwibo.ali
-lib/adalib/a-stwifi.ali
-lib/adalib/a-stwima.ali
-lib/adalib/a-stwise.ali
-lib/adalib/a-stwiun.ali
-lib/adalib/a-suteio.ali
-lib/adalib/a-swmwco.ali
-lib/adalib/a-sytaco.ali
-lib/adalib/a-tags.ali
-lib/adalib/a-taside.ali
-lib/adalib/a-teioed.ali
-lib/adalib/a-textio.ali
-lib/adalib/a-ticoau.ali
-lib/adalib/a-tideau.ali
-lib/adalib/a-tienau.ali
-lib/adalib/a-tiflau.ali
-lib/adalib/a-tigeau.ali
-lib/adalib/a-tiinau.ali
-lib/adalib/a-timoau.ali
-lib/adalib/a-tiocst.ali
-lib/adalib/a-titest.ali
-lib/adalib/a-witeio.ali
-lib/adalib/a-wtcoau.ali
-lib/adalib/a-wtcstr.ali
-lib/adalib/a-wtdeau.ali
-lib/adalib/a-wtedit.ali
-lib/adalib/a-wtenau.ali
-lib/adalib/a-wtflau.ali
-lib/adalib/a-wtgeau.ali
-lib/adalib/a-wtinau.ali
-lib/adalib/a-wtmoau.ali
-lib/adalib/a-wttest.ali
-lib/adalib/ada.ali
-lib/adalib/calendar.ali
-lib/adalib/g-busora.ali
-lib/adalib/g-casuti.ali
-lib/adalib/g-debuti.ali
-lib/adalib/g-hesora.ali
-lib/adalib/g-htable.ali
-lib/adalib/g-io.ali
-lib/adalib/g-io_aux.ali
-lib/adalib/g-os_lib.ali
-lib/adalib/g-spipat.ali
-lib/adalib/g-spitbo.ali
-lib/adalib/g-sptabo.ali
-lib/adalib/g-sptain.ali
-lib/adalib/g-sptavs.ali
-lib/adalib/gnat.ali
-lib/adalib/i-c.ali
-lib/adalib/i-cexten.ali
-lib/adalib/i-cobol.ali
-lib/adalib/i-cpp.ali
-lib/adalib/i-cstrea.ali
-lib/adalib/i-cstrin.ali
-lib/adalib/i-fortra.ali
-lib/adalib/i-pacdec.ali
-lib/adalib/interfac.ali
-lib/adalib/ioexcept.ali
-lib/adalib/libgnat.a
-lib/adalib/machcode.ali
-lib/adalib/s-addima.ali
-lib/adalib/s-arit64.ali
-lib/adalib/s-assert.ali
-lib/adalib/s-asthan.ali
-lib/adalib/s-auxdec.ali
-lib/adalib/s-bitops.ali
-lib/adalib/s-cconst.ali
-lib/adalib/s-chepoo.ali
-lib/adalib/s-comexc.ali
-lib/adalib/s-debpoo.ali
-lib/adalib/s-direio.ali
-lib/adalib/s-errrep.ali
-lib/adalib/s-exctab.ali
-lib/adalib/s-exnflt.ali
-lib/adalib/s-exngen.ali
-lib/adalib/s-exnint.ali
-lib/adalib/s-exnlfl.ali
-lib/adalib/s-exnlin.ali
-lib/adalib/s-exnllf.ali
-lib/adalib/s-exnlli.ali
-lib/adalib/s-exnsfl.ali
-lib/adalib/s-exnsin.ali
-lib/adalib/s-exnssi.ali
-lib/adalib/s-expflt.ali
-lib/adalib/s-expgen.ali
-lib/adalib/s-expint.ali
-lib/adalib/s-explfl.ali
-lib/adalib/s-explin.ali
-lib/adalib/s-expllf.ali
-lib/adalib/s-explli.ali
-lib/adalib/s-expllu.ali
-lib/adalib/s-expmod.ali
-lib/adalib/s-expsfl.ali
-lib/adalib/s-expsin.ali
-lib/adalib/s-expssi.ali
-lib/adalib/s-expuns.ali
-lib/adalib/s-fatflt.ali
-lib/adalib/s-fatlfl.ali
-lib/adalib/s-fatllf.ali
-lib/adalib/s-fatsfl.ali
-lib/adalib/s-ficobl.ali
-lib/adalib/s-fileio.ali
-lib/adalib/s-finimp.ali
-lib/adalib/s-finroo.ali
-lib/adalib/s-fore.ali
-lib/adalib/s-imgbiu.ali
-lib/adalib/s-imgboo.ali
-lib/adalib/s-imgcha.ali
-lib/adalib/s-imgdec.ali
-lib/adalib/s-imgint.ali
-lib/adalib/s-imgllb.ali
-lib/adalib/s-imglld.ali
-lib/adalib/s-imglli.ali
-lib/adalib/s-imgllu.ali
-lib/adalib/s-imgllw.ali
-lib/adalib/s-imgrea.ali
-lib/adalib/s-imguns.ali
-lib/adalib/s-imgwch.ali
-lib/adalib/s-imgwiu.ali
-lib/adalib/s-inmaop.ali
-lib/adalib/s-interr.ali
-lib/adalib/s-intman.ali
-lib/adalib/s-io.ali
-lib/adalib/s-maccod.ali
-lib/adalib/s-mantis.ali
-lib/adalib/s-osinte.ali
-lib/adalib/s-pack03.ali
-lib/adalib/s-pack05.ali
-lib/adalib/s-pack06.ali
-lib/adalib/s-pack07.ali
-lib/adalib/s-pack09.ali
-lib/adalib/s-pack10.ali
-lib/adalib/s-pack11.ali
-lib/adalib/s-pack12.ali
-lib/adalib/s-pack13.ali
-lib/adalib/s-pack14.ali
-lib/adalib/s-pack15.ali
-lib/adalib/s-pack17.ali
-lib/adalib/s-pack18.ali
-lib/adalib/s-pack19.ali
-lib/adalib/s-pack20.ali
-lib/adalib/s-pack21.ali
-lib/adalib/s-pack22.ali
-lib/adalib/s-pack23.ali
-lib/adalib/s-pack24.ali
-lib/adalib/s-pack25.ali
-lib/adalib/s-pack26.ali
-lib/adalib/s-pack27.ali
-lib/adalib/s-pack28.ali
-lib/adalib/s-pack29.ali
-lib/adalib/s-pack30.ali
-lib/adalib/s-pack31.ali
-lib/adalib/s-parame.ali
-lib/adalib/s-parint.ali
-lib/adalib/s-pooglo.ali
-lib/adalib/s-pooloc.ali
-lib/adalib/s-poosiz.ali
-lib/adalib/s-powtab.ali
-lib/adalib/s-proinf.ali
-lib/adalib/s-rpc.ali
-lib/adalib/s-secsta.ali
-lib/adalib/s-sequio.ali
-lib/adalib/s-stalib.ali
-lib/adalib/s-std.ali
-lib/adalib/s-stoele.ali
-lib/adalib/s-stopoo.ali
-lib/adalib/s-stratt.ali
-lib/adalib/s-strcon.ali
-lib/adalib/s-strequ.ali
-lib/adalib/s-strops.ali
-lib/adalib/s-taenca.ali
-lib/adalib/s-taprde.ali
-lib/adalib/s-taprob.ali
-lib/adalib/s-taprop.ali
-lib/adalib/s-tasabo.ali
-lib/adalib/s-tasdeb.ali
-lib/adalib/s-tasinf.ali
-lib/adalib/s-tasini.ali
-lib/adalib/s-taskin.ali
-lib/adalib/s-tasoli.ali
-lib/adalib/s-taspda.ali
-lib/adalib/s-taspri.ali
-lib/adalib/s-tasque.ali
-lib/adalib/s-tasren.ali
-lib/adalib/s-tassta.ali
-lib/adalib/s-tastim.ali
-lib/adalib/s-tasuti.ali
-lib/adalib/s-tataat.ali
-lib/adalib/s-timope.ali
-lib/adalib/s-timtyp.ali
-lib/adalib/s-unstyp.ali
-lib/adalib/s-vaflop.ali
-lib/adalib/s-valboo.ali
-lib/adalib/s-valcha.ali
-lib/adalib/s-valdec.ali
-lib/adalib/s-valenu.ali
-lib/adalib/s-valint.ali
-lib/adalib/s-vallld.ali
-lib/adalib/s-vallli.ali
-lib/adalib/s-valllu.ali
-lib/adalib/s-valrea.ali
-lib/adalib/s-valuns.ali
-lib/adalib/s-valuti.ali
-lib/adalib/s-valwch.ali
-lib/adalib/s-vercon.ali
-lib/adalib/s-wchcnv.ali
-lib/adalib/s-wchcon.ali
-lib/adalib/s-wchjis.ali
-lib/adalib/s-wchstw.ali
-lib/adalib/s-wchwts.ali
-lib/adalib/s-widboo.ali
-lib/adalib/s-widcha.ali
-lib/adalib/s-widenu.ali
-lib/adalib/s-widlli.ali
-lib/adalib/s-widllu.ali
-lib/adalib/s-widwch.ali
-lib/adalib/s-wwdcha.ali
-lib/adalib/s-wwdenu.ali
-lib/adalib/s-wwdwch.ali
-lib/adalib/system.ali
-lib/adalib/text_io.ali
-lib/include/README
-lib/include/float.h
-lib/include/limits.h
-lib/include/objc/NXConstStr.h
-lib/include/objc/Object.h
-lib/include/objc/Protocol.h
-lib/include/objc/encoding.h
-lib/include/objc/hash.h
-lib/include/objc/list.h
-lib/include/objc/objc-api.h
-lib/include/objc/objc.h
-lib/include/objc/sarray.h
-lib/include/objc/typedstream.h
-lib/include/syslimits.h
-lib/libgcc.a
-lib/specs
-libexec/ada/cc1
-libexec/ada/cpp
-libexec/ada/gnat1
+bin/gnatxref
+bin/%%GNUHOST%%-gcc
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-astaco.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-astaco.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-cadeob.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-cadeob.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-caldel.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-caldel.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-calend.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-calend.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-chahan.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-chahan.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-charac.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-chlat1.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-colien.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-colien.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-comlin.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-comlin.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-cwila1.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-decima.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-decima.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-diocst.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-diocst.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-direio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-direio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-dynpri.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-dynpri.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-emstop.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-except.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-except.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-excpol.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-filico.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-filico.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-finali.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-finali.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-flteio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-fwteio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-inteio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-interr.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-interr.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-intnam.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ioexce.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-iwteio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-lfteio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-lfwtio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-liteio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-liwtio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-llftio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-llfwti.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-llitio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-lliwti.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ncelfu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ngcefu.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ngcefu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ngcoty.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ngcoty.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ngelfu.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ngelfu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nlcefu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nlcoty.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nlelfu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nllcef.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nllcty.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nllefu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nscefu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nscoty.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nselfu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nucoty.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nudira.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nudira.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nuelfu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nuflra.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-nuflra.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-numaux.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-numeri.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-reatim.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-reatim.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-retide.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-retide.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-sequio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-sequio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-sfteio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-sfwtio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-siocst.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-siocst.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-siteio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-siwtio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ssicst.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ssicst.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ssitio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ssiwti.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-stmaco.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-storio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-storio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-strbou.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-strbou.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-stream.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-strfix.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-strfix.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-string.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-strmap.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-strmap.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-strsea.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-strsea.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-strunb.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-strunb.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ststio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ststio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-stunau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-stunau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-stwibo.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-stwibo.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-stwifi.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-stwifi.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-stwima.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-stwima.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-stwise.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-stwise.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-stwiun.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-stwiun.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-suteio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-suteio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-swmwco.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-sytaco.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-sytaco.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tags.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tags.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tasatt.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tasatt.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-taside.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-taside.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-teioed.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-teioed.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-textio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-textio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ticoau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ticoau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ticoio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-ticoio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tideau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tideau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tideio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tideio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tienau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tienau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tienio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tienio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tifiio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tifiio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tiflau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tiflau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tiflio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tiflio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tigeau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tigeau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tiinau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tiinau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tiinio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tiinio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-timoau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-timoau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-timoio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-timoio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tiocst.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-tiocst.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-titest.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-titest.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-unccon.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-uncdea.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-witeio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-witeio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtcoau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtcoau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtcoio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtcoio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtcstr.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtcstr.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtdeau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtdeau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtdeio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtdeio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtedit.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtedit.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtenau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtenau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtenio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtenio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtfiio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtfiio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtflau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtflau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtflio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtflio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtgeau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtgeau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtinau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtinau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtinio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtinio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtmoau.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtmoau.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtmoio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wtmoio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wttest.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/a-wttest.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/ada.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/calendar.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/directio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-busora.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-busora.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-busorg.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-busorg.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-casuti.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-casuti.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-comlin.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-comlin.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-debuti.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-debuti.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-dirope.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-dirope.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-hesora.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-hesora.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-hesorg.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-hesorg.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-htable.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-htable.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-io.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-io.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-io_aux.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-io_aux.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-os_lib.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-os_lib.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-regexp.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-regexp.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-spipat.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-spipat.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-spitbo.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-spitbo.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-sptabo.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-sptain.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-sptavs.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-table.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-table.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-tasloc.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/g-tasloc.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/gnat.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-c.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-c.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-cexten.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-cobol.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-cobol.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-cpoint.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-cpoint.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-cpp.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-cpp.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-csthre.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-csthre.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-cstrea.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-cstrea.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-cstrin.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-cstrin.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-fortra.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-fortra.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-os2err.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-os2lib.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-os2lib.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-os2syn.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-os2thr.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-pacdec.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/i-pacdec.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/interfac.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/ioexcept.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/machcode.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-addima.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-addima.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-arit64.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-arit64.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-assert.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-assert.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-asthan.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-asthan.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-atacco.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-atacco.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-auxdec.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-auxdec.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-bitops.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-bitops.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-chepoo.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-debpoo.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-debpoo.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-direio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-direio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-errrep.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-errrep.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-except.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-exctab.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-exctab.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-exnflt.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-exngen.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-exngen.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-exnint.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-exnlfl.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-exnlin.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-exnllf.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-exnlli.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-exnsfl.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-exnsin.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-exnssi.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-expflt.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-expgen.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-expgen.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-expint.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-explfl.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-explin.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-expllf.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-explli.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-expllu.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-expllu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-expmod.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-expmod.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-expsfl.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-expsin.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-expssi.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-expuns.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-expuns.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-fatflt.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-fatgen.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-fatgen.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-fatlfl.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-fatllf.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-fatsfl.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-ficobl.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-fileio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-fileio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-finimp.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-finimp.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-finroo.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-finroo.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-fore.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-fore.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgbiu.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgbiu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgboo.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgboo.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgcha.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgcha.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgdec.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgdec.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgint.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgint.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgllb.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgllb.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imglld.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imglld.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imglli.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imglli.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgllu.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgllu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgllw.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgllw.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgrea.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgrea.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imguns.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imguns.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgwch.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgwch.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgwiu.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-imgwiu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-inmaop.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-inmaop.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-interr.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-interr.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-intman.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-intman.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-io.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-io.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-maccod.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-mantis.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-mantis.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-osinte.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-osinte.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-osprim.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-osprim.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack03.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack03.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack05.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack05.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack06.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack06.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack07.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack07.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack09.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack09.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack10.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack10.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack11.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack11.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack12.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack12.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack13.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack13.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack14.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack14.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack15.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack15.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack17.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack17.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack18.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack18.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack19.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack19.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack20.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack20.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack21.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack21.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack22.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack22.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack23.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack23.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack24.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack24.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack25.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack25.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack26.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack26.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack27.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack27.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack28.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack28.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack29.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack29.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack30.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack30.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack31.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack31.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack33.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack33.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack34.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack34.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack35.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack35.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack36.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack36.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack37.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack37.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack38.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack38.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack39.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack39.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack40.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack40.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack41.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack41.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack42.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack42.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack43.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack43.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack44.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack44.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack45.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack45.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack46.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack46.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack47.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack47.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack48.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack48.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack49.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack49.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack50.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack50.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack51.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack51.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack52.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack52.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack53.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack53.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack54.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack54.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack55.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack55.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack56.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack56.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack57.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack57.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack58.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack58.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack59.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack59.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack60.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack60.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack61.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack61.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack62.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack62.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack63.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pack63.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-parame.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-parame.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-parint.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-parint.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pooglo.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pooglo.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pooloc.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-pooloc.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-poosiz.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-poosiz.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-powtab.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-proinf.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-proinf.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-rpc.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-rpc.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-secsta.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-secsta.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-sequio.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-sequio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-sopco3.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-sopco3.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-sopco4.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-sopco4.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-sopco5.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-sopco5.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-stalib.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-stalib.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-std.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-std.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-stoele.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-stoele.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-stopoo.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-stratt.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-stratt.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-strops.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-strops.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-taenca.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-taenca.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-taprob.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-taprob.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-taprop.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-taprop.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasabo.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasabo.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasdeb.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasdeb.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasinf.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasinf.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasini.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasini.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-taskin.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-taskin.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasoli.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasoli.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-taspda.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-taspda.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-taspri.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasque.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasque.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasren.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasren.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tassta.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tassta.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tastim.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tastim.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasuti.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tasuti.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tataat.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tataat.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-tpopsp.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-unstyp.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-vaflop.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-vaflop.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valboo.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valboo.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valcha.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valcha.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valdec.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valdec.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valenu.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valenu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valint.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valint.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-vallld.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-vallld.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-vallli.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-vallli.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valllu.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valllu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valrea.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valrea.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valuns.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valuns.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valuti.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valuti.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valwch.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-valwch.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-vercon.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-vercon.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-vmexta.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-vmexta.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wchcnv.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wchcnv.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wchcon.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wchjis.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wchjis.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wchstw.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wchstw.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wchwts.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wchwts.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-widboo.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-widboo.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-widcha.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-widcha.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-widenu.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-widenu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-widlli.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-widlli.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-widllu.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-widllu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-widwch.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-widwch.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wwdcha.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wwdcha.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wwdenu.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wwdenu.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wwdwch.adb
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/s-wwdwch.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/sequenio.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/system.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/text_io.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/unchconv.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude/unchdeal.ads
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-cadeob.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-caldel.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-calend.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-chahan.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-charac.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-chlat1.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-colien.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-comlin.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-cwila1.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-decima.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-dynpri.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-except.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-filico.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-finali.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-flteio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-fwteio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-inteio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-interr.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-intnam.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-ioexce.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-iwteio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-lfteio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-lfwtio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-liteio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-liwtio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-llftio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-llfwti.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-llitio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-lliwti.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-ncelfu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-nlcefu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-nlcoty.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-nlelfu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-nllcef.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-nllcty.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-nllefu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-nscefu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-nscoty.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-nselfu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-nucoty.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-nuelfu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-nuflra.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-numaux.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-numeri.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-reatim.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-retide.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-sfteio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-sfwtio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-siteio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-siwtio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-ssicst.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-ssitio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-ssiwti.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-stmaco.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-strbou.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-stream.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-strfix.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-string.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-strmap.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-strsea.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-strunb.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-ststio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-stunau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-stwibo.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-stwifi.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-stwima.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-stwise.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-stwiun.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-suteio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-swmwco.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-sytaco.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-tags.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-taside.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-teioed.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-textio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-ticoau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-tideau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-tienau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-tiflau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-tigeau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-tiinau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-timoau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-tiocst.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-titest.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-witeio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-wtcoau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-wtcstr.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-wtdeau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-wtedit.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-wtenau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-wtflau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-wtgeau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-wtinau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-wtmoau.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/a-wttest.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/ada.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/calendar.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-busora.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-casuti.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-comlin.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-debuti.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-dirope.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-hesora.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-htable.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-io.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-io_aux.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-os_lib.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-regexp.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-spipat.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-spitbo.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-sptabo.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-sptain.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-sptavs.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/g-tasloc.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/gnat.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/i-c.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/i-cexten.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/i-cobol.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/i-cpp.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/i-cstrea.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/i-cstrin.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/i-fortra.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/i-pacdec.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/interfac.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/ioexcept.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/libgnat.a
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/machcode.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-addima.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-arit64.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-assert.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-asthan.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-auxdec.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-bitops.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-chepoo.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-debpoo.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-direio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-errrep.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-except.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-exctab.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-exnflt.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-exngen.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-exnint.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-exnlfl.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-exnlin.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-exnllf.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-exnlli.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-exnsfl.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-exnsin.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-exnssi.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-expflt.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-expgen.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-expint.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-explfl.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-explin.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-expllf.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-explli.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-expllu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-expmod.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-expsfl.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-expsin.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-expssi.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-expuns.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-fatflt.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-fatlfl.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-fatllf.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-fatsfl.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-ficobl.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-fileio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-finimp.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-finroo.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-fore.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-imgbiu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-imgboo.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-imgcha.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-imgdec.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-imgint.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-imgllb.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-imglld.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-imglli.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-imgllu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-imgllw.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-imgrea.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-imguns.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-imgwch.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-imgwiu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-inmaop.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-interr.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-intman.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-io.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-maccod.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-mantis.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-osinte.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-osprim.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack03.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack05.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack06.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack07.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack09.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack10.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack11.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack12.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack13.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack14.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack15.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack17.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack18.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack19.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack20.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack21.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack22.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack23.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack24.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack25.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack26.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack27.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack28.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack29.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack30.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack31.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack33.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack34.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack35.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack36.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack37.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack38.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack39.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack40.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack41.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack42.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack43.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack44.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack45.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack46.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack47.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack48.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack49.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack50.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack51.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack52.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack53.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack54.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack55.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack56.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack57.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack58.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack59.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack60.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack61.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack62.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pack63.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-parame.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-parint.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pooglo.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-pooloc.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-poosiz.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-powtab.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-proinf.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-rpc.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-secsta.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-sequio.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-sopco3.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-sopco4.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-sopco5.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-stalib.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-std.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-stoele.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-stopoo.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-stratt.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-strops.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-taenca.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-taprob.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-taprop.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-tasabo.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-tasdeb.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-tasinf.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-tasini.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-taskin.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-tasoli.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-taspda.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-taspri.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-tasque.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-tasren.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-tassta.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-tastim.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-tasuti.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-tataat.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-unstyp.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-vaflop.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-valboo.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-valcha.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-valdec.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-valenu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-valint.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-vallld.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-vallli.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-valllu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-valrea.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-valuns.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-valuti.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-valwch.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-vercon.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-vmexta.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-wchcnv.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-wchcon.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-wchjis.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-wchstw.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-wchwts.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-widboo.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-widcha.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-widenu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-widlli.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-widllu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-widwch.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-wwdcha.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-wwdenu.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/s-wwdwch.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/system.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib/text_io.ali
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/include/README
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/include/exception
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/include/limits.h
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/include/math.h
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/include/new
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/include/new.h
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/include/syslimits.h
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/include/typeinfo
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/cc1
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/cpp
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/gnat1
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/libgcc.a
+lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/specs
+%%GNUHOST%%/include/assert.h
+@dirrm lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adainclude
+@dirrm lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/adalib
+@dirrm lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%/include
+@dirrm lib/gcc-lib/%%GNUHOST%%/%%GCC_VERSION%%
+@dirrm lib/gcc-lib/%%GNUHOST%%
+@dirrm lib/gcc-lib
+@dirrm %%GNUHOST%%/include