Commit Graph

467 Commits

Author SHA1 Message Date
Thomas Schwinge
dc17e7544e build: Use of cargo not yet supported here in Canadian cross configurations
..., until <https://github.com/Rust-GCC/gccrs/issues/2898>
"'cargo' should build for the host system" is resolved.

Follow-up to commit 3e1e73fc99
"build: Check for cargo when building rust language".

	* configure.ac (have_cargo): Force to "no" in Canadian cross
	configurations
	* configure: Regenerate.
2024-04-16 09:43:47 +02:00
Pierre-Emmanuel Patry
3e1e73fc99 build: Check for cargo when building rust language
Prevent rust language from building when cargo is
missing.

config/ChangeLog:

	* acx.m4: Add a macro to check for rust
	components.

ChangeLog:

	* configure: Regenerate.
	* configure.ac: Emit an error message when cargo
	is missing.

Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
2024-04-15 13:03:35 +02:00
Xi Ruoyao
f09a9dd319
LoongArch: Don't falsely claim gold supported in toplevel configure
The gold linker has never been ported to LoongArch (and it seems
unlikely to be ported in the future as the new architectures are
focusing on lld and/or mold for fast linkers).

ChangeLog:

	* configure.ac (ENABLE_GOLD): Remove loongarch*-*-* from target
	list.
	* configure: Regenerate.
2024-02-23 18:13:25 +08:00
Pierre-Emmanuel Patry
725fb35956 build: Add libgrust as compilation modules
Define the libgrust directory as a host compilation module as well as
for targets. Disable target libgrust if we're not building target
libstdc++.

ChangeLog:

	* Makefile.def: Add libgrust as host & target module.
	* configure.ac: Add libgrust to host tools list. Add libgrust to
	noconfigdirs if we're not building target libstdc++.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

gcc/rust/ChangeLog:

	* config-lang.in: Add libgrust as a target module for the rust
	language.

Co-authored-by: Thomas Schwinge <thomas@codesourcery.com>
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
2023-12-14 13:58:57 +01:00
Arsen Arsenović
db50aea625
*: add modern gettext
This patch updates gettext.m4 and related .m4 files and adds
gettext-runtime as a gmp/mpfr/... style host library, allowing newer
libintl to be used.

This patch /does not/ add build-time tools required for
internationalizing (msgfmt et al), instead, it just updates the runtime
library.  The result should be a distribution that acts exactly the same
when a copy of gettext is present, and disables internationalization
otherwise.

There should be no changes in behavior when gettext is included in-tree.
When gettext is not included in tree, nor available on the system, the
programs will be built without localization.

ChangeLog:

	PR bootstrap/12596
	* .gitignore: Add '/gettext*'.
	* configure.ac (host_libs): Replace intl with gettext.
	(hbaseargs, bbaseargs, baseargs): Split baseargs into
	{h,b}baseargs.
	(skip_barg): New flag.  Skips appending current flag to
	bbaseargs.
	<library exemptions>: Exempt --with-libintl-{type,prefix} from
	target and build machine argument passing.
	* configure: Regenerate.
	* Makefile.def (host_modules): Replace intl module with gettext
	module.
	(configure-ld): Depend on configure-gettext.
	* Makefile.in: Regenerate.

config/ChangeLog:

	* intlmacosx.m4: Import from gettext-0.22 (serial 8).
	* gettext.m4: Sync with gettext-0.22 (serial 77).
	* gettext-sister.m4 (ZW_GNU_GETTEXT_SISTER_DIR): Load gettext's
	uninstalled-config.sh, or call AM_GNU_GETTEXT if missing.
	* iconv.m4: Sync with gettext-0.22 (serial 26).

contrib/ChangeLog:

	* prerequisites.sha512: Add gettext.
	* prerequisites.md5: Add gettext.
	* download_prerequisites: Add gettext.

gcc/ChangeLog:

	* configure: Regenerate.
	* aclocal.m4: Regenerate.
	* Makefile.in (LIBDEPS): Remove (potential) ./ prefix from
	LIBINTL_DEP.
	* doc/install.texi: Document new (notable) flags added by the
	optional gettext tree and by AM_GNU_GETTEXT.  Document libintl/libc
	with gettext dependency.

libcpp/ChangeLog:

	* configure: Regenerate.
	* aclocal.m4: Regenerate.

libstdc++-v3/ChangeLog:

	* configure: Regenerate.
2023-11-14 00:47:11 +01:00
Iain Sandoe
6a6d3817af Config,Darwin: Allow for configuring Darwin to use embedded runpath.
Recent Darwin versions place contraints on the use of run paths
specified in environment variables.  This breaks some assumptions
in the GCC build.

This change allows the user to configure a Darwin build to use
'@rpath/libraryname.dylib' in library names and then to add an
embedded runpath to executables (and libraries with dependents).

The embedded runpath is added by default unless the user adds
'-nodefaultrpaths' to the link line.

For an installed compiler, it means that any executable built with
that compiler will reference the runtimes installed with the
compiler (equivalent to hard-coding the library path into the name
of the library).

During build-time configurations  any "-B" entries will be added to
the runpath thus the newly-built libraries will be found by exes.

Since the install name is set in libtool, that decision needs to be
available here (but might also cause dependent ones in Makefiles,
so we need to export a conditional).

This facility is not available for Darwin 8 or earlier, however the
existing environment variable runpath does work there.

We default this on for systems where the external DYLD_LIBRARY_PATH
does not work and off for Darwin 8 or earlier.  For systems that can
use either method, if the value is unset, we use the default (which
is currently DYLD_LIBRARY_PATH).

ChangeLog:

	* configure: Regenerate.
	* configure.ac: Do not add default runpaths to GCC exes
	when we are building -static-libstdc++/-static-libgcc (the
	default).
	* libtool.m4: Add 'enable-darwin-at-runpath'.  Act  on the
	enable flag to alter Darwin libraries to use @rpath names.

gcc/ChangeLog:

	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths.
	* config/darwin.h: Handle Darwin rpaths.
	* config/darwin.opt: Handle Darwin rpaths.
	* Makefile.in:  Handle Darwin rpaths.

gcc/ada/ChangeLog:

	* gcc-interface/Makefile.in: Handle Darwin rpaths.

gcc/jit/ChangeLog:
	* Make-lang.in: Handle Darwin rpaths.

libatomic/ChangeLog:

	* Makefile.am: Handle Darwin rpaths.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths.

libbacktrace/ChangeLog:

	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths.

libcc1/ChangeLog:

	* configure: Regenerate.

libffi/ChangeLog:

	* Makefile.am: Handle Darwin rpaths.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

libgcc/ChangeLog:

	* config/t-slibgcc-darwin: Generate libgcc_s
	with an @rpath name.
	* config.host: Handle Darwin rpaths.

libgfortran/ChangeLog:

	* Makefile.am: Handle Darwin rpaths.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths

libgm2/ChangeLog:

	* Makefile.am: Handle Darwin rpaths.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths.
	* libm2cor/Makefile.am: Handle Darwin rpaths.
	* libm2cor/Makefile.in: Regenerate.
	* libm2iso/Makefile.am: Handle Darwin rpaths.
	* libm2iso/Makefile.in: Regenerate.
	* libm2log/Makefile.am: Handle Darwin rpaths.
	* libm2log/Makefile.in: Regenerate.
	* libm2min/Makefile.am: Handle Darwin rpaths.
	* libm2min/Makefile.in: Regenerate.
	* libm2pim/Makefile.am: Handle Darwin rpaths.
	* libm2pim/Makefile.in: Regenerate.

libgomp/ChangeLog:

	* Makefile.am: Handle Darwin rpaths.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths

libitm/ChangeLog:

	* Makefile.am: Handle Darwin rpaths.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths.

libobjc/ChangeLog:

	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths.

libphobos/ChangeLog:

	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths.
	* libdruntime/Makefile.am: Handle Darwin rpaths.
	* libdruntime/Makefile.in: Regenerate.
	* src/Makefile.am: Handle Darwin rpaths.
	* src/Makefile.in: Regenerate.

libquadmath/ChangeLog:

	* Makefile.am: Handle Darwin rpaths.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths.

libsanitizer/ChangeLog:

	* asan/Makefile.am: Handle Darwin rpaths.
	* asan/Makefile.in: Regenerate.
	* configure: Regenerate.
	* hwasan/Makefile.am: Handle Darwin rpaths.
	* hwasan/Makefile.in: Regenerate.
	* lsan/Makefile.am: Handle Darwin rpaths.
	* lsan/Makefile.in: Regenerate.
	* tsan/Makefile.am: Handle Darwin rpaths.
	* tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.am: Handle Darwin rpaths.
	* ubsan/Makefile.in: Regenerate.

libssp/ChangeLog:

	* Makefile.am: Handle Darwin rpaths.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths.

libstdc++-v3/ChangeLog:

	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths.
	* src/Makefile.am: Handle Darwin rpaths.
	* src/Makefile.in: Regenerate.

libvtv/ChangeLog:

	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths.

lto-plugin/ChangeLog:
	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths.

zlib/ChangeLog:
	* configure: Regenerate.
	* configure.ac: Handle Darwin rpaths.
2023-10-22 19:30:02 +01:00
Yang Yujie
227b18f5d7 LoongArch: Reimplement multilib build option handling.
Library build options from --with-multilib-list used to be processed with
*self_spec, which missed the driver's initial canonicalization.  This
caused limitations on CFLAGS override and the use of driver-only options
like -m[no]-lsx.

The problem is solved by promoting the injection rules of --with-multilib-list
options to the first element of DRIVER_SELF_SPECS, to make them execute before
the canonialization.  The library-build options are also hard-coded in
the driver and can be used conveniently by the builders of other non-gcc
libraries via the use of -fmultiflags.

Bootstrapped and tested on loongarch64-linux-gnu.

ChangeLog:

	* config-ml.in: Remove unneeded loongarch clause.
	* configure.ac: Register custom makefile fragments mt-loongarch-*
	for loongarch targets.
	* configure: Regenerate.

config/ChangeLog:

	* mt-loongarch-mlib: New file.  Pass -fmultiflags when building
	target libraries (FLAGS_FOR_TARGET).
	* mt-loongarch-elf: New file.
	* mt-loongarch-gnu: New file.

gcc/ChangeLog:

	* config.gcc: Pass the default ABI via TM_MULTILIB_CONFIG.
	* config/loongarch/loongarch-driver.h: Invoke MLIB_SELF_SPECS
	before the driver canonicalization routines.
	* config/loongarch/loongarch.h: Move definitions of CC1_SPEC etc.
	to loongarch-driver.h
	* config/loongarch/t-linux: Move multilib-related definitions to
	t-multilib.
	* config/loongarch/t-multilib: New file.  Inject library build
	options obtained from --with-multilib-list.
	* config/loongarch/t-loongarch: Same.
2023-09-15 10:42:12 +08:00
Alexander von Gluck IV
ead5103cc6
Add support for the haiku operating system
These are the os support patches we have been grooming and maintaining
for quite a few years over on git.haiku-os.org.  All of these
architectures are working and most have been stable for quite some time.

ChangeLog:

	* configure: Regenerate.
	* configure.ac: Add Haiku to list of ELF OSes
	* libtool.m4: Update sys_lib_dlsearch_path_spec on Haiku.

gcc/ChangeLog:

	* configure: Regenerate.

libatomic/ChangeLog:

	* configure: Regenerate.

libbacktrace/ChangeLog:

	* configure: Regenerate.

libcc1/ChangeLog:

	* configure: Regenerate.

libffi/ChangeLog:

	* configure: Regenerate.

libgfortran/ChangeLog:

	* configure: Regenerate.

libgm2/ChangeLog:

	* configure: Regenerate.

libgomp/ChangeLog:

	* configure: Regenerate.

libitm/ChangeLog:

	* configure: Regenerate.

libobjc/ChangeLog:

	* configure: Regenerate.

libphobos/ChangeLog:

	* configure: Regenerate.

libquadmath/ChangeLog:

	* configure: Regenerate.

libsanitizer/ChangeLog:

	* configure: Regenerate.

libssp/ChangeLog:

	* configure: Regenerate.

libstdc++-v3/ChangeLog:

	* configure: Regenerate.

libvtv/ChangeLog:

	* configure: Regenerate.

lto-plugin/ChangeLog:

	* configure: Regenerate.

zlib/ChangeLog:

	* configure: Regenerate.
2023-08-07 22:59:40 +02:00
Arsen Arsenović
b48e994077
configure: reinstate 32b PA-RISC HP-UX target in toplevel
The Binutils still support this target.

ChangeLog:

	* configure.ac: Reinstate 32b PA-RISC HP-UX targets
	* configure: Regenerate.
2023-08-07 22:59:39 +02:00
Simon Marchi
1ddd41fddc
Pass PKG_CONFIG_PATH down from top-level Makefile
[Sending to binutils, gdb-patches and gcc-patches, since it touches the
top-level Makefile/configure]

I have my debuginfod library installed in a non-standard location
(/opt/debuginfod), which requires me to set
PKG_CONFIG_PATH=/opt/debuginfod/lib/pkg-config.  If I just set it during
configure:

    $ PKG_CONFIG_PATH=/opt/debuginfod/lib/pkg-config ./configure --with-debuginfod
    $ make

or

    $ ./configure --with-debuginfod PKG_CONFIG_PATH=/opt/debuginfod/lib/pkg-config
    $ make

Then PKG_CONFIG_PATH is only present (and ignored) during the top-level
configure.  When running make (which runs gdb's and binutils'
configure), PKG_CONFIG_PATH is not set, which results in their configure
script not finding the library:

    checking for libdebuginfod >= 0.179... no
    configure: error: "--with-debuginfod was given, but libdebuginfod is missing or unusable."

Change the top-level configure/Makefile system to capture the value
passed when configuring the top-level and pass it down to
subdirectories (similar to CFLAGS, LDFLAGS, etc).

I don't know much about the top-level build system, so I really don't
know if I did this correctly.  The changes are:

 - Use AC_SUBST(PKG_CONFIG_PATH) in configure.ac, so that
   @PKG_CONFIG_PATH@ gets replaced with the actual PKG_CONFIG_PATH value
   in config files (i.e. Makefile)
 - Add a PKG_CONFIG_PATH Makefile variable in Makefile.tpl, initialized
   to @PKG_CONFIG_PATH@
 - Add PKG_CONFIG_PATH to HOST_EXPORTS in Makefile.tpl, which are the
   variables set when running the sub-configures

I initially added PKG_CONFIG_PATH to flags_to_pass, in Makefile.def, but
I don't think it's needed.  AFAIU, this defines the flags to pass down
when calling "make" in subdirectories.  We only need PKG_CONFIG_PATH to
be passed down during configure.  After that, it's captured in
gdb/config.status, so even if a "make" causes a re-configure later
(because gdb/configure has changed, for example), the PKG_CONFIG_PATH
value will be remembered.

Change-Id: I91138dfca41c43b05e53e445f62e4b27882536bf

ChangeLog:

	* configure.ac: Add AC_SUBST(PKG_CONFIG_PATH).
	* configure: Re-generate.
	* Makefile.tpl (HOST_EXPORTS): Pass PKG_CONFIG_PATH.
	(PKG_CONFIG_PATH): New.
	* Makefile.in: Re-generate.
2023-08-07 22:59:38 +02:00
Luis Machado
a49d42e8df
Disable year 2038 support on 32-bit hosts by default
With a recent import of gnulib, code has been pulled that tests and enables
64-bit time_t by default on 32-bit hosts that support it.

Although gdb can use the gnulib support, bfd doesn't use gnulib and currently
doesn't do these checks.

As a consequence, if we have a 32-bit host that supports 64-bit time_t, we'll
have a mismatch between gdb's notion of time_t and bfd's notion of time_t.

This will lead to mismatches in the struct stat size, leading to memory
corruption and crashes.

This patch disables the year 2038 check for now, which makes things work
reliably again.

I'd consider this a temporary fix until we have proper bfd checks for the year
2038, if it makes sense.  64-bit hosts seems to be more common these days, so
I'm not sure how important it is to have this support enabled and how soon
we want to enable it.

Thoughts?

ChangeLog:

	* configure.ac: Disable year2038 by default on 32-bit hosts.
	* configure: Regenerate.
2023-08-07 22:59:38 +02:00
Vladimir Mezentsev
24552056fd
gprofng: a new GNU profiler
ChangeLog:

	* Makefile.def: Add gprofng module.
	* configure.ac: Add --enable-gprofng option.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

include/ChangeLog:

	* collectorAPI.h: New file.
	* libcollector.h: New file.
	* libfcollector.h: New file.
2023-08-07 22:59:38 +02:00
Martin Liska
c988463656
add --enable-default-compressed-debug-sections-algorithm configure option
ChangeLog:

	* configure.ac: Add --enable-default-compressed-debug-sections-algorithm.
	* configure: Regenerate.
2023-08-07 22:59:38 +02:00
Fangrui Song
407a2c9abd
binutils, gdb: support zstd compressed debug sections
PR29397 PR29563: Add new configure option --with-zstd which defaults to
auto.  If pkgconfig/libzstd.pc is found, define HAVE_ZSTD and support
zstd compressed debug sections for most tools.

* bfd: for addr2line, objdump --dwarf, gdb, etc
* gas: support --compress-debug-sections=zstd
* ld: support ELFCOMPRESS_ZSTD input and --compress-debug-sections=zstd
* objcopy: support ELFCOMPRESS_ZSTD input for
  --decompress-debug-sections and --compress-debug-sections=zstd
* gdb: support ELFCOMPRESS_ZSTD input.  The bfd change references zstd
  symbols, so gdb has to link against -lzstd in this patch.

If zstd is not supported, ELFCOMPRESS_ZSTD input triggers an error.  We
can avoid HAVE_ZSTD if binutils-gdb imports zstd/ like zlib/, but this
is too heavyweight, so don't do it for now.

```
% ld/ld-new a.o
ld/ld-new: a.o: section .debug_abbrev is compressed with zstd, but BFD is not built with zstd support
...

% ld/ld-new a.o --compress-debug-sections=zstd
ld/ld-new: --compress-debug-sections=zstd: ld is not built with zstd support

% binutils/objcopy --compress-debug-sections=zstd a.o b.o
binutils/objcopy: --compress-debug-sections=zstd: binutils is not built with zstd support

% binutils/objcopy b.o --decompress-debug-sections
binutils/objcopy: zstd.o: section .debug_abbrev is compressed with zstd, but BFD is not built with zstd support
...
```

config/ChangeLog:

	* zstd.m4: New file.

ChangeLog:
	* configure: Regenerate.
	* configure.ac: Add --with-zstd.
2023-08-07 22:59:37 +02:00
Arsen Arsenović
a885ec2485
toplevel: Recover tilegx/tilepro targets
These are still supported in Binutils.

ChangeLog:

	* configure: Regenerate.
	* configure.ac: Recover tilegx/tilepro targets.
2023-08-07 22:59:37 +02:00
H.J. Lu
126f707efb
Sync with binutils: GCC: Pass --plugin to AR and RANLIB
Sync with binutils for building binutils with LTO:

50ad1254d50 GCC: Pass --plugin to AR and RANLIB

Detect GCC LTO plugin.  Pass --plugin to AR and RANLIB to support LTO
build.

ChangeLog:

	* Makefile.tpl (AR): Add @AR_PLUGIN_OPTION@
	(RANLIB): Add @RANLIB_PLUGIN_OPTION@.
	* configure.ac: Include config/gcc-plugin.m4.
	AC_SUBST AR_PLUGIN_OPTION and RANLIB_PLUGIN_OPTION.
	* libtool.m4 (_LT_CMD_OLD_ARCHIVE): Pass --plugin to AR and
	RANLIB if possible.
	* Makefile.in: Regenerated.
	* configure: Likewise.

config/ChangeLog:

	* gcc-plugin.m4 (GCC_PLUGIN_OPTION): New.

libiberty/ChangeLog:

	* Makefile.in (AR): Add @AR_PLUGIN_OPTION@
	(RANLIB): Add @RANLIB_PLUGIN_OPTION@.
	(configure_deps): Depend on ../config/gcc-plugin.m4.
	* configure.ac: AC_SUBST AR_PLUGIN_OPTION and
	RANLIB_PLUGIN_OPTION.
	* aclocal.m4: Regenerated.
	* configure: Likewise.

zlib/ChangeLog:

	* configure: Regenerated.

gcc/ChangeLog:

	* configure: Regenerate.

libatomic/ChangeLog:

	* configure: Regenerate.

libbacktrace/ChangeLog:

	* configure: Regenerate.

libcc1/ChangeLog:

	* configure: Regenerate.

libffi/ChangeLog:

	* configure: Regenerate.

libgfortran/ChangeLog:

	* configure: Regenerate.

libgm2/ChangeLog:

	* configure: Regenerate.

libgomp/ChangeLog:

	* configure: Regenerate.

libitm/ChangeLog:

	* configure: Regenerate.

libobjc/ChangeLog:

	* configure: Regenerate.

libphobos/ChangeLog:

	* configure: Regenerate.

libquadmath/ChangeLog:

	* configure: Regenerate.

libsanitizer/ChangeLog:

	* configure: Regenerate.

libssp/ChangeLog:

	* configure: Regenerate.

libstdc++-v3/ChangeLog:

	* configure: Regenerate.

libvtv/ChangeLog:

	* configure: Regenerate.

lto-plugin/ChangeLog:

	* configure: Regenerate.
2023-08-07 22:59:36 +02:00
Andreas Schwab
1ed21e23d6 Use substituted GDCFLAGS
Use the substituted value for GCDFLAGS instead of hardcoding $(CFLAGS) so
that the subdir configure scripts use the configured value.

	* configure.ac (GDCFLAGS): Set default from ${CFLAGS}.
	* configure: Regenerate.
	* Makefile.in (GDCFLAGS): Substitute @GDCFLAGS@.
2023-07-31 11:37:47 +02:00
Iain Sandoe
c1fecabe65 configure, Darwin: Ensure overrides to host-pie are passed to gcc configure.
The latest versions of Darwin on the Aarch64 platform mandate PIE executables.
On x86_64 it remains optional, but produces tool warnings after Darwin20, so
we default to PIE executables there too.

All (non-PowerPC) 64b Darwin platforms mandate PIC code and therefore force
host_shared on (we issue a diagnostic if the user tries to configure them
non-shared).

However, this also means we cannot test the host_shared setting independently
of the host_pie setting so that the logic for setting PICFLAG must be amended
for Darwin.

For Darwin versions required to have PIE executables, in the event that the
user tries to configure these as --disable-host-pie, we issue a warning and
override the setting.  These versions must also switch host_pie on even if it
is not given in the configure line.  To cater for this we pass the current
value of host_pie, as determined by top-level configure, to the GCC configure.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>

ChangeLog:

	* Makefile.def: Pass the enable-host-pie value to GCC configure.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Adjust the logic for shared and PIE host flags to
	ensure that PIE is passed for hosts that require it.
2023-06-25 10:16:39 +01:00
Marek Polacek
b6cb10af12 configure: Implement --enable-host-pie
[ This is my third attempt to add this configure option.  The first
version was approved but it came too late in the development cycle.
The second version was also approved, but I had to revert it:
<https://gcc.gnu.org/pipermail/gcc-patches/2022-November/607082.html>.
I've fixed the problem (by moving $(PICFLAG) from INTERNAL_CFLAGS to
ALL_COMPILERFLAGS).  Another change is that since r13-4536 I no longer
need to touch Makefile.def, so this patch is simplified. ]

This patch implements the --enable-host-pie configure option which
makes the compiler executables PIE.  This can be used to enhance
protection against ROP attacks, and can be viewed as part of a wider
trend to harden binaries.

It is similar to the option --enable-host-shared, except that --e-h-s
won't add -shared to the linker flags whereas --e-h-p will add -pie.
It is different from --enable-default-pie because that option just
adds an implicit -fPIE/-pie when the compiler is invoked, but the
compiler itself isn't PIE.

Since r12-5768-gfe7c3ecf, PCH works well with PIE, so there are no PCH
regressions.

When building the compiler, the build process may use various in-tree
libraries; these need to be built with -fPIE so that it's possible to
use them when building a PIE.  For instance, when --with-included-gettext
is in effect, intl object files must be compiled with -fPIE.  Similarly,
when building in-tree gmp, isl, mpfr and mpc, they must be compiled with
-fPIE.

With this patch and --enable-host-pie used to configure gcc:

$ file gcc/cc1{,plus,obj,gm2} gcc/f951 gcc/lto1 gcc/cpp gcc/go1 gcc/rust1 gcc/gnat1
gcc/cc1:     ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=98e22cde129d304aa6f33e61b1c39e144aeb135e, for GNU/Linux 3.2.0, with debug_info, not stripped
gcc/cc1plus: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=859d1ea37e43dfe50c18fd4e3dd9a34bb1db8f77, for GNU/Linux 3.2.0, with debug_info, not stripped
gcc/cc1obj:  ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1964f8ecee6163182bc26134e2ac1f324816e434, for GNU/Linux 3.2.0, with debug_info, not stripped
gcc/cc1gm2:  ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a396672c7ff913d21855829202e7b02ecf42ff4c, for GNU/Linux 3.2.0, with debug_info, not stripped
gcc/f951:    ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=59c523db893186547ac75c7a71f48be0a461c06b, for GNU/Linux 3.2.0, with debug_info, not stripped
gcc/lto1:    ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=084a7b77df7be2d63c2d4c655b5bbc3fcdb6038d, for GNU/Linux 3.2.0, with debug_info, not stripped
gcc/cpp:     ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3503bf8390d219a10d6653b8560aa21158132168, for GNU/Linux 3.2.0, with debug_info, not stripped
gcc/go1:     ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=988cc673af4fba5dcb482f4b34957b99050a68c5, for GNU/Linux 3.2.0, with debug_info, not stripped
gcc/rust1:   ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b6a5d3d514446c4dcdee0707f086ab9b274a8a3c, for GNU/Linux 3.2.0, with debug_info, not stripped
gcc/gnat1:   ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bb11ccdc2c366fe3fe0980476bcd8ca19b67f9dc, for GNU/Linux 3.2.0, with debug_info, not stripped

I plan to add an option to link with -Wl,-z,now.

Bootstrapped on x86_64-pc-linux-gnu with --with-included-gettext
--enable-host-pie as well as without --enable-host-pie.  Also tested
on a Debian system where the system gcc was configured with
--enable-default-pie.

Co-Authored by: Iain Sandoe  <iain@sandoe.co.uk>

ChangeLog:

	* configure.ac (--enable-host-pie): New check.  Set PICFLAG after this
	check.
	* configure: Regenerate.

c++tools/ChangeLog:

	* Makefile.in: Rename PIEFLAG to PICFLAG.  Set LD_PICFLAG.  Use it.
	Use pic/libiberty.a if PICFLAG is set.
	* configure.ac (--enable-default-pie): Set PICFLAG instead of PIEFLAG.
	(--enable-host-pie): New check.
	* configure: Regenerate.

fixincludes/ChangeLog:

	* Makefile.in: Set and use PICFLAG and LD_PICFLAG.  Use the "pic"
	build of libiberty if PICFLAG is set.
	* configure.ac:
	* configure: Regenerate.

gcc/ChangeLog:

	* Makefile.in: Set LD_PICFLAG.  Use it.  Set enable_host_pie.
	Remove NO_PIE_CFLAGS and NO_PIE_FLAG.  Pass LD_PICFLAG to
	ALL_LINKERFLAGS.  Use the "pic" build of libiberty if --enable-host-pie.
	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
	(--enable-host-pie): New check.  Set PICFLAG and LD_PICFLAG after this
	check.
	* configure: Regenerate.
	* doc/install.texi: Document --enable-host-pie.

gcc/ada/ChangeLog:

	* gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove NO_PIE_CFLAGS.  Add
	PICFLAG.  Use PICFLAG when building ada/b_gnat1.o and ada/b_gnatb.o.
	* gcc-interface/Makefile.in: Use pic/libiberty.a if PICFLAG is set.
	Remove NO_PIE_FLAG.

gcc/m2/ChangeLog:

	* Make-lang.in: New var, GM2_PICFLAGS.  Use it.

gcc/d/ChangeLog:

	* Make-lang.in: Remove NO_PIE_CFLAGS.

intl/ChangeLog:

	* Makefile.in: Use @PICFLAG@ in COMPILE as well.
	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
	(--enable-host-pie): New check.  Set PICFLAG after this check.
	* configure: Regenerate.

libcody/ChangeLog:

	* Makefile.in: Pass LD_PICFLAG to LDFLAGS.
	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
	(--enable-host-pie): New check.  Set PICFLAG and LD_PICFLAG after this
	check.
	* configure: Regenerate.

libcpp/ChangeLog:

	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
	(--enable-host-pie): New check.  Set PICFLAG after this check.
	* configure: Regenerate.

libdecnumber/ChangeLog:

	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
	(--enable-host-pie): New check.  Set PICFLAG after this check.
	* configure: Regenerate.

libiberty/ChangeLog:

	* configure.ac: Also set shared when enable_host_pie.
	* configure: Regenerate.

zlib/ChangeLog:

	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
	(--enable-host-pie): New check.  Set PICFLAG after this check.
	* configure: Regenerate.
2023-06-15 16:51:27 -04:00
Peter Foley
7d115e0141 configure: Only create serdep.tmp if needed
There's no reason to create this file if none of the serial configure
options are passed.

ChangeLog:

	* configure: Regenerate.
	* configure.ac: Only create serdep.tmp if needed
2023-04-21 13:16:08 -06:00
Clément Chigot
5977d14a60 configure: remove dependencies on gmp and mpfr when gdb is disabled
Since 91e0d22025, the configure checks
about GMP and MPFR for gdb builds have been moved to the toplevel
configure.
However, it doesn't take into account the --disable-gdb option. Meaning
that a build without gdb will require these libraries even if not
needed.

ChangeLog:

	* configure.ac: Skip GMP and MPFR when --disable-gdb is
	provided.
	* configure: Regenerate.
2023-01-06 09:36:52 +01:00
Andrew Pinski
91e0d22025 [PATCH] Use toplevel configure for GMP and MPFR for gdb
[Sync'ed from the binutils-gdb repo]
This patch uses the toplevel configure parts for GMP/MPFR for
gdb. The only thing is that gdb now requires MPFR for building.
Before it was a recommended but not required library.
Also this allows building of GMP and MPFR with the toplevel
directory just like how it is done for GCC.
We now error out in the toplevel configure of the version
of GMP and MPFR that is wrong.

OK after GDB 13 branches? Build gdb 3 ways:
with GMP and MPFR in the toplevel (static library used at that point for both)
With only MPFR in the toplevel (GMP distro library used and MPFR built from source)
With neither GMP and MPFR in the toplevel (distro libraries used)

Changes from v1:
* Updated gdb/README and gdb/doc/gdb.texinfo.
* Regenerated using unmodified autoconf-2.69

Thanks,
Andrew Pinski

ChangeLog:
	* Makefile.def: Add configure-gdb dependencies
	on all-gmp and all-mpfr.
	* configure.ac: Split out MPC checking from MPFR.
	Require GMP and MPFR if the gdb directory exist.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
2022-12-21 17:18:53 +00:00
Gaius Mulley
1eee94d351 Merge modula-2 front end onto gcc.
This commit merges the devel/modula2 into master.
The libraries reside in libgm2, the compiler in gcc/m2
and the testsuite in gcc/testsuite/gm2.

ChangeLog:

	* configure.ac (target_libraries): Add target-libgm2.
	Add NCN_STRICT_CHECK_TARGET_TOOLS entry for gm2.
	Add GCC_TARGET_TOOL entry for gm2.  (compare_exclusions)
	add gcc/m2/gm2-compiler/M2Version,
	gcc/m2/gm2-compiler-boot/SYSTEM and gcc/m2/gm2version.
	* Makefile.def (target_modules): Add libgm2.  (flags_to_pass)
	Add GM2_FOR_TARGET, GM2FLAGS_FOR_TARGET.  (dependencies) Add
	all-target-libgm2 and on=all-target-libatomic.  (languages)
	Add entry for language=m2 with gcc-check-target=check-m2
	and lib-check-target=check-target-libgm2.
	* Makefile.tpl (BUILD_EXPORTS): Add definition for GM2
	and GM2FLAGS.  (HOST_EXPORTS) Add definition for GM2.
	(BASE_TARGET_EXPORTS) Add definition for GM2.
	(GM2_FOR_BUILD) Defined.  (GM2FLAGS) Defined.
	(GM2_FOR_TARGET) Defined.  (GM2FLAGS_FOR_TARGET) Defined.
	(EXTRA_HOST_FLAGS) Defined.  (POSTSTAGE1_FLAGS_TO_PASS)
	Add GM2 and GM2_FOR_BUILD.  (EXTRA_TARGET_FLAGS) Add
	GM2 and GM2FLAGS.  (EXTRA_GCC_FLAGS) Add GM2_FOR_TARGET.
	* configure: (Rebuilt).
	* Makefile.in: (Rebuilt).

libgm2/ChangeLog:

	* Makefile.am: (New file).
	* autogen.sh: (New file).
	* config.h.in: (New file).
	* configure.ac: (New file).
	* libm2cor/KeyBoardLEDs.cc: (New file).
	* libm2cor/Makefile.am: (New file).
	* libm2iso/ChanConsts.h: (New file).
	* libm2iso/ErrnoCategory.cc: (New file).
	* libm2iso/Makefile.am: (New file).
	* libm2iso/RTco.cc: (New file).
	* libm2iso/m2rts.h: (New file).
	* libm2iso/wrapsock.c: (New file).
	* libm2iso/wraptime.c: (New file).
	* libm2log/Break.c: (New file).
	* libm2log/Makefile.am: (New file).
	* libm2min/Makefile.am: (New file).
	* libm2min/libc.c: (New file).
	* libm2pim/Makefile.am: (New file).
	* libm2pim/Selective.cc: (New file).
	* libm2pim/SysExceptions.cc: (New file).
	* libm2pim/UnixArgs.cc: (New file).
	* libm2pim/cgetopt.cc: (New file).
	* libm2pim/dtoa.cc: (New file).
	* libm2pim/errno.cc: (New file).
	* libm2pim/ldtoa.cc: (New file).
	* libm2pim/sckt.cc: (New file).
	* libm2pim/target.c: (New file).
	* libm2pim/termios.cc: (New file).
	* libm2pim/wrapc.c: (New file).
	* configure: (Rebuilt).
	* libm2log/Makefile.in: (Rebuilt).
	* libm2min/Makefile.in: (Rebuilt).
	* libm2cor/Makefile.in: (Rebuilt).
	* libm2pim/Makefile.in: (Rebuilt).
	* libm2iso/Makefile.in: (Rebuilt).

gcc/ChangeLog:

	* configure.ac (HAVE_PYTHON): Test for Python3 added.
	* dwarf2out.cc (gen_compile_unit_die): Check language_string
	and language to DW_LANG_Modula2.
	* doc/install.texi: Add m2 as a language.  (--disable-libgm2)
	Documented.  Add make check-m2 to testing selected tests.
	* doc/sourcebuild.texi (GM2): New prerequisite item.
	(Python3 modules) New item.  (libgm2) Added.
	(gcc/m2) Added.
	* configure: (Rebuilt).
	* config.in: (Rebuilt).

gcc/m2/ChangeLog:

	* COPYING.FDL: (New file).
	* COPYING.RUNTIME: (New file).
	* COPYING3: (New file).
	* COPYING3.LIB: (New file).
	* Make-lang.in: (New file).
	* Make-maintainer.in: (New file).
	* NEWS: (New file).
	* README: (New file).
	* config-lang.in: (New file).
	* config-make.in: (New file).
	* configure.ac: (New file).
	* gm2-compiler/CLexBuf.def: (New file).
	* gm2-compiler/CLexBuf.mod: (New file).
	* gm2-compiler/FifoQueue.def: (New file).
	* gm2-compiler/FifoQueue.mod: (New file).
	* gm2-compiler/Lists.def: (New file).
	* gm2-compiler/Lists.mod: (New file).
	* gm2-compiler/M2ALU.def: (New file).
	* gm2-compiler/M2ALU.mod: (New file).
	* gm2-compiler/M2AsmUtil.def: (New file).
	* gm2-compiler/M2AsmUtil.mod: (New file).
	* gm2-compiler/M2Base.def: (New file).
	* gm2-compiler/M2Base.mod: (New file).
	* gm2-compiler/M2BasicBlock.def: (New file).
	* gm2-compiler/M2BasicBlock.mod: (New file).
	* gm2-compiler/M2Batch.def: (New file).
	* gm2-compiler/M2Batch.mod: (New file).
	* gm2-compiler/M2Bitset.def: (New file).
	* gm2-compiler/M2Bitset.mod: (New file).
	* gm2-compiler/M2CaseList.def: (New file).
	* gm2-compiler/M2CaseList.mod: (New file).
	* gm2-compiler/M2Check.def: (New file).
	* gm2-compiler/M2Check.mod: (New file).
	* gm2-compiler/M2Code.def: (New file).
	* gm2-compiler/M2Code.mod: (New file).
	* gm2-compiler/M2ColorString.def: (New file).
	* gm2-compiler/M2ColorString.mod: (New file).
	* gm2-compiler/M2Comp.def: (New file).
	* gm2-compiler/M2Comp.mod: (New file).
	* gm2-compiler/M2Const.def: (New file).
	* gm2-compiler/M2Const.mod: (New file).
	* gm2-compiler/M2Debug.def: (New file).
	* gm2-compiler/M2Debug.mod: (New file).
	* gm2-compiler/M2DebugStack.def: (New file).
	* gm2-compiler/M2DebugStack.mod: (New file).
	* gm2-compiler/M2Defaults.def: (New file).
	* gm2-compiler/M2Defaults.mod: (New file).
	* gm2-compiler/M2DriverOptions.def: (New file).
	* gm2-compiler/M2DriverOptions.mod: (New file).
	* gm2-compiler/M2Emit.def: (New file).
	* gm2-compiler/M2Emit.mod: (New file).
	* gm2-compiler/M2Error.def: (New file).
	* gm2-compiler/M2Error.mod: (New file).
	* gm2-compiler/M2EvalSym.def: (New file).
	* gm2-compiler/M2FileName.def: (New file).
	* gm2-compiler/M2FileName.mod: (New file).
	* gm2-compiler/M2GCCDeclare.def: (New file).
	* gm2-compiler/M2GCCDeclare.mod: (New file).
	* gm2-compiler/M2GenGCC.def: (New file).
	* gm2-compiler/M2GenGCC.mod: (New file).
	* gm2-compiler/M2Graph.def: (New file).
	* gm2-compiler/M2Graph.mod: (New file).
	* gm2-compiler/M2Lex.def: (New file).
	* gm2-compiler/M2Lex.mod: (New file).
	* gm2-compiler/M2LexBuf.def: (New file).
	* gm2-compiler/M2LexBuf.mod: (New file).
	* gm2-compiler/M2MetaError.def: (New file).
	* gm2-compiler/M2MetaError.mod: (New file).
	* gm2-compiler/M2Optimize.def: (New file).
	* gm2-compiler/M2Optimize.mod: (New file).
	* gm2-compiler/M2Options.def: (New file).
	* gm2-compiler/M2Options.mod: (New file).
	* gm2-compiler/M2Pass.def: (New file).
	* gm2-compiler/M2Pass.mod: (New file).
	* gm2-compiler/M2Preprocess.def: (New file).
	* gm2-compiler/M2Preprocess.mod: (New file).
	* gm2-compiler/M2Printf.def: (New file).
	* gm2-compiler/M2Printf.mod: (New file).
	* gm2-compiler/M2Quads.def: (New file).
	* gm2-compiler/M2Quads.mod: (New file).
	* gm2-compiler/M2Quiet.def: (New file).
	* gm2-compiler/M2Quiet.mod: (New file).
	* gm2-compiler/M2Range.def: (New file).
	* gm2-compiler/M2Range.mod: (New file).
	* gm2-compiler/M2Reserved.def: (New file).
	* gm2-compiler/M2Reserved.mod: (New file).
	* gm2-compiler/M2SSA.def: (New file).
	* gm2-compiler/M2SSA.mod: (New file).
	* gm2-compiler/M2Scaffold.def: (New file).
	* gm2-compiler/M2Scaffold.mod: (New file).
	* gm2-compiler/M2Scope.def: (New file).
	* gm2-compiler/M2Scope.mod: (New file).
	* gm2-compiler/M2Search.def: (New file).
	* gm2-compiler/M2Search.mod: (New file).
	* gm2-compiler/M2Size.def: (New file).
	* gm2-compiler/M2Size.mod: (New file).
	* gm2-compiler/M2StackAddress.def: (New file).
	* gm2-compiler/M2StackAddress.mod: (New file).
	* gm2-compiler/M2StackWord.def: (New file).
	* gm2-compiler/M2StackWord.mod: (New file).
	* gm2-compiler/M2Students.def: (New file).
	* gm2-compiler/M2Students.mod: (New file).
	* gm2-compiler/M2Swig.def: (New file).
	* gm2-compiler/M2Swig.mod: (New file).
	* gm2-compiler/M2System.def: (New file).
	* gm2-compiler/M2System.mod: (New file).
	* gm2-compiler/M2Version.def: (New file).
	* gm2-compiler/NameKey.def: (New file).
	* gm2-compiler/NameKey.mod: (New file).
	* gm2-compiler/ObjectFiles.def: (New file).
	* gm2-compiler/ObjectFiles.mod: (New file).
	* gm2-compiler/Output.def: (New file).
	* gm2-compiler/Output.mod: (New file).
	* gm2-compiler/P0SymBuild.def: (New file).
	* gm2-compiler/P0SymBuild.mod: (New file).
	* gm2-compiler/P0SyntaxCheck.bnf: (New file).
	* gm2-compiler/P0SyntaxCheck.def: (New file).
	* gm2-compiler/P1Build.bnf: (New file).
	* gm2-compiler/P1Build.def: (New file).
	* gm2-compiler/P1SymBuild.def: (New file).
	* gm2-compiler/P1SymBuild.mod: (New file).
	* gm2-compiler/P2Build.bnf: (New file).
	* gm2-compiler/P2Build.def: (New file).
	* gm2-compiler/P2SymBuild.def: (New file).
	* gm2-compiler/P2SymBuild.mod: (New file).
	* gm2-compiler/P3Build.bnf: (New file).
	* gm2-compiler/P3Build.def: (New file).
	* gm2-compiler/P3SymBuild.def: (New file).
	* gm2-compiler/P3SymBuild.mod: (New file).
	* gm2-compiler/PCBuild.bnf: (New file).
	* gm2-compiler/PCBuild.def: (New file).
	* gm2-compiler/PCSymBuild.def: (New file).
	* gm2-compiler/PCSymBuild.mod: (New file).
	* gm2-compiler/PHBuild.bnf: (New file).
	* gm2-compiler/PHBuild.def: (New file).
	* gm2-compiler/README: (New file).
	* gm2-compiler/Sets.def: (New file).
	* gm2-compiler/Sets.mod: (New file).
	* gm2-compiler/SymbolConversion.def: (New file).
	* gm2-compiler/SymbolConversion.mod: (New file).
	* gm2-compiler/SymbolKey.def: (New file).
	* gm2-compiler/SymbolKey.mod: (New file).
	* gm2-compiler/SymbolTable.def: (New file).
	* gm2-compiler/SymbolTable.mod: (New file).
	* gm2-compiler/bnflex.def: (New file).
	* gm2-compiler/bnflex.mod: (New file).
	* gm2-compiler/cflex.def: (New file).
	* gm2-compiler/gm2.mod: (New file).
	* gm2-compiler/gm2lcc.mod: (New file).
	* gm2-compiler/gm2lgen.mod: (New file).
	* gm2-compiler/gm2lorder.mod: (New file).
	* gm2-compiler/m2flex.def: (New file).
	* gm2-compiler/ppg.mod: (New file).
	* gm2-gcc/README: (New file).
	* gm2-gcc/dynamicstrings.h: (New file).
	* gm2-gcc/gcc-consolidation.h: (New file).
	* gm2-gcc/init.cc: (New file).
	* gm2-gcc/init.def: (New file).
	* gm2-gcc/init.h: (New file).
	* gm2-gcc/m2assert.cc: (New file).
	* gm2-gcc/m2assert.h: (New file).
	* gm2-gcc/m2block.cc: (New file).
	* gm2-gcc/m2block.def: (New file).
	* gm2-gcc/m2block.h: (New file).
	* gm2-gcc/m2builtins.cc: (New file).
	* gm2-gcc/m2builtins.def: (New file).
	* gm2-gcc/m2builtins.h: (New file).
	* gm2-gcc/m2color.cc: (New file).
	* gm2-gcc/m2color.def: (New file).
	* gm2-gcc/m2color.h: (New file).
	* gm2-gcc/m2configure.cc: (New file).
	* gm2-gcc/m2configure.def: (New file).
	* gm2-gcc/m2configure.h: (New file).
	* gm2-gcc/m2convert.cc: (New file).
	* gm2-gcc/m2convert.def: (New file).
	* gm2-gcc/m2convert.h: (New file).
	* gm2-gcc/m2decl.cc: (New file).
	* gm2-gcc/m2decl.def: (New file).
	* gm2-gcc/m2decl.h: (New file).
	* gm2-gcc/m2except.cc: (New file).
	* gm2-gcc/m2except.def: (New file).
	* gm2-gcc/m2except.h: (New file).
	* gm2-gcc/m2expr.cc: (New file).
	* gm2-gcc/m2expr.def: (New file).
	* gm2-gcc/m2expr.h: (New file).
	* gm2-gcc/m2linemap.cc: (New file).
	* gm2-gcc/m2linemap.def: (New file).
	* gm2-gcc/m2linemap.h: (New file).
	* gm2-gcc/m2misc.cc: (New file).
	* gm2-gcc/m2misc.def: (New file).
	* gm2-gcc/m2misc.h: (New file).
	* gm2-gcc/m2options.h: (New file).
	* gm2-gcc/m2range.h: (New file).
	* gm2-gcc/m2search.h: (New file).
	* gm2-gcc/m2statement.cc: (New file).
	* gm2-gcc/m2statement.def: (New file).
	* gm2-gcc/m2statement.h: (New file).
	* gm2-gcc/m2top.cc: (New file).
	* gm2-gcc/m2top.def: (New file).
	* gm2-gcc/m2top.h: (New file).
	* gm2-gcc/m2tree.cc: (New file).
	* gm2-gcc/m2tree.def: (New file).
	* gm2-gcc/m2tree.h: (New file).
	* gm2-gcc/m2treelib.cc: (New file).
	* gm2-gcc/m2treelib.def: (New file).
	* gm2-gcc/m2treelib.h: (New file).
	* gm2-gcc/m2type.cc: (New file).
	* gm2-gcc/m2type.def: (New file).
	* gm2-gcc/m2type.h: (New file).
	* gm2-gcc/rtegraph.cc: (New file).
	* gm2-gcc/rtegraph.h: (New file).
	* gm2-ici/M2Emit.mod: (New file).
	* gm2-ici/README: (New file).
	* gm2-ici/m2linemap.c: (New file).
	* gm2-internals.texi: (New file).
	* gm2-lang.cc: (New file).
	* gm2-lang.h: (New file).
	* gm2-libiberty/README: (New file).
	* gm2-libiberty/choosetemp.def: (New file).
	* gm2-libiberty/pexecute.def: (New file).
	* gm2-libs-ch/M2LINK.c: (New file).
	* gm2-libs-ch/README: (New file).
	* gm2-libs-ch/RTcodummy.c: (New file).
	* gm2-libs-ch/RTintdummy.c: (New file).
	* gm2-libs-ch/Selective.c: (New file).
	* gm2-libs-ch/SysExceptions.c: (New file).
	* gm2-libs-ch/UnixArgs.cc: (New file).
	* gm2-libs-ch/cgetopt.c: (New file).
	* gm2-libs-ch/choosetemp.c: (New file).
	* gm2-libs-ch/dtoa.cc: (New file).
	* gm2-libs-ch/errno.c: (New file).
	* gm2-libs-ch/host.c: (New file).
	* gm2-libs-ch/ldtoa.cc: (New file).
	* gm2-libs-ch/m2rts.h: (New file).
	* gm2-libs-ch/termios.c: (New file).
	* gm2-libs-ch/tools.c: (New file).
	* gm2-libs-ch/wrapc.c: (New file).
	* gm2-libs-ch/xlibc.c: (New file).
	* gm2-libs-coroutines/Debug.def: (New file).
	* gm2-libs-coroutines/Debug.mod: (New file).
	* gm2-libs-coroutines/Executive.def: (New file).
	* gm2-libs-coroutines/Executive.mod: (New file).
	* gm2-libs-coroutines/KeyBoardLEDs.def: (New file).
	* gm2-libs-coroutines/README.texi: (New file).
	* gm2-libs-coroutines/SYSTEM.def: (New file).
	* gm2-libs-coroutines/SYSTEM.mod: (New file).
	* gm2-libs-coroutines/TimerHandler.def: (New file).
	* gm2-libs-coroutines/TimerHandler.mod: (New file).
	* gm2-libs-iso/COROUTINES.def: (New file).
	* gm2-libs-iso/COROUTINES.mod: (New file).
	* gm2-libs-iso/ChanConsts.def: (New file).
	* gm2-libs-iso/ChanConsts.h: (New file).
	* gm2-libs-iso/ChanConsts.mod: (New file).
	* gm2-libs-iso/CharClass.def: (New file).
	* gm2-libs-iso/CharClass.mod: (New file).
	* gm2-libs-iso/ClientSocket.def: (New file).
	* gm2-libs-iso/ClientSocket.mod: (New file).
	* gm2-libs-iso/ComplexMath.def: (New file).
	* gm2-libs-iso/ComplexMath.mod: (New file).
	* gm2-libs-iso/ConvStringLong.def: (New file).
	* gm2-libs-iso/ConvStringLong.mod: (New file).
	* gm2-libs-iso/ConvStringReal.def: (New file).
	* gm2-libs-iso/ConvStringReal.mod: (New file).
	* gm2-libs-iso/ConvTypes.def: (New file).
	* gm2-libs-iso/ConvTypes.mod: (New file).
	* gm2-libs-iso/EXCEPTIONS.def: (New file).
	* gm2-libs-iso/EXCEPTIONS.mod: (New file).
	* gm2-libs-iso/ErrnoCategory.def: (New file).
	* gm2-libs-iso/GeneralUserExceptions.def: (New file).
	* gm2-libs-iso/GeneralUserExceptions.mod: (New file).
	* gm2-libs-iso/IOChan.def: (New file).
	* gm2-libs-iso/IOChan.mod: (New file).
	* gm2-libs-iso/IOConsts.def: (New file).
	* gm2-libs-iso/IOConsts.mod: (New file).
	* gm2-libs-iso/IOLink.def: (New file).
	* gm2-libs-iso/IOLink.mod: (New file).
	* gm2-libs-iso/IOResult.def: (New file).
	* gm2-libs-iso/IOResult.mod: (New file).
	* gm2-libs-iso/LongComplexMath.def: (New file).
	* gm2-libs-iso/LongComplexMath.mod: (New file).
	* gm2-libs-iso/LongConv.def: (New file).
	* gm2-libs-iso/LongConv.mod: (New file).
	* gm2-libs-iso/LongIO.def: (New file).
	* gm2-libs-iso/LongIO.mod: (New file).
	* gm2-libs-iso/LongMath.def: (New file).
	* gm2-libs-iso/LongMath.mod: (New file).
	* gm2-libs-iso/LongStr.def: (New file).
	* gm2-libs-iso/LongStr.mod: (New file).
	* gm2-libs-iso/LongWholeIO.def: (New file).
	* gm2-libs-iso/LongWholeIO.mod: (New file).
	* gm2-libs-iso/LowLong.def: (New file).
	* gm2-libs-iso/LowLong.mod: (New file).
	* gm2-libs-iso/LowReal.def: (New file).
	* gm2-libs-iso/LowReal.mod: (New file).
	* gm2-libs-iso/LowShort.def: (New file).
	* gm2-libs-iso/LowShort.mod: (New file).
	* gm2-libs-iso/M2EXCEPTION.def: (New file).
	* gm2-libs-iso/M2EXCEPTION.mod: (New file).
	* gm2-libs-iso/M2RTS.def: (New file).
	* gm2-libs-iso/M2RTS.mod: (New file).
	* gm2-libs-iso/MemStream.def: (New file).
	* gm2-libs-iso/MemStream.mod: (New file).
	* gm2-libs-iso/Preemptive.def: (New file).
	* gm2-libs-iso/Preemptive.mod: (New file).
	* gm2-libs-iso/Processes.def: (New file).
	* gm2-libs-iso/Processes.mod: (New file).
	* gm2-libs-iso/ProgramArgs.def: (New file).
	* gm2-libs-iso/ProgramArgs.mod: (New file).
	* gm2-libs-iso/README.texi: (New file).
	* gm2-libs-iso/RTco.def: (New file).
	* gm2-libs-iso/RTdata.def: (New file).
	* gm2-libs-iso/RTdata.mod: (New file).
	* gm2-libs-iso/RTentity.def: (New file).
	* gm2-libs-iso/RTentity.mod: (New file).
	* gm2-libs-iso/RTfio.def: (New file).
	* gm2-libs-iso/RTfio.mod: (New file).
	* gm2-libs-iso/RTgen.def: (New file).
	* gm2-libs-iso/RTgen.mod: (New file).
	* gm2-libs-iso/RTgenif.def: (New file).
	* gm2-libs-iso/RTgenif.mod: (New file).
	* gm2-libs-iso/RTio.def: (New file).
	* gm2-libs-iso/RTio.mod: (New file).
	* gm2-libs-iso/RandomNumber.def: (New file).
	* gm2-libs-iso/RandomNumber.mod: (New file).
	* gm2-libs-iso/RawIO.def: (New file).
	* gm2-libs-iso/RawIO.mod: (New file).
	* gm2-libs-iso/RealConv.def: (New file).
	* gm2-libs-iso/RealConv.mod: (New file).
	* gm2-libs-iso/RealIO.def: (New file).
	* gm2-libs-iso/RealIO.mod: (New file).
	* gm2-libs-iso/RealMath.def: (New file).
	* gm2-libs-iso/RealMath.mod: (New file).
	* gm2-libs-iso/RealStr.def: (New file).
	* gm2-libs-iso/RealStr.mod: (New file).
	* gm2-libs-iso/RndFile.def: (New file).
	* gm2-libs-iso/RndFile.mod: (New file).
	* gm2-libs-iso/SIOResult.def: (New file).
	* gm2-libs-iso/SIOResult.mod: (New file).
	* gm2-libs-iso/SLongIO.def: (New file).
	* gm2-libs-iso/SLongIO.mod: (New file).
	* gm2-libs-iso/SLongWholeIO.def: (New file).
	* gm2-libs-iso/SLongWholeIO.mod: (New file).
	* gm2-libs-iso/SRawIO.def: (New file).
	* gm2-libs-iso/SRawIO.mod: (New file).
	* gm2-libs-iso/SRealIO.def: (New file).
	* gm2-libs-iso/SRealIO.mod: (New file).
	* gm2-libs-iso/SShortIO.def: (New file).
	* gm2-libs-iso/SShortIO.mod: (New file).
	* gm2-libs-iso/SShortWholeIO.def: (New file).
	* gm2-libs-iso/SShortWholeIO.mod: (New file).
	* gm2-libs-iso/STextIO.def: (New file).
	* gm2-libs-iso/STextIO.mod: (New file).
	* gm2-libs-iso/SWholeIO.def: (New file).
	* gm2-libs-iso/SWholeIO.mod: (New file).
	* gm2-libs-iso/SYSTEM.def: (New file).
	* gm2-libs-iso/SYSTEM.mod: (New file).
	* gm2-libs-iso/Semaphores.def: (New file).
	* gm2-libs-iso/Semaphores.mod: (New file).
	* gm2-libs-iso/SeqFile.def: (New file).
	* gm2-libs-iso/SeqFile.mod: (New file).
	* gm2-libs-iso/ShortComplexMath.def: (New file).
	* gm2-libs-iso/ShortComplexMath.mod: (New file).
	* gm2-libs-iso/ShortIO.def: (New file).
	* gm2-libs-iso/ShortIO.mod: (New file).
	* gm2-libs-iso/ShortWholeIO.def: (New file).
	* gm2-libs-iso/ShortWholeIO.mod: (New file).
	* gm2-libs-iso/SimpleCipher.def: (New file).
	* gm2-libs-iso/SimpleCipher.mod: (New file).
	* gm2-libs-iso/StdChans.def: (New file).
	* gm2-libs-iso/StdChans.mod: (New file).
	* gm2-libs-iso/Storage.def: (New file).
	* gm2-libs-iso/Storage.mod: (New file).
	* gm2-libs-iso/StreamFile.def: (New file).
	* gm2-libs-iso/StreamFile.mod: (New file).
	* gm2-libs-iso/StringChan.def: (New file).
	* gm2-libs-iso/StringChan.mod: (New file).
	* gm2-libs-iso/Strings.def: (New file).
	* gm2-libs-iso/Strings.mod: (New file).
	* gm2-libs-iso/SysClock.def: (New file).
	* gm2-libs-iso/SysClock.mod: (New file).
	* gm2-libs-iso/TERMINATION.def: (New file).
	* gm2-libs-iso/TERMINATION.mod: (New file).
	* gm2-libs-iso/TermFile.def: (New file).
	* gm2-libs-iso/TermFile.mod: (New file).
	* gm2-libs-iso/TextIO.def: (New file).
	* gm2-libs-iso/TextIO.mod: (New file).
	* gm2-libs-iso/WholeConv.def: (New file).
	* gm2-libs-iso/WholeConv.mod: (New file).
	* gm2-libs-iso/WholeIO.def: (New file).
	* gm2-libs-iso/WholeIO.mod: (New file).
	* gm2-libs-iso/WholeStr.def: (New file).
	* gm2-libs-iso/WholeStr.mod: (New file).
	* gm2-libs-iso/wrapsock.c: (New file).
	* gm2-libs-iso/wrapsock.def: (New file).
	* gm2-libs-iso/wraptime.c: (New file).
	* gm2-libs-iso/wraptime.def: (New file).
	* gm2-libs-min/M2RTS.def: (New file).
	* gm2-libs-min/M2RTS.mod: (New file).
	* gm2-libs-min/SYSTEM.def: (New file).
	* gm2-libs-min/SYSTEM.mod: (New file).
	* gm2-libs-min/libc.c: (New file).
	* gm2-libs-min/libc.def: (New file).
	* gm2-libs-pim/BitBlockOps.def: (New file).
	* gm2-libs-pim/BitBlockOps.mod: (New file).
	* gm2-libs-pim/BitByteOps.def: (New file).
	* gm2-libs-pim/BitByteOps.mod: (New file).
	* gm2-libs-pim/BitWordOps.def: (New file).
	* gm2-libs-pim/BitWordOps.mod: (New file).
	* gm2-libs-pim/BlockOps.def: (New file).
	* gm2-libs-pim/BlockOps.mod: (New file).
	* gm2-libs-pim/Break.c: (New file).
	* gm2-libs-pim/Break.def: (New file).
	* gm2-libs-pim/CardinalIO.def: (New file).
	* gm2-libs-pim/CardinalIO.mod: (New file).
	* gm2-libs-pim/Conversions.def: (New file).
	* gm2-libs-pim/Conversions.mod: (New file).
	* gm2-libs-pim/DebugPMD.def: (New file).
	* gm2-libs-pim/DebugPMD.mod: (New file).
	* gm2-libs-pim/DebugTrace.def: (New file).
	* gm2-libs-pim/DebugTrace.mod: (New file).
	* gm2-libs-pim/Delay.def: (New file).
	* gm2-libs-pim/Delay.mod: (New file).
	* gm2-libs-pim/Display.def: (New file).
	* gm2-libs-pim/Display.mod: (New file).
	* gm2-libs-pim/ErrorCode.def: (New file).
	* gm2-libs-pim/ErrorCode.mod: (New file).
	* gm2-libs-pim/FileSystem.def: (New file).
	* gm2-libs-pim/FileSystem.mod: (New file).
	* gm2-libs-pim/FloatingUtilities.def: (New file).
	* gm2-libs-pim/FloatingUtilities.mod: (New file).
	* gm2-libs-pim/InOut.def: (New file).
	* gm2-libs-pim/InOut.mod: (New file).
	* gm2-libs-pim/Keyboard.def: (New file).
	* gm2-libs-pim/Keyboard.mod: (New file).
	* gm2-libs-pim/LongIO.def: (New file).
	* gm2-libs-pim/LongIO.mod: (New file).
	* gm2-libs-pim/NumberConversion.def: (New file).
	* gm2-libs-pim/NumberConversion.mod: (New file).
	* gm2-libs-pim/README.texi: (New file).
	* gm2-libs-pim/Random.def: (New file).
	* gm2-libs-pim/Random.mod: (New file).
	* gm2-libs-pim/RealConversions.def: (New file).
	* gm2-libs-pim/RealConversions.mod: (New file).
	* gm2-libs-pim/RealInOut.def: (New file).
	* gm2-libs-pim/RealInOut.mod: (New file).
	* gm2-libs-pim/Strings.def: (New file).
	* gm2-libs-pim/Strings.mod: (New file).
	* gm2-libs-pim/Termbase.def: (New file).
	* gm2-libs-pim/Termbase.mod: (New file).
	* gm2-libs-pim/Terminal.def: (New file).
	* gm2-libs-pim/Terminal.mod: (New file).
	* gm2-libs-pim/TimeDate.def: (New file).
	* gm2-libs-pim/TimeDate.mod: (New file).
	* gm2-libs/ASCII.def: (New file).
	* gm2-libs/ASCII.mod: (New file).
	* gm2-libs/Args.def: (New file).
	* gm2-libs/Args.mod: (New file).
	* gm2-libs/Assertion.def: (New file).
	* gm2-libs/Assertion.mod: (New file).
	* gm2-libs/Break.def: (New file).
	* gm2-libs/Break.mod: (New file).
	* gm2-libs/Builtins.def: (New file).
	* gm2-libs/Builtins.mod: (New file).
	* gm2-libs/COROUTINES.def: (New file).
	* gm2-libs/COROUTINES.mod: (New file).
	* gm2-libs/CmdArgs.def: (New file).
	* gm2-libs/CmdArgs.mod: (New file).
	* gm2-libs/Debug.def: (New file).
	* gm2-libs/Debug.mod: (New file).
	* gm2-libs/DynamicStrings.def: (New file).
	* gm2-libs/DynamicStrings.mod: (New file).
	* gm2-libs/Environment.def: (New file).
	* gm2-libs/Environment.mod: (New file).
	* gm2-libs/FIO.def: (New file).
	* gm2-libs/FIO.mod: (New file).
	* gm2-libs/FormatStrings.def: (New file).
	* gm2-libs/FormatStrings.mod: (New file).
	* gm2-libs/FpuIO.def: (New file).
	* gm2-libs/FpuIO.mod: (New file).
	* gm2-libs/GetOpt.def: (New file).
	* gm2-libs/GetOpt.mod: (New file).
	* gm2-libs/IO.def: (New file).
	* gm2-libs/IO.mod: (New file).
	* gm2-libs/Indexing.def: (New file).
	* gm2-libs/Indexing.mod: (New file).
	* gm2-libs/LMathLib0.def: (New file).
	* gm2-libs/LMathLib0.mod: (New file).
	* gm2-libs/LegacyReal.def: (New file).
	* gm2-libs/LegacyReal.mod: (New file).
	* gm2-libs/M2Dependent.def: (New file).
	* gm2-libs/M2Dependent.mod: (New file).
	* gm2-libs/M2EXCEPTION.def: (New file).
	* gm2-libs/M2EXCEPTION.mod: (New file).
	* gm2-libs/M2LINK.def: (New file).
	* gm2-libs/M2RTS.def: (New file).
	* gm2-libs/M2RTS.mod: (New file).
	* gm2-libs/MathLib0.def: (New file).
	* gm2-libs/MathLib0.mod: (New file).
	* gm2-libs/MemUtils.def: (New file).
	* gm2-libs/MemUtils.mod: (New file).
	* gm2-libs/NumberIO.def: (New file).
	* gm2-libs/NumberIO.mod: (New file).
	* gm2-libs/OptLib.def: (New file).
	* gm2-libs/OptLib.mod: (New file).
	* gm2-libs/PushBackInput.def: (New file).
	* gm2-libs/PushBackInput.mod: (New file).
	* gm2-libs/README.texi: (New file).
	* gm2-libs/RTExceptions.def: (New file).
	* gm2-libs/RTExceptions.mod: (New file).
	* gm2-libs/RTint.def: (New file).
	* gm2-libs/RTint.mod: (New file).
	* gm2-libs/SArgs.def: (New file).
	* gm2-libs/SArgs.mod: (New file).
	* gm2-libs/SCmdArgs.def: (New file).
	* gm2-libs/SCmdArgs.mod: (New file).
	* gm2-libs/SEnvironment.def: (New file).
	* gm2-libs/SEnvironment.mod: (New file).
	* gm2-libs/SFIO.def: (New file).
	* gm2-libs/SFIO.mod: (New file).
	* gm2-libs/SMathLib0.def: (New file).
	* gm2-libs/SMathLib0.mod: (New file).
	* gm2-libs/SYSTEM.def: (New file).
	* gm2-libs/SYSTEM.mod: (New file).
	* gm2-libs/Scan.def: (New file).
	* gm2-libs/Scan.mod: (New file).
	* gm2-libs/Selective.def: (New file).
	* gm2-libs/StdIO.def: (New file).
	* gm2-libs/StdIO.mod: (New file).
	* gm2-libs/Storage.def: (New file).
	* gm2-libs/Storage.mod: (New file).
	* gm2-libs/StrCase.def: (New file).
	* gm2-libs/StrCase.mod: (New file).
	* gm2-libs/StrIO.def: (New file).
	* gm2-libs/StrIO.mod: (New file).
	* gm2-libs/StrLib.def: (New file).
	* gm2-libs/StrLib.mod: (New file).
	* gm2-libs/StringConvert.def: (New file).
	* gm2-libs/StringConvert.mod: (New file).
	* gm2-libs/SysExceptions.def: (New file).
	* gm2-libs/SysStorage.def: (New file).
	* gm2-libs/SysStorage.mod: (New file).
	* gm2-libs/TimeString.def: (New file).
	* gm2-libs/TimeString.mod: (New file).
	* gm2-libs/UnixArgs.def: (New file).
	* gm2-libs/cbuiltin.def: (New file).
	* gm2-libs/cgetopt.def: (New file).
	* gm2-libs/config-host: (New file).
	* gm2-libs/config-host.in: (New file).
	* gm2-libs/cxxabi.def: (New file).
	* gm2-libs/dtoa.def: (New file).
	* gm2-libs/errno.def: (New file).
	* gm2-libs/gdbif.def: (New file).
	* gm2-libs/gdbif.mod: (New file).
	* gm2-libs/gm2-libs-host.h.in: (New file).
	* gm2-libs/ldtoa.def: (New file).
	* gm2-libs/libc.def: (New file).
	* gm2-libs/libm.def: (New file).
	* gm2-libs/sckt.def: (New file).
	* gm2-libs/termios.def: (New file).
	* gm2-libs/wrapc.def: (New file).
	* gm2config.h.in: (New file).
	* gm2spec.cc: (New file).
	* gm2version.h: (New file).
	* init/README: (New file).
	* init/mcinit: (New file).
	* init/ppginit: (New file).
	* lang-specs.h: (New file).
	* lang.opt: (New file).
	* m2-tree.def: (New file).
	* m2-tree.h: (New file).
	* m2.flex: (New file).
	* m2pp.cc: (New file).
	* m2pp.h: (New file).
	* mc-boot-ch/GBuiltins.c: (New file).
	* mc-boot-ch/GM2LINK.c: (New file).
	* mc-boot-ch/GRTco.c: (New file).
	* mc-boot-ch/GSYSTEM.c: (New file).
	* mc-boot-ch/GSelective.c: (New file).
	* mc-boot-ch/GSysExceptions.c: (New file).
	* mc-boot-ch/GUnixArgs.cc: (New file).
	* mc-boot-ch/Gabort.c: (New file).
	* mc-boot-ch/Gcbuiltin.c: (New file).
	* mc-boot-ch/Gdtoa.c: (New file).
	* mc-boot-ch/Gerrno.c: (New file).
	* mc-boot-ch/Gldtoa.c: (New file).
	* mc-boot-ch/Glibc.c: (New file).
	* mc-boot-ch/Glibm.c: (New file).
	* mc-boot-ch/Gmcrts.c: (New file).
	* mc-boot-ch/Gmcrts.h: (New file).
	* mc-boot-ch/Gnetwork.h: (New file).
	* mc-boot-ch/Gtermios.cc: (New file).
	* mc-boot-ch/Gwrapc.c: (New file).
	* mc-boot-ch/README: (New file).
	* mc-boot-ch/m2rts.h: (New file).
	* mc-boot-ch/network.c: (New file).
	* mc-boot/GASCII.c: (New file).
	* mc-boot/GASCII.h: (New file).
	* mc-boot/GArgs.c: (New file).
	* mc-boot/GArgs.h: (New file).
	* mc-boot/GAssertion.c: (New file).
	* mc-boot/GAssertion.h: (New file).
	* mc-boot/GBreak.c: (New file).
	* mc-boot/GBreak.h: (New file).
	* mc-boot/GCOROUTINES.h: (New file).
	* mc-boot/GCmdArgs.c: (New file).
	* mc-boot/GCmdArgs.h: (New file).
	* mc-boot/GDebug.c: (New file).
	* mc-boot/GDebug.h: (New file).
	* mc-boot/GDynamicStrings.c: (New file).
	* mc-boot/GDynamicStrings.h: (New file).
	* mc-boot/GEnvironment.c: (New file).
	* mc-boot/GEnvironment.h: (New file).
	* mc-boot/GFIO.c: (New file).
	* mc-boot/GFIO.h: (New file).
	* mc-boot/GFormatStrings.c: (New file).
	* mc-boot/GFormatStrings.h: (New file).
	* mc-boot/GFpuIO.c: (New file).
	* mc-boot/GFpuIO.h: (New file).
	* mc-boot/GIO.c: (New file).
	* mc-boot/GIO.h: (New file).
	* mc-boot/GIndexing.c: (New file).
	* mc-boot/GIndexing.h: (New file).
	* mc-boot/GM2Dependent.c: (New file).
	* mc-boot/GM2Dependent.h: (New file).
	* mc-boot/GM2EXCEPTION.c: (New file).
	* mc-boot/GM2EXCEPTION.h: (New file).
	* mc-boot/GM2LINK.h: (New file).
	* mc-boot/GM2RTS.c: (New file).
	* mc-boot/GM2RTS.h: (New file).
	* mc-boot/GMemUtils.c: (New file).
	* mc-boot/GMemUtils.h: (New file).
	* mc-boot/GNumberIO.c: (New file).
	* mc-boot/GNumberIO.h: (New file).
	* mc-boot/GPushBackInput.c: (New file).
	* mc-boot/GPushBackInput.h: (New file).
	* mc-boot/GRTExceptions.c: (New file).
	* mc-boot/GRTExceptions.h: (New file).
	* mc-boot/GRTco.h: (New file).
	* mc-boot/GRTint.c: (New file).
	* mc-boot/GRTint.h: (New file).
	* mc-boot/GSArgs.c: (New file).
	* mc-boot/GSArgs.h: (New file).
	* mc-boot/GSFIO.c: (New file).
	* mc-boot/GSFIO.h: (New file).
	* mc-boot/GSYSTEM.h: (New file).
	* mc-boot/GSelective.h: (New file).
	* mc-boot/GStdIO.c: (New file).
	* mc-boot/GStdIO.h: (New file).
	* mc-boot/GStorage.c: (New file).
	* mc-boot/GStorage.h: (New file).
	* mc-boot/GStrCase.c: (New file).
	* mc-boot/GStrCase.h: (New file).
	* mc-boot/GStrIO.c: (New file).
	* mc-boot/GStrIO.h: (New file).
	* mc-boot/GStrLib.c: (New file).
	* mc-boot/GStrLib.h: (New file).
	* mc-boot/GStringConvert.c: (New file).
	* mc-boot/GStringConvert.h: (New file).
	* mc-boot/GSysExceptions.h: (New file).
	* mc-boot/GSysStorage.c: (New file).
	* mc-boot/GSysStorage.h: (New file).
	* mc-boot/GTimeString.c: (New file).
	* mc-boot/GTimeString.h: (New file).
	* mc-boot/GUnixArgs.h: (New file).
	* mc-boot/Galists.c: (New file).
	* mc-boot/Galists.h: (New file).
	* mc-boot/Gdecl.c: (New file).
	* mc-boot/Gdecl.h: (New file).
	* mc-boot/Gdtoa.h: (New file).
	* mc-boot/Gerrno.h: (New file).
	* mc-boot/Gkeyc.c: (New file).
	* mc-boot/Gkeyc.h: (New file).
	* mc-boot/Gldtoa.h: (New file).
	* mc-boot/Glibc.h: (New file).
	* mc-boot/Glibm.h: (New file).
	* mc-boot/Glists.c: (New file).
	* mc-boot/Glists.h: (New file).
	* mc-boot/GmcComment.c: (New file).
	* mc-boot/GmcComment.h: (New file).
	* mc-boot/GmcComp.c: (New file).
	* mc-boot/GmcComp.h: (New file).
	* mc-boot/GmcDebug.c: (New file).
	* mc-boot/GmcDebug.h: (New file).
	* mc-boot/GmcError.c: (New file).
	* mc-boot/GmcError.h: (New file).
	* mc-boot/GmcFileName.c: (New file).
	* mc-boot/GmcFileName.h: (New file).
	* mc-boot/GmcLexBuf.c: (New file).
	* mc-boot/GmcLexBuf.h: (New file).
	* mc-boot/GmcMetaError.c: (New file).
	* mc-boot/GmcMetaError.h: (New file).
	* mc-boot/GmcOptions.c: (New file).
	* mc-boot/GmcOptions.h: (New file).
	* mc-boot/GmcPreprocess.c: (New file).
	* mc-boot/GmcPreprocess.h: (New file).
	* mc-boot/GmcPretty.c: (New file).
	* mc-boot/GmcPretty.h: (New file).
	* mc-boot/GmcPrintf.c: (New file).
	* mc-boot/GmcPrintf.h: (New file).
	* mc-boot/GmcQuiet.c: (New file).
	* mc-boot/GmcQuiet.h: (New file).
	* mc-boot/GmcReserved.c: (New file).
	* mc-boot/GmcReserved.h: (New file).
	* mc-boot/GmcSearch.c: (New file).
	* mc-boot/GmcSearch.h: (New file).
	* mc-boot/GmcStack.c: (New file).
	* mc-boot/GmcStack.h: (New file).
	* mc-boot/GmcStream.c: (New file).
	* mc-boot/GmcStream.h: (New file).
	* mc-boot/Gmcflex.h: (New file).
	* mc-boot/Gmcp1.c: (New file).
	* mc-boot/Gmcp1.h: (New file).
	* mc-boot/Gmcp2.c: (New file).
	* mc-boot/Gmcp2.h: (New file).
	* mc-boot/Gmcp3.c: (New file).
	* mc-boot/Gmcp3.h: (New file).
	* mc-boot/Gmcp4.c: (New file).
	* mc-boot/Gmcp4.h: (New file).
	* mc-boot/Gmcp5.c: (New file).
	* mc-boot/Gmcp5.h: (New file).
	* mc-boot/GnameKey.c: (New file).
	* mc-boot/GnameKey.h: (New file).
	* mc-boot/Gpth.h: (New file).
	* mc-boot/GsymbolKey.c: (New file).
	* mc-boot/GsymbolKey.h: (New file).
	* mc-boot/Gtermios.h: (New file).
	* mc-boot/Gtop.c: (New file).
	* mc-boot/Gvarargs.c: (New file).
	* mc-boot/Gvarargs.h: (New file).
	* mc-boot/Gwlists.c: (New file).
	* mc-boot/Gwlists.h: (New file).
	* mc-boot/Gwrapc.h: (New file).
	* mc-boot/README: (New file).
	* mc/Indexing.def: (New file).
	* mc/Indexing.mod: (New file).
	* mc/README: (New file).
	* mc/alists.def: (New file).
	* mc/alists.mod: (New file).
	* mc/decl.def: (New file).
	* mc/decl.mod: (New file).
	* mc/decl.mod-extra: (New file).
	* mc/keyc.def: (New file).
	* mc/keyc.mod: (New file).
	* mc/lists.def: (New file).
	* mc/lists.mod: (New file).
	* mc/m2flex.def: (New file).
	* mc/mc.flex: (New file).
	* mc/mcComment.def: (New file).
	* mc/mcComment.h: (New file).
	* mc/mcComment.mod: (New file).
	* mc/mcComp.def: (New file).
	* mc/mcComp.mod: (New file).
	* mc/mcDebug.def: (New file).
	* mc/mcDebug.mod: (New file).
	* mc/mcError.def: (New file).
	* mc/mcError.mod: (New file).
	* mc/mcFileName.def: (New file).
	* mc/mcFileName.mod: (New file).
	* mc/mcLexBuf.def: (New file).
	* mc/mcLexBuf.h: (New file).
	* mc/mcLexBuf.mod: (New file).
	* mc/mcMetaError.def: (New file).
	* mc/mcMetaError.mod: (New file).
	* mc/mcOptions.def: (New file).
	* mc/mcOptions.mod: (New file).
	* mc/mcPreprocess.def: (New file).
	* mc/mcPreprocess.mod: (New file).
	* mc/mcPretty.def: (New file).
	* mc/mcPretty.mod: (New file).
	* mc/mcPrintf.def: (New file).
	* mc/mcPrintf.mod: (New file).
	* mc/mcQuiet.def: (New file).
	* mc/mcQuiet.mod: (New file).
	* mc/mcReserved.def: (New file).
	* mc/mcReserved.h: (New file).
	* mc/mcReserved.mod: (New file).
	* mc/mcSearch.def: (New file).
	* mc/mcSearch.mod: (New file).
	* mc/mcStack.def: (New file).
	* mc/mcStack.mod: (New file).
	* mc/mcStream.def: (New file).
	* mc/mcStream.mod: (New file).
	* mc/mcflex.def: (New file).
	* mc/mcp1.bnf: (New file).
	* mc/mcp1.def: (New file).
	* mc/mcp2.bnf: (New file).
	* mc/mcp2.def: (New file).
	* mc/mcp3.bnf: (New file).
	* mc/mcp3.def: (New file).
	* mc/mcp4.bnf: (New file).
	* mc/mcp4.def: (New file).
	* mc/mcp5.bnf: (New file).
	* mc/mcp5.def: (New file).
	* mc/nameKey.def: (New file).
	* mc/nameKey.mod: (New file).
	* mc/symbolKey.def: (New file).
	* mc/symbolKey.mod: (New file).
	* mc/top.mod: (New file).
	* mc/varargs.def: (New file).
	* mc/varargs.mod: (New file).
	* mc/wlists.def: (New file).
	* mc/wlists.mod: (New file).
	* pge-boot/GASCII.c: (New file).
	* pge-boot/GASCII.h: (New file).
	* pge-boot/GArgs.c: (New file).
	* pge-boot/GArgs.h: (New file).
	* pge-boot/GAssertion.c: (New file).
	* pge-boot/GAssertion.h: (New file).
	* pge-boot/GBreak.h: (New file).
	* pge-boot/GBuiltins.c: (New file).
	* pge-boot/GCmdArgs.h: (New file).
	* pge-boot/GDebug.c: (New file).
	* pge-boot/GDebug.h: (New file).
	* pge-boot/GDynamicStrings.c: (New file).
	* pge-boot/GDynamicStrings.h: (New file).
	* pge-boot/GEnvironment.h: (New file).
	* pge-boot/GFIO.c: (New file).
	* pge-boot/GFIO.h: (New file).
	* pge-boot/GFormatStrings.h: (New file).
	* pge-boot/GFpuIO.h: (New file).
	* pge-boot/GIO.c: (New file).
	* pge-boot/GIO.h: (New file).
	* pge-boot/GIndexing.c: (New file).
	* pge-boot/GIndexing.h: (New file).
	* pge-boot/GLists.c: (New file).
	* pge-boot/GLists.h: (New file).
	* pge-boot/GM2Dependent.c: (New file).
	* pge-boot/GM2Dependent.h: (New file).
	* pge-boot/GM2EXCEPTION.c: (New file).
	* pge-boot/GM2EXCEPTION.h: (New file).
	* pge-boot/GM2LINK.c: (New file).
	* pge-boot/GM2LINK.h: (New file).
	* pge-boot/GM2RTS.c: (New file).
	* pge-boot/GM2RTS.h: (New file).
	* pge-boot/GNameKey.c: (New file).
	* pge-boot/GNameKey.h: (New file).
	* pge-boot/GNumberIO.c: (New file).
	* pge-boot/GNumberIO.h: (New file).
	* pge-boot/GOutput.c: (New file).
	* pge-boot/GOutput.h: (New file).
	* pge-boot/GPushBackInput.c: (New file).
	* pge-boot/GPushBackInput.h: (New file).
	* pge-boot/GRTExceptions.c: (New file).
	* pge-boot/GRTExceptions.h: (New file).
	* pge-boot/GRTco.c: (New file).
	* pge-boot/GSArgs.h: (New file).
	* pge-boot/GSEnvironment.h: (New file).
	* pge-boot/GSFIO.c: (New file).
	* pge-boot/GSFIO.h: (New file).
	* pge-boot/GSYSTEM.c: (New file).
	* pge-boot/GSYSTEM.h: (New file).
	* pge-boot/GScan.h: (New file).
	* pge-boot/GSelective.c: (New file).
	* pge-boot/GStdIO.c: (New file).
	* pge-boot/GStdIO.h: (New file).
	* pge-boot/GStorage.c: (New file).
	* pge-boot/GStorage.h: (New file).
	* pge-boot/GStrCase.c: (New file).
	* pge-boot/GStrCase.h: (New file).
	* pge-boot/GStrIO.c: (New file).
	* pge-boot/GStrIO.h: (New file).
	* pge-boot/GStrLib.c: (New file).
	* pge-boot/GStrLib.h: (New file).
	* pge-boot/GStringConvert.h: (New file).
	* pge-boot/GSymbolKey.c: (New file).
	* pge-boot/GSymbolKey.h: (New file).
	* pge-boot/GSysExceptions.c: (New file).
	* pge-boot/GSysExceptions.h: (New file).
	* pge-boot/GSysStorage.c: (New file).
	* pge-boot/GSysStorage.h: (New file).
	* pge-boot/GTimeString.h: (New file).
	* pge-boot/GUnixArgs.cc: (New file).
	* pge-boot/GUnixArgs.h: (New file).
	* pge-boot/Gabort.c: (New file).
	* pge-boot/Gbnflex.c: (New file).
	* pge-boot/Gbnflex.h: (New file).
	* pge-boot/Gcbuiltin.c: (New file).
	* pge-boot/Gdtoa.c: (New file).
	* pge-boot/Gdtoa.h: (New file).
	* pge-boot/Gerrno.c: (New file).
	* pge-boot/Gerrno.h: (New file).
	* pge-boot/Gldtoa.c: (New file).
	* pge-boot/Gldtoa.h: (New file).
	* pge-boot/Glibc.c: (New file).
	* pge-boot/Glibc.h: (New file).
	* pge-boot/Glibm.c: (New file).
	* pge-boot/Glibm.h: (New file).
	* pge-boot/Gmcrts.c: (New file).
	* pge-boot/Gmcrts.h: (New file).
	* pge-boot/Gnetwork.h: (New file).
	* pge-boot/Gpge.c: (New file).
	* pge-boot/Gtermios.cc: (New file).
	* pge-boot/Gtermios.h: (New file).
	* pge-boot/Gwrapc.c: (New file).
	* pge-boot/Gwrapc.h: (New file).
	* pge-boot/README: (New file).
	* pge-boot/m2rts.h: (New file).
	* pge-boot/main.c: (New file).
	* pge-boot/network.c: (New file).
	* plugin/README: (New file).
	* plugin/m2rte.cc: (New file).
	* tools-src/README: (New file).
	* tools-src/boilerplate.py: (New file).
	* tools-src/buildpg: (New file).
	* tools-src/calcpath: (New file).
	* tools-src/def2doc.py: (New file).
	* tools-src/makeSystem: (New file).
	* tools-src/mklink.c: (New file).
	* tools-src/tidydates.py: (New file).
	* images/LICENSE.IMG: (New file).
	* images/gnupng: (New file).
	* images/gnu.eps: (New file).
	* version.c: (New file).
	* configure: (Rebuilt).

gcc/testsuite/ChangeLog:

	* lib/gm2-dg.exp: (New file).
	* lib/gm2.exp: (New file).
	* lib/gm2-simple.exp: (New file).
	* lib/gm2-torture.exp: (New file).
	* gm2/calling-c/datatypes/unbounded/run/pass/c.c: (New file).
	* gm2/calling-c/datatypes/unbounded/run/pass/c.def: (New file).
	* gm2/calling-c/datatypes/unbounded/run/pass/calling-c-datatypes-unbounded-run-pass.exp:
	(New file).
	* gm2/calling-c/datatypes/unbounded/run/pass/m.mod: (New file).
	* gm2/case/pass/case-pass.exp: (New file).
	* gm2/case/pass/testcase1.mod: (New file).
	* gm2/case/pass/testcase2.mod: (New file).
	* gm2/case/pass/testcase3.mod: (New file).
	* gm2/case/pass/testcase4.mod: (New file).
	* gm2/complex/fail/var1.mod: (New file).
	* gm2/complex/pass/arith.mod: (New file).
	* gm2/complex/pass/arith2.mod: (New file).
	* gm2/complex/pass/arith3.mod: (New file).
	* gm2/complex/pass/arith4.mod: (New file).
	* gm2/complex/pass/arith5.mod: (New file).
	* gm2/complex/pass/arith6.mod: (New file).
	* gm2/complex/pass/complex-pass.exp: (New file).
	* gm2/complex/pass/consts.mod: (New file).
	* gm2/complex/pass/consts2.mod: (New file).
	* gm2/complex/pass/consts3.mod: (New file).
	* gm2/complex/pass/tinycabs.mod: (New file).
	* gm2/complex/pass/var1.mod: (New file).
	* gm2/complex/pass/var2.mod: (New file).
	* gm2/complex/pass/var3.mod: (New file).
	* gm2/complex/pass/var4.mod: (New file).
	* gm2/complex/pass/var5.mod: (New file).
	* gm2/complex/pass/var6.mod: (New file).
	* gm2/complex/pass/var7.mod: (New file).
	* gm2/complex/pass/var8.mod: (New file).
	* gm2/complex/run/pass/arith3.mod: (New file).
	* gm2/complex/run/pass/arith4.mod: (New file).
	* gm2/complex/run/pass/arith5.mod: (New file).
	* gm2/complex/run/pass/arith6.mod: (New file).
	* gm2/complex/run/pass/arith7.mod: (New file).
	* gm2/complex/run/pass/arith8.mod: (New file).
	* gm2/complex/run/pass/complex-run-pass.exp: (New file).
	* gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp: (New file).
	* gm2/coroutines/pim/run/pass/testiotransfer.mod: (New file).
	* gm2/coroutines/pim/run/pass/testtransfer.mod: (New file).
	* gm2/cpp/fail/another.h: (New file).
	* gm2/cpp/fail/fail1.mod: (New file).
	* gm2/cpp/longcard2.mod: (New file).
	* gm2/cpp/longstrimp.mod: (New file).
	* gm2/cpp/pass/arrayhuge.mod: (New file).
	* gm2/cpp/pass/arrayhuge2.mod: (New file).
	* gm2/cpp/pass/cpp-pass.exp: (New file).
	* gm2/cpp/pass/cpp.mod: (New file).
	* gm2/cpp/pass/cpph.mod: (New file).
	* gm2/cpp/pass/subaddr.mod: (New file).
	* gm2/cpp/pass/testcpp.mod: (New file).
	* gm2/cpp/pass/testcpp2.mod: (New file).
	* gm2/cpp/setchar2.mod: (New file).
	* gm2/cpp/setchar6.mod: (New file).
	* gm2/cse/fail/cse-fail.exp: (New file).
	* gm2/cse/fail/testcse38.mod: (New file).
	* gm2/cse/pass/cse-pass.exp: (New file).
	* gm2/cse/pass/m2t.c: (New file).
	* gm2/cse/pass/testb.mod: (New file).
	* gm2/cse/pass/testbuiltin.def: (New file).
	* gm2/cse/pass/testbuiltin.mod: (New file).
	* gm2/cse/pass/testcse.def: (New file).
	* gm2/cse/pass/testcse.mod: (New file).
	* gm2/cse/pass/testcse10.mod: (New file).
	* gm2/cse/pass/testcse11.mod: (New file).
	* gm2/cse/pass/testcse12.mod: (New file).
	* gm2/cse/pass/testcse13.mod: (New file).
	* gm2/cse/pass/testcse14.mod: (New file).
	* gm2/cse/pass/testcse15.mod: (New file).
	* gm2/cse/pass/testcse16.mod: (New file).
	* gm2/cse/pass/testcse17.mod: (New file).
	* gm2/cse/pass/testcse18.mod: (New file).
	* gm2/cse/pass/testcse19.mod: (New file).
	* gm2/cse/pass/testcse2.mod: (New file).
	* gm2/cse/pass/testcse20.mod: (New file).
	* gm2/cse/pass/testcse21.mod: (New file).
	* gm2/cse/pass/testcse22.mod: (New file).
	* gm2/cse/pass/testcse23.mod: (New file).
	* gm2/cse/pass/testcse24.mod: (New file).
	* gm2/cse/pass/testcse25.mod: (New file).
	* gm2/cse/pass/testcse26.mod: (New file).
	* gm2/cse/pass/testcse27.mod: (New file).
	* gm2/cse/pass/testcse28.mod: (New file).
	* gm2/cse/pass/testcse29.mod: (New file).
	* gm2/cse/pass/testcse3.mod: (New file).
	* gm2/cse/pass/testcse31.mod: (New file).
	* gm2/cse/pass/testcse32.mod: (New file).
	* gm2/cse/pass/testcse33.mod: (New file).
	* gm2/cse/pass/testcse34.mod: (New file).
	* gm2/cse/pass/testcse35.mod: (New file).
	* gm2/cse/pass/testcse36.mod: (New file).
	* gm2/cse/pass/testcse37.mod: (New file).
	* gm2/cse/pass/testcse39.mod: (New file).
	* gm2/cse/pass/testcse4.c: (New file).
	* gm2/cse/pass/testcse4.mod: (New file).
	* gm2/cse/pass/testcse40.mod: (New file).
	* gm2/cse/pass/testcse41.mod: (New file).
	* gm2/cse/pass/testcse42.mod: (New file).
	* gm2/cse/pass/testcse43.mod: (New file).
	* gm2/cse/pass/testcse44.mod: (New file).
	* gm2/cse/pass/testcse45.mod: (New file).
	* gm2/cse/pass/testcse46.mod: (New file).
	* gm2/cse/pass/testcse47.mod: (New file).
	* gm2/cse/pass/testcse48.mod: (New file).
	* gm2/cse/pass/testcse49.mod: (New file).
	* gm2/cse/pass/testcse5.c: (New file).
	* gm2/cse/pass/testcse5.mod: (New file).
	* gm2/cse/pass/testcse50.def: (New file).
	* gm2/cse/pass/testcse50.mod: (New file).
	* gm2/cse/pass/testcse51.mod: (New file).
	* gm2/cse/pass/testcse52.def: (New file).
	* gm2/cse/pass/testcse52.mod: (New file).
	* gm2/cse/pass/testcse53.def: (New file).
	* gm2/cse/pass/testcse53.mod: (New file).
	* gm2/cse/pass/testcse6.c: (New file).
	* gm2/cse/pass/testcse6.mod: (New file).
	* gm2/cse/pass/testcse7.c: (New file).
	* gm2/cse/pass/testcse7.mod: (New file).
	* gm2/cse/pass/testcse8.c: (New file).
	* gm2/cse/pass/testcse8.mod: (New file).
	* gm2/cse/pass/testcse9.c: (New file).
	* gm2/cse/pass/testsize.mod: (New file).
	* gm2/dynamic/pass/add.mod: (New file).
	* gm2/dynamic/pass/dynamic-pass.exp: (New file).
	* gm2/dynamic/pass/prog21.mod: (New file).
	* gm2/dynamic/pass/testarray.mod: (New file).
	* gm2/dynamic/pass/testarray2.mod: (New file).
	* gm2/dynamic/pass/testarray3.mod: (New file).
	* gm2/dynamic/pass/testarray4.mod: (New file).
	* gm2/dynamic/pass/testarray6.mod: (New file).
	* gm2/dynamic/pass/testbec.mod: (New file).
	* gm2/dynamic/pass/testbec10.mod: (New file).
	* gm2/dynamic/pass/testbec11.mod: (New file).
	* gm2/dynamic/pass/testbec12.mod: (New file).
	* gm2/dynamic/pass/testbec13.mod: (New file).
	* gm2/dynamic/pass/testbec14.mod: (New file).
	* gm2/dynamic/pass/testbec15.mod: (New file).
	* gm2/dynamic/pass/testbec16.mod: (New file).
	* gm2/dynamic/pass/testbec17.mod: (New file).
	* gm2/dynamic/pass/testbec18.mod: (New file).
	* gm2/dynamic/pass/testbec19.mod: (New file).
	* gm2/dynamic/pass/testbec2.mod: (New file).
	* gm2/dynamic/pass/testbec20.mod: (New file).
	* gm2/dynamic/pass/testbec21.mod: (New file).
	* gm2/dynamic/pass/testbec22.mod: (New file).
	* gm2/dynamic/pass/testbec23.mod: (New file).
	* gm2/dynamic/pass/testbec24.mod: (New file).
	* gm2/dynamic/pass/testbec25.mod: (New file).
	* gm2/dynamic/pass/testbec26.mod: (New file).
	* gm2/dynamic/pass/testbec27.mod: (New file).
	* gm2/dynamic/pass/testbec28.mod: (New file).
	* gm2/dynamic/pass/testbec29.mod: (New file).
	* gm2/dynamic/pass/testbec3.mod: (New file).
	* gm2/dynamic/pass/testbec30.mod: (New file).
	* gm2/dynamic/pass/testbec31.mod: (New file).
	* gm2/dynamic/pass/testbec32.mod: (New file).
	* gm2/dynamic/pass/testbec33.mod: (New file).
	* gm2/dynamic/pass/testbec34.mod: (New file).
	* gm2/dynamic/pass/testbec35.mod: (New file).
	* gm2/dynamic/pass/testbec36.mod: (New file).
	* gm2/dynamic/pass/testbec37.mod: (New file).
	* gm2/dynamic/pass/testbec38.mod: (New file).
	* gm2/dynamic/pass/testbec39.mod: (New file).
	* gm2/dynamic/pass/testbec4.mod: (New file).
	* gm2/dynamic/pass/testbec40.mod: (New file).
	* gm2/dynamic/pass/testbec41.mod: (New file).
	* gm2/dynamic/pass/testbec42.mod: (New file).
	* gm2/dynamic/pass/testbec43.mod: (New file).
	* gm2/dynamic/pass/testbec44.mod: (New file).
	* gm2/dynamic/pass/testbec45.mod: (New file).
	* gm2/dynamic/pass/testbec5.mod: (New file).
	* gm2/dynamic/pass/testbec6.mod: (New file).
	* gm2/dynamic/pass/testbec7.mod: (New file).
	* gm2/dynamic/pass/testbec8.mod: (New file).
	* gm2/dynamic/pass/testbec9.mod: (New file).
	* gm2/dynamic/pass/testdavid.mod: (New file).
	* gm2/dynamic/pass/testdiv.mod: (New file).
	* gm2/dynamic/pass/testexp.mod: (New file).
	* gm2/dynamic/pass/testfor.mod: (New file).
	* gm2/dynamic/pass/testfor2.mod: (New file).
	* gm2/dynamic/pass/testfunc.mod: (New file).
	* gm2/dynamic/pass/testfunc2.mod: (New file).
	* gm2/dynamic/pass/testfunc3.mod: (New file).
	* gm2/dynamic/pass/testfunc4.mod: (New file).
	* gm2/dynamic/pass/testfunc5.mod: (New file).
	* gm2/dynamic/pass/testfunc6.mod: (New file).
	* gm2/dynamic/pass/testif.mod: (New file).
	* gm2/dynamic/pass/testit.mod: (New file).
	* gm2/dynamic/pass/testloop.mod: (New file).
	* gm2/dynamic/pass/testloop2.mod: (New file).
	* gm2/dynamic/pass/testloop3.mod: (New file).
	* gm2/dynamic/pass/testloop4.mod: (New file).
	* gm2/dynamic/pass/testloop5.mod: (New file).
	* gm2/dynamic/pass/testmin.mod: (New file).
	* gm2/dynamic/pass/testnum4.mod: (New file).
	* gm2/dynamic/pass/testord.mod: (New file).
	* gm2/dynamic/pass/testparam.mod: (New file).
	* gm2/dynamic/pass/testparam2.mod: (New file).
	* gm2/dynamic/pass/testproc.mod: (New file).
	* gm2/dynamic/pass/testproc2.c: (New file).
	* gm2/dynamic/pass/testproc2.def: (New file).
	* gm2/dynamic/pass/testproc2.mod: (New file).
	* gm2/dynamic/pass/testscn.mod: (New file).
	* gm2/dynamic/pass/testset.mod: (New file).
	* gm2/dynamic/pass/testset2.mod: (New file).
	* gm2/dynamic/pass/testset3.mod: (New file).
	* gm2/dynamic/pass/teststr.c: (New file).
	* gm2/dynamic/pass/teststr.mod: (New file).
	* gm2/dynamic/pass/teststr2.mod: (New file).
	* gm2/dynamic/pass/teststring.mod: (New file).
	* gm2/dynamic/pass/testunbounded.mod: (New file).
	* gm2/dynamic/pass/testwith.mod: (New file).
	* gm2/dynamic/pass/testzero.mod: (New file).
	* gm2/dynamic/pass/wc.mod: (New file).
	* gm2/embedded/pass/embedded-pass.exp: (New file).
	* gm2/embedded/pass/varataddress.mod: (New file).
	* gm2/embedded/pass/varataddress1.mod: (New file).
	* gm2/embedded/pass/varataddress2.mod: (New file).
	* gm2/embedded/pass/varataddress3.mod: (New file).
	* gm2/errors/fail/array1.mod: (New file).
	* gm2/errors/fail/badexpr.mod: (New file).
	* gm2/errors/fail/badfor.mod: (New file).
	* gm2/errors/fail/badhigh.mod: (New file).
	* gm2/errors/fail/badshift.mod: (New file).
	* gm2/errors/fail/badsubexpradr.mod: (New file).
	* gm2/errors/fail/binaryconst.mod: (New file).
	* gm2/errors/fail/binarygeneric.mod: (New file).
	* gm2/errors/fail/binarygenericconst.mod: (New file).
	* gm2/errors/fail/end.mod: (New file).
	* gm2/errors/fail/errors-fail.exp: (New file).
	* gm2/errors/fail/mismatched.mod: (New file).
	* gm2/errors/fail/mismatchedproc.mod: (New file).
	* gm2/errors/fail/nestedproc4.mod: (New file).
	* gm2/errors/fail/nomodule.mod: (New file).
	* gm2/errors/fail/proctype.mod: (New file).
	* gm2/errors/fail/prog110.mod: (New file).
	* gm2/errors/fail/prog111.mod: (New file).
	* gm2/errors/fail/prog113.mod: (New file).
	* gm2/errors/fail/prog114.mod: (New file).
	* gm2/errors/fail/testaddress.mod: (New file).
	* gm2/errors/fail/testarray.mod: (New file).
	* gm2/errors/fail/testbit.mod: (New file).
	* gm2/errors/fail/testbit2.mod: (New file).
	* gm2/errors/fail/testcase.mod: (New file).
	* gm2/errors/fail/testcomment.mod: (New file).
	* gm2/errors/fail/testcomment2.mod: (New file).
	* gm2/errors/fail/testcomment3.mod: (New file).
	* gm2/errors/fail/testconst.mod: (New file).
	* gm2/errors/fail/testdyn.mod: (New file).
	* gm2/errors/fail/testdyn2.mod: (New file).
	* gm2/errors/fail/testdyn3.mod: (New file).
	* gm2/errors/fail/testexp.mod: (New file).
	* gm2/errors/fail/testfio.mod: (New file).
	* gm2/errors/fail/testimport.mod: (New file).
	* gm2/errors/fail/testimport2.def: (New file).
	* gm2/errors/fail/testimport2.mod: (New file).
	* gm2/errors/fail/testinit.mod: (New file).
	* gm2/errors/fail/testmodule.mod: (New file).
	* gm2/errors/fail/testnil.mod: (New file).
	* gm2/errors/fail/testnil2.mod: (New file).
	* gm2/errors/fail/testparam.mod: (New file).
	* gm2/errors/fail/testproc.mod: (New file).
	* gm2/errors/fail/testproc2.mod: (New file).
	* gm2/errors/fail/testsize.mod: (New file).
	* gm2/errors/fail/teststring.mod: (New file).
	* gm2/errors/fail/testsub3.mod: (New file).
	* gm2/errors/fail/testsub4.mod: (New file).
	* gm2/errors/fail/testtype.mod: (New file).
	* gm2/errors/fail/testvar.mod: (New file).
	* gm2/errors/fail/testwith.mod: (New file).
	* gm2/errors/fail/testwrite.mod: (New file).
	* gm2/errors/fail/type.mod: (New file).
	* gm2/errors/fail/unarygeneric.mod: (New file).
	* gm2/errors/mustfail: (New file).
	* gm2/errors/options: (New file).
	* gm2/errors/testchar.mod: (New file).
	* gm2/errors/testsub2.mod: (New file).
	* gm2/examples/callingC/pass/examples-callingC-pass.exp: (New file).
	* gm2/examples/callingC/pass/hello.mod: (New file).
	* gm2/examples/callingC/pass/libprintf.def: (New file).
	* gm2/examples/callingC/run/pass/c.c: (New file).
	* gm2/examples/callingC/run/pass/c.def: (New file).
	* gm2/examples/callingC/run/pass/examples-callingC-run-pass.exp: (New file).
	* gm2/examples/callingC/run/pass/hello.mod: (New file).
	* gm2/examples/callingC/run/pass/libprintf.def: (New file).
	* gm2/examples/callingC/run/pass/m.mod: (New file).
	* gm2/examples/cpp/pass/examples-cpp-pass.exp: (New file).
	* gm2/examples/cpp/pass/hello.mod: (New file).
	* gm2/examples/cppDef/pass/a.def: (New file).
	* gm2/examples/cppDef/pass/a.mod: (New file).
	* gm2/examples/cppDef/pass/b.mod: (New file).
	* gm2/examples/cppDef/pass/examples-cppDef-pass.exp: (New file).
	* gm2/examples/cppDef/pass/libprintf.def: (New file).
	* gm2/examples/hello/pass/examples-hello-pass.exp: (New file).
	* gm2/examples/hello/pass/hello.mod: (New file).
	* gm2/examples/map/pass/AdvMap.def: (New file).
	* gm2/examples/map/pass/AdvMap.mod: (New file).
	* gm2/examples/map/pass/BoxMap.def: (New file).
	* gm2/examples/map/pass/BoxMap.mod: (New file).
	* gm2/examples/map/pass/Chance.def: (New file).
	* gm2/examples/map/pass/Chance.mod: (New file).
	* gm2/examples/map/pass/Find.def: (New file).
	* gm2/examples/map/pass/Find.mod: (New file).
	* gm2/examples/map/pass/Geometry.def: (New file).
	* gm2/examples/map/pass/Geometry.mod: (New file).
	* gm2/examples/map/pass/MakeBoxes.def: (New file).
	* gm2/examples/map/pass/MakeBoxes.mod: (New file).
	* gm2/examples/map/pass/Map.mod: (New file).
	* gm2/examples/map/pass/RoomMap.def: (New file).
	* gm2/examples/map/pass/RoomMap.mod: (New file).
	* gm2/examples/map/pass/Semantic.mod: (New file).
	* gm2/examples/map/pass/StoreCoord.def: (New file).
	* gm2/examples/map/pass/StoreCoord.mod: (New file).
	* gm2/examples/map/pass/StoreCoords.def: (New file).
	* gm2/examples/map/pass/StoreCoords.mod: (New file).
	* gm2/examples/map/pass/WriteMap.def: (New file).
	* gm2/examples/map/pass/WriteMap.mod: (New file).
	* gm2/examples/map/pass/examples-map-pass.exp: (New file).
	* gm2/examples/map/pass/makemaps: (New file).
	* gm2/examples/map/pass/testch2.mod: (New file).
	* gm2/examples/map/pass/testchan.mod: (New file).
	* gm2/examples/map/pass/testcoor.mod: (New file).
	* gm2/examples/map/pass/testmaps: (New file).
	* gm2/exceptions/run/pass/cpp.cpp: (New file).
	* gm2/exceptions/run/pass/cpp.def: (New file).
	* gm2/exceptions/run/pass/exceptions-run-pass.exp: (New file).
	* gm2/exceptions/run/pass/libexcept.mod: (New file).
	* gm2/exceptions/run/pass/m2test.def: (New file).
	* gm2/exceptions/run/pass/m2test.mod: (New file).
	* gm2/exceptions/run/pass/mycpp.cpp: (New file).
	* gm2/exceptions/run/pass/mycpp.def: (New file).
	* gm2/exceptions/run/pass/mym2.mod: (New file).
	* gm2/exceptions/run/pass/mym2a.mod: (New file).
	* gm2/extensions/pass/align.mod: (New file).
	* gm2/extensions/pass/align2.mod: (New file).
	* gm2/extensions/pass/card16p.mod: (New file).
	* gm2/extensions/pass/card32p.mod: (New file).
	* gm2/extensions/pass/card64p.mod: (New file).
	* gm2/extensions/pass/card8p.mod: (New file).
	* gm2/extensions/pass/co.def: (New file).
	* gm2/extensions/pass/co.mod: (New file).
	* gm2/extensions/pass/extensions-pass.exp: (New file).
	* gm2/extensions/pass/frame.mod: (New file).
	* gm2/extensions/pass/hello.mod: (New file).
	* gm2/extensions/pass/int16p.mod: (New file).
	* gm2/extensions/pass/int32p.mod: (New file).
	* gm2/extensions/pass/int64p.mod: (New file).
	* gm2/extensions/pass/int8p.mod: (New file).
	* gm2/extensions/pass/intsize8.mod: (New file).
	* gm2/extensions/pass/jmp.mod: (New file).
	* gm2/extensions/pass/libc.def: (New file).
	* gm2/extensions/pass/optparam.mod: (New file).
	* gm2/extensions/pass/optparam2.mod: (New file).
	* gm2/extensions/pass/return.mod: (New file).
	* gm2/extensions/pass/set8.mod: (New file).
	* gm2/extensions/pass/set8a.mod: (New file).
	* gm2/extensions/pass/set8b.mod: (New file).
	* gm2/extensions/pass/testco.mod: (New file).
	* gm2/extensions/run/fail/extensions-run-fail.exp: (New file).
	* gm2/extensions/run/fail/intsize8.mod: (New file).
	* gm2/extensions/run/pass/align3.mod: (New file).
	* gm2/extensions/run/pass/align4.mod: (New file).
	* gm2/extensions/run/pass/align5.mod: (New file).
	* gm2/extensions/run/pass/align6.mod: (New file).
	* gm2/extensions/run/pass/align7.mod: (New file).
	* gm2/extensions/run/pass/callingc.mod: (New file).
	* gm2/extensions/run/pass/card16p.mod: (New file).
	* gm2/extensions/run/pass/card32p.mod: (New file).
	* gm2/extensions/run/pass/card64p.mod: (New file).
	* gm2/extensions/run/pass/card8p.mod: (New file).
	* gm2/extensions/run/pass/column.mod: (New file).
	* gm2/extensions/run/pass/cvararg.c: (New file).
	* gm2/extensions/run/pass/cvararg.def: (New file).
	* gm2/extensions/run/pass/extensions-run-pass.exp: (New file).
	* gm2/extensions/run/pass/int16p.mod: (New file).
	* gm2/extensions/run/pass/int32p.mod: (New file).
	* gm2/extensions/run/pass/int64p.mod: (New file).
	* gm2/extensions/run/pass/int8field.mod: (New file).
	* gm2/extensions/run/pass/int8p.mod: (New file).
	* gm2/extensions/run/pass/packedrecord.mod: (New file).
	* gm2/extensions/run/pass/packedrecord2.mod: (New file).
	* gm2/extensions/run/pass/real32.mod: (New file).
	* gm2/extensions/run/pass/real32a.mod: (New file).
	* gm2/extensions/run/pass/record.mod: (New file).
	* gm2/extensions/run/pass/testopen.mod: (New file).
	* gm2/extensions/run/pass/vararg.mod: (New file).
	* gm2/extensions/run/pass/vararg2.mod: (New file).
	* gm2/extensions/run/pass/vararg3.mod: (New file).
	* gm2/fpu/pass/five.mod: (New file).
	* gm2/fpu/pass/fp.def: (New file).
	* gm2/fpu/pass/fp.mod: (New file).
	* gm2/fpu/pass/fpu-pass.exp: (New file).
	* gm2/fpu/pass/one.mod: (New file).
	* gm2/fpu/pass/r1.mod: (New file).
	* gm2/fpu/pass/realconst.mod: (New file).
	* gm2/fpu/pass/testfp.mod: (New file).
	* gm2/fpu/pass/testfp2.mod: (New file).
	* gm2/fpu/pass/testfpu1.mod: (New file).
	* gm2/fpu/pass/testfpu2.mod: (New file).
	* gm2/fpu/pass/testfpu3.mod: (New file).
	* gm2/fpu/pass/testsin.mod: (New file).
	* gm2/imports/run/pass/c.def: (New file).
	* gm2/imports/run/pass/c.mod: (New file).
	* gm2/imports/run/pass/imports-run-pass.exp: (New file).
	* gm2/imports/run/pass/innermods.mod: (New file).
	* gm2/imports/run/pass/innermods2.mod: (New file).
	* gm2/imports/run/pass/innermods3.mod: (New file).
	* gm2/imports/run/pass/innermods4.mod: (New file).
	* gm2/imports/run/pass/innermods5.def: (New file).
	* gm2/imports/run/pass/innermods5.mod: (New file).
	* gm2/imports/run/pass/innermods6.mod: (New file).
	* gm2/integer/div.mod: (New file).
	* gm2/integer/expr.mod: (New file).
	* gm2/integer/mod.mod: (New file).
	* gm2/integer/mod2.mod: (New file).
	* gm2/integer/one.mod: (New file).
	* gm2/integer/options: (New file).
	* gm2/integer/zero.mod: (New file).
	* gm2/iso/analysis/fail/Makefile: (New file).
	* gm2/iso/analysis/fail/arithoverflow.mod: (New file).
	* gm2/iso/analysis/fail/arithoverflow2.mod: (New file).
	* gm2/iso/analysis/fail/arithsubcard.mod: (New file).
	* gm2/iso/analysis/fail/arrayrange.mod: (New file).
	* gm2/iso/analysis/fail/assignvalue.mod: (New file).
	* gm2/iso/analysis/fail/callassignment.mod: (New file).
	* gm2/iso/analysis/fail/callassignment2.mod: (New file).
	* gm2/iso/analysis/fail/callassignment3.mod: (New file).
	* gm2/iso/analysis/fail/callassignment4.mod: (New file).
	* gm2/iso/analysis/fail/caserange.mod: (New file).
	* gm2/iso/analysis/fail/decvalue.mod: (New file).
	* gm2/iso/analysis/fail/forloop.mod: (New file).
	* gm2/iso/analysis/fail/incvalue.mod: (New file).
	* gm2/iso/analysis/fail/iso-analysis-fail.exp: (New file).
	* gm2/iso/analysis/fail/noreturn.mod: (New file).
	* gm2/iso/analysis/fail/returnvalue.mod: (New file).
	* gm2/iso/analysis/fail/staticarray.mod: (New file).
	* gm2/iso/check/fail/iso-check-fail.exp: (New file).
	* gm2/iso/check/fail/modulusoverflow.mod: (New file).
	* gm2/iso/fail/badarray.mod: (New file).
	* gm2/iso/fail/badarray2.mod: (New file).
	* gm2/iso/fail/badipv4.mod: (New file).
	* gm2/iso/fail/bug10.mod: (New file).
	* gm2/iso/fail/bug8.mod: (New file).
	* gm2/iso/fail/bug9.mod: (New file).
	* gm2/iso/fail/case.mod: (New file).
	* gm2/iso/fail/case2.mod: (New file).
	* gm2/iso/fail/case3.mod: (New file).
	* gm2/iso/fail/const1.mod: (New file).
	* gm2/iso/fail/constarray.mod: (New file).
	* gm2/iso/fail/constarray2.mod: (New file).
	* gm2/iso/fail/constprocedure.mod: (New file).
	* gm2/iso/fail/constrecord.mod: (New file).
	* gm2/iso/fail/constrecord2.mod: (New file).
	* gm2/iso/fail/constrecord3.mod: (New file).
	* gm2/iso/fail/constsubrange.mod: (New file).
	* gm2/iso/fail/constsubrange2.mod: (New file).
	* gm2/iso/fail/constsubrange3.mod: (New file).
	* gm2/iso/fail/defa.def: (New file).
	* gm2/iso/fail/defa.mod: (New file).
	* gm2/iso/fail/defb.def: (New file).
	* gm2/iso/fail/defb.mod: (New file).
	* gm2/iso/fail/defc.def: (New file).
	* gm2/iso/fail/defc.mod: (New file).
	* gm2/iso/fail/except.mod: (New file).
	* gm2/iso/fail/except2.mod: (New file).
	* gm2/iso/fail/iso-fail.exp: (New file).
	* gm2/iso/fail/isoa.def: (New file).
	* gm2/iso/fail/isoa.mod: (New file).
	* gm2/iso/fail/lengthsubexpr.mod: (New file).
	* gm2/iso/fail/proc.mod: (New file).
	* gm2/iso/fail/realbitscast.mod: (New file).
	* gm2/iso/fail/varient.mod: (New file).
	* gm2/iso/fail/varient2.mod: (New file).
	* gm2/iso/future/builtinlj.mod: (New file).
	* gm2/iso/pass/ChanConsts.def: (New file).
	* gm2/iso/pass/ChanConsts.mod: (New file).
	* gm2/iso/pass/ConvTypes.def: (New file).
	* gm2/iso/pass/ConvTypes.mod: (New file).
	* gm2/iso/pass/addadr1.mod: (New file).
	* gm2/iso/pass/bits32c.mod: (New file).
	* gm2/iso/pass/callwraptime.mod: (New file).
	* gm2/iso/pass/caseiso.mod: (New file).
	* gm2/iso/pass/caseiso2.mod: (New file).
	* gm2/iso/pass/cast.mod: (New file).
	* gm2/iso/pass/cast3.mod: (New file).
	* gm2/iso/pass/castiso.mod: (New file).
	* gm2/iso/pass/const1.mod: (New file).
	* gm2/iso/pass/constreal.mod: (New file).
	* gm2/iso/pass/constructor1.mod: (New file).
	* gm2/iso/pass/constructor2.mod: (New file).
	* gm2/iso/pass/constructor3.mod: (New file).
	* gm2/iso/pass/constructor4.mod: (New file).
	* gm2/iso/pass/constructor5.mod: (New file).
	* gm2/iso/pass/constructor6.mod: (New file).
	* gm2/iso/pass/constsize4.mod: (New file).
	* gm2/iso/pass/delim.mod: (New file).
	* gm2/iso/pass/delim2.mod: (New file).
	* gm2/iso/pass/enummodule.mod: (New file).
	* gm2/iso/pass/except1.mod: (New file).
	* gm2/iso/pass/expproc.mod: (New file).
	* gm2/iso/pass/expproc2.mod: (New file).
	* gm2/iso/pass/iso-pass.exp: (New file).
	* gm2/iso/pass/isob.def: (New file).
	* gm2/iso/pass/isob.mod: (New file).
	* gm2/iso/pass/isobitset.mod: (New file).
	* gm2/iso/pass/isobitset2.mod: (New file).
	* gm2/iso/pass/longm.mod: (New file).
	* gm2/iso/pass/m.mod: (New file).
	* gm2/iso/pass/proccast.mod: (New file).
	* gm2/iso/pass/realbitscast.mod: (New file).
	* gm2/iso/pass/set12.mod: (New file).
	* gm2/iso/pass/stringchar.mod: (New file).
	* gm2/iso/pass/subassign.mod: (New file).
	* gm2/iso/pass/testaddindr.mod: (New file).
	* gm2/iso/pass/testconv.def: (New file).
	* gm2/iso/pass/testconv.mod: (New file).
	* gm2/iso/pass/testconv2.def: (New file).
	* gm2/iso/pass/testconv2.mod: (New file).
	* gm2/iso/pass/testconv3.mod: (New file).
	* gm2/iso/pass/testconv4.mod: (New file).
	* gm2/iso/pass/testconv5.mod: (New file).
	* gm2/iso/pass/testconv6.mod: (New file).
	* gm2/iso/pass/testconv7.mod: (New file).
	* gm2/iso/pass/testconv8.mod: (New file).
	* gm2/iso/pass/testconv9.mod: (New file).
	* gm2/iso/pass/testiso.mod: (New file).
	* gm2/iso/pass/testiso2.mod: (New file).
	* gm2/iso/pass/testisosize.mod: (New file).
	* gm2/iso/pass/testlength.mod: (New file).
	* gm2/iso/pass/testlength2.mod: (New file).
	* gm2/iso/pass/testlength3.mod: (New file).
	* gm2/iso/pass/testlength4.mod: (New file).
	* gm2/iso/pass/testlength5.mod: (New file).
	* gm2/iso/pass/unbounded.mod: (New file).
	* gm2/iso/pass/unbounded2.mod: (New file).
	* gm2/iso/run/pass/adraddress.mod: (New file).
	* gm2/iso/run/pass/adrunbounded3.mod: (New file).
	* gm2/iso/run/pass/baseimport.mod: (New file).
	* gm2/iso/run/pass/compsize.mod: (New file).
	* gm2/iso/run/pass/concurrentstore.mod: (New file).
	* gm2/iso/run/pass/constprocedure.mod: (New file).
	* gm2/iso/run/pass/constructor1.mod: (New file).
	* gm2/iso/run/pass/constructor2.mod: (New file).
	* gm2/iso/run/pass/conststrarray.mod: (New file).
	* gm2/iso/run/pass/contimer.mod: (New file).
	* gm2/iso/run/pass/except.c: (New file).
	* gm2/iso/run/pass/except2.mod: (New file).
	* gm2/iso/run/pass/except3.cpp: (New file).
	* gm2/iso/run/pass/except4.mod: (New file).
	* gm2/iso/run/pass/except5.cpp: (New file).
	* gm2/iso/run/pass/except5.mod: (New file).
	* gm2/iso/run/pass/except6.cpp: (New file).
	* gm2/iso/run/pass/except7.mod: (New file).
	* gm2/iso/run/pass/except8.mod: (New file).
	* gm2/iso/run/pass/fileio.def: (New file).
	* gm2/iso/run/pass/fileio.mod: (New file).
	* gm2/iso/run/pass/hello.mod: (New file).
	* gm2/iso/run/pass/int8field.mod: (New file).
	* gm2/iso/run/pass/iso-run-pass.exp: (New file).
	* gm2/iso/run/pass/long.mod: (New file).
	* gm2/iso/run/pass/long2.mod: (New file).
	* gm2/iso/run/pass/long3.mod: (New file).
	* gm2/iso/run/pass/long4.c: (New file).
	* gm2/iso/run/pass/long4.mod: (New file).
	* gm2/iso/run/pass/minmax.mod: (New file).
	* gm2/iso/run/pass/modulus.mod: (New file).
	* gm2/iso/run/pass/nestediso.mod: (New file).
	* gm2/iso/run/pass/nestedrecord.mod: (New file).
	* gm2/iso/run/pass/onebyte.mod: (New file).
	* gm2/iso/run/pass/onebyte2.mod: (New file).
	* gm2/iso/run/pass/onebyte3.mod: (New file).
	* gm2/iso/run/pass/packed.mod: (New file).
	* gm2/iso/run/pass/proc.c: (New file).
	* gm2/iso/run/pass/proc.mod: (New file).
	* gm2/iso/run/pass/proc2.mod: (New file).
	* gm2/iso/run/pass/returnrecord.mod: (New file).
	* gm2/iso/run/pass/shift.mod: (New file).
	* gm2/iso/run/pass/shift2.mod: (New file).
	* gm2/iso/run/pass/shift3.mod: (New file).
	* gm2/iso/run/pass/shift4.mod: (New file).
	* gm2/iso/run/pass/simple: (New file).
	* gm2/iso/run/pass/simplelarge.mod: (New file).
	* gm2/iso/run/pass/strcons.mod: (New file).
	* gm2/iso/run/pass/strcons2.mod: (New file).
	* gm2/iso/run/pass/t.cpp: (New file).
	* gm2/iso/run/pass/t1.cpp: (New file).
	* gm2/iso/run/pass/testLength.mod: (New file).
	* gm2/iso/run/pass/testarray.mod: (New file).
	* gm2/iso/run/pass/testgeneric.mod: (New file).
	* gm2/iso/run/pass/testlarge.mod: (New file).
	* gm2/iso/run/pass/testsystem.mod: (New file).
	* gm2/iso/run/pass/tinyconst.mod: (New file).
	* gm2/iso/run/pass/tinyconst2.mod: (New file).
	* gm2/iso/run/pass/tinyconst3.mod: (New file).
	* gm2/iso/run/pass/tinyconst4.mod: (New file).
	* gm2/iso/run/pass/tinyconst5.mod: (New file).
	* gm2/iso/run/pass/tinytimer.mod: (New file).
	* gm2/iso/run/pass/trivialmodulus.mod: (New file).
	* gm2/iso/run/pass/tsize.mod: (New file).
	* gm2/iso/run/pass/tsize2.mod: (New file).
	* gm2/iso/run/pass/tstLength.mod: (New file).
	* gm2/iso/run/pass/unbounded.mod: (New file).
	* gm2/iso/run/pass/unbounded2.mod: (New file).
	* gm2/iso/run/pass/unbounded3.mod: (New file).
	* gm2/iso/run/pass/unbounded4.mod: (New file).
	* gm2/iso/run/pass/unbounded5.mod: (New file).
	* gm2/iso/run/pass/unbounded6.mod: (New file).
	* gm2/iso/run/pass/unbounded7.mod: (New file).
	* gm2/iso/run/pass/unbounded8.mod: (New file).
	* gm2/isocoroutines/run/pass/coroutine.mod: (New file).
	* gm2/isocoroutines/run/pass/isocoroutines-run-pass.exp: (New file).
	* gm2/isolib/run/pass/arraycons.mod: (New file).
	* gm2/isolib/run/pass/arraycons2.mod: (New file).
	* gm2/isolib/run/pass/arraycons3.mod: (New file).
	* gm2/isolib/run/pass/arraycons5.mod: (New file).
	* gm2/isolib/run/pass/arraycons6.mod: (New file).
	* gm2/isolib/run/pass/arraycons7.mod: (New file).
	* gm2/isolib/run/pass/arrayconst8.mod: (New file).
	* gm2/isolib/run/pass/exceptiontest.mod: (New file).
	* gm2/isolib/run/pass/filepos.mod: (New file).
	* gm2/isolib/run/pass/hello.mod: (New file).
	* gm2/isolib/run/pass/insert.mod: (New file).
	* gm2/isolib/run/pass/intconv.mod: (New file).
	* gm2/isolib/run/pass/isolib-run-pass.exp: (New file).
	* gm2/isolib/run/pass/longstr.mod: (New file).
	* gm2/isolib/run/pass/openlibc.mod: (New file).
	* gm2/isolib/run/pass/raise.mod: (New file).
	* gm2/isolib/run/pass/raise2.mod: (New file).
	* gm2/isolib/run/pass/readreal.mod: (New file).
	* gm2/isolib/run/pass/real1.mod: (New file).
	* gm2/isolib/run/pass/real2.mod: (New file).
	* gm2/isolib/run/pass/real3.mod: (New file).
	* gm2/isolib/run/pass/realconv.mod: (New file).
	* gm2/isolib/run/pass/realconv2.mod: (New file).
	* gm2/isolib/run/pass/realstr.mod: (New file).
	* gm2/isolib/run/pass/sigfig.mod: (New file).
	* gm2/isolib/run/pass/stringreal2.mod: (New file).
	* gm2/isolib/run/pass/termfile.mod-disabled: (New file).
	* gm2/isolib/run/pass/testappend.mod: (New file).
	* gm2/isolib/run/pass/testinput: (New file).
	* gm2/isolib/run/pass/testio.mod: (New file).
	* gm2/isolib/run/pass/testio2.mod: (New file).
	* gm2/isolib/run/pass/testmem.mod: (New file).
	* gm2/isolib/run/pass/testmem2.mod: (New file).
	* gm2/isolib/run/pass/testnumber: (New file).
	* gm2/isolib/run/pass/tiny.mod: (New file).
	* gm2/isolib/run/pass/tiny2.mod: (New file).
	* gm2/isolib/run/pass/tiny3.mod: (New file).
	* gm2/isolib/run/pass/tiny4.mod: (New file).
	* gm2/isolib/run/pass/tiny5.mod: (New file).
	* gm2/libs/a.def: (New file).
	* gm2/libs/a.mod: (New file).
	* gm2/libs/b.def: (New file).
	* gm2/libs/b.mod: (New file).
	* gm2/libs/testraw.mod: (New file).
	* gm2/link/externalscaffold/pass/hello.mod: (New file).
	* gm2/link/externalscaffold/pass/link-externalscaffold-pass.exp: (New file).
	* gm2/link/externalscaffold/pass/scaffold.c: (New file).
	* gm2/link/pim/fail/import.mod: (New file).
	* gm2/link/pim/fail/link-pim-fail.exp: (New file).
	* gm2/link/pim/pass/link-pim-pass.exp: (New file).
	* gm2/link/pimc/pass/README: (New file).
	* gm2/link/pimc/pass/link-pimc-pass.exp: (New file).
	* gm2/link/pimc/pass/testdtoa.mod: (New file).
	* gm2/link/pimc/pass/testerrno.mod: (New file).
	* gm2/link/pimc/pass/testgetopt.mod: (New file).
	* gm2/link/pimc/pass/testldtoa.mod: (New file).
	* gm2/link/pimc/pass/testlibc.mod: (New file).
	* gm2/link/pimc/pass/testlibc2.mod: (New file).
	* gm2/link/pimc/pass/testsckt.mod: (New file).
	* gm2/link/pimc/pass/testselective.mod: (New file).
	* gm2/link/pimc/pass/testsysexceptions.mod: (New file).
	* gm2/link/pimc/pass/testtermios.mod: (New file).
	* gm2/link/pimc/pass/testunixargs.mod: (New file).
	* gm2/link/pimc/pass/testwrapc.mod: (New file).
	* gm2/linking/libarchive/pass/c.c: (New file).
	* gm2/linking/libarchive/pass/c.def: (New file).
	* gm2/linking/libarchive/pass/d.def: (New file).
	* gm2/linking/libarchive/pass/e.def: (New file).
	* gm2/linking/libarchive/pass/linking-libarchive-pass.exp: (New file).
	* gm2/linking/libarchive/pass/m.mod: (New file).
	* gm2/linking/verbose/pass/hello.mod: (New file).
	* gm2/linking/verbose/pass/linking-verbose-pass.exp: (New file).
	* gm2/pim/fail/TestLong3.mod: (New file).
	* gm2/pim/fail/TestLong6.mod: (New file).
	* gm2/pim/fail/a.def: (New file).
	* gm2/pim/fail/assignbounds.mod: (New file).
	* gm2/pim/fail/assignsubrange.mod: (New file).
	* gm2/pim/fail/assignsubrange2.mod: (New file).
	* gm2/pim/fail/b.def: (New file).
	* gm2/pim/fail/bad.def: (New file).
	* gm2/pim/fail/badconst.mod: (New file).
	* gm2/pim/fail/badfunc.mod: (New file).
	* gm2/pim/fail/badparam.mod: (New file).
	* gm2/pim/fail/badparam2.mod: (New file).
	* gm2/pim/fail/badtype.mod: (New file).
	* gm2/pim/fail/badtypes.mod: (New file).
	* gm2/pim/fail/bits.mod: (New file).
	* gm2/pim/fail/bits2.mod: (New file).
	* gm2/pim/fail/bits3.mod: (New file).
	* gm2/pim/fail/bits4.mod: (New file).
	* gm2/pim/fail/cardword.mod: (New file).
	* gm2/pim/fail/constbec.mod: (New file).
	* gm2/pim/fail/constsize3.mod: (New file).
	* gm2/pim/fail/constvar.mod: (New file).
	* gm2/pim/fail/convert5.mod: (New file).
	* gm2/pim/fail/dupconst.mod: (New file).
	* gm2/pim/fail/dupenum.mod: (New file).
	* gm2/pim/fail/dupfield.mod: (New file).
	* gm2/pim/fail/duptype.mod: (New file).
	* gm2/pim/fail/dupvar.mod: (New file).
	* gm2/pim/fail/expression.mod: (New file).
	* gm2/pim/fail/expression2.mod: (New file).
	* gm2/pim/fail/expression3.mod: (New file).
	* gm2/pim/fail/func.mod: (New file).
	* gm2/pim/fail/good.def: (New file).
	* gm2/pim/fail/good.mod: (New file).
	* gm2/pim/fail/import.mod: (New file).
	* gm2/pim/fail/inserttok.def: (New file).
	* gm2/pim/fail/inserttok.mod: (New file).
	* gm2/pim/fail/integer.mod: (New file).
	* gm2/pim/fail/keyword.mod: (New file).
	* gm2/pim/fail/longtypes2.mod: (New file).
	* gm2/pim/fail/longtypes3.mod: (New file).
	* gm2/pim/fail/multisetf.mod: (New file).
	* gm2/pim/fail/nested3.mod: (New file).
	* gm2/pim/fail/opaque.mod: (New file).
	* gm2/pim/fail/opaque2.mod: (New file).
	* gm2/pim/fail/opasfail.mod: (New file).
	* gm2/pim/fail/opcpfail.mod: (New file).
	* gm2/pim/fail/pim-fail.exp: (New file).
	* gm2/pim/fail/procmod.mod: (New file).
	* gm2/pim/fail/rotate.mod: (New file).
	* gm2/pim/fail/rotate2.mod: (New file).
	* gm2/pim/fail/setbec.mod: (New file).
	* gm2/pim/fail/setequiv.mod: (New file).
	* gm2/pim/fail/setsnulf.mod: (New file).
	* gm2/pim/fail/settype.mod: (New file).
	* gm2/pim/fail/shift.mod: (New file).
	* gm2/pim/fail/shift2.mod: (New file).
	* gm2/pim/fail/subrange7.mod: (New file).
	* gm2/pim/fail/unary.mod: (New file).
	* gm2/pim/fail/undeclared.mod: (New file).
	* gm2/pim/fail/val.mod: (New file).
	* gm2/pim/fail/val2.mod: (New file).
	* gm2/pim/fail/wordconst.mod: (New file).
	* gm2/pim/no-options/run/pass/integer.mod: (New file).
	* gm2/pim/no-options/run/pass/pim-no-options-run-pass.exp: (New file).
	* gm2/pim/options/bounds/fail/IdentifierBug.mod: (New file).
	* gm2/pim/options/bounds/fail/pim-options-bounds-fail.exp: (New file).
	* gm2/pim/options/optimize/run/pass/addition.def: (New file).
	* gm2/pim/options/optimize/run/pass/addition.mod: (New file).
	* gm2/pim/options/optimize/run/pass/concat.mod: (New file).
	* gm2/pim/options/optimize/run/pass/pim-options-optimize-run-pass.exp:
	(New file).
	* gm2/pim/options/optimize/run/pass/testadd.mod: (New file).
	* gm2/pim/pass/ABSBug.mod: (New file).
	* gm2/pim/pass/TestLong4.mod: (New file).
	* gm2/pim/pass/TestLong7.mod: (New file).
	* gm2/pim/pass/TestLong8.mod: (New file).
	* gm2/pim/pass/TestLong9.mod: (New file).
	* gm2/pim/pass/another.mod: (New file).
	* gm2/pim/pass/aochar.mod: (New file).
	* gm2/pim/pass/array.mod: (New file).
	* gm2/pim/pass/array2.mod: (New file).
	* gm2/pim/pass/array3.mod: (New file).
	* gm2/pim/pass/array4.mod: (New file).
	* gm2/pim/pass/array5.mod: (New file).
	* gm2/pim/pass/array6.mod: (New file).
	* gm2/pim/pass/arraybool.mod: (New file).
	* gm2/pim/pass/arraychar.mod: (New file).
	* gm2/pim/pass/arraychar2.mod: (New file).
	* gm2/pim/pass/arraychar3.mod: (New file).
	* gm2/pim/pass/arrayconst1.mod: (New file).
	* gm2/pim/pass/arrayconst2.mod: (New file).
	* gm2/pim/pass/arrayconst3.mod: (New file).
	* gm2/pim/pass/arraydecl.mod: (New file).
	* gm2/pim/pass/arraydim.mod: (New file).
	* gm2/pim/pass/arraydyn.mod: (New file).
	* gm2/pim/pass/arrayeqiv.mod: (New file).
	* gm2/pim/pass/arrayfio.mod: (New file).
	* gm2/pim/pass/arrayhuge.mod: (New file).
	* gm2/pim/pass/arrayhuge2.mod: (New file).
	* gm2/pim/pass/arrayindex.mod: (New file).
	* gm2/pim/pass/arrayindirect.mod: (New file).
	* gm2/pim/pass/arrayinproc.mod: (New file).
	* gm2/pim/pass/arrayint.mod: (New file).
	* gm2/pim/pass/arrayofbyte.mod: (New file).
	* gm2/pim/pass/arrayofcard.mod: (New file).
	* gm2/pim/pass/arrayptr.mod: (New file).
	* gm2/pim/pass/arrayptr2.mod: (New file).
	* gm2/pim/pass/arrayptr3.mod: (New file).
	* gm2/pim/pass/arrayptr4.mod: (New file).
	* gm2/pim/pass/arrayptr5.mod: (New file).
	* gm2/pim/pass/arrayptr6.mod: (New file).
	* gm2/pim/pass/arrayrecord.mod: (New file).
	* gm2/pim/pass/arraytiny.c: (New file).
	* gm2/pim/pass/arraytiny.mod: (New file).
	* gm2/pim/pass/arraytype.mod: (New file).
	* gm2/pim/pass/arraytype2.mod: (New file).
	* gm2/pim/pass/arraytype3.mod: (New file).
	* gm2/pim/pass/arraytype4.mod: (New file).
	* gm2/pim/pass/assignment.mod: (New file).
	* gm2/pim/pass/assignment2.mod: (New file).
	* gm2/pim/pass/assignment3.mod: (New file).
	* gm2/pim/pass/assignment4.mod: (New file).
	* gm2/pim/pass/badpointer.mod: (New file).
	* gm2/pim/pass/bits32.def: (New file).
	* gm2/pim/pass/bits32.mod: (New file).
	* gm2/pim/pass/bits32i.mod: (New file).
	* gm2/pim/pass/bitset.mod: (New file).
	* gm2/pim/pass/bitset2.mod: (New file).
	* gm2/pim/pass/bitset3.mod: (New file).
	* gm2/pim/pass/bitset4.mod: (New file).
	* gm2/pim/pass/bitset5.mod: (New file).
	* gm2/pim/pass/bitsetfunc.mod: (New file).
	* gm2/pim/pass/block.mod: (New file).
	* gm2/pim/pass/blockindirect.mod: (New file).
	* gm2/pim/pass/builtin.def: (New file).
	* gm2/pim/pass/builtin.mod: (New file).
	* gm2/pim/pass/builtin2.mod: (New file).
	* gm2/pim/pass/builtinconst.mod: (New file).
	* gm2/pim/pass/bytearray.mod: (New file).
	* gm2/pim/pass/card.mod: (New file).
	* gm2/pim/pass/card2.mod: (New file).
	* gm2/pim/pass/char.mod: (New file).
	* gm2/pim/pass/char2.mod: (New file).
	* gm2/pim/pass/charproc.mod: (New file).
	* gm2/pim/pass/charset.mod: (New file).
	* gm2/pim/pass/charset2.mod: (New file).
	* gm2/pim/pass/charset3.mod: (New file).
	* gm2/pim/pass/checkparm.def: (New file).
	* gm2/pim/pass/checkparm.mod: (New file).
	* gm2/pim/pass/colour.mod: (New file).
	* gm2/pim/pass/comment1.mod: (New file).
	* gm2/pim/pass/complexarray.mod: (New file).
	* gm2/pim/pass/complextypes.mod: (New file).
	* gm2/pim/pass/constcast.mod: (New file).
	* gm2/pim/pass/constmax.mod: (New file).
	* gm2/pim/pass/constset.mod: (New file).
	* gm2/pim/pass/constset2.mod: (New file).
	* gm2/pim/pass/constset3.mod: (New file).
	* gm2/pim/pass/constsize.mod: (New file).
	* gm2/pim/pass/constsize2.mod: (New file).
	* gm2/pim/pass/convert.mod: (New file).
	* gm2/pim/pass/convert2.mod: (New file).
	* gm2/pim/pass/convert3.mod: (New file).
	* gm2/pim/pass/convert4.mod: (New file).
	* gm2/pim/pass/danglingelse.mod: (New file).
	* gm2/pim/pass/debug: (New file).
	* gm2/pim/pass/defset.def: (New file).
	* gm2/pim/pass/defset.mod: (New file).
	* gm2/pim/pass/deftype.mod: (New file).
	* gm2/pim/pass/divaddr.mod: (New file).
	* gm2/pim/pass/enum.mod: (New file).
	* gm2/pim/pass/enum2.mod: (New file).
	* gm2/pim/pass/enum3.mod: (New file).
	* gm2/pim/pass/file.mod: (New file).
	* gm2/pim/pass/filesystem.mod: (New file).
	* gm2/pim/pass/foo.mod: (New file).
	* gm2/pim/pass/foo2.mod: (New file).
	* gm2/pim/pass/for1.mod: (New file).
	* gm2/pim/pass/function.mod: (New file).
	* gm2/pim/pass/function2.mod: (New file).
	* gm2/pim/pass/gcd.def: (New file).
	* gm2/pim/pass/gcd.mod: (New file).
	* gm2/pim/pass/getconst.mod: (New file).
	* gm2/pim/pass/hello.mod: (New file).
	* gm2/pim/pass/impa.mod: (New file).
	* gm2/pim/pass/impb.def: (New file).
	* gm2/pim/pass/impb.mod: (New file).
	* gm2/pim/pass/impc.def: (New file).
	* gm2/pim/pass/impc.mod: (New file).
	* gm2/pim/pass/impd.mod: (New file).
	* gm2/pim/pass/impe.mod: (New file).
	* gm2/pim/pass/impf.mod: (New file).
	* gm2/pim/pass/impg.mod: (New file).
	* gm2/pim/pass/imph.mod: (New file).
	* gm2/pim/pass/impi.mod: (New file).
	* gm2/pim/pass/impj.mod: (New file).
	* gm2/pim/pass/impk.mod: (New file).
	* gm2/pim/pass/impl.mod: (New file).
	* gm2/pim/pass/impm.mod: (New file).
	* gm2/pim/pass/impn.def: (New file).
	* gm2/pim/pass/impn.mod: (New file).
	* gm2/pim/pass/impo.mod: (New file).
	* gm2/pim/pass/imports.mod: (New file).
	* gm2/pim/pass/impp.def: (New file).
	* gm2/pim/pass/impp.mod: (New file).
	* gm2/pim/pass/impq.def: (New file).
	* gm2/pim/pass/impq.mod: (New file).
	* gm2/pim/pass/incompsets.mod: (New file).
	* gm2/pim/pass/index.mod: (New file).
	* gm2/pim/pass/index2.mod: (New file).
	* gm2/pim/pass/indirect.mod: (New file).
	* gm2/pim/pass/inner.mod: (New file).
	* gm2/pim/pass/inner2.mod: (New file).
	* gm2/pim/pass/int.mod: (New file).
	* gm2/pim/pass/largeset.mod: (New file).
	* gm2/pim/pass/largeset1.mod: (New file).
	* gm2/pim/pass/largeset2.mod: (New file).
	* gm2/pim/pass/largeset3.mod: (New file).
	* gm2/pim/pass/largeset4.mod: (New file).
	* gm2/pim/pass/largeset5.mod: (New file).
	* gm2/pim/pass/largeset6.mod: (New file).
	* gm2/pim/pass/largeset7.mod: (New file).
	* gm2/pim/pass/localmod.mod: (New file).
	* gm2/pim/pass/localproc.mod: (New file).
	* gm2/pim/pass/localvar.mod: (New file).
	* gm2/pim/pass/log: (New file).
	* gm2/pim/pass/longint.mod: (New file).
	* gm2/pim/pass/longint2.mod: (New file).
	* gm2/pim/pass/longmm.mod: (New file).
	* gm2/pim/pass/longreal.mod: (New file).
	* gm2/pim/pass/longtypes.mod: (New file).
	* gm2/pim/pass/longtypes3.mod: (New file).
	* gm2/pim/pass/longtypes4.mod: (New file).
	* gm2/pim/pass/longtypes5.mod: (New file).
	* gm2/pim/pass/longtypes6.mod: (New file).
	* gm2/pim/pass/loopexit.mod: (New file).
	* gm2/pim/pass/math.mod: (New file).
	* gm2/pim/pass/maxlongint.mod: (New file).
	* gm2/pim/pass/maxreal.mod: (New file).
	* gm2/pim/pass/maxreal2.mod: (New file).
	* gm2/pim/pass/minmaxconst.mod: (New file).
	* gm2/pim/pass/minmaxconst2.mod: (New file).
	* gm2/pim/pass/modaddr.mod: (New file).
	* gm2/pim/pass/multaddr.mod: (New file).
	* gm2/pim/pass/multiple.mod: (New file).
	* gm2/pim/pass/multiset.mod: (New file).
	* gm2/pim/pass/multtypes.mod: (New file).
	* gm2/pim/pass/mydef.def: (New file).
	* gm2/pim/pass/negatives.def: (New file).
	* gm2/pim/pass/negatives.mod: (New file).
	* gm2/pim/pass/nested.mod: (New file).
	* gm2/pim/pass/nested2.mod: (New file).
	* gm2/pim/pass/nested3.mod: (New file).
	* gm2/pim/pass/nested4.mod: (New file).
	* gm2/pim/pass/nested5.mod: (New file).
	* gm2/pim/pass/nested6.mod: (New file).
	* gm2/pim/pass/nested7.mod: (New file).
	* gm2/pim/pass/nestedfor.mod: (New file).
	* gm2/pim/pass/nestedif.mod: (New file).
	* gm2/pim/pass/nestedset.mod: (New file).
	* gm2/pim/pass/onezero.mod: (New file).
	* gm2/pim/pass/opaque.def: (New file).
	* gm2/pim/pass/opaque.mod: (New file).
	* gm2/pim/pass/opaque2.mod: (New file).
	* gm2/pim/pass/opaquetype.def: (New file).
	* gm2/pim/pass/opaquetype.mod: (New file).
	* gm2/pim/pass/param.mod: (New file).
	* gm2/pim/pass/param2.mod: (New file).
	* gm2/pim/pass/param3.mod: (New file).
	* gm2/pim/pass/parambool.mod: (New file).
	* gm2/pim/pass/paramreal.mod: (New file).
	* gm2/pim/pass/pim-pass.exp: (New file).
	* gm2/pim/pass/pimimp.mod: (New file).
	* gm2/pim/pass/pointer.mod: (New file).
	* gm2/pim/pass/procadr.mod: (New file).
	* gm2/pim/pass/procconv.mod: (New file).
	* gm2/pim/pass/procconv2.mod: (New file).
	* gm2/pim/pass/procedure1.mod: (New file).
	* gm2/pim/pass/procedure2.mod: (New file).
	* gm2/pim/pass/procindirect.mod: (New file).
	* gm2/pim/pass/procmod.mod: (New file).
	* gm2/pim/pass/procmod2.mod: (New file).
	* gm2/pim/pass/procmod3.mod: (New file).
	* gm2/pim/pass/procmod31.mod: (New file).
	* gm2/pim/pass/procmod4.mod: (New file).
	* gm2/pim/pass/procmod5.mod: (New file).
	* gm2/pim/pass/procmod6.def: (New file).
	* gm2/pim/pass/procmod6.mod: (New file).
	* gm2/pim/pass/procmod7.mod: (New file).
	* gm2/pim/pass/procmod8.mod: (New file).
	* gm2/pim/pass/procmod9.mod: (New file).
	* gm2/pim/pass/proctype.mod: (New file).
	* gm2/pim/pass/proctype2.def: (New file).
	* gm2/pim/pass/proctype3.mod: (New file).
	* gm2/pim/pass/proctype4.mod: (New file).
	* gm2/pim/pass/program.mod: (New file).
	* gm2/pim/pass/program2.mod: (New file).
	* gm2/pim/pass/ptrarray.mod: (New file).
	* gm2/pim/pass/ptrarray2.mod: (New file).
	* gm2/pim/pass/ptrarray3.mod: (New file).
	* gm2/pim/pass/ptrcard.mod: (New file).
	* gm2/pim/pass/quads.def: (New file).
	* gm2/pim/pass/quads.mod: (New file).
	* gm2/pim/pass/real.mod: (New file).
	* gm2/pim/pass/real2.mod: (New file).
	* gm2/pim/pass/real3.mod: (New file).
	* gm2/pim/pass/realconst.mod: (New file).
	* gm2/pim/pass/realneg.mod: (New file).
	* gm2/pim/pass/realneg2.mod: (New file).
	* gm2/pim/pass/realone.mod: (New file).
	* gm2/pim/pass/realsize.mod: (New file).
	* gm2/pim/pass/record1.mod: (New file).
	* gm2/pim/pass/record10.mod: (New file).
	* gm2/pim/pass/record11.mod: (New file).
	* gm2/pim/pass/record12.def: (New file).
	* gm2/pim/pass/record13.def: (New file).
	* gm2/pim/pass/record14.def: (New file).
	* gm2/pim/pass/record15.def: (New file).
	* gm2/pim/pass/record16.def: (New file).
	* gm2/pim/pass/record2.mod: (New file).
	* gm2/pim/pass/record3.mod: (New file).
	* gm2/pim/pass/record4.mod: (New file).
	* gm2/pim/pass/record5.mod: (New file).
	* gm2/pim/pass/record6.mod: (New file).
	* gm2/pim/pass/record7.mod: (New file).
	* gm2/pim/pass/record8.mod: (New file).
	* gm2/pim/pass/record9.mod: (New file).
	* gm2/pim/pass/recordarray.c: (New file).
	* gm2/pim/pass/recordarray.mod: (New file).
	* gm2/pim/pass/recordarray2.mod: (New file).
	* gm2/pim/pass/redef.mod: (New file).
	* gm2/pim/pass/set10.mod: (New file).
	* gm2/pim/pass/set11.def: (New file).
	* gm2/pim/pass/set11.mod: (New file).
	* gm2/pim/pass/set12.mod: (New file).
	* gm2/pim/pass/set4.mod: (New file).
	* gm2/pim/pass/set5.mod: (New file).
	* gm2/pim/pass/set6.mod: (New file).
	* gm2/pim/pass/set7.mod: (New file).
	* gm2/pim/pass/set8.mod: (New file).
	* gm2/pim/pass/set9.mod: (New file).
	* gm2/pim/pass/setchar.mod: (New file).
	* gm2/pim/pass/setchar10.mod: (New file).
	* gm2/pim/pass/setchar11.mod: (New file).
	* gm2/pim/pass/setchar3.mod: (New file).
	* gm2/pim/pass/setchar4.mod: (New file).
	* gm2/pim/pass/setchar5.mod: (New file).
	* gm2/pim/pass/setchar7.mod: (New file).
	* gm2/pim/pass/setchar8.mod: (New file).
	* gm2/pim/pass/setchar9.mod: (New file).
	* gm2/pim/pass/setconst.mod: (New file).
	* gm2/pim/pass/setconst2.mod: (New file).
	* gm2/pim/pass/setconst3.mod: (New file).
	* gm2/pim/pass/setenum.mod: (New file).
	* gm2/pim/pass/setimp.mod: (New file).
	* gm2/pim/pass/setimp2.mod: (New file).
	* gm2/pim/pass/setofchar.mod: (New file).
	* gm2/pim/pass/setoverflow.mod: (New file).
	* gm2/pim/pass/sets.mod: (New file).
	* gm2/pim/pass/sets2.mod: (New file).
	* gm2/pim/pass/sets3.mod: (New file).
	* gm2/pim/pass/sets4.mod: (New file).
	* gm2/pim/pass/sets5.mod: (New file).
	* gm2/pim/pass/sets6.mod: (New file).
	* gm2/pim/pass/setsnul.mod: (New file).
	* gm2/pim/pass/settest1.mod: (New file).
	* gm2/pim/pass/settest2.mod: (New file).
	* gm2/pim/pass/settest3.mod: (New file).
	* gm2/pim/pass/simpleproc.mod: (New file).
	* gm2/pim/pass/sizes.mod: (New file).
	* gm2/pim/pass/sizetype.mod: (New file).
	* gm2/pim/pass/smallset1.mod: (New file).
	* gm2/pim/pass/smallset2.mod: (New file).
	* gm2/pim/pass/smallset3.mod: (New file).
	* gm2/pim/pass/smallset4.mod: (New file).
	* gm2/pim/pass/smallset5.mod: (New file).
	* gm2/pim/pass/smallset6.mod: (New file).
	* gm2/pim/pass/smallset7.mod: (New file).
	* gm2/pim/pass/stabs.mod: (New file).
	* gm2/pim/pass/stdio.mod: (New file).
	* gm2/pim/pass/str1.mod: (New file).
	* gm2/pim/pass/str2.mod: (New file).
	* gm2/pim/pass/str3.mod: (New file).
	* gm2/pim/pass/str4.mod: (New file).
	* gm2/pim/pass/str5.mod: (New file).
	* gm2/pim/pass/stressset.mod: (New file).
	* gm2/pim/pass/stringassign.mod: (New file).
	* gm2/pim/pass/stringopaq.mod: (New file).
	* gm2/pim/pass/strings.mod: (New file).
	* gm2/pim/pass/strparam.def: (New file).
	* gm2/pim/pass/strparam.mod: (New file).
	* gm2/pim/pass/subrange.mod: (New file).
	* gm2/pim/pass/subrange10.mod: (New file).
	* gm2/pim/pass/subrange11.mod: (New file).
	* gm2/pim/pass/subrange12.mod: (New file).
	* gm2/pim/pass/subrange14.mod: (New file).
	* gm2/pim/pass/subrange15.mod: (New file).
	* gm2/pim/pass/subrange16.mod: (New file).
	* gm2/pim/pass/subrange17.mod: (New file).
	* gm2/pim/pass/subrange2.mod: (New file).
	* gm2/pim/pass/subrange3.mod: (New file).
	* gm2/pim/pass/subrange4.mod: (New file).
	* gm2/pim/pass/subrange5.mod: (New file).
	* gm2/pim/pass/subrange6.mod: (New file).
	* gm2/pim/pass/subrange7.mod: (New file).
	* gm2/pim/pass/subrange8.mod: (New file).
	* gm2/pim/pass/subrange9.mod: (New file).
	* gm2/pim/pass/test2recursive.mod: (New file).
	* gm2/pim/pass/testabs.mod: (New file).
	* gm2/pim/pass/testbuiltin.mod: (New file).
	* gm2/pim/pass/testbuiltin2.mod: (New file).
	* gm2/pim/pass/testbuiltstr.mod: (New file).
	* gm2/pim/pass/testcap.mod: (New file).
	* gm2/pim/pass/testcap2.mod: (New file).
	* gm2/pim/pass/testcard.mod: (New file).
	* gm2/pim/pass/testcard2.mod: (New file).
	* gm2/pim/pass/testcard3.mod: (New file).
	* gm2/pim/pass/testcard4.mod: (New file).
	* gm2/pim/pass/testcard5.mod: (New file).
	* gm2/pim/pass/testcase.mod: (New file).
	* gm2/pim/pass/testcase2.mod: (New file).
	* gm2/pim/pass/testcase3.mod: (New file).
	* gm2/pim/pass/testcase4.mod: (New file).
	* gm2/pim/pass/testchar.mod: (New file).
	* gm2/pim/pass/testfloat.mod: (New file).
	* gm2/pim/pass/testfloat2.mod: (New file).
	* gm2/pim/pass/testfloat3.mod: (New file).
	* gm2/pim/pass/testfloat4.mod: (New file).
	* gm2/pim/pass/testfor.mod: (New file).
	* gm2/pim/pass/testimpvar.mod: (New file).
	* gm2/pim/pass/testlong3.mod: (New file).
	* gm2/pim/pass/testmod.mod: (New file).
	* gm2/pim/pass/testmod2.mod: (New file).
	* gm2/pim/pass/testodd.mod: (New file).
	* gm2/pim/pass/testopaque.mod: (New file).
	* gm2/pim/pass/testopaque2.mod: (New file).
	* gm2/pim/pass/testopaque3.mod: (New file).
	* gm2/pim/pass/testord.mod: (New file).
	* gm2/pim/pass/testparam.mod: (New file).
	* gm2/pim/pass/testparam2.mod: (New file).
	* gm2/pim/pass/testparam3.mod: (New file).
	* gm2/pim/pass/testpimsize.mod: (New file).
	* gm2/pim/pass/testrecursive.def: (New file).
	* gm2/pim/pass/testrecursive.mod: (New file).
	* gm2/pim/pass/testreturnstr.mod: (New file).
	* gm2/pim/pass/testset.mod: (New file).
	* gm2/pim/pass/testshort.mod: (New file).
	* gm2/pim/pass/testsinf.mod: (New file).
	* gm2/pim/pass/testsinl.mod: (New file).
	* gm2/pim/pass/testsize.mod: (New file).
	* gm2/pim/pass/testvar.mod: (New file).
	* gm2/pim/pass/testvarin.mod: (New file).
	* gm2/pim/pass/timeio.mod: (New file).
	* gm2/pim/pass/timeio2.mod: (New file).
	* gm2/pim/pass/timeio3.mod: (New file).
	* gm2/pim/pass/timeio4.mod: (New file).
	* gm2/pim/pass/timeio5.mod: (New file).
	* gm2/pim/pass/timeio6.mod: (New file).
	* gm2/pim/pass/timeio7.mod: (New file).
	* gm2/pim/pass/timeio8.mod: (New file).
	* gm2/pim/pass/timeio9.mod: (New file).
	* gm2/pim/pass/tinyalloc.mod: (New file).
	* gm2/pim/pass/tinyarray.mod: (New file).
	* gm2/pim/pass/tinyarray2.mod: (New file).
	* gm2/pim/pass/tinyarray3.mod: (New file).
	* gm2/pim/pass/tinyarray4.mod: (New file).
	* gm2/pim/pass/tinyarray5.mod: (New file).
	* gm2/pim/pass/tinyarray6.mod: (New file).
	* gm2/pim/pass/tinyassign.def: (New file).
	* gm2/pim/pass/tinyassign.mod: (New file).
	* gm2/pim/pass/tinyassign2.mod: (New file).
	* gm2/pim/pass/tinyassign3.mod: (New file).
	* gm2/pim/pass/tinyassign4.mod: (New file).
	* gm2/pim/pass/tinyassign5.mod: (New file).
	* gm2/pim/pass/tinybitset.mod: (New file).
	* gm2/pim/pass/tinyelse.mod: (New file).
	* gm2/pim/pass/tinyenum.mod: (New file).
	* gm2/pim/pass/tinyfor.mod: (New file).
	* gm2/pim/pass/tinyfor2.mod: (New file).
	* gm2/pim/pass/tinyfor3.mod: (New file).
	* gm2/pim/pass/tinyhalt.mod: (New file).
	* gm2/pim/pass/tinyhello.mod: (New file).
	* gm2/pim/pass/tinyif.mod: (New file).
	* gm2/pim/pass/tinyif2.mod: (New file).
	* gm2/pim/pass/tinyif3.mod: (New file).
	* gm2/pim/pass/tinyif4.mod: (New file).
	* gm2/pim/pass/tinyif5.mod: (New file).
	* gm2/pim/pass/tinyif6.mod: (New file).
	* gm2/pim/pass/tinyif7.mod: (New file).
	* gm2/pim/pass/tinyif8.mod: (New file).
	* gm2/pim/pass/tinyimp.mod: (New file).
	* gm2/pim/pass/tinylit.mod: (New file).
	* gm2/pim/pass/tinylit2.mod: (New file).
	* gm2/pim/pass/tinymax.mod: (New file).
	* gm2/pim/pass/tinymod.mod: (New file).
	* gm2/pim/pass/tinynode.mod: (New file).
	* gm2/pim/pass/tinyparam.mod: (New file).
	* gm2/pim/pass/tinyparam2.mod: (New file).
	* gm2/pim/pass/tinyplus.mod: (New file).
	* gm2/pim/pass/tinyproc.mod: (New file).
	* gm2/pim/pass/tinyproc2.mod: (New file).
	* gm2/pim/pass/tinyproc3.mod: (New file).
	* gm2/pim/pass/tinyproc4.mod: (New file).
	* gm2/pim/pass/tinyproc5.mod: (New file).
	* gm2/pim/pass/tinyproc6.mod: (New file).
	* gm2/pim/pass/tinyptr.mod: (New file).
	* gm2/pim/pass/tinyreal.mod: (New file).
	* gm2/pim/pass/tinyrecord.mod: (New file).
	* gm2/pim/pass/tinyrepeat.mod: (New file).
	* gm2/pim/pass/tinyset6.mod: (New file).
	* gm2/pim/pass/tinyset7.mod: (New file).
	* gm2/pim/pass/tinystate.mod: (New file).
	* gm2/pim/pass/tinysub.def: (New file).
	* gm2/pim/pass/tinytest.mod: (New file).
	* gm2/pim/pass/tinytrue.mod: (New file).
	* gm2/pim/pass/tinyvar.mod: (New file).
	* gm2/pim/pass/tinyvar2.mod: (New file).
	* gm2/pim/pass/tinyvar3.mod: (New file).
	* gm2/pim/pass/tinyvar4.mod: (New file).
	* gm2/pim/pass/tinyvar5.mod: (New file).
	* gm2/pim/pass/tinyvarient.mod: (New file).
	* gm2/pim/pass/tinyvarient2.mod: (New file).
	* gm2/pim/pass/tinyvarient3.def: (New file).
	* gm2/pim/pass/tinyvarient3.mod: (New file).
	* gm2/pim/pass/tinyvarient4.mod: (New file).
	* gm2/pim/pass/tinyvarient5.mod: (New file).
	* gm2/pim/pass/tinyvarient6.mod: (New file).
	* gm2/pim/pass/tinywhile.mod: (New file).
	* gm2/pim/pass/tinywith.mod: (New file).
	* gm2/pim/pass/tinywith2.mod: (New file).
	* gm2/pim/pass/tinywith3.mod: (New file).
	* gm2/pim/pass/tinywith4.mod: (New file).
	* gm2/pim/pass/tinywith5.mod: (New file).
	* gm2/pim/pass/tinywith6.mod: (New file).
	* gm2/pim/pass/trunc.mod: (New file).
	* gm2/pim/pass/try: (New file).
	* gm2/pim/pass/typeequiv.mod: (New file).
	* gm2/pim/pass/typeequiv2.mod: (New file).
	* gm2/pim/pass/typeequiv3.mod: (New file).
	* gm2/pim/pass/typeonly.def: (New file).
	* gm2/pim/pass/typeonly.mod: (New file).
	* gm2/pim/pass/typesize.mod: (New file).
	* gm2/pim/pass/unbounded.mod: (New file).
	* gm2/pim/pass/unbounded2.mod: (New file).
	* gm2/pim/pass/unbounded3.mod: (New file).
	* gm2/pim/pass/v.def: (New file).
	* gm2/pim/pass/varaddress.mod: (New file).
	* gm2/pim/pass/varaddress2.mod: (New file).
	* gm2/pim/pass/varaddress3.mod: (New file).
	* gm2/pim/pass/varcard.mod: (New file).
	* gm2/pim/pass/variant9.mod: (New file).
	* gm2/pim/pass/varient.mod: (New file).
	* gm2/pim/pass/varient2.mod: (New file).
	* gm2/pim/pass/varient3.mod: (New file).
	* gm2/pim/pass/varient4.mod: (New file).
	* gm2/pim/pass/varient5.mod: (New file).
	* gm2/pim/pass/varient6.mod: (New file).
	* gm2/pim/pass/varient7.mod: (New file).
	* gm2/pim/pass/varient8.mod: (New file).
	* gm2/pim/pass/varin.def: (New file).
	* gm2/pim/pass/varin.mod: (New file).
	* gm2/pim/pass/varint.mod: (New file).
	* gm2/pim/pass/wincat.mod: (New file).
	* gm2/pim/pass/with.mod: (New file).
	* gm2/pim/pass/wordconst.mod: (New file).
	* gm2/pim/run/fail/case.mod: (New file).
	* gm2/pim/run/fail/nil.mod: (New file).
	* gm2/pim/run/fail/pim-run-fail.exp: (New file).
	* gm2/pim/run/pass/Countdown.mod: (New file).
	* gm2/pim/run/pass/EndFor.def: (New file).
	* gm2/pim/run/pass/EndFor.mod: (New file).
	* gm2/pim/run/pass/EnumTest.mod: (New file).
	* gm2/pim/run/pass/For1.mod: (New file).
	* gm2/pim/run/pass/For10.mod: (New file).
	* gm2/pim/run/pass/For11.mod: (New file).
	* gm2/pim/run/pass/For12.mod: (New file).
	* gm2/pim/run/pass/For2.mod: (New file).
	* gm2/pim/run/pass/For3.mod: (New file).
	* gm2/pim/run/pass/For4.mod: (New file).
	* gm2/pim/run/pass/For5.mod: (New file).
	* gm2/pim/run/pass/For6.mod: (New file).
	* gm2/pim/run/pass/For7.mod: (New file).
	* gm2/pim/run/pass/For8.mod: (New file).
	* gm2/pim/run/pass/For9.mod: (New file).
	* gm2/pim/run/pass/FpuIOBug.mod: (New file).
	* gm2/pim/run/pass/MaxReal.mod: (New file).
	* gm2/pim/run/pass/MaxReal2.mod: (New file).
	* gm2/pim/run/pass/TestLong.mod: (New file).
	* gm2/pim/run/pass/TestLong2.mod: (New file).
	* gm2/pim/run/pass/TestLong4.mod: (New file).
	* gm2/pim/run/pass/TestLong5.mod: (New file).
	* gm2/pim/run/pass/addrarray.mod: (New file).
	* gm2/pim/run/pass/arraychar.mod: (New file).
	* gm2/pim/run/pass/arraychar2.mod: (New file).
	* gm2/pim/run/pass/arrayrecord.mod: (New file).
	* gm2/pim/run/pass/bitsettest.def: (New file).
	* gm2/pim/run/pass/bitsettest.mod: (New file).
	* gm2/pim/run/pass/bytearray.mod: (New file).
	* gm2/pim/run/pass/constdynstr.mod: (New file).
	* gm2/pim/run/pass/conststr.mod: (New file).
	* gm2/pim/run/pass/conststr2.mod: (New file).
	* gm2/pim/run/pass/cycles.mod: (New file).
	* gm2/pim/run/pass/dec.mod: (New file).
	* gm2/pim/run/pass/enums.mod: (New file).
	* gm2/pim/run/pass/incsubrange.def: (New file).
	* gm2/pim/run/pass/incsubrange.mod: (New file).
	* gm2/pim/run/pass/index3.mod: (New file).
	* gm2/pim/run/pass/int16.mod: (New file).
	* gm2/pim/run/pass/int32.mod: (New file).
	* gm2/pim/run/pass/int8.mod: (New file).
	* gm2/pim/run/pass/line.mod: (New file).
	* gm2/pim/run/pass/long.mod: (New file).
	* gm2/pim/run/pass/longfor.mod: (New file).
	* gm2/pim/run/pass/longtypes10.mod: (New file).
	* gm2/pim/run/pass/longtypes7.mod: (New file).
	* gm2/pim/run/pass/longtypes8.mod: (New file).
	* gm2/pim/run/pass/longtypes9.mod: (New file).
	* gm2/pim/run/pass/math.mod: (New file).
	* gm2/pim/run/pass/math2.mod: (New file).
	* gm2/pim/run/pass/mathconst.mod: (New file).
	* gm2/pim/run/pass/minhello.mod: (New file).
	* gm2/pim/run/pass/minimal.mod: (New file).
	* gm2/pim/run/pass/nestedproc.mod: (New file).
	* gm2/pim/run/pass/nestedproc2.mod: (New file).
	* gm2/pim/run/pass/nestedproc3.mod: (New file).
	* gm2/pim/run/pass/nestedproc4.mod: (New file).
	* gm2/pim/run/pass/nestedproc5.mod: (New file).
	* gm2/pim/run/pass/nestedproc6.mod: (New file).
	* gm2/pim/run/pass/nestedproc7.mod: (New file).
	* gm2/pim/run/pass/nestedwith.mod: (New file).
	* gm2/pim/run/pass/nestedwith2.mod: (New file).
	* gm2/pim/run/pass/nestedwith3.mod: (New file).
	* gm2/pim/run/pass/nothing.mod: (New file).
	* gm2/pim/run/pass/pim-run-pass.exp: (New file).
	* gm2/pim/run/pass/prog31ex.mod: (New file).
	* gm2/pim/run/pass/rts.mod: (New file).
	* gm2/pim/run/pass/setcritical.mod: (New file).
	* gm2/pim/run/pass/setequiv.mod: (New file).
	* gm2/pim/run/pass/str6.mod: (New file).
	* gm2/pim/run/pass/stringaddr.mod: (New file).
	* gm2/pim/run/pass/stringaddr2.def: (New file).
	* gm2/pim/run/pass/stringaddr2.mod: (New file).
	* gm2/pim/run/pass/stripped.mod: (New file).
	* gm2/pim/run/pass/sys.def: (New file).
	* gm2/pim/run/pass/sys.mod: (New file).
	* gm2/pim/run/pass/t.def: (New file).
	* gm2/pim/run/pass/testaddr.mod: (New file).
	* gm2/pim/run/pass/testaddr2.mod: (New file).
	* gm2/pim/run/pass/testaddr3.mod: (New file).
	* gm2/pim/run/pass/testarray.mod: (New file).
	* gm2/pim/run/pass/testarray2.mod: (New file).
	* gm2/pim/run/pass/testarray3.mod: (New file).
	* gm2/pim/run/pass/testarray4.mod: (New file).
	* gm2/pim/run/pass/testarray5.mod: (New file).
	* gm2/pim/run/pass/testavail.mod: (New file).
	* gm2/pim/run/pass/testdiv.mod: (New file).
	* gm2/pim/run/pass/testfpufunc.mod: (New file).
	* gm2/pim/run/pass/testfpufunc2.mod: (New file).
	* gm2/pim/run/pass/testlarge.mod: (New file).
	* gm2/pim/run/pass/testlarge2.mod: (New file).
	* gm2/pim/run/pass/testnextproc.mod: (New file).
	* gm2/pim/run/pass/testparam.mod: (New file).
	* gm2/pim/run/pass/testreturnstr.mod: (New file).
	* gm2/pim/run/pass/testreturnstr2.mod: (New file).
	* gm2/pim/run/pass/testreturnstr3.def: (New file).
	* gm2/pim/run/pass/testreturnstr3.mod: (New file).
	* gm2/pim/run/pass/testsize.mod: (New file).
	* gm2/pim/run/pass/testsize2.mod: (New file).
	* gm2/pim/run/pass/testsize3.mod: (New file).
	* gm2/pim/run/pass/testsize4.mod: (New file).
	* gm2/pim/run/pass/testtbitsize.mod: (New file).
	* gm2/pim/run/pass/tinywith.mod: (New file).
	* gm2/pim/run/pass/unbounded.mod: (New file).
	* gm2/pim/run/pass/varaddress3.mod: (New file).
	* gm2/pim/run/pass/varparam2.mod: (New file).
	* gm2/pim/run/pass/varparam3.mod: (New file).
	* gm2/pim/run/pass/varparm.mod: (New file).
	* gm2/pim/run/pass/wr.mod: (New file).
	* gm2/pimcoroutines/pass/imports.mod: (New file).
	* gm2/pimcoroutines/pass/imports2.mod: (New file).
	* gm2/pimcoroutines/pass/pimcoroutines-pass.exp: (New file).
	* gm2/pimcoroutines/run/pass/pimcoroutines-run-pass.exp: (New file).
	* gm2/pimcoroutines/run/pass/testtime.mod: (New file).
	* gm2/pimlib/base/run/pass/FIO.mod: (New file).
	* gm2/pimlib/base/run/pass/StrLib.mod: (New file).
	* gm2/pimlib/base/run/pass/pimlib-base-run-pass.exp: (New file).
	* gm2/pimlib/base/run/pass/testconvert.mod: (New file).
	* gm2/pimlib/coroutines/pass/pimlib-coroutines-pass.exp: (New file).
	* gm2/pimlib/coroutines/pass/priority.mod: (New file).
	* gm2/pimlib/coroutines/pass/priority2.mod: (New file).
	* gm2/pimlib/coroutines/pass/priority3.def: (New file).
	* gm2/pimlib/coroutines/pass/priority3.mod: (New file).
	* gm2/pimlib/logitech/pass/LogitechLong.mod: (New file).
	* gm2/pimlib/logitech/pass/hello.mod: (New file).
	* gm2/pimlib/logitech/pass/pimlib-logitech-pass.exp: (New file).
	* gm2/pimlib/logitech/run/pass/bbits.mod: (New file).
	* gm2/pimlib/logitech/run/pass/hello.mod: (New file).
	* gm2/pimlib/logitech/run/pass/helloinout.mod: (New file).
	* gm2/pimlib/logitech/run/pass/intb.mod: (New file).
	* gm2/pimlib/logitech/run/pass/pimlib-logitech-run-pass.exp: (New file).
	* gm2/pimlib/logitech/run/pass/realconv.mod: (New file).
	* gm2/pimlib/logitech/run/pass/realinput.mod: (New file).
	* gm2/pimlib/logitech/run/pass/realinput2.mod: (New file).
	* gm2/pimlib/logitech/run/pass/realinput3.mod: (New file).
	* gm2/pimlib/logitech/run/pass/rename.mod: (New file).
	* gm2/pimlib/logitech/run/pass/timedate.mod: (New file).
	* gm2/pimlib/logitech/run/pass/writeoct.mod: (New file).
	* gm2/pimlib/pass/pimlib-pass.exp: (New file).
	* gm2/pimlib/run/pass/format.mod: (New file).
	* gm2/pimlib/run/pass/limittests.c: (New file).
	* gm2/pimlib/run/pass/limittests.mod: (New file).
	* gm2/pimlib/run/pass/longreal.mod: (New file).
	* gm2/pimlib/run/pass/pimlib-run-pass.exp: (New file).
	* gm2/pimlib/run/pass/test.c: (New file).
	* gm2/pimlib/run/pass/testreal.mod: (New file).
	* gm2/pimlib/run/pass/testreal2.mod: (New file).
	* gm2/pimlib/run/pass/testreal4.mod: (New file).
	* gm2/projects/README: (New file).
	* gm2/projects/iso/run/pass/halma/halma.mod: (New file).
	* gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp:
	(New file).
	* gm2/projects/iso/run/pass/hello/hello.mod: (New file).
	* gm2/projects/iso/run/pass/hello/projects-iso-run-pass-hello.exp:
	(New file).
	* gm2/projects/log/run/pass/hello/hello.mod: (New file).
	* gm2/projects/log/run/pass/hello/projects-log-run-pass-hello.exp:
	(New file).
	* gm2/projects/pim/run/pass/hello/hello.mod: (New file).
	* gm2/projects/pim/run/pass/hello/projects-pim-run-pass-hello.exp:
	(New file).
	* gm2/projects/pim/run/pass/random/AdvMap.def: (New file).
	* gm2/projects/pim/run/pass/random/AdvMap.mod: (New file).
	* gm2/projects/pim/run/pass/random/BoxMap.def: (New file).
	* gm2/projects/pim/run/pass/random/BoxMap.mod: (New file).
	* gm2/projects/pim/run/pass/random/Chance.def: (New file).
	* gm2/projects/pim/run/pass/random/Chance.mod: (New file).
	* gm2/projects/pim/run/pass/random/Geometry.def: (New file).
	* gm2/projects/pim/run/pass/random/Geometry.mod: (New file).
	* gm2/projects/pim/run/pass/random/MakeBoxes.def: (New file).
	* gm2/projects/pim/run/pass/random/MakeBoxes.mod: (New file).
	* gm2/projects/pim/run/pass/random/Map.mod: (New file).
	* gm2/projects/pim/run/pass/random/MapOptions.def: (New file).
	* gm2/projects/pim/run/pass/random/MapOptions.mod: (New file).
	* gm2/projects/pim/run/pass/random/Options.def: (New file).
	* gm2/projects/pim/run/pass/random/Options.mod: (New file).
	* gm2/projects/pim/run/pass/random/RoomMap.def: (New file).
	* gm2/projects/pim/run/pass/random/RoomMap.mod: (New file).
	* gm2/projects/pim/run/pass/random/StoreCoords.def: (New file).
	* gm2/projects/pim/run/pass/random/StoreCoords.mod: (New file).
	* gm2/projects/pim/run/pass/random/WriteMap.def: (New file).
	* gm2/projects/pim/run/pass/random/WriteMap.mod: (New file).
	* gm2/projects/pim/run/pass/random/projects-pim-run-pass-random.exp:
	(New file).
	* gm2/quads/run/pass/becomes.mod: (New file).
	* gm2/quads/run/pass/param.mod: (New file).
	* gm2/quads/run/pass/quads-run-pass.exp: (New file).
	* gm2/quads/run/pass/return.mod: (New file).
	* gm2/recover/pass/cannot-solve/begin.mod: (New file).
	* gm2/recover/pass/cannot-solve/statementsemi.mod: (New file).
	* gm2/recover/pass/end2.mod: (New file).
	* gm2/recover/pass/of.mod: (New file).
	* gm2/recover/pass/procsemi.mod: (New file).
	* gm2/recover/pass/recover-pass.exp: (New file).
	* gm2/recover/pass/rrbra.mod: (New file).
	* gm2/recover/pass/rsbra.mod: (New file).
	* gm2/recover/pass/semi.mod: (New file).
	* gm2/run/fail/list.mod: (New file).
	* gm2/run/fail/options: (New file).
	* gm2/run/fail/testdec.mod: (New file).
	* gm2/run/fail/testfunc.mod: (New file).
	* gm2/run/pass/cycles.mod: (New file).
	* gm2/run/pass/line.mod: (New file).
	* gm2/run/pass/nestedproc.mod: (New file).
	* gm2/run/pass/nestedproc2.mod: (New file).
	* gm2/run/pass/nestedproc3.mod: (New file).
	* gm2/run/pass/nestedproc5.mod: (New file).
	* gm2/run/pass/nestedset.mod: (New file).
	* gm2/run/pass/nothing.mod: (New file).
	* gm2/run/pass/options: (New file).
	* gm2/run/pass/prog31ex.mod: (New file).
	* gm2/run/pass/rts.mod: (New file).
	* gm2/run/pass/stripped.mod: (New file).
	* gm2/run/pass/testavail.mod: (New file).
	* gm2/run/pass/testfpufunc.mod: (New file).
	* gm2/run/pass/testfpufunc2.mod: (New file).
	* gm2/run/pass/testnextproc.mod: (New file).
	* gm2/run/pass/testparam.mod: (New file).
	* gm2/run/pass/testsize.mod: (New file).
	* gm2/run/pass/testsize2.mod: (New file).
	* gm2/run/pass/testsize3.mod: (New file).
	* gm2/run/pass/wr.mod: (New file).
	* gm2/scripts/addit: (New file).
	* gm2/scripts/comp: (New file).
	* gm2/scripts/compile: (New file).
	* gm2/scripts/compileiso: (New file).
	* gm2/scripts/link: (New file).
	* gm2/scripts/regression: (New file).
	* gm2/scripts/subit: (New file).
	* gm2/sets/run/pass/multisetarith.mod: (New file).
	* gm2/sets/run/pass/multisetarith2.mod: (New file).
	* gm2/sets/run/pass/multisetarith3.mod: (New file).
	* gm2/sets/run/pass/multisetarith4.mod: (New file).
	* gm2/sets/run/pass/multisetrotate.mod: (New file).
	* gm2/sets/run/pass/multisetrotate2.mod: (New file).
	* gm2/sets/run/pass/multisetrotate3.mod: (New file).
	* gm2/sets/run/pass/multisetrotate4.mod: (New file).
	* gm2/sets/run/pass/multisetshift.mod: (New file).
	* gm2/sets/run/pass/multisetshift2.mod: (New file).
	* gm2/sets/run/pass/multisimple.mod: (New file).
	* gm2/sets/run/pass/multisimple2.mod: (New file).
	* gm2/sets/run/pass/multisimple3.mod: (New file).
	* gm2/sets/run/pass/multisimple4.mod: (New file).
	* gm2/sets/run/pass/multisimple5.mod: (New file).
	* gm2/sets/run/pass/multisimple6.mod: (New file).
	* gm2/sets/run/pass/multisimple7.mod: (New file).
	* gm2/sets/run/pass/setarith.mod: (New file).
	* gm2/sets/run/pass/setarith2.mod: (New file).
	* gm2/sets/run/pass/setarith3.mod: (New file).
	* gm2/sets/run/pass/setarith4.mod: (New file).
	* gm2/sets/run/pass/setrotate.mod: (New file).
	* gm2/sets/run/pass/setrotate2.mod: (New file).
	* gm2/sets/run/pass/setrotate3.mod: (New file).
	* gm2/sets/run/pass/setrotate4.mod: (New file).
	* gm2/sets/run/pass/sets-run-pass.exp: (New file).
	* gm2/sets/run/pass/setshift.mod: (New file).
	* gm2/sets/run/pass/setshift2.mod: (New file).
	* gm2/sets/run/pass/simple.mod: (New file).
	* gm2/sets/run/pass/simple2.mod: (New file).
	* gm2/sets/run/pass/simple3.mod: (New file).
	* gm2/sets/run/pass/simple4.mod: (New file).
	* gm2/sets/run/pass/simple5.mod: (New file).
	* gm2/sets/run/pass/simple6.mod: (New file).
	* gm2/sets/run/pass/simple7.mod: (New file).
	* gm2/switches/auto-init/fail/switches-auto-init-fail.exp: (New file).
	* gm2/switches/auto-init/fail/uninitptr.mod: (New file).
	* gm2/switches/auto-init/fail/uninitptr2.mod: (New file).
	* gm2/switches/check-all/pim2/fail/overflow.mod: (New file).
	* gm2/switches/check-all/pim2/fail/overflow2.mod: (New file).
	* gm2/switches/check-all/pim2/fail/overflowdiv1.mod: (New file).
	* gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp:
	(New file).
	* gm2/switches/check-all/plugin/iso/fail/divceilposneg.mod: (New file).
	* gm2/switches/check-all/plugin/iso/fail/divceilposneg2.mod: (New file).
	* gm2/switches/check-all/plugin/iso/fail/divceilposnegcall.mod: (New file).
	* gm2/switches/check-all/plugin/iso/fail/divceilposnegcall2.mod: (New file).
	* gm2/switches/check-all/plugin/iso/fail/divfloornegpos.mod: (New file).
	* gm2/switches/check-all/plugin/iso/fail/divfloorpospos.mod: (New file).
	* gm2/switches/check-all/plugin/iso/fail/lowdiv.mod: (New file).
	* gm2/switches/check-all/plugin/iso/fail/switches-check-all-plugin-iso-fail.exp:
	(New file).
	* gm2/switches/check-all/plugin/pim2/fail/divceil.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/highdiv.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/modulus.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin1.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin3.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin4.def: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin4.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin5.def: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin5.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin6.def: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin6.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin7.def: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin7.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin8.def: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin8.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/plugin9.mod: (New file).
	* gm2/switches/check-all/plugin/pim2/fail/switches-check-all-plugin-pim2-fail.exp:
	(New file).
	* gm2/switches/check-all/run/fail/cardrange.mod: (New file).
	* gm2/switches/check-all/run/fail/cardrange2.mod: (New file).
	* gm2/switches/check-all/run/fail/cardrange3.mod: (New file).
	* gm2/switches/check-all/run/fail/intrange.mod: (New file).
	* gm2/switches/check-all/run/fail/intrange2.mod: (New file).
	* gm2/switches/check-all/run/fail/intrange3.mod: (New file).
	* gm2/switches/check-all/run/fail/intrange4.mod: (New file).
	* gm2/switches/check-all/run/fail/intrange5.mod: (New file).
	* gm2/switches/check-all/run/fail/multint1.mod: (New file).
	* gm2/switches/check-all/run/fail/multint2.mod: (New file).
	* gm2/switches/check-all/run/fail/multint3.mod: (New file).
	* gm2/switches/check-all/run/fail/rangesupport.def: (New file).
	* gm2/switches/check-all/run/fail/rangesupport.mod: (New file).
	* gm2/switches/check-all/run/fail/realrange.mod: (New file).
	* gm2/switches/check-all/run/fail/subrange.mod: (New file).
	* gm2/switches/check-all/run/fail/switches-check-all-run-fail.exp:
	(New file).
	* gm2/switches/check-all/run/fail/tinyrange.mod: (New file).
	* gm2/switches/check-all/run/pass/cardrange.mod: (New file).
	* gm2/switches/check-all/run/pass/forcheck.mod: (New file).
	* gm2/switches/check-all/run/pass/subrange.mod: (New file).
	* gm2/switches/check-all/run/pass/switches-check-all-run-pass.exp:
	(New file).
	* gm2/switches/extended-opaque/fail/a.def: (New file).
	* gm2/switches/extended-opaque/fail/a.mod: (New file).
	* gm2/switches/extended-opaque/fail/switches-extended-opaque-fail.exp:
	(New file).
	* gm2/switches/extended-opaque/pass/a.def: (New file).
	* gm2/switches/extended-opaque/pass/a.mod: (New file).
	* gm2/switches/extended-opaque/pass/b.mod: (New file).
	* gm2/switches/extended-opaque/pass/switches-extended-opaque-pass.exp:
	(New file).
	* gm2/switches/iso/run/pass/modulus.mod: (New file).
	* gm2/switches/iso/run/pass/modulus4.mod: (New file).
	* gm2/switches/iso/run/pass/switches-iso-run-pass.exp: (New file).
	* gm2/switches/makeall/fail/switches-makeall-fail.exp: (New file).
	* gm2/switches/makeall/fail/test.def: (New file).
	* gm2/switches/makeall/fail/test.mod: (New file).
	* gm2/switches/makeall/pass/switches-makeall-pass.exp: (New file).
	* gm2/switches/makeall/pass/test.def: (New file).
	* gm2/switches/makeall/pass/test.mod: (New file).
	* gm2/switches/none/run/pass/gm2-none.exp: (New file).
	* gm2/switches/none/run/pass/hello.mod: (New file).
	* gm2/switches/optimization/run/pass/fact.mod: (New file).
	* gm2/switches/optimization/run/pass/switches-optimization-run-pass.exp:
	(New file).
	* gm2/switches/pedantic-params/fail/a.def: (New file).
	* gm2/switches/pedantic-params/fail/a.mod: (New file).
	* gm2/switches/pedantic-params/fail/switches-pedantic-params-fail.exp:
	(New file).
	* gm2/switches/pedantic-params/pass/Strings.def: (New file).
	* gm2/switches/pedantic-params/pass/Strings.mod: (New file).
	* gm2/switches/pedantic-params/pass/Strings2.def: (New file).
	* gm2/switches/pedantic-params/pass/Strings2.mod: (New file).
	* gm2/switches/pedantic-params/pass/switches-pedantic-params-pass.exp:
	(New file).
	* gm2/switches/pedantic/fail/onlywrite.mod: (New file).
	* gm2/switches/pedantic/fail/readb4.mod: (New file).
	* gm2/switches/pic/run/pass/func.c: (New file).
	* gm2/switches/pic/run/pass/func.mod: (New file).
	* gm2/switches/pic/run/pass/func2.c: (New file).
	* gm2/switches/pic/run/pass/func2.mod: (New file).
	* gm2/switches/pic/run/pass/switches-pic-run-pass.exp: (New file).
	* gm2/switches/pim2/run/pass/modulus.mod: (New file).
	* gm2/switches/pim2/run/pass/switches-pim2-run-pass.exp: (New file).
	* gm2/switches/pim3/run/pass/modulus.mod: (New file).
	* gm2/switches/pim3/run/pass/switches-pim3-run-pass.exp: (New file).
	* gm2/switches/pim4/run/pass/FpuIOBug.mod: (New file).
	* gm2/switches/pim4/run/pass/InOutBug.mod: (New file).
	* gm2/switches/pim4/run/pass/NumberIOBug.mod: (New file).
	* gm2/switches/pim4/run/pass/modulus.mod: (New file).
	* gm2/switches/pim4/run/pass/modulus2.mod: (New file).
	* gm2/switches/pim4/run/pass/switches-pim4-run-pass.exp: (New file).
	* gm2/switches/whole-program/pass/run/hello.mod: (New file).
	* gm2/switches/whole-program/pass/run/hello2.mod: (New file).
	* gm2/switches/whole-program/pass/run/switches-whole-program-pass-run.exp:
	(New file).
	* gm2/switches/whole-program/pass/run/tiny.mod: (New file).
	* gm2/switches/whole-program/pass/run/tiny2.mod: (New file).
	* gm2/types/bitset.mod: (New file).
	* gm2/types/bitset2.mod: (New file).
	* gm2/types/bitset3.mod: (New file).
	* gm2/types/charset.mod: (New file).
	* gm2/types/const.mod: (New file).
	* gm2/types/prog35.mod: (New file).
	* gm2/types/real.mod: (New file).
	* gm2/types/run/pass/d.c: (New file).
	* gm2/types/run/pass/d.def: (New file).
	* gm2/types/run/pass/types-run-pass.exp: (New file).
	* gm2/types/run/pass/varient4.mod: (New file).
	* gm2/types/run/pass/varient5.mod: (New file).
	* gm2/types/string.mod: (New file).
	* gm2/types/type1.mod: (New file).
	* gm2/types/type2.mod: (New file).
	* gm2/types/type3.mod: (New file).
	* gm2/types/type4.mod: (New file).
	* gm2/types/varient.mod: (New file).
	* gm2/types/word.mod: (New file).
	* gm2/ulmlib/pass/ulmlib-pass.exp: (New file).
	* gm2/ulmlib/std/pass/ulmlib-std-pass.exp: (New file).
	* gm2/ulmlib/sys/pass/ulmlib-sys-pass.exp: (New file).
	* gm2/warnings/todo/nestedproc6.mod: (New file).
	* gm2/warnings/todo/options: (New file).
	* gm2/warnings/todo/testfor.mod: (New file).
	* gm2/warnings/todo/testfor2.mod: (New file).
	* gm2/warnings/todo/testfor3.mod: (New file).
	* gm2/warnings/todo/testkeywords.mod: (New file).
	* gm2/warnings/todo/testloop.mod: (New file).
	* gm2/warnings/todo/testscope.mod: (New file).
	* gm2/warnings/todo/testscope2.mod: (New file).
	* gm2/x86-asm/asm.mod: (New file).
	* gm2/x86-asm/asm2.mod: (New file).

Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
2022-12-14 17:43:08 +00:00
Iain Sandoe
05048fc29f configure: When host-shared, pass --with-pic to in-tree lib configs.
If we are building PIC/PIE host executables, and we are building dependent
libs (e.g. GMP) in-tree those libs need to be configured to generate PIC code.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>

ChangeLog:

	* Makefile.def: Pass host_libs_picflag to host dependent library
	configures.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac (host_libs_picflag): New configure variable set to
	'--with-pic' when building 'host_shared'.
2022-12-07 11:16:31 +00:00
Weimin Pan
3de627ffe4 sync libsframe toplevel from binutils-gdb
This pulls in the toplevel portion of this binutils-gdb commit:
   19e559f1c91bfaedbd2f91d85ee161f3f03fda3c libsframe: add the SFrame library

ChangeLog:
	* Makefile.def: Add libsframe as new module with its dependencies.
	* Makefile.in: Regenerated.
	* configure.ac: Add libsframe to host_libs.
	* configure: Regenerated.
2022-11-25 15:48:03 +00:00
Marek Polacek
04711f5189 Revert "configure: Implement --enable-host-pie"
This reverts commit 251c72a68a.
2022-11-22 21:10:31 -05:00
Marek Polacek
251c72a68a configure: Implement --enable-host-pie
This patch implements the --enable-host-pie configure option which
makes the compiler executables PIE.  This can be used to enhance
protection against ROP attacks, and can be viewed as part of a wider
trend to harden binaries.

It is similar to the option --enable-host-shared, except that --e-h-s
won't add -shared to the linker flags whereas --e-h-p will add -pie.
It is different from --enable-default-pie because that option just
adds an implicit -fPIE/-pie when the compiler is invoked, but the
compiler itself isn't PIE.

Since r12-5768-gfe7c3ecf, PCH works well with PIE, so there are no PCH
regressions.

When building the compiler, the build process may use various in-tree
libraries; these need to be built with -fPIE so that it's possible to
use them when building a PIE.  For instance, when --with-included-gettext
is in effect, intl object files must be compiled with -fPIE.  Similarly,
when building in-tree gmp, isl, mpfr and mpc, they must be compiled with
-fPIE.

I plan to add an option to link with -Wl,-z,now.

ChangeLog:

	* Makefile.def: Pass $(PICFLAG) to AM_CFLAGS for gmp, mpfr, mpc, and
	isl.
	* Makefile.in: Regenerate.
	* Makefile.tpl: Set PICFLAG.
	* configure.ac (--enable-host-pie): New check.  Set PICFLAG after this
	check.
	* configure: Regenerate.

c++tools/ChangeLog:

	* Makefile.in: Rename PIEFLAG to PICFLAG.  Set LD_PICFLAG.  Use it.
	Use pic/libiberty.a if PICFLAG is set.
	* configure.ac (--enable-default-pie): Set PICFLAG instead of PIEFLAG.
	(--enable-host-pie): New check.
	* configure: Regenerate.

fixincludes/ChangeLog:

	* Makefile.in: Set and use PICFLAG and LD_PICFLAG.  Use the "pic"
	build of libiberty if PICFLAG is set.
	* configure.ac:
	* configure: Regenerate.

gcc/ChangeLog:

	* Makefile.in: Set LD_PICFLAG.  Use it.  Set enable_host_pie.
	Remove NO_PIE_CFLAGS and NO_PIE_FLAG.  Pass LD_PICFLAG to
	ALL_LINKERFLAGS.  Use the "pic" build of libiberty if --enable-host-pie.
	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
	(--enable-host-pie): New check.  Set PICFLAG and LD_PICFLAG after this
	check.
	* configure: Regenerate.
	* doc/install.texi: Document --enable-host-pie.

gcc/d/ChangeLog:

	* Make-lang.in: Remove NO_PIE_CFLAGS.

intl/ChangeLog:

	* Makefile.in: Use @PICFLAG@ in COMPILE as well.
	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
	(--enable-host-pie): New check.  Set PICFLAG after this check.
	* configure: Regenerate.

libcody/ChangeLog:

	* Makefile.in: Pass LD_PICFLAG to LDFLAGS.
	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
	(--enable-host-pie): New check.  Set PICFLAG and LD_PICFLAG after this
	check.
	* configure: Regenerate.

libcpp/ChangeLog:

	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
	(--enable-host-pie): New check.  Set PICFLAG after this check.
	* configure: Regenerate.

libdecnumber/ChangeLog:

	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
	(--enable-host-pie): New check.  Set PICFLAG after this check.
	* configure: Regenerate.

libiberty/ChangeLog:

	* configure.ac: Also set shared when enable_host_pie.
	* configure: Regenerate.

zlib/ChangeLog:

	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
	(--enable-host-pie): New check.  Set PICFLAG after this check.
	* configure: Regenerate.
2022-11-22 20:32:18 -05:00
Martin Liska
4e3dcf2076 Revert "sphinx: support Sphinx in build system"
This reverts commit 41a45cba00.
2022-11-14 09:35:06 +01:00
Martin Liska
45ab87d4f3 Revert "docs: fix links pointing to gcc.gnu.org/install"
This reverts commit 0b3d926d79.
2022-11-14 09:35:04 +01:00
Martin Liska
0b3d926d79 docs: fix links pointing to gcc.gnu.org/install
Use https://gcc.gnu.org/onlinedocs/install/ instead.

ChangeLog:

	* configure.ac: Use new install URL.
	* configure: Regenerate.

gcc/ChangeLog:

	* Makefile.in: Use new install URL.
	* doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
	Use intersphinx link.
	* doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
	Use new URL.
	* doc/gccint/source-tree-structure-and-build-system.rst: Use
	intersphinx link.
	* doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
	* doc/install/installing-gcc.rst: Likewise.
2022-11-09 15:38:47 +01:00
Martin Liska
41a45cba00 sphinx: support Sphinx in build system
config/ChangeLog:

	* acx.m4: Do not wrap REPORT_BUGS_TO.

ChangeLog:

	* configure: Regenerate.
	* configure.ac: Support Sphinx based documentation.

gcc/ChangeLog:

	* Makefile.in: Support Sphinx based documentation.
	* configure: Regenerate.
	* configure.ac: Support Sphinx based documentation.
	* genhooks.cc (struct s_hook): Emit tm.rst.in file.

gcc/cp/ChangeLog:

	* Make-lang.in: Support Sphinx based documentation.

gcc/d/ChangeLog:

	* Make-lang.in: Support Sphinx based documentation.

gcc/fortran/ChangeLog:

	* Make-lang.in: Support Sphinx based documentation.

gcc/go/ChangeLog:

	* Make-lang.in: Support Sphinx based documentation.

libgomp/ChangeLog:

	* Makefile.in: Support Sphinx based documentation.

libiberty/ChangeLog:

	* Makefile.in: Support Sphinx based documentation.

libitm/ChangeLog:

	* Makefile.in: Support Sphinx based documentation.

libquadmath/ChangeLog:

	* Makefile.in: Support Sphinx based documentation.
2022-11-09 09:00:35 +01:00
Thomas Schwinge
e4cba49413 Remove support for Intel MIC offloading
... after its deprecation in GCC 12.

	* Makefile.def: Remove module 'liboffloadmic'.
	* Makefile.in: Regenerate.
	* configure.ac: Remove 'liboffloadmic' handling.
	* configure: Regenerate.
	contrib/
	* gcc-changelog/git_commit.py (default_changelog_locations):
	Remove 'liboffloadmic'.
	* gcc_update (files_and_dependencies): Remove 'liboffloadmic'
	files.
	* update-copyright.py (GCCCmdLine): Remove 'liboffloadmic'
	comment.
	gcc/
	* config.gcc [target *-intelmic-* | *-intelmicemul-*]: Remove.
	* config/i386/i386-options.cc (ix86_omp_device_kind_arch_isa)
	[ACCEL_COMPILER]: Remove.
	* config/i386/intelmic-mkoffload.cc: Remove.
	* config/i386/intelmic-offload.h: Likewise.
	* config/i386/t-intelmic: Likewise.
	* config/i386/t-omp-device: Likewise.
	* configure.ac [target *-intelmic-* | *-intelmicemul-*]: Remove.
	* configure: Regenerate.
	* doc/install.texi (--enable-offload-targets=[...]): Update.
	* doc/sourcebuild.texi: Remove 'liboffloadmic' documentation.
	include/
	* gomp-constants.h (GOMP_DEVICE_INTEL_MIC): Comment out.
	(GOMP_VERSION_INTEL_MIC): Remove.
	libgomp/
	* libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
	* libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
	documentation.
	* plugin/configfrag.ac <enable_offload_targets>
	[*-intelmic-* | *-intelmicemul-*]: Remove.
	* configure: Regenerate.
	* testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
	handling.
	(offload_target_to_openacc_device_type)
	[$offload_target = *-intelmic*]: Remove.
	(check_effective_target_offload_device_intel_mic)
	(check_effective_target_offload_device_any_intel_mic): Remove.
	* testsuite/libgomp.c-c++-common/on_device_arch.h
	(device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
	(any_device_arch_intel_mic): Remove.
	* testsuite/libgomp.c-c++-common/target-45.c: Remove
	'offload_device_any_intel_mic' XFAIL.
	* testsuite/libgomp.fortran/target10.f90: Likewise.
	liboffloadmic/
	* ChangeLog: Remove.
	* Makefile.am: Likewise.
	* Makefile.in: Likewise.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* configure.ac: Likewise.
	* configure.tgt: Likewise.
	* doc/doxygen/config: Likewise.
	* doc/doxygen/header.tex: Likewise.
	* include/coi/common/COIEngine_common.h: Likewise.
	* include/coi/common/COIEvent_common.h: Likewise.
	* include/coi/common/COIMacros_common.h: Likewise.
	* include/coi/common/COIPerf_common.h: Likewise.
	* include/coi/common/COIResult_common.h: Likewise.
	* include/coi/common/COISysInfo_common.h: Likewise.
	* include/coi/common/COITypes_common.h: Likewise.
	* include/coi/sink/COIBuffer_sink.h: Likewise.
	* include/coi/sink/COIPipeline_sink.h: Likewise.
	* include/coi/sink/COIProcess_sink.h: Likewise.
	* include/coi/source/COIBuffer_source.h: Likewise.
	* include/coi/source/COIEngine_source.h: Likewise.
	* include/coi/source/COIEvent_source.h: Likewise.
	* include/coi/source/COIPipeline_source.h: Likewise.
	* include/coi/source/COIProcess_source.h: Likewise.
	* liboffloadmic_host.spec.in: Likewise.
	* liboffloadmic_target.spec.in: Likewise.
	* plugin/Makefile.am: Likewise.
	* plugin/Makefile.in: Likewise.
	* plugin/aclocal.m4: Likewise.
	* plugin/configure: Likewise.
	* plugin/configure.ac: Likewise.
	* plugin/libgomp-plugin-intelmic.cpp: Likewise.
	* plugin/offload_target_main.cpp: Likewise.
	* runtime/cean_util.cpp: Likewise.
	* runtime/cean_util.h: Likewise.
	* runtime/coi/coi_client.cpp: Likewise.
	* runtime/coi/coi_client.h: Likewise.
	* runtime/coi/coi_server.cpp: Likewise.
	* runtime/coi/coi_server.h: Likewise.
	* runtime/compiler_if_host.cpp: Likewise.
	* runtime/compiler_if_host.h: Likewise.
	* runtime/compiler_if_target.cpp: Likewise.
	* runtime/compiler_if_target.h: Likewise.
	* runtime/dv_util.cpp: Likewise.
	* runtime/dv_util.h: Likewise.
	* runtime/emulator/coi_common.h: Likewise.
	* runtime/emulator/coi_device.cpp: Likewise.
	* runtime/emulator/coi_device.h: Likewise.
	* runtime/emulator/coi_host.cpp: Likewise.
	* runtime/emulator/coi_host.h: Likewise.
	* runtime/emulator/coi_version_asm.h: Likewise.
	* runtime/emulator/coi_version_linker_script.map: Likewise.
	* runtime/liboffload_error.c: Likewise.
	* runtime/liboffload_error_codes.h: Likewise.
	* runtime/liboffload_msg.c: Likewise.
	* runtime/liboffload_msg.h: Likewise.
	* runtime/mic_lib.f90: Likewise.
	* runtime/offload.h: Likewise.
	* runtime/offload_common.cpp: Likewise.
	* runtime/offload_common.h: Likewise.
	* runtime/offload_engine.cpp: Likewise.
	* runtime/offload_engine.h: Likewise.
	* runtime/offload_env.cpp: Likewise.
	* runtime/offload_env.h: Likewise.
	* runtime/offload_host.cpp: Likewise.
	* runtime/offload_host.h: Likewise.
	* runtime/offload_iterator.h: Likewise.
	* runtime/offload_omp_host.cpp: Likewise.
	* runtime/offload_omp_target.cpp: Likewise.
	* runtime/offload_orsl.cpp: Likewise.
	* runtime/offload_orsl.h: Likewise.
	* runtime/offload_table.cpp: Likewise.
	* runtime/offload_table.h: Likewise.
	* runtime/offload_target.cpp: Likewise.
	* runtime/offload_target.h: Likewise.
	* runtime/offload_target_main.cpp: Likewise.
	* runtime/offload_timer.h: Likewise.
	* runtime/offload_timer_host.cpp: Likewise.
	* runtime/offload_timer_target.cpp: Likewise.
	* runtime/offload_trace.cpp: Likewise.
	* runtime/offload_trace.h: Likewise.
	* runtime/offload_util.cpp: Likewise.
	* runtime/offload_util.h: Likewise.
	* runtime/ofldbegin.cpp: Likewise.
	* runtime/ofldend.cpp: Likewise.
	* runtime/orsl-lite/include/orsl-lite.h: Likewise.
	* runtime/orsl-lite/lib/orsl-lite.c: Likewise.
	* runtime/orsl-lite/version.txt: Likewise.
2022-11-04 10:51:01 +01:00
Дилян Палаузов
36ba985145 Don't build readline/libreadline.a, when --with-system-readline is supplied
https://sourceware.org/bugzilla/show_bug.cgi?id=18632

The bundled libreadline is always built, even if the system is
./configure'd --with-system-readline and the build libreadline.a is not
used.

Proposed patch:

Fix ./configure.ac not to proceed readline/, when --with-system-
readline is provided

	* configure.ac: Don't configure readline if --with-system-readline is
	used.
	* configure: Re-generate.
2022-10-21 08:51:16 +02:00
Olivier Hainque
9b8ffbb8a0 Arrange to --disable-shared by default for VxWorks
This change makes sure that shared libraries for VxWorks are
only built on explicit request, when configured with --enable-shared.

As the support to build shared libs gets in very incrementally,
this provides us with a robust way to guard the relevant pieces
and reduce the risks of accidentally breaking a platform not yet
ready for it.

2022-09-30  Olivier Hainque  <hainque@adacore.com>

	* configure.ac (*vxworks*): If enable_shared is not
	set, set to "no" and add --disable-shared to target and
	host_configargs.
	* configure: Regenerate.
2022-09-30 10:43:13 +00:00
Tom de Vries
04bb15e48e [gdb/build] Fix build breaker with --enable-shared
When building gdb with --enable-shared, I run into:
...
ld: build/zlib/libz.a(libz_a-inffast.o): relocation R_X86_64_32S against \
  `.rodata' can not be used when making a shared object; recompile with -fPIC
ld: build/zlib/libz.a(libz_a-inflate.o): warning: relocation against \
  `inflateResetKeep' in read-only section `.text'
collect2: error: ld returned 1 exit status
make[3]: *** [libbfd.la] Error 1
...

This is a regression since commit a08bdb159bb ("[gdb/build] Fix gdbserver
build with -fsanitize=thread").

The problem is that a single case statement in configure is shared to handle
special requirements for both the host libiberty and host zlib, which has the
effect that only one is handled.

Fix this by handling libiberty and zlib each in its own case statement.

Build on x86_64-linux, with and without --enable-shared.

ChangeLog:

2022-09-07  Tom de Vries  <tdevries@suse.de>

	* configure.ac: Set extra_host_libiberty_configure_flags and
	extra_host_zlib_configure_flags in separate case statements.
	* configure: Regenerate.
2022-09-07 13:19:05 +02:00
Martin Liska
dc832fb39f 32-bit PA-RISC with HP-UX: remove deprecated ports
ChangeLog:

	* configure: Regenerate.
	* configure.ac: Delete hpux9 and hpux10.

config/ChangeLog:

	* mh-pa-hpux10: Removed.

contrib/ChangeLog:

	* config-list.mk: Remove deprecated ports.

contrib/header-tools/ChangeLog:

	* README: Remove deprecated ports.
	* reduce-headers: Likewise.

gcc/ChangeLog:

	* config.build: Remove deprecated ports.
	* config.gcc: Likewise.
	* config.host: Likewise.
	* configure.ac: Likewise.
	* configure: Regenerate.
	* config/pa/pa-hpux10.h: Removed.
	* config/pa/pa-hpux10.opt: Removed.
	* config/pa/t-dce-thr: Removed.

gnattools/ChangeLog:

	* configure.ac: Remove deprecated ports.
	* configure: Regenerate.

libstdc++-v3/ChangeLog:

	* configure: Regenerate.
	* crossconfig.m4: Remove deprecated ports.

gcc/testsuite/ChangeLog:

	* g++.dg/cpp0x/lambda/lambda-conv.C: Remove useless test.
	* gcc.c-torture/execute/ieee/hugeval.x: Likewise.
	* gcc.dg/torture/pr47917.c: Likewise.
	* lib/target-supports.exp: Likewise.

libgcc/ChangeLog:

	* config.host: Remove hppa.

libitm/ChangeLog:

	* configure: Regenerate.

fixincludes/ChangeLog:

	* configure: Regenerate.
2022-08-31 22:14:34 +02:00
Sergei Trofimovich
9d2d38a468 Makefile.def: drop remnants of unused libelf
Use of libelf was removed from gcc in r0-104274-g48215350c24d52 ("re PR
lto/46273 (Failed to bootstrap)") around 2010, before gcc-4.6.0.

This change removes unused references to libelf from top-level configure
and Makefile.

/
	* Makefile.def: Drop libelf module and gcc-configure dependency
	on it.
	* Makefile.in: Regenerate with 'autogen Makefile.def'.
	* Makefile.tpl (HOST_EXPORTS): Drop unused LIBELFLIBS and
	LIBELFINC.
	* configure: Regenrate.
	* configure.ac (host_libs): Drop unused libelf.
2022-08-18 09:37:09 +01:00
Tom de Vries
153689603f [gdb/build] Fix gdbserver build with -fsanitize=thread
When building gdbserver with -fsanitize=thread (added to CFLAGS/CXXFLAGS) we
run into:
...
ld: ../libiberty/libiberty.a(safe-ctype.o): warning: relocation against \
  `__tsan_init' in read-only section `.text'
ld: ../libiberty/libiberty.a(safe-ctype.o): relocation R_X86_64_PC32 \
  against symbol `__tsan_init' can not be used when making a shared object; \
  recompile with -fPIC
ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make[1]: *** [libinproctrace.so] Error 1
...
which looks similar to what is described in commit 78e49486944 ("[gdb/build]
Fix gdbserver build with -fsanitize=address").

The gdbserver component builds a shared library libinproctrace.so, which uses
libiberty and therefore requires the pic variant.  The gdbserver Makefile is
setup to use this variant, if available, but it's not there.

Fix this by listing gdbserver in the toplevel configure alongside libcc1, as a
component that needs the libiberty pic variant, setting:
...
extra_host_libiberty_configure_flags=--enable-shared
...

Tested on x86_64-linux.

ChangeLog:

2022-06-27  Tom de Vries  <tdevries@suse.de>

	* configure.ac: Build libiberty pic variant for gdbserver.
	* configure: Regenerate.
2022-06-27 10:52:23 +02:00
Iain Sandoe
1edfc8f2d3 configure, Darwin: Correct a pasto in host-shared processing.
We do, of course, mean $host not $target in this case.  Corrected thus.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>

ChangeLog:

	* configure: Regenerate.
	* configure.ac: Correct use of $host.
2022-06-26 15:50:42 +01:00
Jeff Law
fc259b522c Remove long deprecated tilegx and tilepro ports
/
	* MAINTAINERS: Remove tilegx and tilepro entries.
	* configure.ac: Remove tilegx and tilepro stanzas.
	* configure: Rebuilt.

contrib/
	* config-list.mk: Remove tilegx and tilepro entries.
	* gcc_update: Remove tilegx and tilepro entries.

gcc/
	* common/config/tilegx/tilegx-common.cc: Removed.
	* common/config/tilepro/tilepro-common.cc: Removed.
	* config.gcc: Remove tilegx and tilepro entries.
	* config/tilegx/constraints.md: Removed.
	* config/tilegx/feedback.h: Removed.
	* config/tilegx/linux.h: Removed.
	* config/tilegx/mul-tables.cc: Removed.
	* config/tilegx/predicates.md: Removed.
	* config/tilegx/sync.md: Removed.
	* config/tilegx/t-tilegx: Removed.
	* config/tilegx/tilegx-builtins.h: Removed.
	* config/tilegx/tilegx-c.cc: Removed.
	* config/tilegx/tilegx-generic.md: Removed.
	* config/tilegx/tilegx-modes.def: Removed.
	* config/tilegx/tilegx-multiply.h: Removed.
	* config/tilegx/tilegx-opts.h: Removed.
	* config/tilegx/tilegx-protos.h: Removed.
	* config/tilegx/tilegx.cc: Removed.
	* config/tilegx/tilegx.h: Removed.
	* config/tilegx/tilegx.md: Removed.
	* config/tilegx/tilegx.opt: Removed.
	* config/tilepro/constraints.md: Removed.
	* config/tilepro/feedback.h: Removed.
	* config/tilepro/gen-mul-tables.cc: Removed.
	* config/tilepro/linux.h: Removed.
	* config/tilepro/mul-tables.cc: Removed.
	* config/tilepro/predicates.md: Removed.
	* config/tilepro/t-tilepro: Removed.
	* config/tilepro/tilepro-builtins.h: Removed.
	* config/tilepro/tilepro-c.cc: Removed.
	* config/tilepro/tilepro-generic.md: Removed.
	* config/tilepro/tilepro-modes.def: Removed.
	* config/tilepro/tilepro-multiply.h: Removed.
	* config/tilepro/tilepro-protos.h: Removed.
	* config/tilepro/tilepro.cc: Removed.
	* config/tilepro/tilepro.h: Removed.
	* config/tilepro/tilepro.md: Removed.
	* config/tilepro/tilepro.opt: Removed.
	* configure.ac: Remove tilegx and tilepro entries.
	* configure: Rebuilt.
	* doc/extend.texi: Remove tilegx and tilepro entries.
	* doc/install.texi: Remove tilegx and tilepro entries.
	* doc/invoke.texi: Remove tilegx and tilepro entries.
	* doc/md.texi: Remove tilegx and tilepro entries.

gcc/testsuite/
	* gcc.dg/lower-subreg-1.c: Remove tilegx and tilepro entries.
	* gcc.misc-tests/linkage.exp: Remove tilegx and
	tilepro entries.

libgcc/
	* config.host: Removed tilegx and tilepro entries.
	* config/tilegx/sfp-machine.h: Removed.
	* config/tilegx/sfp-machine32.h: Removed.
	* config/tilegx/sfp-machine64.h: Removed.
	* config/tilegx/t-crtstuff: Removed.
	* config/tilegx/t-softfp: Removed.
	* config/tilegx/t-tilegx: Removed.
	* config/tilepro/atomic.c: Removed.
	* config/tilepro/atomic.h: Removed.
	* config/tilepro/linux-unwind.h: Removed.
	* config/tilepro/sfp-machine.h: Removed.
	* config/tilepro/softdivide.c: Removed.
	* config/tilepro/softmpy.S: Removed.
	* config/tilepro/t-crtstuff: Removed.
	* config/tilepro/t-tilepro: Removed.
2022-06-25 13:55:21 -04:00
chenglulu
c6c0594ef8 LoongArch Port: Regenerate configure
2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
	    Lulu Cheng  <chenglulu@loongson.cn>

ChangeLog:

	* configure.ac: Add LoongArch tuples.
	* configure: Regenerate.

config/ChangeLog:

	* picflag.m4: Default add build option '-fpic' for LoongArch.
2022-03-29 17:43:32 +08:00
Tom Tromey
88252529f0 Remove --with-gmp-dir and --with-mpfr-dir
The top-level configure options --with-gmp-dir and --with-mpfr-dir
were obsoleted and marked as "REMOVED" back in 2006.  I think that's
long enough ago for everyone to have updated their scripts, so this
patch removes them entirely.  While doing this, I also found one other
leftover that wasn't removed by the earlier patch.  This is also
removed here.

2022-03-28  Tom Tromey  <tromey@adacore.com>

	* configure.ac: Remove --with-mpfr-dir and --with-gmp-dir.
	* configure: Rebuild.
2022-03-28 14:18:57 -06:00
Jonathan Wakely
67a1cb2ad1 top-level: Fix comment about --enable-libstdcxx in configure
The custom option for enabling/disabling libstdc++ is not spelled the
same as the directory name:

AC_ARG_ENABLE(libstdcxx,
AS_HELP_STRING([--disable-libstdcxx],
  [do not build libstdc++-v3 directory])

The comment referring to it later use the wrong name.

ChangeLog:

	* configure.ac: Fix incorrect option in comment.
	* configure: Regenerate.
2022-03-14 13:08:02 +00:00
H.J. Lu
ab18659afc Revert "Sync with binutils: GCC: Pass --plugin to AR and RANLIB"
This reverts commit bf8cdd3511.
2021-12-15 20:45:58 -08:00
H.J. Lu
4a5e71f234 Sync with binutils: Support the PGO build for binutils+gdb
Sync with binutils for building binutils with LTO:

1dbde357be3 Add missing changes to Makefile.tpl
af019bfde9b Support the PGO build for binutils+gdb

Add the --enable-pgo-build[=lto] configure option.  When binutils+gdb
is not built together with GCC, --enable-pgo-build enables the PGO build:

1. First build with -fprofile-generate.
2. Use "make maybe-check-*" to generate profiling data and pass -i to make
to ignore errors when generating profiling data.
3. Use "make clean" to remove the previous build.
4. Rebuild with -fprofile-use.

With --enable-pgo-build=lto, -flto=jobserver -ffat-lto-objects are used
together with -fprofile-generate and -fprofile-use.  Add '+' to the command
line for recursive make to support -flto=jobserver -ffat-lto-objects.

NB: --enable-pgo-build=lto enables the PGO build with LTO while
--enable-lto enables LTO support in toolchain.

	BZ binutils/26766
	* Makefile.tpl (BUILD_CFLAGS): New.
	(CFLAGS): Append $(BUILD_CFLAGS).
	(CXXFLAGS): Likewise.
	(PGO_BUILD_GEN_FLAGS_TO_PASS): New.
	(PGO_BUILD_TRAINING_CFLAGS): Likewise.
	(PGO_BUILD_TRAINING_CXXFLAGS): Likewise.
	(PGO_BUILD_TRAINING_FLAGS_TO_PASS): Likewise.
	(PGO_BUILD_TRAINING_MFLAGS): Likewise.
	(PGO_BUILD_USE_FLAGS_TO_PASS): Likewise.
	(PGO-TRAINING-TARGETS): Likewise.
	(PGO_BUILD_TRAINING): Likewise.
	(all): Add '+' to the command line for recursive make.  Support
	the PGO build.
	* configure.ac: Add --enable-pgo-build[=lto].
	AC_SUBST PGO_BUILD_GEN_CFLAGS, PGO_BUILD_USE_CFLAGS and
	PGO_BUILD_LTO_CFLAGS.  Enable the PGO build in Makefile.
	* Makefile.in: Regenerated.
	* configure: Likewise.
2021-12-15 14:20:49 -08:00
H.J. Lu
bf8cdd3511 Sync with binutils: GCC: Pass --plugin to AR and RANLIB
Sync with binutils for building binutils with LTO:

50ad1254d50 GCC: Pass --plugin to AR and RANLIB

Detect GCC LTO plugin.  Pass --plugin to AR and RANLIB to support LTO
build.

ChangeLog:

	* Makefile.tpl (AR): Add @AR_PLUGIN_OPTION@
	(RANLIB): Add @RANLIB_PLUGIN_OPTION@.
	* configure.ac: Include config/gcc-plugin.m4.
	AC_SUBST AR_PLUGIN_OPTION and RANLIB_PLUGIN_OPTION.
	* libtool.m4 (_LT_CMD_OLD_ARCHIVE): Pass --plugin to AR and
	RANLIB if possible.
	* Makefile.in: Regenerated.
	* configure: Likewise.

config/

	* gcc-plugin.m4 (GCC_PLUGIN_OPTION): New.

libiberty/

	* Makefile.in (AR): Add @AR_PLUGIN_OPTION@
	(RANLIB): Add @RANLIB_PLUGIN_OPTION@.
	(configure_deps): Depend on ../config/gcc-plugin.m4.
	* configure.ac: AC_SUBST AR_PLUGIN_OPTION and
	RANLIB_PLUGIN_OPTION.
	* aclocal.m4: Regenerated.
	* configure: Likewise.

zlib/

	* configure: Regenerated.
2021-12-15 14:18:10 -08:00
Pekka Seppänen
c841dc0a4d Adjust CPP_FOR_BUILD
Hi.

CPP/CPPFLAGS were changed by commit 84401ce5fb.  That commit uses CPP as a default for CPP_FOR_BUILD.  Unless CPP is defined, GNU make defaults CPP as `$(CC) -E'.  Given the context, this is now incorrect, since CC_FOR_BUILD should be used.

Fixes PR103011.

-- Pekka

gcc/Changelog:

	* configure: Regenerate.
	* configure.ac: For CPP_FOR_BUILD use $(CC_FOR_BUILD) -E instead of
	$(CPP).
2021-12-02 15:59:37 -05:00
Iain Buclaw
5fee5ec362 d: Import dmd b8384668f, druntime e6caaab9, phobos 5ab9ad256 (v2.098.0-beta.1)
The D front-end is now itself written in D, in order to build GDC, you
will need a working GDC compiler (GCC version 9.1 or later).

GCC changes:

    - Add support for bootstrapping the D front-end.

These add the required components in order to have a D front-end written
in D itself.  Because the compiler front-end only depends on the core
runtime modules, only libdruntime is built for the bootstrap stages.

D front-end changes:

    - Import dmd v2.098.0-beta.1.

Druntime changes:

    - Import druntime v2.098.0-beta.1.

Phobos changes:

    - Import phobos v2.098.0-beta.1.

The jump from v2.076.1 to v2.098.0 covers nearly 4 years worth of
development on the D programming language and run-time libraries.

ChangeLog:

	* Makefile.def: Add bootstrap to libbacktrace, libphobos, zlib, and
	libatomic.
	* Makefile.in: Regenerate.
	* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Fix command for GDC.
	(STAGE1_CONFIGURE_FLAGS): Add --with-libphobos-druntime-only if
	target-libphobos-bootstrap.
	(STAGE2_CONFIGURE_FLAGS): Likewise.
	* configure: Regenerate.
	* configure.ac: Add support for bootstrapping D front-end.

config/ChangeLog:

	* acx.m4 (ACX_PROG_GDC): New m4 function.

gcc/ChangeLog:

	* Makefile.in (GDC): New variable.
	(GDCFLAGS): New variable.
	* configure: Regenerate.
	* configure.ac: Add call to ACX_PROG_GDC.  Substitute GDCFLAGS.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd b8384668f.
	* Make-lang.in (d-warn): Use strict warnings.
	(DMD_WARN_CXXFLAGS): Remove.
	(DMD_COMPILE): Remove.
	(CHECKING_DFLAGS): Define.
	(WARN_DFLAGS): Define.
	(ALL_DFLAGS): Define.
	(DCOMPILE.base): Define.
	(DCOMPILE): Define.
	(DPOSTCOMPILE): Define.
	(DLINKER): Define.
	(DLLINKER): Define.
	(D_FRONTEND_OBJS): Add new dmd front-end objects.
	(D_GENERATED_SRCS): Remove.
	(D_GENERATED_OBJS): Remove.
	(D_ALL_OBJS): Remove D_GENERATED_OBJS.
	(d21$(exeext)): Build using DLLINKER and -static-libphobos.
	(d.tags): Remove dmd/*.c and dmd/root/*.c.
	(d.mostlyclean): Remove D_GENERATED_SRCS, d/idgen$(build_exeext),
	d/impcnvgen$(build_exeext).
	(D_INCLUDES): Include $(srcdir)/d/dmd/res.
	(CFLAGS-d/id.o): Remove.
	(CFLAGS-d/impcnvtab.o): Remove.
	(d/%.o): Build using DCOMPILE and DPOSTCOMPILE.  Update dependencies
	from d/dmd/%.c to d/dmd/%.d.
	(d/idgen$(build_exeext)): Remove.
	(d/impcnvgen$(build_exeext)): Remove.
	(d/id.c): Remove.
	(d/id.h): Remove.
	(d/impcnvtab.c): Remove.
	(d/%.dmdgen.o): Remove.
	(D_SYSTEM_H): Remove.
	(d/idgen.dmdgen.o): Remove.
	(d/impcnvgen.dmdgen.o): Remove.
	* config-lang.in (boot_language): New variable.
	* d-attribs.cc: Include dmd/expression.h.
	* d-builtins.cc: Include d-frontend.h.
	(build_frontend_type): Update for new front-end interface.
	(d_eval_constant_expression): Likewise.
	(d_build_builtins_module): Likewise.
	(maybe_set_builtin_1): Likewise.
	(d_build_d_type_nodes): Likewise.
	* d-codegen.cc (d_decl_context): Likewise.
	(declaration_reference_p): Likewise.
	(declaration_type): Likewise.
	(parameter_reference_p): Likewise.
	(parameter_type): Likewise.
	(get_array_length): Likewise.
	(build_delegate_cst): Likewise.
	(build_typeof_null_value): Likewise.
	(identity_compare_p): Likewise.
	(lower_struct_comparison): Likewise.
	(build_filename_from_loc): Likewise.
	(build_assert_call): Remove LIBCALL_SWITCH_ERROR.
	(build_bounds_index_condition): Call LIBCALL_ARRAYBOUNDS_INDEXP on
	bounds error.
	(build_bounds_slice_condition): Call LIBCALL_ARRAYBOUNDS_SLICEP on
	bounds error.
	(array_bounds_check): Update for new front-end interface.
	(checkaction_trap_p): Handle CHECKACTION_context.
	(get_function_type): Update for new front-end interface.
	(d_build_call): Likewise.
	* d-compiler.cc: Remove include of dmd/scope.h.
	(Compiler::genCmain): Remove.
	(Compiler::paintAsType): Update for new front-end interface.
	(Compiler::onParseModule): Likewise.
	* d-convert.cc (convert_expr): Remove call to LIBCALL_ARRAYCAST.
	(convert_for_rvalue): Update for new front-end interface.
	(convert_for_assignment): Likewise.
	(convert_for_condition): Likewise.
	(d_array_convert): Likewise.
	* d-diagnostic.cc (error): Remove.
	(errorSupplemental): Remove.
	(warning): Remove.
	(warningSupplemental): Remove.
	(deprecation): Remove.
	(deprecationSupplemental): Remove.
	(message): Remove.
	(vtip): New.
	* d-frontend.cc (global): Remove.
	(Global::_init): Remove.
	(Global::startGagging): Remove.
	(Global::endGagging): Remove.
	(Global::increaseErrorCount): Remove.
	(Loc::Loc): Remove.
	(Loc::toChars): Remove.
	(Loc::equals): Remove.
	(isBuiltin): Update for new front-end interface.
	(eval_builtin): Likewise.
	(getTypeInfoType): Likewise.
	(inlineCopy): Remove.
	* d-incpath.cc: Include d-frontend.h.
	(add_globalpaths): Call d_gc_malloc to allocate Strings.
	(add_filepaths): Likewise.
	* d-lang.cc: Include dmd/id.h, dmd/root/file.h, d-frontend.h.  Remove
	include of dmd/mars.h, id.h.
	(entrypoint_module): Remove.
	(entrypoint_root_module): Remove.
	(deps_write_string): Update for new front-end interface.
	(deps_write): Likewise.
	(d_init_options): Call rt_init.  Remove setting global params that are
	default initialized by the front-end.
	(d_handle_option): Handle OPT_fcheckaction_, OPT_fdump_c___spec_,
	OPT_fdump_c___spec_verbose, OPT_fextern_std_, OPT_fpreview,
	OPT_revert, OPT_fsave_mixins_, and OPT_ftransition.
	(d_post_options): Propagate dip1021 and dip1000 preview flags to
	dip25, and flag_diagnostics_show_caret to printErrorContext.
	(d_add_entrypoint_module): Remove.
	(d_parse_file): Update for new front-end interface.
	(d_type_promotes_to): Likewise.
	(d_types_compatible_p): Likewise.
	* d-longdouble.cc (CTFloat::zero): Remove.
	(CTFloat::one): Remove.
	(CTFloat::minusone): Remove.
	(CTFloat::half): Remove.
	* d-system.h (POSIX): Remove.
	(realpath): Remove.
	(isalpha): Remove.
	(isalnum): Remove.
	(isdigit): Remove.
	(islower): Remove.
	(isprint): Remove.
	(isspace): Remove.
	(isupper): Remove.
	(isxdigit): Remove.
	(tolower): Remove.
	(_mkdir): Remove.
	(INT32_MAX): Remove.
	(INT32_MIN): Remove.
	(INT64_MIN): Remove.
	(UINT32_MAX): Remove.
	(UINT64_MAX): Remove.
	* d-target.cc: Include calls.h.
	(target): Remove.
	(define_float_constants): Remove initialization of snan.
	(Target::_init): Update for new front-end interface.
	(Target::isVectorTypeSupported): Likewise.
	(Target::isVectorOpSupported): Remove cases for unordered operators.
	(TargetCPP::typeMangle): Update for new front-end interface.
	(TargetCPP::parameterType): Likewise.
	(Target::systemLinkage): Likewise.
	(Target::isReturnOnStack): Likewise.
	(Target::isCalleeDestroyingArgs): Define.
	(Target::preferPassByRef): Define.
	* d-tree.h (d_add_entrypoint_module): Remove.
	* decl.cc (gcc_attribute_p): Update for new front-end interface.
	(apply_pragma_crt): Define.
	(DeclVisitor::visit(PragmaDeclaration *)): Handle pragmas
	crt_constructor and crt_destructor.
	(DeclVisitor::visit(TemplateDeclaration *)): Update for new front-end
	interface.
	(DeclVisitor::visit): Likewise.
	(DeclVisitor::finish_vtable): Likewise.
	(get_symbol_decl): Error if template has more than one nesting
	context.  Update for new front-end interface.
	(make_thunk): Update for new front-end interface.
	(get_vtable_decl): Likewise.
	* expr.cc (ExprVisitor::visit): Likewise.
	(build_return_dtor): Likewise.
	* imports.cc (ImportVisitor::visit): Likewise.
	* intrinsics.cc: Include dmd/expression.h.  Remove include of
	dmd/mangle.h.
	(maybe_set_intrinsic): Update for new front-end interface.
	* intrinsics.def (INTRINSIC_ROL): Update intrinsic signature.
	(INTRINSIC_ROR): Likewise.
	(INTRINSIC_ROR_TIARG): Likewise.
	(INTRINSIC_TOPREC): Likewise.
	(INTRINSIC_TOPRECL): Likewise.
	(INTRINSIC_TAN): Update intrinsic module and signature.
	(INTRINSIC_ISNAN): Likewise.
	(INTRINSIC_ISFINITE): Likewise.
	(INTRINSIC_COPYSIGN): Define intrinsic.
	(INTRINSIC_COPYSIGNI): Define intrinsic.
	(INTRINSIC_EXP): Update intrinsic module.
	(INTRINSIC_EXPM1): Likewise.
	(INTRINSIC_EXP2): Likewise.
	(INTRINSIC_LOG): Likewise.
	(INTRINSIC_LOG2): Likewise.
	(INTRINSIC_LOG10): Likewise.
	(INTRINSIC_POW): Likewise.
	(INTRINSIC_ROUND): Likewise.
	(INTRINSIC_FLOORF): Likewise.
	(INTRINSIC_FLOOR): Likewise.
	(INTRINSIC_FLOORL): Likewise.
	(INTRINSIC_CEILF): Likewise.
	(INTRINSIC_CEIL): Likewise.
	(INTRINSIC_CEILL): Likewise.
	(INTRINSIC_TRUNC): Likewise.
	(INTRINSIC_FMIN): Likewise.
	(INTRINSIC_FMAX): Likewise.
	(INTRINSIC_FMA): Likewise.
	(INTRINSIC_VA_ARG): Update intrinsic signature.
	(INTRINSIC_VASTART): Likewise.
	* lang.opt (fcheck=): Add alternate aliases for contract switches.
	(fcheckaction=): New option.
	(check_action): New Enum and EnumValue entries.
	(fdump-c++-spec-verbose): New option.
	(fdump-c++-spec=): New option.
	(fextern-std=): New option.
	(extern_stdcpp): New Enum and EnumValue entries
	(fpreview=): New options.
	(frevert=): New options.
	(fsave-mixins): New option.
	(ftransition=): Update options.
	* modules.cc (get_internal_fn): Replace Prot with Visibility.
	(build_internal_fn): Likewise.
	(build_dso_cdtor_fn): Likewise.
	(build_module_tree): Remove check for __entrypoint module.
	* runtime.def (P5): Define.
	(ARRAYBOUNDS_SLICEP): Define.
	(ARRAYBOUNDS_INDEXP): Define.
	(NEWTHROW): Define.
	(ADCMP2): Remove.
	(ARRAYCAST): Remove.
	(SWITCH_STRING): Remove.
	(SWITCH_USTRING): Remove.
	(SWITCH_DSTRING): Remove.
	(SWITCH_ERROR): Remove.
	* toir.cc (IRVisitor::visit): Update for new front-end interface.
	(IRVisitor::check_previous_goto): Remove checks for case and default
	statements.
	(IRVisitor::visit(SwitchStatement *)): Remove handling of string
	switch conditions.
	* typeinfo.cc: Include d-frontend.h.
	(get_typeinfo_kind): Update for new front-end interface.
	(make_frontend_typeinfo): Likewise.
	(TypeInfoVisitor::visit): Likewise.
	(builtin_typeinfo_p): Likewise.
	(get_typeinfo_decl): Likewise.
	(build_typeinfo): Likewise.
	* types.cc (valist_array_p): Likewise.
	(make_array_type): Likewise.
	(merge_aggregate_types): Likewise.
	(TypeVisitor::visit(TypeBasic *)): Likewise.
	(TypeVisitor::visit(TypeFunction *)): Likewise.
	(TypeVisitor::visit(TypeStruct *)): Update comment.
	* verstr.h: Removed.
	* d-frontend.h: New file.

gcc/po/ChangeLog:

	* EXCLUDES: Remove d/dmd sources from list.

gcc/testsuite/ChangeLog:

	* gdc.dg/Wcastresult2.d: Update test.
	* gdc.dg/asm1.d: Likewise.
	* gdc.dg/asm2.d: Likewise.
	* gdc.dg/asm3.d: Likewise.
	* gdc.dg/gdc282.d: Likewise.
	* gdc.dg/imports/gdc170.d: Likewise.
	* gdc.dg/intrinsics.d: Likewise.
	* gdc.dg/pr101672.d: Likewise.
	* gdc.dg/pr90650a.d: Likewise.
	* gdc.dg/pr90650b.d: Likewise.
	* gdc.dg/pr94777a.d: Likewise.
	* gdc.dg/pr95250.d: Likewise.
	* gdc.dg/pr96869.d: Likewise.
	* gdc.dg/pr98277.d: Likewise.
	* gdc.dg/pr98457.d: Likewise.
	* gdc.dg/simd1.d: Likewise.
	* gdc.dg/simd2a.d: Likewise.
	* gdc.dg/simd2b.d: Likewise.
	* gdc.dg/simd2c.d: Likewise.
	* gdc.dg/simd2d.d: Likewise.
	* gdc.dg/simd2e.d: Likewise.
	* gdc.dg/simd2f.d: Likewise.
	* gdc.dg/simd2g.d: Likewise.
	* gdc.dg/simd2h.d: Likewise.
	* gdc.dg/simd2i.d: Likewise.
	* gdc.dg/simd2j.d: Likewise.
	* gdc.dg/simd7951.d: Likewise.
	* gdc.dg/torture/gdc309.d: Likewise.
	* gdc.dg/torture/pr94424.d: Likewise.
	* gdc.dg/torture/pr94777b.d: Likewise.
	* lib/gdc-utils.exp (gdc-convert-args): Handle new compiler options.
	(gdc-convert-test): Handle CXXFLAGS, EXTRA_OBJC_SOURCES, and ARG_SETS
	test directives.
	(gdc-do-test): Only import modules in the test run directory.
	* gdc.dg/pr94777c.d: New test.
	* gdc.dg/pr96156b.d: New test.
	* gdc.dg/pr96157c.d: New test.
	* gdc.dg/simd_ctfe.d: New test.
	* gdc.dg/torture/simd17344.d: New test.
	* gdc.dg/torture/simd20052.d: New test.
	* gdc.dg/torture/simd6.d: New test.
	* gdc.dg/torture/simd7.d: New test.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime e6caaab9.
	* libdruntime/Makefile.am (D_EXTRA_FLAGS): Build libdruntime with
	-fpreview=dip1000, -fpreview=fieldwise, and -fpreview=dtorfields.
	(ALL_DRUNTIME_SOURCES): Add DRUNTIME_DSOURCES_STDCXX.
	(DRUNTIME_DSOURCES): Update list of C binding modules.
	(DRUNTIME_DSOURCES_STDCXX): Likewise.
	(DRUNTIME_DSOURCES_LINUX): Likewise.
	(DRUNTIME_DSOURCES_OPENBSD): Likewise.
	(DRUNTIME_DISOURCES): Remove __entrypoint.di.
	* libdruntime/Makefile.in: Regenerated.
	* libdruntime/__entrypoint.di: Removed.
	* libdruntime/gcc/deh.d (_d_isbaseof): Update signature.
	(_d_createTrace): Likewise.
	(__gdc_begin_catch): Remove reference to the exception.
	(_d_throw): Increment reference count of thrown object before unwind.
	(__gdc_personality): Chain exceptions with  Throwable.chainTogether.
	* libdruntime/gcc/emutls.d: Update imports.
	* libdruntime/gcc/sections/elf.d: Update imports.
	(DSO.moduleGroup): Update signature.
	* libdruntime/gcc/sections/macho.d: Update imports.
	(DSO.moduleGroup): Update signature.
	* libdruntime/gcc/sections/pecoff.d: Update imports.
	(DSO.moduleGroup): Update signature.
	* src/MERGE: Merge upstream phobos 5ab9ad256.
	* src/Makefile.am (D_EXTRA_DFLAGS): Add -fpreview=dip1000 and
	-fpreview=dtorfields flags.
	(PHOBOS_DSOURCES): Update list of std modules.
	* src/Makefile.in: Regenerate.
	* testsuite/lib/libphobos.exp (libphobos-dg-test): Handle assembly
	compile types.
	(dg-test): Override.
	(additional_prunes): Define.
	(libphobos-dg-prune): Filter any additional_prunes set by tests.
	* testsuite/libphobos.aa/test_aa.d: Update test.
	* testsuite/libphobos.druntime/druntime.exp (version_flags): Add
	-fversion=CoreUnittest.
	* testsuite/libphobos.druntime_shared/druntime_shared.exp
	(version_flags): Add -fversion=CoreUnittest -fversion=Shared.
	* testsuite/libphobos.exceptions/unknown_gc.d: Update test.
	* testsuite/libphobos.hash/test_hash.d: Update test.
	* testsuite/libphobos.phobos/phobos.exp (version_flags): Add
	-fversion=StdUnittest
	* testsuite/libphobos.phobos_shared/phobos_shared.exp (version_flags):
	Likewise.
	* testsuite/libphobos.shared/host.c: Update test.
	* testsuite/libphobos.shared/load.d: Update test.
	* testsuite/libphobos.shared/load_13414.d: Update test.
	* testsuite/libphobos.thread/fiber_guard_page.d: Update test.
	* testsuite/libphobos.thread/tlsgc_sections.d: Update test.
	* testsuite/testsuite_flags.in: Add -fpreview=dip1000 to --gdcflags.
	* testsuite/libphobos.shared/link_mod_collision.d: Removed.
	* testsuite/libphobos.shared/load_mod_collision.d: Removed.
	* testsuite/libphobos.betterc/betterc.exp: New test.
	* testsuite/libphobos.config/config.exp: New test.
	* testsuite/libphobos.gc/gc.exp: New test.
	* testsuite/libphobos.imports/imports.exp: New test.
	* testsuite/libphobos.lifetime/lifetime.exp: New test.
	* testsuite/libphobos.unittest/unittest.exp: New test.
2021-11-30 16:53:28 +01:00
Iain Sandoe
a1d2b16202 configure, Darwin: Set appropriate defaults for host-shared.
Darwin x86_64 and aarch64 platforms are PIC (shared) by default,
and user-space code must be built in this mode.  The patch
ensures that this is set correctly and applies a default when
--enable-host-shared is not set.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>

ChangeLog:

	* configure: Regenerate.
	* configure.ac: Ensure that PIC (shared) defaults are set
	correctly for Darwin.
2021-11-16 19:44:51 +00:00
Richard Purdie
84401ce5fb [PATCH 1/5] Makefile.in: Ensure build CPP/CPPFLAGS is used for build targets
During cross compiling, CPP is being set to the target compiler even for
build targets. As an example, when building a cross compiler targetting
mingw, the config.log for libiberty in
build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log
shows:

configure:3786: checking how to run the C preprocessor
configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=[sysroot]/x86_64-nativesdk-mingw32-pokysdk-mingw32
configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=[sysroot]/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c
configure:3876: $? = 0

This is libiberty being built for the build environment, not the target one
(i.e. in build-x86_64-linux). As such it should be using the build environment's
gcc and not the target one. In the mingw case the system headers are quite
different leading to build failures related to not being able to include a
process.h file for pem-unix.c.

Further analysis shows the same issue occuring for CPPFLAGS too.

Fix this by adding support for CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD which
for example, avoids mixing the mingw headers for host binaries on linux
systems.

2021-10-27 Richard Purdie <richard.purdie@linuxfoundation.org>

ChangeLog:

	* Makefile.tpl: Add CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD support
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Add CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD support

gcc/ChangeLog:

	* configure: Regenerate.
	* configure.ac: Use CPPFLAGS_FOR_BUILD for GMPINC

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-28 10:42:49 -04:00