diff options
author | sheldonh <sheldonh@FreeBSD.org> | 1999-06-24 19:11:28 +0800 |
---|---|---|
committer | sheldonh <sheldonh@FreeBSD.org> | 1999-06-24 19:11:28 +0800 |
commit | 2173ae2ffa3502aaa9df3388e2d4479ec313970b (patch) | |
tree | 65a379bc6364d963a61455bffd1c460cafbad23b /lang/gnat | |
parent | 767b5dd84fec9563799b17b0f33e43c33fac1079 (diff) | |
download | freebsd-ports-graphics-2173ae2ffa3502aaa9df3388e2d4479ec313970b.tar.gz freebsd-ports-graphics-2173ae2ffa3502aaa9df3388e2d4479ec313970b.tar.zst freebsd-ports-graphics-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/gnat')
-rw-r--r-- | lang/gnat/Makefile | 212 | ||||
-rw-r--r-- | lang/gnat/distinfo | 5 | ||||
-rw-r--r-- | lang/gnat/files/4fintnam.ads | 2 | ||||
-rw-r--r-- | lang/gnat/files/5fintman.adb | 69 | ||||
-rw-r--r-- | lang/gnat/files/5fosinte.adb | 75 | ||||
-rw-r--r-- | lang/gnat/files/5fosinte.ads | 254 | ||||
-rw-r--r-- | lang/gnat/files/5ftaprop.adb | 664 | ||||
-rw-r--r-- | lang/gnat/files/5ftaspri.ads | 52 | ||||
-rw-r--r-- | lang/gnat/files/freebsdgcc28-patches | 538 | ||||
-rw-r--r-- | lang/gnat/files/patch-aa | 161 | ||||
-rw-r--r-- | lang/gnat/files/patch-ab | 86 | ||||
-rw-r--r-- | lang/gnat/files/patch-ac | 54 | ||||
-rw-r--r-- | lang/gnat/files/patch-ad | 41 | ||||
-rw-r--r-- | lang/gnat/files/patch-ae | 24 | ||||
-rw-r--r-- | lang/gnat/files/patch-af | 34 | ||||
-rw-r--r-- | lang/gnat/pkg-comment | 2 | ||||
-rw-r--r-- | lang/gnat/pkg-descr | 10 | ||||
-rw-r--r-- | lang/gnat/pkg-plist | 1864 |
18 files changed, 2444 insertions, 1703 deletions
diff --git a/lang/gnat/Makefile b/lang/gnat/Makefile index 2396fb86c88..a5e40c9ba85 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 ef199d1ddaf..8e17546de5c 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 29f53e62ae9..eea386d0472 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 9d6eb5e4522..db857ec6c5f 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 12febc4d3dd..e449cf5bf73 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 b8ecbec463d..63d773ae554 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 813c40530c4..3c94fc5dc6b 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 9cd6b64d989..30922667f92 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 00000000000..58db454627e --- /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 eb8cd4588e4..62e53dc189b 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 baf5ebdeec1..998287bcf91 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 e831059d717..26c4d968717 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 15066bfc11f..5ca0030b6f4 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 5ebf05b30a0..bc5c986bcef 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 d7f39259084..8ec2237ecc3 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 4afa0510afa..3e1878a6c1b 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 a38a4e8b6b5..7c068108a84 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 897806d6880..2a2871c4536 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 |