aboutsummaryrefslogtreecommitdiff
path: root/gcc/configure
AgeCommit message (Collapse)AuthorFilesLines
2024-02-23x86-64: Check R_X86_64_CODE_6_GOTTPOFF supportH.J. Lu1-0/+68
If assembler and linker supports add %reg1, name@gottpoff(%rip), %reg2 with R_X86_64_CODE_6_GOTTPOFF, we can generate it instead of mov name@gottpoff(%rip), %reg2 add %reg1, %reg2 gcc/ * configure.ac (HAVE_AS_R_X86_64_CODE_6_GOTTPOFF): Defined as 1 if R_X86_64_CODE_6_GOTTPOFF is supported. * config.in: Regenerated. * configure: Likewise. * config/i386/predicates.md (apx_ndd_add_memory_operand): Allow UNSPEC_GOTNTPOFF if R_X86_64_CODE_6_GOTTPOFF is supported. gcc/testsuite/ * gcc.target/i386/apx-ndd-tls-1b.c: New test. * lib/target-supports.exp (check_effective_target_code_6_gottpoff_reloc): New.
2024-02-23LoongArch: When checking whether the assembler supports conditional branch ↵Lulu Cheng1-1/+1
relaxation, add compilation parameter "--fatal-warnings" to the assembler. In binutils 2.40 and earlier versions, only a warning will be reported when a relocation immediate value is out of bounds. As a result, the value of the macro HAVE_AS_COND_BRANCH_RELAXATION will also be defined as 1 when the assembler does not support conditional branch relaxation. Therefore, add the compilation option "--fatal-warnings" to avoid this problem. gcc/ChangeLog: * configure: Regenerate. * configure.ac: Add parameter "--fatal-warnings" to assemble when checking whether the assemble support conditional branch relaxation.
2024-02-12gcc/Makefile.in: Always check info dependenciesChristophe Lyon1-1/+1
BUILD_INFO is currently a byproduct of checking makeinfo presence/version. INSTALL_INFO used to be defined similarly, but was removed in 2000 (!) by commit 17db658241d18cf6db59d31bc2d6eac96e9257df (svn r38141). In order to save build time, our CI overrides MAKEINFO=echo, which works when invoking 'make all' but not for 'make install' in case some info files need an update. I noticed this while testing a patch posted on the gcc-patches list, leading to an error at 'make install' time after updating tm.texi (the build reported 'new text' in tm.texi and stopped). This is because 'install' depends on 'install-info', which depends on $(DESTDIR)$(infodir)/gccint.info (among others). As discussed, it is better to detect this problem during 'make all' rather than 'make install', and we still want to detect it even if makeinfo is not available. This patch makes configure set BUILD_INFO=no-info in case makeinfo is missing/too old, which effectively makes the build rules no-ops (x$(BUILD_INFO) != xinfo), and updates Makefile.in so that 'info' dependencies are still checked. 2024-02-10 Christophe Lyon <christophe.lyon@linaro.org> gcc/ * Makefile.in: Add no-info dependency. * configure.ac: Set BUILD_INFO=no-info if makeinfo is not available. * configure: Regenerate.
2024-01-30MIPS: Fix typo in gcc/configure.ac: gcc_cv_as_mips_explicitYunQiang Su1-1/+1
gcc_cv_as_mips_explicit should be gcc_cv_as_mips_explicit_relocs. This was introduced in commit 58af788d1d0825187def434c95cab35a690a31b0. gcc PR target/113655 * configure.ac: Fix typo gcc_cv_as_mips_explicit should be gcc_cv_as_mips_explicit_relocs. * configure: Regnerated.
2024-01-24MIPS: Accept arguments for -mexplicit-relocsYunQiang Su1-6/+45
GAS introduced explicit relocs since 2001, and %pcrel_hi/low were introduced in 2014. In future, we may introduce more. Let's convert -mexplicit-relocs option, and accpet options: none, base, pcrel. We also update gcc/configure.ac to set the value to option the gas support when GCC itself is built. gcc * configure.ac: Detect the explicit relocs support for mips, and define C macro MIPS_EXPLICIT_RELOCS. * config.in: Regenerated. * configure: Regenerated. * doc/invoke.texi(MIPS Options): Add -mexplicit-relocs. * config/mips/mips-opts.h: Define enum mips_explicit_relocs. * config/mips/mips.cc(mips_set_compression_mode): Sorry if !TARGET_EXPLICIT_RELOCS instead of just set it. * config/mips/mips.h: Define TARGET_EXPLICIT_RELOCS and TARGET_EXPLICIT_RELOCS_PCREL with mips_opt_explicit_relocs. * config/mips/mips.opt: Introduce -mexplicit-relocs= option and define -m(no-)explicit-relocs as aliases.
2024-01-14AVR: Support .rodata in Flash for AVR64* and AVR128* Devices.Georg-Johann Lay1-1/+69
These devices see a 32 KiB block of their program memory (flash) in the RAM address space. This can be used to support .rodata in flash provided Binutils support PR31124 (Add new emulations which locate .rodata in flash). This patch does the following: * configure checks availability of Binutils PR31124. * Add new command line options -mrodata-in-ram and -mflmap. While -flmap is for internal usage (communicate hardware properties from device-specs to the compiler proper), -mrodata-in-ram is a user space option that allows to return to the current rodata-in-ram layout. * Adjust gen-avr-mmcu-specs.cc so that device-specs are generated that sanity check options, and that translate -m[no-]rodata-in-ram to its emulation. * Objects in .rodata don't drag __do_copy_data. * Document new options and built-in macros. PR target/112944 gcc/ * configure.ac [target=avr]: Check availability of emulations avrxmega2_flmap and avrxmega4_flmap, resulting in new config vars HAVE_LD_AVR_AVRXMEGA2_FLMAP and HAVE_LD_AVR_AVRXMEGA4_FLMAP. * configure: Regenerate. * config.in: Regenerate. * doc/invoke.texi (AVR Options): Document -mflmap, -mrodata-in-ram, __AVR_HAVE_FLMAP__, __AVR_RODATA_IN_RAM__. * config/avr/avr.opt (-mflmap, -mrodata-in-ram): New options. * config/avr/avr-arch.h (enum avr_device_specific_features): Add AVR_ISA_FLMAP. * config/avr/avr-mcus.def (AVR_MCU) [avr64*, avr128*]: Set isa flag AVR_ISA_FLMAP. * config/avr/avr.cc (avr_arch_index, avr_has_rodata_p): New vars. (avr_set_core_architecture): Set avr_arch_index. (have_avrxmega2_flmap, have_avrxmega4_flmap) (have_avrxmega3_rodata_in_flash): Set new static const bool according to configure results. (avr_rodata_in_flash_p): New function using them. (avr_asm_init_sections): Let readonly_data_section->unnamed.callback track avr_need_copy_data_p only if not avr_rodata_in_flash_p(). (avr_asm_named_section): Track avr_has_rodata_p. (avr_file_end): Emit __do_copy_data also when avr_has_rodata_p and not avr_rodata_in_flash_p (). * config/avr/specs.h (CC1_SPEC): Add %(cc1_rodata_in_ram). (LINK_SPEC): Add %(link_rodata_in_ram). (LINK_ARCH_SPEC): Remove. * config/avr/gen-avr-mmcu-specs.cc (have_avrxmega3_rodata_in_flash) (have_avrxmega2_flmap, have_avrxmega4_flmap): Set new static const bool according to configure results. (diagnose_mrodata_in_ram): New function. (print_mcu): Generate specs with the following changes: <*cc1_misc, *asm_misc, *link_misc>: New specs so that we don't need to extend avr/specs.h each time we add a new bell or whistle. <*cc1_rodata_in_ram, *link_rodata_in_ram>: New specs to diagnose -m[no-]rodata-in-ram. <*cpp_rodata_in_ram>: New. Does -D__AVR_RODATA_IN_RAM__=0/1. <*cpp_mcu>: Add -D__AVR_AVR_FLMAP__ if it applies. <*cpp>: Add %(cpp_rodata_in_ram). <*link_arch>: Use emulation avrxmega2_flmap, avrxmega4_flmap as requested. <*self_spec>: Add -mflmap or %<mflmap as needed. gcc/testsuite/ * gcc.target/avr/torture/pr112944-flmap-0.c: New test. * gcc.target/avr/torture/pr112944-flmap-1.c: New test.
2024-01-02LoongArch: Added TLS Le Relax support.Lulu Cheng1-0/+31
Check whether the assembler supports tls le relax. If it supports it, the assembly instruction sequence of tls le relax will be generated by default. The original way to obtain the tls le symbol address: lu12i.w $rd, %le_hi20(sym) ori $rd, $rd, %le_lo12(sym) add.{w/d} $rd, $rd, $tp If the assembler supports tls le relax, the following sequence is generated: lu12i.w $rd, %le_hi20_r(sym) add.{w/d} $rd,$rd,$tp,%le_add_r(sym) addi.{w/d} $rd,$rd,%le_lo12_r(sym) gcc/ChangeLog: * config.in: Regenerate. * config/loongarch/loongarch-opts.h (HAVE_AS_TLS_LE_RELAXATION): Define. * config/loongarch/loongarch.cc (loongarch_legitimize_tls_address): Added TLS Le Relax support. (loongarch_print_operand_reloc): Add the output string of TLS Le Relax. * config/loongarch/loongarch.md (@add_tls_le_relax<mode>): New template. * configure: Regenerate. * configure.ac: Check if binutils supports TLS le relax. gcc/testsuite/ChangeLog: * lib/target-supports.exp: Add a function to check whether binutil supports TLS Le Relax. * gcc.target/loongarch/tls-le-relax.c: New test.
2023-11-24gcc: configure: drop Valgrind 3.1 compatibilityAlexander Monakov1-68/+12
Our system.h and configure.ac try to accommodate valgrind-3.1, but it is more than 15 years old at this point. As Valgrind-based checking is a developer-oriented feature, drop the compatibility stuff and streamline the detection. gcc/ChangeLog: * config.in: Regenerate. * configure: Regenerate. * configure.ac: Delete manual checks for old Valgrind headers. * system.h (VALGRIND_MAKE_MEM_NOACCESS): Delete. (VALGRIND_MAKE_MEM_DEFINED): Delete. (VALGRIND_MAKE_MEM_UNDEFINED): Delete. (VALGRIND_MALLOCLIKE_BLOCK): Delete. (VALGRIND_FREELIKE_BLOCK): Delete.
2023-11-23gcc: Introduce -fhardenedMarek Polacek1-1/+67
In <https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628748.html> I proposed -fhardened, a new umbrella option that enables a reasonable set of hardening flags. The read of the room seems to be that the option would be useful. So here's a patch implementing that option. Currently, -fhardened enables: -D_FORTIFY_SOURCE=3 (or =2 for older glibcs) -D_GLIBCXX_ASSERTIONS -ftrivial-auto-var-init=zero -fPIE -pie -Wl,-z,relro,-z,now -fstack-protector-strong -fstack-clash-protection -fcf-protection=full (x86 GNU/Linux only) -fhardened will not override options that were specified on the command line (before or after -fhardened). For example, -D_FORTIFY_SOURCE=1 -fhardened means that _FORTIFY_SOURCE=1 will be used. Similarly, -fhardened -fstack-protector will not enable -fstack-protector-strong. Currently, -fhardened is only supported on GNU/Linux. In DW_AT_producer it is reflected only as -fhardened; it doesn't expand to anything. This patch provides -Whardened, enabled by default, which warns when -fhardened couldn't enable a particular option. I think most often it will say that _FORTIFY_SOURCE wasn't enabled because optimization were not enabled. gcc/c-family/ChangeLog: * c-opts.cc: Include "target.h". (c_finish_options): Maybe cpp_define _FORTIFY_SOURCE and _GLIBCXX_ASSERTIONS. gcc/ChangeLog: * common.opt (Whardened, fhardened): New options. * config.in: Regenerate. * config/bpf/bpf.cc: Include "opts.h". (bpf_option_override): If flag_stack_protector_set_by_fhardened_p, do not inform that -fstack-protector does not work. * config/i386/i386-options.cc (ix86_option_override_internal): When -fhardened, maybe enable -fcf-protection=full. * config/linux-protos.h (linux_fortify_source_default_level): Declare. * config/linux.cc (linux_fortify_source_default_level): New. * config/linux.h (TARGET_FORTIFY_SOURCE_DEFAULT_LEVEL): Redefine. * configure: Regenerate. * configure.ac: Check if the linker supports '-z now' and '-z relro'. Check if -fhardened is supported on $target_os. * doc/invoke.texi: Document -fhardened and -Whardened. * doc/tm.texi: Regenerate. * doc/tm.texi.in (TARGET_FORTIFY_SOURCE_DEFAULT_LEVEL): Add. * gcc.cc (driver_handle_option): Remember if any link options or -static were specified on the command line. (process_command): When -fhardened, maybe enable -pie and -Wl,-z,relro,-z,now. * opts.cc (flag_stack_protector_set_by_fhardened_p): New global. (finish_options): When -fhardened, enable -ftrivial-auto-var-init=zero and -fstack-protector-strong. (print_help_hardened): New. (print_help): Call it. * opts.h (flag_stack_protector_set_by_fhardened_p): Declare. * target.def (fortify_source_default_level): New target hook. * targhooks.cc (default_fortify_source_default_level): New. * targhooks.h (default_fortify_source_default_level): Declare. * toplev.cc (process_options): When -fhardened, enable -fstack-clash-protection. If flag_stack_protector_set_by_fhardened_p, do not warn that -fstack-protector not supported for this target. Don't enable -fhardened when !HAVE_FHARDENED_SUPPORT. gcc/testsuite/ChangeLog: * gcc.misc-tests/help.exp: Test -fhardened. * c-c++-common/fhardened-1.S: New test. * c-c++-common/fhardened-1.c: New test. * c-c++-common/fhardened-10.c: New test. * c-c++-common/fhardened-11.c: New test. * c-c++-common/fhardened-12.c: New test. * c-c++-common/fhardened-13.c: New test. * c-c++-common/fhardened-14.c: New test. * c-c++-common/fhardened-15.c: New test. * c-c++-common/fhardened-2.c: New test. * c-c++-common/fhardened-3.c: New test. * c-c++-common/fhardened-4.c: New test. * c-c++-common/fhardened-5.c: New test. * c-c++-common/fhardened-6.c: New test. * c-c++-common/fhardened-7.c: New test. * c-c++-common/fhardened-8.c: New test. * c-c++-common/fhardened-9.c: New test. * gcc.target/i386/cf_check-6.c: New test.
2023-11-23mingw: Exclude utf8 manifest [PR111170, PR108865]Costas Argyris1-2/+25
Make the utf8 manifest optional (on by default and explicitly off with --disable-win32-utf8-manifest) in the mingw hosts. Also eliminate duplication between the 32-bit and 64-bit mingw hosts by putting them both in the same branch and special-case only the 64-bit long long setting. PR mingw/111170 PR mingw/108865 Signed-off-by: Costas Argyris <costas.argyris@gmail.com> Signed-off-by: Jonathan Yong <10walls@gmail.com> gcc/Changelog: * configure.ac: Handle new --enable-win32-utf8-manifest option. * config.host: allow win32 utf8 manifest to be disabled by user. * configure: Regenerate.
2023-11-18LoongArch: Add code generation support for call36 function calls.Lulu Cheng1-0/+32
When compiling with '-mcmodel=medium', the function call is made through 'pcaddu18i+jirl' if binutils supports call36, otherwise the native implementation 'pcalau12i+jirl' is used. gcc/ChangeLog: * config.in: Regenerate. * config/loongarch/loongarch-opts.h (HAVE_AS_SUPPORT_CALL36): Define macro. * config/loongarch/loongarch.cc (loongarch_legitimize_call_address): If binutils supports call36, the function call is not split over expand. * config/loongarch/loongarch.md: Add call36 generation code. * config/loongarch/predicates.md: Likewise. * configure: Regenerate. * configure.ac: Check whether binutils supports call36. gcc/testsuite/ChangeLog: * gcc.target/loongarch/func-call-medium-5.c: If the assembler supports call36, the test is abandoned. * gcc.target/loongarch/func-call-medium-6.c: Likewise. * gcc.target/loongarch/func-call-medium-7.c: Likewise. * gcc.target/loongarch/func-call-medium-8.c: Likewise. * lib/target-supports.exp: Added a function to see if the assembler supports the call36 relocation. * gcc.target/loongarch/func-call-medium-call36-1.c: New test. * gcc.target/loongarch/func-call-medium-call36.c: New test. Co-authored-by: Xi Ruoyao <xry111@xry111.site>
2023-11-14LoongArch: Disable relaxation if the assembler don't support conditional ↵Xi Ruoyao1-0/+35
branch relaxation [PR112330] As the commit message of r14-4674 has indicated, if the assembler does not support conditional branch relaxation, a relocation overflow may happen on conditional branches when relaxation is enabled because the number of NOP instructions inserted by the assembler will be more than the number estimated by GCC. To work around this issue, disable relaxation by default if the assembler is detected incapable to perform conditional branch relaxation at GCC build time. We also need to pass -mno-relax to the assembler to really disable relaxation. But, if the assembler does not support -mrelax option at all, we should not pass -mno-relax to the assembler or it will immediately error out. Also handle this with the build time assembler capability probing, and add a pair of options -m[no-]pass-mrelax-to-as to allow using a different assembler from the build-time one. With this change, if GCC is built with GAS 2.41, relaxation will be disabled by default. So the default value of -mexplicit-relocs= is also changed to 'always' if -mno-relax is specified or implied by the build-time default, because using assembler macros for symbol addresses produces no benefit when relaxation is disabled. gcc/ChangeLog: PR target/112330 * config/loongarch/genopts/loongarch.opt.in: Add -m[no]-pass-relax-to-as. Change the default of -m[no]-relax to account conditional branch relaxation support status. * config/loongarch/loongarch.opt: Regenerate. * configure.ac (gcc_cv_as_loongarch_cond_branch_relax): Check if the assembler supports conditional branch relaxation. * configure: Regenerate. * config.in: Regenerate. Note that there are some unrelated changes introduced by r14-5424 (which does not contain a config.in regeneration). * config/loongarch/loongarch-opts.h (HAVE_AS_COND_BRANCH_RELAXATION): Define to 0 if not defined. * config/loongarch/loongarch-driver.h (ASM_MRELAX_DEFAULT): Define. (ASM_MRELAX_SPEC): Define. (ASM_SPEC): Use ASM_MRELAX_SPEC instead of "%{mno-relax}". * config/loongarch/loongarch.cc: Take the setting of -m[no-]relax into account when determining the default of -mexplicit-relocs=. * doc/invoke.texi: Document -m[no-]relax and -m[no-]pass-mrelax-to-as for LoongArch. Update the default value of -mexplicit-relocs=.
2023-11-14*: add modern gettextArsen Arsenović1-105/+1822
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-07gcc/configure: RegenerateMartin Jambor1-2/+2
Probabaly because of a re-base of changes to gcc/configure there are line comment mismatches in between what we have and what would be generated. This patch brings them in line so that consitency checkers are happy. gcc/ChangeLog: 2023-11-07 Martin Jambor <mjambor@suse.cz> * configure: Regenerate.
2023-11-06rs6000: Consider inline asm as safe if no assembler complains [PR111828]Kewen Lin1-0/+43
As discussed in PR111828, rs6000_update_ipa_fn_target_info is much conservative, currently for any non-empty inline asm, without any parsing, it would take inline asm could have HTM insns. It means for one function attributed with power8 having inline asm, even if it has no HTM insns, we don't make a function attributed with power10 inline it. Peter pointed out an inline asm parser can be a slippery slope, and noticed that the current gnu assembler still allows HTM insns even with power10 machine type, so he suggested that we can aggressively ignore the handling on inline asm, this patch goes for this suggestion. Considering that there are a few assembler alternatives and assembler can update its behaviors (complaining HTM insns at power10 and later cpus sounds reasonable from a certain point of view), this patch also checks assembler complains on HTM insns at power10 or not. For a case that a caller attributed power10 calls a callee attributed power8 having inline asm with HTM insn, without inlining at least the compilation succeeds, but if assembler complains HTM insns at power10, after inlining the compilation would fail. The two associated test cases are fine without and with this patch (effective target takes effect or not). PR target/111828 gcc/ChangeLog: * config.in: Regenerate. * config/rs6000/rs6000.cc (rs6000_update_ipa_fn_target_info): Guard inline asm handling under !HAVE_AS_POWER10_HTM. * configure: Regenerate. * configure.ac: Detect assembler support for HTM insns at power10. gcc/testsuite/ChangeLog: * lib/target-supports.exp (check_effective_target_powerpc_as_p10_htm): New proc. * g++.target/powerpc/pr111828-1.C: New test. * g++.target/powerpc/pr111828-2.C: New test.
2023-10-31genemit: Split insn-emit.cc into several partitions.Robin Dapp1-2/+22
On riscv insn-emit.cc has grown to over 1.2 mio lines of code and compiling it takes considerable time. Therefore, this patch adjust genemit to create several partitions (insn-emit-1.cc to insn-emit-n.cc). The available patterns are written to the given files in a sequential fashion. Similar to match.pd a configure option --with-emitinsn-partitions=num is introduced that makes the number of partition configurable. gcc/ChangeLog: PR bootstrap/84402 PR target/111600 * Makefile.in: Handle split insn-emit.cc. * configure: Regenerate. * configure.ac: Add --with-insnemit-partitions. * genemit.cc (output_peephole2_scratches): Print to file instead of stdout. (print_code): Ditto. (gen_rtx_scratch): Ditto. (gen_exp): Ditto. (gen_emit_seq): Ditto. (emit_c_code): Ditto. (gen_insn): Ditto. (gen_expand): Ditto. (gen_split): Ditto. (output_add_clobbers): Ditto. (output_added_clobbers_hard_reg_p): Ditto. (print_overload_arguments): Ditto. (print_overload_test): Ditto. (handle_overloaded_code_for): Ditto. (handle_overloaded_gen): Ditto. (print_header): New function. (handle_arg): New function. (main): Split output into 10 files. * gensupport.cc (count_patterns): New function. * gensupport.h (count_patterns): Define. * read-md.cc (md_reader::print_md_ptr_loc): Add file argument. * read-md.h (class md_reader): Change definition.
2023-10-22Darwin, rpaths: Add --with-darwin-extra-rpath.Iain Sandoe1-2/+26
This is provided to allow distributions to add a single additional runpath to allow for cases where the installed GCC library directories are then symlinked to a common dirctory outside of any of the GCC installations. For example: /opt/distro/lib: libgfortran.dylib -> /opt/distro/lib/gcc-11.3/lib/libgfortran.dylib So that libraries which are designed to be found in the runpath we would then add --with-darwin-add-rpath=/opt/distro/lib to the configure line. This patch makes the configuration a little more forgiving of using --disable-darwin-at-rpath (although for platform versions >= 10.11 this will result in misconfigured target libraries). gcc/ChangeLog: * configure.ac: Add --with-darwin-extra-rpath option. * config/darwin.h: Handle DARWIN_EXTRA_RPATH. * config.in: Regenerate. * configure: Regenerate.
2023-10-22Config,Darwin: Allow for configuring Darwin to use embedded runpath.Iain Sandoe1-8/+125
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-18Darwin: Check as for .build_version support and use it if available.Iain Sandoe1-0/+33
This adds support for the minimum OS version data in assembler files. At present, we have no mechanism to detect the SDK version in use, and so that is omitted from build_versions. We follow the implementation in clang, '.build_version' is only emitted (where supported) for target macOS versions >= 10.14. For earlier macOS we fall back to using a '.macosx_version_min' directive. This latter is also emitted when the assembler supports it, but not build_version. gcc/ChangeLog: * config.in: Regenerate. * config/darwin.cc (darwin_file_start): Add assembler directives for the target OS version, where these are supported by the assembler. (darwin_override_options): Check for building >= macOS 10.14. * configure: Regenerate. * configure.ac: Check for assembler support of .build_version directives. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
2023-09-27Darwin, configure: Allow for an unrecognisable dsymutil [PR111610].Iain Sandoe1-1/+1
We had a catch-all configuration case for missing or unrecognised dsymutil but it was setting the dsymutil source to "UNKNOWN" which is not usable in this context (since it clashes with an existing enum). We rename this to DET_UNKNOWN (for Darwin External Toolchain). PR target/111610 gcc/ChangeLog: * configure: Regenerate. * configure.ac: Rename the missing dsymutil case to "DET_UNKNOWN". Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
2023-09-21rust: Add skeleton support and documentation for targetrustm hooks.Iain Buclaw1-2/+19
gcc/ChangeLog: * Makefile.in (tm_rust_file_list, tm_rust_include_list, TM_RUST_H, RUST_TARGET_DEF, RUST_TARGET_H, RUST_TARGET_OBJS): New variables. (tm_rust.h, cs-tm_rust.h, default-rust.o, rust/rust-target-hooks-def.h, s-rust-target-hooks-def-h): New rules. (s-tm-texi): Also check timestamp on rust-target.def. (generated_files): Add TM_RUST_H and rust-target-hooks-def.h. (build/genhooks.o): Also depend on RUST_TARGET_DEF. * config.gcc (tm_rust_file, rust_target_objs, target_has_targetrustm): New variables. * configure: Regenerate. * configure.ac (tm_rust_file_list, tm_rust_include_list, rust_target_objs): Add substitutes. * doc/tm.texi: Regenerate. * doc/tm.texi.in (targetrustm): Document. (target_has_targetrustm): Document. * genhooks.cc: Include rust/rust-target.def. * config/default-rust.cc: New file. gcc/rust/ChangeLog: * rust-target-def.h: New file. * rust-target.def: New file. * rust-target.h: New file.
2023-09-20Modify gas uleb128 support testmengqinggang1-1/+41
Some assemblers (GNU as for LoongArch) generates relocations for leb128 symbol arithmetic for relaxation, we need to disable relaxation probing leb128 support then. gcc/ChangeLog: * configure: Regenerate. * configure.ac: Checking assembler for -mno-relax support. Disable relaxation when probing leb128 support. co-authored-by: Xi Ruoyao <xry111@xry111.site>
2023-09-20LoongArch: Check whether binutils supports the relax function. If supported, ↵Lulu Cheng1-0/+31
explicit relocs are turned off by default. gcc/ChangeLog: * config.in: Regenerate. * config/loongarch/genopts/loongarch.opt.in: Add compilation option mrelax. And set the initial value of explicit-relocs according to the detection status. * config/loongarch/gnu-user.h: When compiling with -mno-relax, pass the --no-relax option to the linker. * config/loongarch/loongarch-driver.h (ASM_SPEC): When compiling with -mno-relax, pass the -mno-relax option to the assembler. * config/loongarch/loongarch-opts.h (HAVE_AS_MRELAX_OPTION): Define macro. * config/loongarch/loongarch.opt: Regenerate. * configure: Regenerate. * configure.ac: Add detection of support for binutils relax function.
2023-09-18configure, Darwin: Adjust handing of stdlib option.Iain Sandoe1-11/+34
The intent of the configuration choices for -stdlib is that default setting should choose reasonable options for the target. This should enable -stdlib= for Darwin targets where libc++ is the default on the system (so that it is only necessary to provide the headers). However, it seems that there are some cases where (external) config scripts are using -stdlib (incorrectly) to determine if the compiler in use is GCC or clang. In order to allow for these cases, this patch refines the setting like so: --with-gxx-libcxx-include-dir= is used to configure the path containing libc++ headers; it also controls the enabling of the -stdlib option. We are adding a special value for path: if --with-gxx-libcxx-include-dir is 'no' we disable the stdlib option. Otherwise if the --with-gxx-libcxx-include-dir is set we use the path provided, and enable the stdlib option. if --with-gxx-libcxx-include-dir is unset We decide on the stdlib option based on the OS type and revision being targeted. The path is set to a fixed position relative to the compiler install (similar logic to that used for libstdc++ headers). Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> gcc/ChangeLog: * configure: Regenerate. * configure.ac: Handle explict disable of stdlib option, set defaults for Darwin.
2023-08-17build: Allow for Xcode 15 ld -v outputRainer Orth1-1/+2
Since Xcode 15 beta 6, ld -v output differs from previous versions: * macOS 13/Xcode 14: @(#)PROGRAM:ld PROJECT:ld64-857.1 * macOS 14/Xcode 15: @(#)PROGRAM:ld PROJECT:dyld-1015.1 configure cannot handle the new form, so LD64_VERSION isn't set. This patch fixes this. The autoconf manual states that sed doesn't portably support alternation, so I'm using two separate expressions to extract the version number. Tested on x86_64-apple-darwin23.0.0. 2023-08-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> gcc: * configure.ac (gcc_cv_ld64_version): Allow for dyld in ld -v output. * configure: Regenerate.
2023-08-11config: Fix host -rdynamic detection for build != host != targetJoseph Myers1-1/+1
The GCC_ENABLE_PLUGINS configure logic for detecting whether -rdynamic is necessary and supported uses an appropriate objdump for $host binaries (running on $build) in cases where $host is $build or $target. However, it is missing such logic in the case where $host is neither $build nor $target, resulting in the compilers not being linked with -rdynamic and plugins not being usable with such a compiler. In fact $ac_cv_prog_OBJDUMP, as used when $build = $host, is always an objdump for $host binaries that runs on $build; that is, it's appropriate to use in this case as well. Tested in such a configuration that it does result in cc1 being linked with -rdynamic as expected. Also bootstrapped with no regressions for x86_64-pc-linux-gnu. config/ * gcc-plugin.m4 (GCC_ENABLE_PLUGINS): Use export_sym_check="$ac_cv_prog_OBJDUMP -T" also when host is not build or target. gcc/ * configure: Regenerate. libcc1/ * configure: Regenerate.
2023-08-07libtool.m4: augment symcode for Solaris 11Nick Alcock1-1/+1
This reports common symbols like GNU nm, via a type code of 'C'. ChangeLog: * libtool.m4 (lt_cv_sys_global_symbol_pipe): Augment symcode for Solaris 11. 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-07Deprecate a.out support for NetBSD targets.John Ericson1-5/+3
As discussed previously, a.out support is now quite deprecated, and in some cases removed, in both Binutils itself and NetBSD, so this legacy default makes little sense. `netbsdelf*` and `netbsdaout*` still work allowing the user to be explicit about there choice. Additionally, the configure script warns about the change as Nick Clifton requested. One possible concern was the status of NetBSD on NS32K, where only a.out was supported. But per [1] NetBSD has removed support, and if it were to come back, it would be with ELF. The binutils implementation is therefore marked obsolete, per the instructions in the last message. With that patch and this one applied, I have confirmed the following: --target=i686-unknown-netbsd --target=i686-unknown-netbsdelf builds completely --target=i686-unknown-netbsdaout properly fails because target is deprecated. --target=vax-unknown-netbsdaout builds completely except for gas, where the target is deprecated. [1]: https://mail-index.netbsd.org/tech-toolchain/2021/07/19/msg004025.html config/ChangeLog: * picflag.m4: Simplify SHmedia NetBSD match by presuming ELF. gcc/ChangeLog: * configure: Regenerate. libada/ChangeLog: * configure: Regenerate. libgcc/ChangeLog: * configure: Regenerate. libiberty/ChangeLog: * configure: Regenerate.
2023-08-07egrep in binutilsAlan Modra1-2/+2
Apparently some distros have a nagging egrep that helpfully tells you egrep is deprecated and to use "grep -E". The nag message causes a ld testsuite failure. What's more the advice isn't that good. The "-E" flag may not be available with older versions of grep. This patch fixes bare invocation of egrep within binutils, replacing it with the autoconf $EGREP or with grep. config/ChangeLog: * lib-ld.m4 (AC_LIB_PROG_LD_GNU): Require AC_PROG_EGREP and invoke $EGREP. (AC_LIB_PROG_LD): Likewise. gcc/ChangeLog: * configure: Regenerate. intl/ChangeLog: * configure: Regenerate. libcpp/ChangeLog: * configure: Regenerate. libgcc/ChangeLog: * configure: Regenerate. libstdc++-v3/ChangeLog: * configure: Regenerate.
2023-08-07Add support for the haiku operating systemAlexander von Gluck IV1-2/+2
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-07libtool.m4: fix the NM="/nm/over/here -B/option/with/path" caseNick Alcock1-7/+13
My previous nm patch handled all cases but one -- if the user set NM in the environment to a path which contained an option, libtool's nm detection tries to run nm against a copy of nm with the options in it: e.g. if NM was set to "nm --blargle", and nm was found in /usr/bin, the test would try to run "/usr/bin/nm --blargle /usr/bin/nm --blargle". This is unlikely to be desirable: in this case we should run "/usr/bin/nm --blargle /usr/bin/nm". Furthermore, as part of this nm has to detect when the passed-in $NM contains a path, and in that case avoid doing a path search itself. This too was thrown off if an option contained something that looked like a path, e.g. NM="nm -B../prev-gcc"; libtool then tries to run "nm -B../prev-gcc nm" which rarely works well (and indeed it looks to see whether that nm exists, finds it doesn't, and wrongly concludes that nm -p or whatever does not work). Fix all of these by clipping all options (defined as everything including and after the first " -") before deciding whether nm contains a path (but not using the clipped value for anything else), and then removing all options from the path-modified nm before looking to see whether that nm existed. NM=my-nm now does a path search and runs e.g. /usr/bin/my-nm -B /usr/bin/my-nm NM=/usr/bin/my-nm now avoids a path search and runs e.g. /usr/bin/my-nm -B /usr/bin/my-nm NM="my-nm -p../wombat" now does a path search and runs e.g. /usr/bin/my-nm -p../wombat -B /usr/bin/my-nm NM="../prev-binutils/new-nm -B../prev-gcc" now avoids a path search: ../prev-binutils/my-nm -B../prev-gcc -B ../prev-binutils/my-nm This seems to be all combinations, including those used by GCC bootstrap (which, before this commit, fails to bootstrap when configured --with-build-config=bootstrap-lto, because the lto plugin is now using --export-symbols-regex, which requires libtool to find a working nm, while also using -B../prev-gcc to point at the lto plugin associated with the GCC just built.) Regenerate all affected configure scripts. ChangeLog: * libtool.m4 (LT_PATH_NM): Handle user-specified NM with options, including options containing paths. 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-07libtool.m4: fix nm BSD flag detectionNick Alcock1-44/+45
Libtool needs to get BSD-format (or MS-format) output out of the system nm, so that it can scan generated object files for symbol names for -export-symbols-regex support. Some nms need specific flags to turn on BSD-formatted output, so libtool checks for this in its AC_PATH_NM. Unfortunately the code to do this has a pair of interlocking flaws: - it runs the test by doing an nm of /dev/null. Some platforms reasonably refuse to do an nm on a device file, but before now this has only been worked around by assuming that the error message has a specific textual form emitted by Tru64 nm, and that getting this error means this is Tru64 nm and that nm -B would work to produce BSD-format output, even though the test never actually got anything but an error message out of nm -B. This is fixable by nm'ing *nm itself* (since we necessarily have a path to it). - the test is entirely skipped if NM is set in the environment, on the grounds that the user has overridden the test: but the user cannot reasonably be expected to know that libtool wants not only nm but also flags forcing BSD-format output. Worse yet, one such "user" is the top-level Cygnus configure script, which neither tests for nor specifies any BSD-format flags. So platforms needing BSD-format flags always fail to set them when run in a Cygnus tree, breaking -export-symbols-regex on such platforms. Libtool also needs to augment $LD on some platforms, but this is done unconditionally, augmenting whatever the user specified: the nm check should do the same. One wrinkle: if the user has overridden $NM, a path might have been provided: so we use the user-specified path if there was one, and otherwise do the path search as usual. (If the nm specified doesn't work, this might lead to a few extra pointless path searches -- but the test is going to fail anyway, so that's not a problem.) (Tested with NM unset, and set to nm, /usr/bin/nm, my-nm where my-nm is a symlink to /usr/bin/nm on the PATH, and /not-on-the-path/my-nm where *that* is a symlink to /usr/bin/nm.) ChangeLog: * libtool.m4 (LT_PATH_NM): Try BSDization flags with a user-provided NM, if there is one. Run nm on itself, not on /dev/null, to avoid errors from nms that refuse to work on non-regular files. Remove other workarounds for this problem. Strip out blank lines from the nm output. fixincludes/ChangeLog: * configure: Regenerate. 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-07GCC: Check if AR works with --plugin and rcH.J. Lu1-3/+11
AR from older binutils doesn't work with --plugin and rc: [hjl@gnu-cfl-2 bin]$ touch foo.c [hjl@gnu-cfl-2 bin]$ ar --plugin /usr/libexec/gcc/x86_64-redhat-linux/10/liblto_plugin.so rc libfoo.a foo.c [hjl@gnu-cfl-2 bin]$ ./ar --plugin /usr/libexec/gcc/x86_64-redhat-linux/10/liblto_plugin.so rc libfoo.a foo.c ./ar: no operation specified [hjl@gnu-cfl-2 bin]$ ./ar --version GNU ar (Linux/GNU Binutils) 2.29.51.0.1.20180112 Copyright (C) 2018 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) any later version. This program has absolutely no warranty. [hjl@gnu-cfl-2 bin]$ Check if AR works with --plugin and rc before passing --plugin to AR and RANLIB. ChangeLog: * configure: Regenerated. * libtool.m4 (_LT_CMD_OLD_ARCHIVE): Check if AR works with --plugin and rc before enabling --plugin. config/ChangeLog: * gcc-plugin.m4 (GCC_PLUGIN_OPTION): Check if AR works with --plugin and rc before enabling --plugin. 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. libiberty/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-07Sync with binutils: GCC: Pass --plugin to AR and RANLIBH.J. Lu1-2/+25
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-07-21Darwin: Handle linker '-demangle' option.Iain Sandoe1-0/+19
Most of the Darwin linkers in use support this option which we will now pass by default (matching the Xcode clang impl.)> Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> gcc/ChangeLog: * config.in: Regenerate. * config/darwin.h (DARWIN_LD_DEMANGLE): New. (LINK_COMMAND_SPEC_A): Add demangle handling. * configure: Regenerate. * configure.ac: Detect linker support for '-demangle'.
2023-06-22configure: Implement --enable-host-bind-nowMarek Polacek1-2/+18
As promised in the --enable-host-pie patch, this patch adds another configure option, --enable-host-bind-now, which adds -z now when linking the compiler executables in order to extend hardening. BIND_NOW with RELRO allows the GOT to be marked RO; this prevents GOT modification attacks. This option does not affect linking of target libraries; you can use LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now to enable RELRO/BIND_NOW. With this patch: $ readelf -Wd cc1{,plus,obj,gm2} f951 lto1 cpp rust1 gnat1 | grep FLAGS 0x000000000000001e (FLAGS) BIND_NOW 0x000000006ffffffb (FLAGS_1) Flags: NOW PIE 0x000000000000001e (FLAGS) BIND_NOW 0x000000006ffffffb (FLAGS_1) Flags: NOW PIE 0x000000000000001e (FLAGS) BIND_NOW 0x000000006ffffffb (FLAGS_1) Flags: NOW PIE 0x000000000000001e (FLAGS) BIND_NOW 0x000000006ffffffb (FLAGS_1) Flags: NOW PIE 0x000000000000001e (FLAGS) BIND_NOW 0x000000006ffffffb (FLAGS_1) Flags: NOW PIE 0x000000000000001e (FLAGS) BIND_NOW 0x000000006ffffffb (FLAGS_1) Flags: NOW PIE 0x000000000000001e (FLAGS) BIND_NOW 0x000000006ffffffb (FLAGS_1) Flags: NOW PIE 0x000000000000001e (FLAGS) BIND_NOW 0x000000006ffffffb (FLAGS_1) Flags: NOW PIE 0x000000000000001e (FLAGS) BIND_NOW 0x000000006ffffffb (FLAGS_1) Flags: NOW PIE c++tools/ChangeLog: * configure.ac (--enable-host-bind-now): New check. * configure: Regenerate. gcc/ChangeLog: * configure.ac (--enable-host-bind-now): New check. Add -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now. * configure: Regenerate. * doc/install.texi: Document --enable-host-bind-now. lto-plugin/ChangeLog: * configure.ac (--enable-host-bind-now): New check. Link with -z,now. * configure: Regenerate.
2023-06-21diagnostics: add support for "text art" diagramsDavid Malcolm1-1/+1
Existing text output in GCC has to be implemented by writing sequentially to a pretty_printer instance. This makes it hard to implement some kinds of diagnostic output (see e.g. diagnostic-show-locus.cc). This patch adds more flexible ways of creating text output: - a canvas class, which can be "painted" to via random-access (rather that sequentially) - a table class for 2D grid layout, supporting items that span multiple rows/columns - a widget class for organizing diagrams hierarchically. The patch also expands GCC's diagnostics subsystem so that diagnostics can have "text art" diagrams - think ASCII art, but potentially including some Unicode characters, such as box-drawing chars. The new code is in a new "gcc/text-art" subdirectory and "text_art" namespace. The patch adds a new "-fdiagnostics-text-art-charset=VAL" option, with values: - "none": don't emit diagrams (added to -fdiagnostics-plain-output) - "ascii": use pure ASCII in diagrams - "unicode": allow for conservative use of unicode drawing characters (such as box-drawing characters). - "emoji" (the default): as "unicode", but potentially allow for conservative use of emoji in the output (such as U+26A0 WARNING SIGN). I made it possible to disable emoji separately from unicode as I believe there's a generation gap in acceptance of these characters (some older programmers have a visceral reaction against them, whereas younger programmers may have no problem with them). Diagrams are emitted to stderr by default. With SARIF output they are captured as a location in "relatedLocations", with the diagram as a code block in Markdown within a "markdown" property of a message. This patch doesn't add any such diagram usage to GCC, saving that for followups, apart from adding a plugin to the test suite to exercise the functionality. contrib/ChangeLog: * unicode/gen-box-drawing-chars.py: New file. * unicode/gen-combining-chars.py: New file. * unicode/gen-printable-chars.py: New file. gcc/ChangeLog: * Makefile.in (OBJS-libcommon): Add text-art/box-drawing.o, text-art/canvas.o, text-art/ruler.o, text-art/selftests.o, text-art/style.o, text-art/styled-string.o, text-art/table.o, text-art/theme.o, and text-art/widget.o. * color-macros.h (COLOR_FG_BRIGHT_BLACK): New. (COLOR_FG_BRIGHT_RED): New. (COLOR_FG_BRIGHT_GREEN): New. (COLOR_FG_BRIGHT_YELLOW): New. (COLOR_FG_BRIGHT_BLUE): New. (COLOR_FG_BRIGHT_MAGENTA): New. (COLOR_FG_BRIGHT_CYAN): New. (COLOR_FG_BRIGHT_WHITE): New. (COLOR_BG_BRIGHT_BLACK): New. (COLOR_BG_BRIGHT_RED): New. (COLOR_BG_BRIGHT_GREEN): New. (COLOR_BG_BRIGHT_YELLOW): New. (COLOR_BG_BRIGHT_BLUE): New. (COLOR_BG_BRIGHT_MAGENTA): New. (COLOR_BG_BRIGHT_CYAN): New. (COLOR_BG_BRIGHT_WHITE): New. * common.opt (fdiagnostics-text-art-charset=): New option. (diagnostic-text-art.h): New SourceInclude. (diagnostic_text_art_charset) New Enum and EnumValues. * configure: Regenerate. * configure.ac (gccdepdir): Add text-art to loop. * diagnostic-diagram.h: New file. * diagnostic-format-json.cc (json_emit_diagram): New. (diagnostic_output_format_init_json): Wire it up to context->m_diagrams.m_emission_cb. * diagnostic-format-sarif.cc: Include "diagnostic-diagram.h" and "text-art/canvas.h". (sarif_result::on_nested_diagnostic): Move code to... (sarif_result::add_related_location): ...this new function. (sarif_result::on_diagram): New. (sarif_builder::emit_diagram): New. (sarif_builder::make_message_object_for_diagram): New. (sarif_emit_diagram): New. (diagnostic_output_format_init_sarif): Set context->m_diagrams.m_emission_cb to sarif_emit_diagram. * diagnostic-text-art.h: New file. * diagnostic.cc: Include "diagnostic-text-art.h", "diagnostic-diagram.h", and "text-art/theme.h". (diagnostic_initialize): Initialize context->m_diagrams and call diagnostics_text_art_charset_init. (diagnostic_finish): Clean up context->m_diagrams.m_theme. (diagnostic_emit_diagram): New. (diagnostics_text_art_charset_init): New. * diagnostic.h (text_art::theme): New forward decl. (class diagnostic_diagram): Likewise. (diagnostic_context::m_diagrams): New field. (diagnostic_emit_diagram): New decl. * doc/invoke.texi (Diagnostic Message Formatting Options): Add -fdiagnostics-text-art-charset=. (-fdiagnostics-plain-output): Add -fdiagnostics-text-art-charset=none. * gcc.cc: Include "diagnostic-text-art.h". (driver_handle_option): Handle OPT_fdiagnostics_text_art_charset_. * opts-common.cc (decode_cmdline_options_to_array): Add "-fdiagnostics-text-art-charset=none" to expanded_args for -fdiagnostics-plain-output. * opts.cc: Include "diagnostic-text-art.h". (common_handle_option): Handle OPT_fdiagnostics_text_art_charset_. * pretty-print.cc (pp_unicode_character): New. * pretty-print.h (pp_unicode_character): New decl. * selftest-run-tests.cc: Include "text-art/selftests.h". (selftest::run_tests): Call text_art_tests. * text-art/box-drawing-chars.inc: New file, generated by contrib/unicode/gen-box-drawing-chars.py. * text-art/box-drawing.cc: New file. * text-art/box-drawing.h: New file. * text-art/canvas.cc: New file. * text-art/canvas.h: New file. * text-art/ruler.cc: New file. * text-art/ruler.h: New file. * text-art/selftests.cc: New file. * text-art/selftests.h: New file. * text-art/style.cc: New file. * text-art/styled-string.cc: New file. * text-art/table.cc: New file. * text-art/table.h: New file. * text-art/theme.cc: New file. * text-art/theme.h: New file. * text-art/types.h: New file. * text-art/widget.cc: New file. * text-art/widget.h: New file. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic-test-text-art-ascii-bw.c: New test. * gcc.dg/plugin/diagnostic-test-text-art-ascii-color.c: New test. * gcc.dg/plugin/diagnostic-test-text-art-none.c: New test. * gcc.dg/plugin/diagnostic-test-text-art-unicode-bw.c: New test. * gcc.dg/plugin/diagnostic-test-text-art-unicode-color.c: New test. * gcc.dg/plugin/diagnostic_plugin_test_text_art.c: New test plugin. * gcc.dg/plugin/plugin.exp (plugin_test_list): Add them. libcpp/ChangeLog: * charset.cc (get_cppchar_property): New function template, based on... (cpp_wcwidth): ...this function. Rework to use the above. Include "combining-chars.inc". (cpp_is_combining_char): New function Include "printable-chars.inc". (cpp_is_printable_char): New function * combining-chars.inc: New file, generated by contrib/unicode/gen-combining-chars.py. * include/cpplib.h (cpp_is_combining_char): New function decl. (cpp_is_printable_char): New function decl. * printable-chars.inc: New file, generated by contrib/unicode/gen-printable-chars.py. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
2023-06-16Regenerate some autotools generated filesMartin Jambor1-2/+2
As discussed in https://gcc.gnu.org/pipermail/gcc-patches/2023-June/621976.html this should put the autotools generated files in sync to what they were generated from (and make an automated checker happy). Tested by bootstrapping on top of only a few revisions ago. zlib/ChangeLog: 2023-06-16 Martin Jambor <mjambor@suse.cz> * Makefile.in: Regenerate. * configure: Likewise. gcc/ChangeLog: 2023-06-16 Martin Jambor <mjambor@suse.cz> * configure: Regenerate.
2023-06-15configure: Implement --enable-host-pieMarek Polacek1-12/+31
[ 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-12Remove DEFAULT_MATCHPD_PARTITIONS macroTamar Christina1-7/+2
As Jakub pointed out, DEFAULT_MATCHPD_PARTITIONS is now unused and can be removed. gcc/ChangeLog: * config.in: Regenerate. * configure: Regenerate. * configure.ac: Remove DEFAULT_MATCHPD_PARTITIONS.
2023-05-18gcc: Fix nonportable shell syntax in "test" and "[" commands [PR105831]Michael Bäuerle1-1/+1
POSIX sh does not support the == for string comparisons, use = instead. gcc/ChangeLog: PR bootstrap/105831 * config/nvptx/gen-opt.sh: Use = operator instead of ==. * configure.ac: Likewise. * configure: Regenerate.
2023-05-05match.pd: Use splits in makefile and make configurable.Tamar Christina1-2/+27
This updates the build system to split up match.pd files into chunks of 10. This also introduces a new flag --with-matchpd-partitions which can be used to change the number of partitions. For the analysis of why 10 please look at the previous patch in the series. gcc/ChangeLog: PR bootstrap/84402 * Makefile.in (NUM_MATCH_SPLITS, MATCH_SPLITS_SEQ, GIMPLE_MATCH_PD_SEQ_SRC, GIMPLE_MATCH_PD_SEQ_O, GENERIC_MATCH_PD_SEQ_SRC, GENERIC_MATCH_PD_SEQ_O): New. (OBJS, MOSTLYCLEANFILES, .PRECIOUS): Use them. (s-match): Split into s-generic-match and s-gimple-match. * configure.ac (with-matchpd-partitions, DEFAULT_MATCHPD_PARTITIONS): New. * configure: Regenerate.
2023-04-30gcc: Use ld -r when checking for HAVE_LD_RO_RW_SECTION_MIXINGJoakim Nohlgård1-10/+13
Fall back to ld -r if ld -shared fails during configure. The check for HAVE_LD_RO_RW_SECTION_MIXING can fail on targets where ld does not support shared objects, even though the answer to the test should be 'read-write'. One such target is riscv64-unknown-elf. Failing this test results in a libgcc crtbegin.o which has a writable .eh_frame section leading to the default linker scripts placing the .eh_frame section in a writable memory segment, or a linker warning when using ld scripts that place .eh_frame unconditionally in ROM. gcc/ChangeLog: * configure: Regenerate. * configure.ac: Use ld -r in the check for HAVE_LD_RO_RW_SECTION_MIXING
2023-04-03build: Check that -lzstd can be linkedRainer Orth1-41/+43
Recent Solaris 11.4 SRUs bundle zstd, but only the 64-bit libraries (no idea why). Because of this, in 32-bit builds cc1 etc. fail to link with undefined references to various ZSTD_* functions from lto-compress.o. This happens because currently only the presence of <zstd.h> is necessary to enable zstd support in lto-compress.cc etc. This patch checks for libzstd first and disables zstd support if missing. Tested on sparc-sun-solaris2.11 with the system installation of zstd (64-bit only) and a locally-compiled one (specified with --with-zstd). 2023-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> gcc: * configure.ac (ZSTD_LIB): Move before zstd.h check. Unset gcc_cv_header_zstd_h without libzstd. * configure: Regenerate.
2023-03-29configure: deprecate --enable-link-mutex optionMartin Liska1-0/+2
PR bootstrap/109310 gcc/ChangeLog: * configure.ac: Emit a warning for deprecated option --enable-link-mutex. * configure: Regenerate.
2023-03-22configure: regenerateMartin Liska1-1/+1
gcc/ChangeLog: * configure: Regenerate.
2023-03-21html: Set CONTENTS_OUTPUT_LOCATION=inline if makeinfo supports itArsen Arsenović1-2/+33
This flag allows us to restore old (pre-6.8) behavior of the @{summary,}content commands, so that texi2any continues to emit summarycontents first. maintainer-scripts/ChangeLog: * update_web_docs_git: Set CONTENTS_OUTPUT_LOCATION=inline in order to put @shortcontents above contents. gcc/ChangeLog: * configure.ac: Add check for the Texinfo 6.8 CONTENTS_OUTPUT_LOCATION customization variable and set it if supported. * configure: Regenerate. * Makefile.in (MAKEINFO_TOC_INLINE_FLAG): New variable. Set by configure.ac to -c CONTENTS_OUTPUT_LOCATION=inline if CONTENTS_OUTPUT_LOCATION support is detected, empty otherwise. ($(build_htmldir)/%/index.html): Pass MAKEINFO_TOC_INLINE_FLAG.
2022-12-27gcc: fix Windows target binutils secrel detectionJonathan Yong1-1/+1
Newer binutils uses all caps, where it was all lower case previously. Pushed as obvious. This should resolve: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100383 gcc/ * configure.ac: use grep -i for case insensitive test. * configure: Regenerate. Signed-off-by: Jonathan Yong <10walls@gmail.com>
2022-12-19build: add -Wconditionally-supported to strict_warn [PR64867]Jason Merrill1-1/+1
The PR (which isn't resolved by this commit) pointed out to me that GCC should build with -Wconditionally-supported to support bootstrapping with a C++11 compiler that makes different choices. PR c++/64867 gcc/ChangeLog: * configure.ac (strict_warn): Add -Wconditionally-supported. * configure: Regenerate.
2022-12-14Merge modula-2 front end onto gcc.Gaius Mulley1-3/+82
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>