diff options
author | Han Shen <shenhan@google.com> | 2015-11-17 16:29:47 -0800 |
---|---|---|
committer | Han Shen <shenhan@google.com> | 2015-11-19 17:29:00 -0800 |
commit | 8bfb6b2bf11cfbc445239158ec28d0988f8fa947 (patch) | |
tree | 64baf9be2b2d76eb0d3d83ec6acf3d5ddd452b64 | |
parent | 932d71b859239e834651fdee549dc661cda82fe8 (diff) | |
download | toolchain_binutils-8bfb6b2bf11cfbc445239158ec28d0988f8fa947.zip toolchain_binutils-8bfb6b2bf11cfbc445239158ec28d0988f8fa947.tar.gz toolchain_binutils-8bfb6b2bf11cfbc445239158ec28d0988f8fa947.tar.bz2 |
Create an unified binutils source tree for both Android and ChromiumOS.
About source code - The base version of this binutils is newer than that
of aosp/binutils-2.25, it is based on the binutils that is used to build
google products and ChromiumOS. And it contains *all* local Android
patches as well as all patches that are cherry-picked from upstream for
aosp/binutils-2.25 tree (up to Nov. 5 - 932d71b85). You may find the
detailed development history for this binutils tree here -
https://chromium.googlesource.com/chromiumos/third_party/binutils/+log/unification
(This CL is a combination of all the CLs in it. After this CL is
submitted the tree will be identical to
https://chromium.googlesource.com/chromiumos/third_party/binutils/+log/unification
at 2865a3615d80bd5f82d14d7e0484e84dc052596a)
About testing - We tested this binutils for both ChromiumOS and
Android. For android, we tested building N4, N5X, N6, N7, N9 using new
binutils, we also did a full-build of toolchain (by build.py) and built
a N5X image; for ChromiumOS - it passed ChromiumOS toolchain release
tests on all 4 platforms (x86, x86_64, arm32 and arm64).
Change-Id: I2bb2cf579f9458d0a8bc9612331dc7d5043e3d82
639 files changed, 16353 insertions, 11703 deletions
diff --git a/binutils-2.25/ChangeLog b/binutils-2.25/ChangeLog index 32b3c15..473702b 100644 --- a/binutils-2.25/ChangeLog +++ b/binutils-2.25/ChangeLog @@ -1,3 +1,21 @@ +2014-11-16 Jan-Benedict Glaw <jbglaw@lug-owl.de> + + * config.guess: Update from upstream config repo. + * config.sub: Ditto. + +2014-11-16 Jan-Benedict Glaw <jbglaw@lug-owl.de> + + * move-if-change: Update from upstream gnulib. + +2014-11-16 Jan-Benedict Glaw <jbglaw@lug-owl.de> + + * compile: Sync with upstream Automake. + * depcomp: Ditto. + * install-sh: Ditto. + * missing: Ditto. + * mkinstalldirs: Ditto. + * ylwrap: Ditto. + 2014-10-15 Tristan Gingold <gingold@adacore.com> * src-release.sh (do_proto_toplev): Configure with --target. diff --git a/binutils-2.25/MAINTAINERS b/binutils-2.25/MAINTAINERS index dd8601b..b09fbc0 100644 --- a/binutils-2.25/MAINTAINERS +++ b/binutils-2.25/MAINTAINERS @@ -47,7 +47,10 @@ gdb/; readline/; sim/; GDB's part of include/ See also gdb/MAINTAINERS and sim/MAINTAINERS. include/ - See binutils/, gdb/, sid/, gcc/, libiberty/ etc. + The rule is that if the file exists in the gcc tree + then gcc owns it. Thus you have to look at the gcc tree + to know whether any particular file is owned by gcc. + See also binutils/, gdb/, sid/, gcc/, libiberty/ etc. intl/; config.rhost; libiberty/; libiberty's part of include/; compile; depcomp; install-sh; missing; ylwrap; config/ diff --git a/binutils-2.25/README.google b/binutils-2.25/README.google new file mode 100644 index 0000000..a7bf0dc --- /dev/null +++ b/binutils-2.25/README.google @@ -0,0 +1,270 @@ +Patches applied to binutils-20141117: + +Please include a change to this file with each patch, *and* each +subsequent modification of the patch. Do NOT combine patch +checkins, keep them separate. + +Append new entries to the end of this file. Each entry shall include: + * The list of files modified by the patch, + * The status of the patch (whether it's been checked in upstream, + or is a local patch), + * The local 'owner' responsible for the patch, and + * A description of the patch (preferably including bug numbers). + +Please include entries for both local patches and for patches which +have been checked in to (or back-ported from) the upstream sources. +When checking in changes made upstream, add an entry to this file but +DO NOT add entries to the GNU ChangeLog files. + +gas/as.c +gas/as.h +gas/doc/as.texinfo +gas/read.c +gas/testsuite/gas/all/incbin.d + Status: google local + Owner: aaw + Disable .incbin, unless explicitly enabled with new flag --allow-incbin. + +binutils/doc/Makefile.am +binutils/doc/Makefile.in +gas/doc/Makefile.am +gas/doc/Makefile.in +gprof/Makefile.am +gprof/Makefile.in +ld/Makefile.am +ld/Makefile.in + Status: local + Owner: bmoses + Pass --date=" " to pod2man to avoid including build dates when formatting + manual and info pages. + +gas/testsuite/gas/aarch64/mapmisc.d + Status: local + Owner: bmoses + Add "--allow-incbin" directive to avoid errors with .incbin patch. + +gold/configure.ac +gold/configure +gold/Makefile.am +gold/Makefile.in +gold/testsuite/Makefile.am +gold/testsuite/Makefile.in + Status: local + Owner: bmoses + Add a Gold configure option to run tests using the native + build tools, even if we are building for a non-native + target. + +gold/errors.cc + Status: local + Owner: ccoutant + Add local go/keymethod link to missing vtable error message. + +gold/options.h + Status: local + Owner: ccoutant + Make --disable-new-dtags the default. See b/12844098. + +gold/layout.cc + Status: Local + Owner: tmsriram + Integrated from binutils-2.24. + Map input section name prefixes "_function_patch_prologue." and + "_function_patch_epilogue." to output section names + "_function_patch_prologue" and "_function_patch_epilogue". + The compiler patch that creates these sections: + http://gcc.gnu.org/ml/gcc-patches/2013-04/msg01835.html + +gold/powerpc.cc +bfd/elf64-ppc.c + Status: backport + Owner: shenhan + Backport upstream patches to fix overflow detection for PPC. + See cl/80502043. + +gold/powerpc.cc + Status: backport + Owner: shenhan + Backport upstream patch for PowerPC relaxation corner case. + See https://sourceware.org/ml/binutils/2014-11/msg00340.html. + +gold/aarch64.cc + Status: backport + Owner: shenhan + Backport upstream patch for tlsdesc linking error under -pie. + See https://sourceware.org/ml/binutils/2014-11/msg00343.html. + +gold/powerpc.cc + Status: backport + Owner: jingyu + Backport 2 upstream patches to retry powerpc gold stub grouping when + groups prove too large. + See https://sourceware.org/ml/binutils/2014-11/msg00342.html + and https://sourceware.org/ml/binutils/2014-12/msg00054.html + +gold/aarch64.cc + Status: backport + Owner: jingyu + Backport upstream patch to print informative error message for + stub-group-size. + See https://sourceware.org/ml/binutils/2014-12/msg00108.html + +gold/aarch64.cc + Status: backport + Owner: jingyu + Backport upstream patch to fix a print bug in 32bit mode. + See https://sourceware.org/ml/binutils/2014-12/msg00137.html + +bfd/elf64-ppc.c +gold/powerpc.cc +gold/symtab.cc + Status: backport + Owner: jingyu + Backport 5 upstream patches for PPC. + See https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=f9dffbf0863b9010a5eece87bd6b36e38c09ffb0 + https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=1f98a0748c4dfae57a76c408501c938480c1173c + https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=1611bc4afb0f08f0aff64ec355b8d68e9f4f0a73 + https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=e30880c2eeee3b43897161344bbbffd03f3a1c91 + https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=b01a4b043a5b08e1208b1fedd61a6f3d65a328e0 + +gold/powerpc.cc + Status: backport + Owner: jingyu + Backport upstream patch to correct PPC TLSLD linker optimization. + See https://sourceware.org/ml/binutils/2015-01/msg00322.html + +gold/aarch64-reloc.def +gold/aarch64.cc + Status: backport + Owner: jingyu + Backport upstream patch to support missing TLSLE relocations. + see https://sourceware.org/ml/binutils/2015-02/msg00140.html + +gold/parameters.cc + Status: backport + Owner: ccoutant + Fix a race condition when setting default target for ARM targets. + https://sourceware.org/ml/binutils-cvs/2015-03/msg00023.html + +binutils/dwarf.h +binutils/readelf.c +include/dwarf2.def +include/dwarf2.h + Status: local + Owner: ccoutant + Backport two-level line table support for readelf from upstream binutils + branch users/ccoutant/two-level-line-150331. + +gas/dwarf2dbg.c +gas/dwarf2dbg.h +gas/config/obj-elf.c + Status: local + Owner: ccoutant + Backport two-level line table support for GAS from upstream binutils + branch users/ccoutant/two-level-line-150331. + +elfcpp/dwarf.h +gold/debug.h +gold/dwarf_reader.cc +gold/dwarf_reader.h + Status: local + Owner: ccoutant + Backport two-level line table support for gold from upstream binutils + branch users/ccoutant/two-level-line-150331. + +gold/dwp.cc +gold/dynobj.cc +gold/object.cc +gold/object.h + Status: backport + Owner: ccoutant + Backport upstream patch to add gold support for reading compressed + debug info in shared object and dwp files. + +gold/aarch64-reloc.def +gold/aarch64.cc + Status: backport + Owner: jingyu + Add support to 2 AARCH64 TLSLD relocations. Change _TLS_MODULE_BASE_. + https://sourceware.org/ml/binutils/2015-03/msg00420.html + +gold/ehframe.h +gold/gold.cc +gold/layout.cc +gold/layout.h +gold/options.cc +gold/testsuite/Makefile.am +gold/testsuite/Makefile.in + Status: backport + Owner: ccoutant + Fix gold testsuite failures when using newer versions of GCC. + https://sourceware.org/ml/binutils-cvs/2015-03/msg00048.html + https://sourceware.org/ml/binutils-cvs/2015-03/msg00075.html + https://sourceware.org/ml/binutils-cvs/2015-03/msg00146.html + +gold/aarch.cc + Status: backport + Owner: jingyu + Fix virtual function signature to match the one in the parent class. + https://sourceware.org/ml/binutils/2015-04/msg00045.html + +gold/debug.h +gold/dwarf_reader.cc +gold/symtab.cc +gold/testsuite/debug_msg.sh + Status: backport + Owner: ccoutant + Improve ODR checking in gold, to tolerate slight differences in + line numbers between clang and gcc. + https://sourceware.org/ml/binutils-cvs/2015-04/msg00095.html + +gold/layout.cc +gold/target.h +gold/x86_64.cc + Status: local + Owner: tmsriram + With PIE links, check the size of the data segment and warn when it is + greater than a safe value (128MB for x86_64) to prevent the problem described + in go/unsafe-pie. + +gold/options.h +gold/symtab.cc +gold/symtab.h +gold/testsuite/Makefile.am +gold/testsuite/Makefile.in +gold/testsuite/weak_unresolved_symbols_test.cc + Status: backport + Owner: tmsriram + Backport upstream patch that adds option --warn-unresolved-symbols to gold + that treats unresolved symbol references as weak. Details here: + https://sourceware.org/ml/binutils/2015-04/msg00358.html + +gold/gold.cc +gold/options.h +gold/testsuite/Makefile.am +gold/testsuite/Makefile.in +gold/testsuite/disable_pie_unsafe_size_test.cc +gold/testsuite/disable_pie_unsafe_size_test.sh + Status: local + Owner: tmsriram + With PIE links, check the size of the data segment and disable PIE when it + is greater than a safe value (128MB for x86_64) to prevent the problem described + in go/unsafe-pie. Allow this to be overridden with + --no-disable-pie-when-unsafe-data-size + +gold/powerpc.cc + Status: backport + Owner: saugustine + Backport upstream patches that disable assertion when building powerpc symbol + tables. + https://sourceware.org/ml/binutils/2015-04/msg00428.html + https://sourceware.org/ml/binutils/2015-04/msg00429.html + +gold/symtab.cc +gold/testsuite/Makefile.am +gold/testsuite/tls_pie_test.sh + Status: backport + Owner: tmsriram + Backport upstream patch that allows gold to resolve defined TLS symbols in a + PIE link. + https://sourceware.org/ml/binutils-cvs/2015-04/msg00098.html diff --git a/binutils-2.25/bfd/.gitignore b/binutils-2.25/bfd/.gitignore new file mode 100644 index 0000000..3316133 --- /dev/null +++ b/binutils-2.25/bfd/.gitignore @@ -0,0 +1,40 @@ +/bfd-in3.h +/bfd.h +/bfd_stdint.h +/bfdver.h +/elf32-ia64.c +/elf32-target.h +/elf64-ia64.c +/elf64-target.h +/libtool-soversion +/ofiles +/peigen.c +/pepigen.c +/pex64igen.c +/stmp-bfd-h +/targmatch.h + +/doc/aoutx.texi +/doc/archive.texi +/doc/archures.texi +/doc/bfdio.texi +/doc/bfdt.texi +/doc/bfdver.texi +/doc/bfdwin.texi +/doc/cache.texi +/doc/chew +/doc/coffcode.texi +/doc/core.texi +/doc/elf.texi +/doc/elfcode.texi +/doc/format.texi +/doc/hash.texi +/doc/init.texi +/doc/libbfd.texi +/doc/linker.texi +/doc/mmo.texi +/doc/opncls.texi +/doc/reloc.texi +/doc/section.texi +/doc/syms.texi +/doc/targets.texi diff --git a/binutils-2.25/bfd/ChangeLog b/binutils-2.25/bfd/ChangeLog index c66bb1a..f124354 100644 --- a/binutils-2.25/bfd/ChangeLog +++ b/binutils-2.25/bfd/ChangeLog @@ -1,51 +1,185 @@ +2014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com> + + * elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new + Tag_ABI_VFP_args value and replace hardcoded values by enum values. + (elf32_arm_post_process_headers): Set e_flags in ELF header as hard + float only when Tag_ABI_VFP_args is 1, using new enum value + AEABI_VFP_args_vfp to check that. + 2015-07-23 Joseph Myers <joseph@codesourcery.com> * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections) <DT_MIPS_RLD_MAP_REL>: Add target address to host address difference, not to host pointer. - 2015-02-24 Nick Clifton <nickc@redhat.com> +2015-04-01 Tejas Belagod <tejas.belagod@arm.com> + Marcus Shawcroft <marcus.shawcroft@arm.com> + Jiong Wang <jiong.wang@arm.com> - * configure.ac (AC_CHECK_HEADERS): Add wctype.h. - * configure: Regenerate. - * config.in: Regenerate. - * peXXigen.c: Include wctype.h if HAVE_WCTYPE_H is defined. - (u16_mbtowc): Use wint_t types if HAVE_WCTYPE_H is defined. - (rsrc_cmp): Use towlower instead of wcsncasecmp if HAVE_WCTYPE_H - is defined. + * bfd-in.h (bfd_elf64_aarch64_set_options) + (bfd_elf32_aarch64_set_options): Add parameter. + * bfd-in2.h: Regenerated. + * elfnn-aarch64.c (aarch64_erratum_843419_stub) + (_bfd_aarch64_adrp_p, _bfd_aarch64_erratum_843419_sequence_p) + (_bfd_aarch64_erratum_843419_stub_name) + (_bfd_aarch64_erratum_843419_fixup) + (_bfd_aarch64_erratum_843419_scan) + (_bfd_aarch64_erratum_843419_branch_to_stub) + (_bfd_aarch64_erratum_843419_p): Define. + (enum elf_aarch64_stub_type): Define + aarch64_stub_erratum_843419_veneer. + (struct elf_aarch64_stub_hash_entry): Define adrp_offset. + (struct elf_aarch64_link_hash_table): Define fix_erratum_843419 + and fix_erratum_843419_adr. + (stub_hash_newfunc): Initialize adrp_offset; + (_bfd_aarch64_add_stub_entry_after): Define. + (aarch64_map_one_stub, aarch64_build_one_stub) + (aarch64_size_one_stub): Handle + aarch64_stub_erratum_843419_veneer. + (_bfd_aarch64_resize_stubs): Round stub section size. + (elfNN_aarch64_size_stubs): Add scan for 843419. + (bfd_elfNN_aarch64_set_options): Add parameter. Initialize + fix_erratum_843419 and fix_erratum_843419_adr. + (struct erratum_835769_branch_to_stub_data): Add info. + (elfNN_aarch64_write_section): Initialise info. Handle 843419. + (elfNN_aarch64_size_dynamic_sections): Handle 843419. + * elfxx-aarch64.c (_bfd_aarch64_decode_adrp_imm) + (_bfd_aarch64_sign_extend): Define. + (reencode_adr_imm): Remove static. Rename to: + (_bfd_aarch64_reencode_adr_imm): Define. + (_bfd_aarch64_elf_put_addend): Call _bfd_aarch64_reencode_adr_imm. + * elfxx-aarch64.h (AARCH64_ADR_OP, AARCH64_ADRP_OP) + (AARCH64_ADRP_OP_MASK, _bfd_aarch64_sign_extend) + (_bfd_aarch64_decode_adrp_imm, _bfd_aarch64_reencode_adr_imm): + Define. + +2015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Adjust stub section + size for initial branch. + (elfNN_aarch64_build_stubs): Write initial branch. + _bfd_aarch64_decode_(elfNN_aarch64_output_arch_local_syms): Write + mapping symbol on initial branch. + +2015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_scan): + Update erratum count. + +2015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor + code into: + (_bfd_aarch64_get_stub_for_link_section): Define. + +2015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Adjust + update of section_group[].stub_sec. + +2015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * elfnn-aarch64.c (struct aarch64_erratum_835769_fix) Remove. + (erratum_835769_scan) Drop fix_table_size_p and fixes_p arguments. + Delete fixes, fix_table_size and associated code. Call + _bfd_aarch64_add_stub_entry_in_group. Rename to... + (bfd_aarch64_erratum_835769_scan): Define. + (elfNN_aarch64_size_stubs): Delete erratum_835769_fixes, + erratum_835769_fix_table_size, i and associated code. Relocate + call to _bfd_aarch64_erratum_835769_scan. Delete adhoc stub size + correction. Delete construction of stub entry from + erratum_835769_fixes array. + +2015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Use + _bfd_aarch64_add_stub_entry_in_group. + +2015-03-23 Keith Seitz <keiths@redhat.com> + + * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Add + missing ';'. + +2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Factor out + stub resize code into... + (bfd_aarch64_resize_stubs): Define. + +2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Factor stub + creation code into... + (bfd_aarch64_create_stub_section): Define. + +2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Rename + from elf_aarch64_create_or_find_stub_sec. + (_bfd_aarch64_add_stub_entry_in_group): Rename from + elfNN_aarch64_add_stub. Call + _bfd_aarch64_create_or_find_stub_sec. + (elfNN_aarch64_size_stubs, elfNN_aarch64_size_stubs): Call + _bfd_aarch64_add_stub_entry_in_group. + +2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * elfnn-aarch64.c (erratum_835769_scan) Add comment. Reverse + sense of boolean return. + (elfNN_aarch64_size_stubs): Adjust for above. + +2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * elfnn-aarch64.c (elf_aarch64_create_or_find_stub_sec): + Remove unused parameter. + (elfNN_aarch64_size_stubs): Adjust for above. + +2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com> -2014-11-18 Igor Zamyatin <igor.zamyatin@intel.com> + * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Remove bfd_indx. - * elf64-x86-64.c (elf_x86_64_check_relocs): Enable MPX PLT only - for -z bndplt. +2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com> -2014-11-17 Nick Clifton <nickc@redhat.com> + * elfnn-aarch64.c (aarch64_erratum_835769_fixes) + (num_aarch64_erratum_835769_fixes): Remove. + (elfNN_aarch64_size_stubs): Remove assignments to above. - Apply trunk patches: +2015-03-04 Marcus Shawcroft <marcus.shawcroft@arm.com> - 2014-11-14 Nick Clifton <nickc@redhat.com> + * elfxx-aarch64.c (decode_add_imm, decode_movw_imm) + (decode_tst_branch_ofs_14, decode_ld_lit_ofs_19) + (decode_cond_branch_ofs_19, decode_branch_ofs_26): Remove. + +2014-11-14 Nick Clifton <nickc@redhat.com> PR binutils/17597 * opncls.c (bfd_get_debug_link_info): Avoid reading off the end of the section. (bfd_get_alt_debug_link_info): Likewise. - 2014-11-14 Nick Clifton <nickc@redhat.com> +2014-11-14 Nick Clifton <nickc@redhat.com> PR binutils/17512 * ieee.c (ieee_archive_p) Skip processing if no bytes are read at all. (ieee_object_p): Likewise. - 2014-11-13 H.J. Lu <hongjiu.lu@intel.com> +2014-11-13 H.J. Lu <hongjiu.lu@intel.com> * coffcode.h (coff_slurp_line_table): Add cast to unsigned int. - 2014-11-13 H.J. Lu <hongjiu.lu@intel.com> +2014-11-13 H.J. Lu <hongjiu.lu@intel.com> * coffcode.h (coff_pointerize_aux_hook): Fix a typo. - 2014-11-13 Nick Clifton <nickc@redhat.com> +2014-11-13 H.J. Lu <hongjiu.lu@intel.com> + + PR gas/17598 + * elf64-x86-64.c (elf_x86_64_check_relocs): Treat + R_X86_64_GOTPLT64 the same as R_X86_64_GOT64. + (elf_x86_64_relocate_section): Likewise. + +2014-11-13 Nick Clifton <nickc@redhat.com> PR binutils/17512 * coffcode.h (coff_ptr_struct): Add is_sym field. @@ -79,7 +213,7 @@ * libcoff.h: Regenerate. * libcoff-in.h: Regenerate. - 2014-11-12 Nick Clifton <nickc@redhat.com> +2014-11-12 Nick Clifton <nickc@redhat.com> PR binutils/17512 * coffcode.h (coff_slurp_line_table): Set the line number of @@ -92,13 +226,13 @@ * peXXigen.c (pe_print_idata): Add range checking displaying member names. - 2014-11-12 Alan Modra <amodra@gmail.com> +2014-11-12 Alan Modra <amodra@gmail.com> PR binutils/17512 * coffcode.h (coff_slurp_line_table): Drop line number info not preceded by a valid function entry. Revert last change. - 2014-11-11 Nick Clifton <nickc@redhat.com> +2014-11-11 Nick Clifton <nickc@redhat.com> PR binutils/17512 * coffcode.h (coff_slurp_line_table): Initialise the parts of the @@ -117,13 +251,13 @@ structure are initialised. (pe_print_edata): Avoid reading off the end of the data buffer. - 2014-11-11 Alan Modra <amodra@gmail.com> +2014-11-11 Alan Modra <amodra@gmail.com> PR binutils/17512 * coffcode.h (coff_slurp_line_table): Use updated lineno_count when building func_table. - 2014-11-11 Alan Modra <amodra@gmail.com> +2014-11-11 Alan Modra <amodra@gmail.com> PR binutils/17512 * coffcode.h (coff_slurp_line_table): Don't bfd_zalloc, just @@ -135,7 +269,17 @@ copied, and free n_lineno_cache. * pe-mips.c (NUM_HOWTOS): Typo fix. - 2014-11-10 Nick Clifton <nickc@redhat.com> +2014-11-11 Alan Modra <amodra@gmail.com> + + * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust section + size check to account for possible zero terminator. + +2014-11-10 James Cowgill <James.Cowgill@imgtec.com> + + * elfxx-mips.c (_bfd_mips_elf_section_processing): don't force small + data sections to be PROGBITS + +2014-11-10 Nick Clifton <nickc@redhat.com> PR binutils/17521 * coff-i386.c (NUM_HOWTOS): New define. @@ -172,20 +316,26 @@ (pe_bfd_object_p): Allocate and initialize enough space to hold a PEAOUTHDR, even if the opt_hdr field specified less. - 2014-11-08 Alan Modra <amodra@gmail.com> +2014-11-08 Alan Modra <amodra@gmail.com> * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead. - 2014-11-07 H.J. Lu <hongjiu.lu@intel.com> +2014-11-07 H.J. Lu <hongjiu.lu@intel.com> * peXXigen.c (pe_print_idata): Cast to unsigned long in range checks. - 2014-11-07 Alan Modra <amodra@gmail.com> +2014-11-07 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/17482 + * elf64-x86-64.c (elf_x86_64_relocate_section): Update comments + for IE->LE transition. + +2014-11-07 Alan Modra <amodra@gmail.com> * tekhex.c (tekhex_set_arch_mach): Ignore unknown arch errors. - 2014-11-07 Alan Modra <amodra@gmail.com> +2014-11-07 Alan Modra <amodra@gmail.com> * tekhex.c (CHUNK_SPAN): Define. (struct data_struct <chunk_init>): Use one byte per span, update @@ -201,11 +351,11 @@ (tekhex_set_section_contents): Don't create initial chunks. (tekhex_write_object_contents): Use CHUNK_SPAN. - 2014-11-07 Alan Modra <amodra@gmail.com> +2014-11-07 Alan Modra <amodra@gmail.com> * aoutx.h (aout_get_external_symbols): Tidy allocation of symbol buffer. - 2014-11-07 Alan Modra <amodra@gmail.com> +2014-11-07 Alan Modra <amodra@gmail.com> * archive.c (_bfd_slurp_extended_name_table): Revert bfd_get_size check. * coffcode.h (coff_set_alignment_hook): Likewise. @@ -215,7 +365,7 @@ * elf.c (bfd_elf_get_str_section): Likewise. * tekhex.c (first_phase): Likewise. - 2014-11-06 Nick Clifton <nickc@redhat.com> +2014-11-06 Nick Clifton <nickc@redhat.com> * aoutx.h (slurp_symbol_table): Revert previous delta. (slurp_reloc_table): Likewise. @@ -224,7 +374,12 @@ * coffgen.c (coff_get_normalized_symtab): Allow zero-sized symtabs and do not complain about linker generated files. - 2014-11-04 Nick Clifton <nickc@redhat.com> +2014-11-06 Will Newton <will.newton@linaro.org> + + * elf-attrs.c (_bfd_elf_parse_attributes): Handle zero + length sections and sub-sections. + +2014-11-04 Nick Clifton <nickc@redhat.com> PR binutils/17512 * coffcode.h (handle_COMDAT): Replace abort with BFD_ASSERT. @@ -232,7 +387,17 @@ (coff_slurp_line_table): Add more range checking. * peXXigen.c (pe_print_debugdata): Add range checking. - 2014-11-05 Nick Clifton <nickc@redhat.com> +2014-11-05 James Cowgill <james.cowgill@imgtec.com> + + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Fix segfault + when creating a dso with discarded dynsym section. + +2014-11-05 Matthew Fortune <matthew.fortune@imgtec.com> + + * elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6 + and E_MIPS_ARCH_64R6 support. + +2014-11-05 Nick Clifton <nickc@redhat.com> PR binutils/17512 * coffcode.h (coff_set_alignment_hook): Warn if the file lies @@ -250,7 +415,7 @@ (rsrc_count_entries): Add range checking. (rsrc_parse_entry): Likewise. - 2014-11-04 Nick Clifton <nickc@redhat.com> +2014-11-04 Nick Clifton <nickc@redhat.com> PR binutils/17512 * compress.c (bfd_get_full_section_contents): Improve test for @@ -260,7 +425,23 @@ * archive.c (_bfd_slurp_extended_name_table): Handle archives with corrupt extended name tables. - 2014-11-03 Nick Clifton <nickc@redhat.com> +2014-11-04 Alan Modra <amodra@gmail.com> + + * elf32-spu.c (ovl_mgr_stat): New function. + (spu_elf_open_builtin_lib): Pass to bfd_openr_iovec. + +2014-11-03 Andrew Burgess <andrew.burgess@embecosm.com> + + * elf32-avr.c (elf32_avr_relax_delete_bytes): During linker + relaxation, reduce the size of symbols that span the deleted + bytes. + +2014-11-03 Andrew Burgess <andrew.burgess@embecosm.com> + + * elf32-avr.c (elf32_avr_relax_delete_bytes): Modify symbols + located at the very end of the section. + +2014-11-03 Nick Clifton <nickc@redhat.com> PR binutils/17512 * aoutx.h (slurp_symbol_table): Check that computed table size is @@ -292,7 +473,26 @@ * xcofflink.c (xcoff_link_input_bfd): Check offset against length of string table. - 2014-10-31 Nick Clifton <nickc@redhat.com> +2014-11-03 Nick Clifton <nickc@redhat.com> + + * po/fi.po: Updated Finnish translation. + +2014-10-31 Andrew Pinski <apinski@cavium.com> + Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> + + * archures.c: Add octeon3 for mips target. + * bfd-in2.h: Regenerate. + * bfd/cpu-mips.c: Define I_mipsocteon3. + nfo_struct): Add octeon3 support. + * bfd/elfxx-mips.c: (_bfd_elf_mips_mach): Add support for + octeon3. + (mips_set_isa_flags): Add support for octeon3. + (bfd_mips_isa_ext): Add bfd_mach_mips_octeon3. + (mips_mach_extensions): Make bfd_mach_mips_octeon3 an + extension of bfd_mach_mips_octeon2. + (print_mips_isa_ext): Print the value of Octeon3. + +2014-10-31 Nick Clifton <nickc@redhat.com> PR binutils/17512 * coffgen.c (_bfd_coff_get_external_symbols): Do not try to load a @@ -301,78 +501,39 @@ table bigger than the file. * tekhex.c (first_phase): Check that the section range is sane. -2014-11-11 Alan Modra <amodra@gmail.com> - - * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust section - size check to account for possible zero terminator. - -2014-11-10 Matthew Fortune <matthew.fortune@imgtec.com> - - Apply trunk patch: - * elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6 - and E_MIPS_ARCH_64R6 support. - -2014-11-07 H.J. Lu <hongjiu.lu@intel.com> - - Apply trunk patch: - 2014-11-07 H.J. Lu <hongjiu.lu@intel.com> - - PR ld/17482 - * elf64-x86-64.c (elf_x86_64_relocate_section): Update comments - for IE->LE transition. - -2014-11-04 Tristan Gingold <gingold@adacore.com> - - * development.sh: Set development to false. - -2014-11-03 Nick Clifton <nickc@redhat.com> - - * po/fi.po: Updated Finnish translation. - -2014-10-31 Nick Clifton <nickc@redhat.com> - - Apply trunk patch: +2014-10-30 Nick Clifton <nickc@redhat.com> - 2014-10-30 Nick Clifton <nickc@redhat.com> PR binutils/17512 * ihex.c (ihex_scan): Fix typo in invocation of ihex_bad_byte. * coffgen.c (coff_get_normalized_symtab): Prevent buffer overrun. -2014-10-30 Nick Clifton <nickc@redhat.com> - - Appy trunk patch: +2014-10-29 Nick Clifton <nickc@redhat.com> - 2014-10-29 Nick Clifton <nickc@redhat.com> * elf.c (bfd_section_from_shdr): Fix heap use after free memory leak. -2014-10-28 Matthew Fortune <matthew.fortune@imgtec.com> - - Apply trunk patches: +2014-10-29 Dennis Brueni <dbrueni@slickedit.com> - 2014-10-22 Matthew Fortune <matthew.fortune@imgtec.com> - * elfxx-mips.c (print_mips_ases): Print unknown ASEs. - (print_mips_isa_ext): Print the value of an unknown extension. + * elf.c (elfcore_write_lwpstatus): Fix typo in call to memcpy. 2014-10-28 Nick Clifton <nickc@redhat.com> - Apply trunk patches: - - 2014-10-28 Nick Clifton <nickc@redhat.com> PR binutils/17512 * elf.c (bfd_section_from_shdr): Allocate and free the recursion detection table on a per-bfd basis. * peXXigen.c (pe_print_edata): Handle binaries with a truncated export table. - 2014-10-28 Andreas Schwab <schwab@suse.de> - Nick Clifton <nickc@redhat.com> +2014-10-28 Andreas Schwab <schwab@suse.de> + Nick Clifton <nickc@redhat.com> + PR binutils/17510 * srec.c (srec_bad_byte): Increase size of buf to allow for negative values. (srec_scan): Use an unsigned char buffer to hold header bytes. - 2014-10-27 Nick Clifton <nickc@redhat.com> +2014-10-27 Nick Clifton <nickc@redhat.com> + PR binutils/17512 * elf.c (bfd_section_from_shdr): Detect and warn about ELF binaries with a group of sections linked by the string table @@ -386,26 +547,68 @@ * elf.c (setup_group): Improve handling of corrupt group sections. -2014-10-28 Alan Modra <amodra@gmail.com> +2014-10-24 Tejas Belagod <tejas.belagod@arm.com> + + * bfd-in.h (bfd_elf64_aarch64_set_options): Add a parameter. + * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise. + * elfnn-aarch64.c (aarch64_erratum_835769_stub): New. + (elf_aarch64_stub_type): Add new type + aarch64_stub_erratum_835769_veneer. + (elf_aarch64_stub_hash_entry): New fields for erratum 835769. + (aarch64_erratum_835769_fix): New data struct to record erratum + 835769. + (elf_aarch64_link_hash_table: Global flags for 835769. + (aarch64_build_one_stub): Add case for 835769. + (aarch64_size_one_stub): Likewise. + (aarch64_mem_op_p, aarch64_mlxl_p, + aarch64_erratum_sequence,erratum_835769_scan): + New. Decode and scan functions for erratum 835769. + (elf_aarch64_create_or_find_stub_sec): New. + (elfNN_aarch64_size_stubs): Look for erratum 835769 and record + them. + (bfd_elfNN_aarch64_set_options: Set global flag for 835769. + (erratum_835769_branch_to_stub_data, + make_branch_to_erratum_835769_stub):New. Connect up all the + erratum stubs to occurances by branches. + (elfNN_aarch64_write_section): New hook. + (aarch64_map_one_stub): Output erratum stub symbol. + (elfNN_aarch64_size_dynamic_sections): Init mapping symbol + information for erratum 835769. + (elf_backend_write_section): Define. + +2014-10-23 Victor Kamensky <victor.kamensky@linaro.org> + + * elf32-arm.c (read_code32): New function to read 32 bit + arm instruction. + (read_code16): New function to read 16 bit thumb instrution. + (elf32_arm_plt0_size, elf32_arm_plt_size): Use read_code32 + and read_code16 to read instructions. + +2014-10-22 Matthew Fortune <matthew.fortune@imgtec.com> - Apply trunk patches: + * elfxx-mips.c (print_mips_ases): Print unknown ASEs. + (print_mips_isa_ext): Print the value of an unknown extension. + +2014-10-21 Alan Modra <amodra@gmail.com> - 2014-10-21 Alan Modra <amodra@gmail.com> * elf64-ppc.c (ppc64_elf_tls_optimize): Ignore relocs against toc entries that aren't a multiple of 8 rather than failing assertion. - 2014-10-21 Alan Modra <amodra@gmail.com> +2014-10-21 Alan Modra <amodra@gmail.com> + * elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions to thread_starter. - 2014-10-18 Alan Modra <amodra@gmail.com> +2014-10-18 Alan Modra <amodra@gmail.com> + * elf64-ppc.c (ppc64_elf_add_symbol_hook): If function code section for function symbols defined in .opd is discarded, let the symbol appear to be undefined. (opd_entry_value): Ensure the result section is that for the function code section in the same object as the OPD entry. - 2014-10-16 Alan Modra <amodra@gmail.com> +2014-10-16 Alan Modra <amodra@gmail.com> + PR 17492 * elf32-arm.c (elf32_arm_add_symbol_hook): Only set has_gnu_symbols on ELF output bfd. @@ -420,12 +623,14 @@ * elf-s390-common.c (elf_s390_add_symbol_hook): Likewise. Handle STB_GNU_UNIQUE too. - 2014-10-16 Alan Modra <amodra@gmail.com> +2014-10-16 Alan Modra <amodra@gmail.com> + * elf64-ppc.c (ppc64_elf_before_check_relocs): Do .opd processing even when output is not ppc64 ELF. Remove redundant tests on type of input bfd. - 2014-10-15 Alan Modra <amodra@gmail.com> +2014-10-15 Alan Modra <amodra@gmail.com> + PR 17481 * aoutx.h (NAME (aout, find_nearest_line)): Add "discriminator_ptr" param, group "section" and "offset" params. Zero discriminator. @@ -502,7 +707,8 @@ * libbfd.h: Regenerate. * libcoff.h: Regenerate. - 2014-10-15 Alan Modra <amodra@gmail.com> +2014-10-15 Alan Modra <amodra@gmail.com> + * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use NAME##_find_line. * aout-adobe.c (aout_32_find_line): Define. (aout_32_bfd_make_debug_symbol, aout_32_bfd_reloc_type_lookup, @@ -546,39 +752,16 @@ * libbfd.h: Regenerate. * libcoff.h: Regenerate. -2014-10-24 Tejas Belagod <tejas.belagod@arm.com> +2014-10-15 Tristan Gingold <gingold@adacore.com> - * bfd-in.h (bfd_elf64_aarch64_set_options): Add a parameter. - * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise. - * elfnn-aarch64.c (aarch64_erratum_835769_stub): New. - (elf_aarch64_stub_type): Add new type - aarch64_stub_erratum_835769_veneer. - (elf_aarch64_stub_hash_entry): New fields for erratum 835769. - (aarch64_erratum_835769_fix): New data struct to record erratum - 835769. - (elf_aarch64_link_hash_table: Global flags for 835769. - (aarch64_build_one_stub): Add case for 835769. - (aarch64_size_one_stub): Likewise. - (aarch64_mem_op_p, aarch64_mlxl_p, - aarch64_erratum_sequence,erratum_835769_scan): - New. Decode and scan functions for erratum 835769. - (elf_aarch64_create_or_find_stub_sec): New. - (elfNN_aarch64_size_stubs): Look for erratum 835769 and record - them. - (bfd_elfNN_aarch64_set_options: Set global flag for 835769. - (erratum_835769_branch_to_stub_data, - make_branch_to_erratum_835769_stub):New. Connect up all the - erratum stubs to occurances by branches. - (elfNN_aarch64_write_section): New hook. - (aarch64_map_one_stub): Output erratum stub symbol. - (elfNN_aarch64_size_dynamic_sections): Init mapping symbol - information for erratum 835769. - (elf_backend_write_section): Define. + * version.m4: Bump version to 2.25.51 + * configure: Regenerate. -2014-10-14 Tristan Gingold <gingold@adacore.com> +2014-10-14 H.J. Lu <hongjiu.lu@intel.com> - * version.m4: Bump version to 2.24.90 - * configure: Regenerate. + * elf32-i386.c (elf_i386_convert_mov_to_lea): Skip if relocation + offset is less than 2. + * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise. 2014-10-14 Alan Modra <amodra@gmail.com> diff --git a/binutils-2.25/bfd/Makefile.in b/binutils-2.25/bfd/Makefile.in index 2c385d5..5ee1650 100644 --- a/binutils-2.25/bfd/Makefile.in +++ b/binutils-2.25/bfd/Makefile.in @@ -16,7 +16,7 @@ @SET_MAKE@ # -# Copyright (C) 2012-2014 Free Software Foundation, Inc. +# Copyright (C) 2012-2015 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/bfd/archures.c b/binutils-2.25/bfd/archures.c index c9fd6c8..5e069b2 100644 --- a/binutils-2.25/bfd/archures.c +++ b/binutils-2.25/bfd/archures.c @@ -179,6 +179,7 @@ DESCRIPTION .#define bfd_mach_mips_octeon 6501 .#define bfd_mach_mips_octeonp 6601 .#define bfd_mach_mips_octeon2 6502 +.#define bfd_mach_mips_octeon3 6503 .#define bfd_mach_mips_xlr 887682 {* decimal 'XLR' *} .#define bfd_mach_mipsisa32 32 .#define bfd_mach_mipsisa32r2 33 diff --git a/binutils-2.25/bfd/bfd-in2.h b/binutils-2.25/bfd/bfd-in2.h index 5f7879f..97f0142 100644 --- a/binutils-2.25/bfd/bfd-in2.h +++ b/binutils-2.25/bfd/bfd-in2.h @@ -1966,6 +1966,7 @@ enum bfd_architecture #define bfd_mach_mips_octeon 6501 #define bfd_mach_mips_octeonp 6601 #define bfd_mach_mips_octeon2 6502 +#define bfd_mach_mips_octeon3 6503 #define bfd_mach_mips_xlr 887682 /* decimal 'XLR' */ #define bfd_mach_mipsisa32 32 #define bfd_mach_mipsisa32r2 33 diff --git a/binutils-2.25/bfd/configure b/binutils-2.25/bfd/configure index ea5d50d..b70a6d0 100755 --- a/binutils-2.25/bfd/configure +++ b/binutils-2.25/bfd/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for bfd 2.24.90. +# Generated by GNU Autoconf 2.64 for bfd 2.25.51. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software @@ -556,8 +556,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='bfd' PACKAGE_TARNAME='bfd' -PACKAGE_VERSION='2.24.90' -PACKAGE_STRING='bfd 2.24.90' +PACKAGE_VERSION='2.25.51' +PACKAGE_STRING='bfd 2.25.51' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1349,7 +1349,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures bfd 2.24.90 to adapt to many kinds of systems. +\`configure' configures bfd 2.25.51 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1420,7 +1420,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of bfd 2.24.90:";; + short | recursive ) echo "Configuration of bfd 2.25.51:";; esac cat <<\_ACEOF @@ -1541,7 +1541,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -bfd configure 2.24.90 +bfd configure 2.25.51 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2183,7 +2183,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by bfd $as_me 2.24.90, which was +It was created by bfd $as_me 2.25.51, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -3991,7 +3991,7 @@ fi # Define the identity of the package. PACKAGE='bfd' - VERSION='2.24.90' + VERSION='2.25.51' cat >>confdefs.h <<_ACEOF @@ -16567,7 +16567,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by bfd $as_me 2.24.90, which was +This file was extended by bfd $as_me 2.25.51, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16631,7 +16631,7 @@ Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -bfd config.status 2.24.90 +bfd config.status 2.25.51 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/binutils-2.25/bfd/cpu-mips.c b/binutils-2.25/bfd/cpu-mips.c index b617aaa..a376944 100644 --- a/binutils-2.25/bfd/cpu-mips.c +++ b/binutils-2.25/bfd/cpu-mips.c @@ -102,6 +102,7 @@ enum I_mipsocteon, I_mipsocteonp, I_mipsocteon2, + I_mipsocteon3, I_xlr, I_micromips }; @@ -152,6 +153,7 @@ static const bfd_arch_info_type arch_info_struct[] = N (64, 64, bfd_mach_mips_octeon,"mips:octeon", FALSE, NN(I_mipsocteon)), N (64, 64, bfd_mach_mips_octeonp,"mips:octeon+", FALSE, NN(I_mipsocteonp)), N (64, 64, bfd_mach_mips_octeon2,"mips:octeon2", FALSE, NN(I_mipsocteon2)), + N (64, 64, bfd_mach_mips_octeon3, "mips:octeon3", FALSE, NN(I_mipsocteon3)), N (64, 64, bfd_mach_mips_xlr, "mips:xlr", FALSE, NN(I_xlr)), N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,0) }; diff --git a/binutils-2.25/bfd/development.sh b/binutils-2.25/bfd/development.sh index 416ec8c..4c0f5b9 100644 --- a/binutils-2.25/bfd/development.sh +++ b/binutils-2.25/bfd/development.sh @@ -16,4 +16,4 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # Controls whether to enable development-mode features by default. -development=false +development=true diff --git a/binutils-2.25/bfd/doc/Makefile.in b/binutils-2.25/bfd/doc/Makefile.in index 65ad42d..3be6a5e 100644 --- a/binutils-2.25/bfd/doc/Makefile.in +++ b/binutils-2.25/bfd/doc/Makefile.in @@ -16,7 +16,7 @@ @SET_MAKE@ # -# Copyright (C) 2012-2014 Free Software Foundation, Inc. +# Copyright (C) 2012-2015 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/bfd/elf-attrs.c b/binutils-2.25/bfd/elf-attrs.c index e74176f..14420f2 100644 --- a/binutils-2.25/bfd/elf-attrs.c +++ b/binutils-2.25/bfd/elf-attrs.c @@ -455,6 +455,8 @@ _bfd_elf_parse_attributes (bfd *abfd, Elf_Internal_Shdr * hdr) section_len = bfd_get_32 (abfd, p); p += 4; + if (section_len == 0) + break; if (section_len > len) section_len = len; len -= section_len; @@ -487,6 +489,8 @@ _bfd_elf_parse_attributes (bfd *abfd, Elf_Internal_Shdr * hdr) p += n; subsection_len = bfd_get_32 (abfd, p); p += 4; + if (subsection_len == 0) + break; if (subsection_len > section_len) subsection_len = section_len; section_len -= subsection_len; diff --git a/binutils-2.25/bfd/elf32-arm.c b/binutils-2.25/bfd/elf32-arm.c index c507e4f..bbda298 100644 --- a/binutils-2.25/bfd/elf32-arm.c +++ b/binutils-2.25/bfd/elf32-arm.c @@ -11746,10 +11746,14 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd) /* This needs to happen before Tag_ABI_FP_number_model is merged. */ if (in_attr[Tag_ABI_VFP_args].i != out_attr[Tag_ABI_VFP_args].i) { - /* Ignore mismatches if the object doesn't use floating point. */ - if (out_attr[Tag_ABI_FP_number_model].i == 0) + /* Ignore mismatches if the object doesn't use floating point or is + floating point ABI independent. */ + if (out_attr[Tag_ABI_FP_number_model].i == AEABI_FP_number_model_none + || (in_attr[Tag_ABI_FP_number_model].i != AEABI_FP_number_model_none + && out_attr[Tag_ABI_VFP_args].i == AEABI_VFP_args_compatible)) out_attr[Tag_ABI_VFP_args].i = in_attr[Tag_ABI_VFP_args].i; - else if (in_attr[Tag_ABI_FP_number_model].i != 0) + else if (in_attr[Tag_ABI_FP_number_model].i != AEABI_FP_number_model_none + && in_attr[Tag_ABI_VFP_args].i != AEABI_VFP_args_compatible) { _bfd_error_handler (_("error: %B uses VFP register arguments, %B does not"), @@ -14713,7 +14717,7 @@ elf32_arm_post_process_headers (bfd * abfd, struct bfd_link_info * link_info ATT && ((i_ehdrp->e_type == ET_DYN) || (i_ehdrp->e_type == ET_EXEC))) { int abi = bfd_elf_get_obj_attr_int (abfd, OBJ_ATTR_PROC, Tag_ABI_VFP_args); - if (abi) + if (abi == AEABI_VFP_args_vfp) i_ehdrp->e_flags |= EF_ARM_ABI_FLOAT_HARD; else i_ehdrp->e_flags |= EF_ARM_ABI_FLOAT_SOFT; @@ -15958,6 +15962,26 @@ const struct elf_size_info elf32_arm_size_info = bfd_elf32_swap_reloca_out }; +static bfd_vma +read_code32 (const bfd *abfd, const bfd_byte *addr) +{ + /* V7 BE8 code is always little endian. */ + if ((elf_elfheader (abfd)->e_flags & EF_ARM_BE8) != 0) + return bfd_getl32 (addr); + + return bfd_get_32 (abfd, addr); +} + +static bfd_vma +read_code16 (const bfd *abfd, const bfd_byte *addr) +{ + /* V7 BE8 code is always little endian. */ + if ((elf_elfheader (abfd)->e_flags & EF_ARM_BE8) != 0) + return bfd_getl16 (addr); + + return bfd_get_16 (abfd, addr); +} + /* Return size of plt0 entry starting at ADDR or (bfd_vma) -1 if size can not be determined. */ @@ -15967,7 +15991,7 @@ elf32_arm_plt0_size (const bfd *abfd, const bfd_byte *addr) bfd_vma first_word; bfd_vma plt0_size; - first_word = H_GET_32 (abfd, addr); + first_word = read_code32 (abfd, addr); if (first_word == elf32_arm_plt0_entry[0]) plt0_size = 4 * ARRAY_SIZE (elf32_arm_plt0_entry); @@ -15992,17 +16016,17 @@ elf32_arm_plt_size (const bfd *abfd, const bfd_byte *start, bfd_vma offset) const bfd_byte *addr = start + offset; /* PLT entry size if fixed on Thumb-only platforms. */ - if (H_GET_32(abfd, start) == elf32_thumb2_plt0_entry[0]) + if (read_code32 (abfd, start) == elf32_thumb2_plt0_entry[0]) return 4 * ARRAY_SIZE (elf32_thumb2_plt_entry); /* Respect Thumb stub if necessary. */ - if (H_GET_16(abfd, addr) == elf32_arm_plt_thumb_stub[0]) + if (read_code16 (abfd, addr) == elf32_arm_plt_thumb_stub[0]) { plt_size += 2 * ARRAY_SIZE(elf32_arm_plt_thumb_stub); } /* Strip immediate from first add. */ - first_insn = H_GET_32(abfd, addr + plt_size) & 0xffffff00; + first_insn = read_code32 (abfd, addr + plt_size) & 0xffffff00; #ifdef FOUR_WORD_PLT if (first_insn == elf32_arm_plt_entry[0]) @@ -16219,6 +16243,7 @@ elf32_arm_get_synthetic_symtab (bfd *abfd, becaus elf32_arm_plt_entry isn't defined when FOUR_WORD_PLT isn't defined where elf32_arm_plt_entry_short and elf32_arm_plt_entry_long are defined instead. */ + #undef elf_backend_plt_sym_val #define elf_backend_plt_sym_val elf32_arm_plt_sym_val diff --git a/binutils-2.25/bfd/elf32-avr.c b/binutils-2.25/bfd/elf32-avr.c index 54d67bf..5aa3cf6 100644 --- a/binutils-2.25/bfd/elf32-avr.c +++ b/binutils-2.25/bfd/elf32-avr.c @@ -1881,10 +1881,22 @@ elf32_avr_relax_delete_bytes (bfd *abfd, isymend = isym + symtab_hdr->sh_info; for (; isym < isymend; isym++) { - if (isym->st_shndx == sec_shndx - && isym->st_value > addr - && isym->st_value < toaddr) - isym->st_value -= count; + if (isym->st_shndx == sec_shndx) + { + if (isym->st_value > addr + && isym->st_value <= toaddr) + isym->st_value -= count; + + if (isym->st_value <= addr + && isym->st_value + isym->st_size > addr) + { + /* If this assert fires then we have a symbol that ends + part way through an instruction. Does that make + sense? */ + BFD_ASSERT (isym->st_value + isym->st_size >= addr + count); + isym->st_size -= count; + } + } } } @@ -1898,11 +1910,22 @@ elf32_avr_relax_delete_bytes (bfd *abfd, struct elf_link_hash_entry *sym_hash = *sym_hashes; if ((sym_hash->root.type == bfd_link_hash_defined || sym_hash->root.type == bfd_link_hash_defweak) - && sym_hash->root.u.def.section == sec - && sym_hash->root.u.def.value > addr - && sym_hash->root.u.def.value < toaddr) + && sym_hash->root.u.def.section == sec) { - sym_hash->root.u.def.value -= count; + if (sym_hash->root.u.def.value > addr + && sym_hash->root.u.def.value <= toaddr) + sym_hash->root.u.def.value -= count; + + if (sym_hash->root.u.def.value <= addr + && (sym_hash->root.u.def.value + sym_hash->size > addr)) + { + /* If this assert fires then we have a symbol that ends + part way through an instruction. Does that make + sense? */ + BFD_ASSERT (sym_hash->root.u.def.value + sym_hash->size + >= addr + count); + sym_hash->size -= count; + } } } diff --git a/binutils-2.25/bfd/elf32-i386.c b/binutils-2.25/bfd/elf32-i386.c index ad8b557..64cdece 100644 --- a/binutils-2.25/bfd/elf32-i386.c +++ b/binutils-2.25/bfd/elf32-i386.c @@ -2580,6 +2580,7 @@ elf_i386_convert_mov_to_lea (bfd *abfd, asection *sec, /* STT_GNU_IFUNC must keep R_386_GOT32 relocation. */ if (ELF_ST_TYPE (isym->st_info) != STT_GNU_IFUNC + && irel->r_offset >= 2 && bfd_get_8 (input_bfd, contents + irel->r_offset - 2) == 0x8b) { @@ -2609,6 +2610,7 @@ elf_i386_convert_mov_to_lea (bfd *abfd, asection *sec, && h->type != STT_GNU_IFUNC && h != htab->elf.hdynamic && SYMBOL_REFERENCES_LOCAL (link_info, h) + && irel->r_offset >= 2 && bfd_get_8 (input_bfd, contents + irel->r_offset - 2) == 0x8b) { diff --git a/binutils-2.25/bfd/elf32-spu.c b/binutils-2.25/bfd/elf32-spu.c index 13806ad..ebc9e6a 100644 --- a/binutils-2.25/bfd/elf32-spu.c +++ b/binutils-2.25/bfd/elf32-spu.c @@ -1828,6 +1828,18 @@ ovl_mgr_pread (struct bfd *abfd ATTRIBUTE_UNUSED, return count; } +static int +ovl_mgr_stat (struct bfd *abfd ATTRIBUTE_UNUSED, + void *stream, + struct stat *sb) +{ + struct _ovl_stream *os = (struct _ovl_stream *) stream; + + memset (sb, 0, sizeof (*sb)); + sb->st_size = (const char *) os->end - (const char *) os->start; + return 0; +} + bfd_boolean spu_elf_open_builtin_lib (bfd **ovl_bfd, const struct _ovl_stream *stream) { @@ -1837,7 +1849,7 @@ spu_elf_open_builtin_lib (bfd **ovl_bfd, const struct _ovl_stream *stream) (void *) stream, ovl_mgr_pread, NULL, - NULL); + ovl_mgr_stat); return *ovl_bfd != NULL; } diff --git a/binutils-2.25/bfd/elf64-ppc.c b/binutils-2.25/bfd/elf64-ppc.c index 0b65ab1..0245a2c 100644 --- a/binutils-2.25/bfd/elf64-ppc.c +++ b/binutils-2.25/bfd/elf64-ppc.c @@ -11805,7 +11805,7 @@ group_sections (struct ppc_link_hash_table *htab, bfd_boolean suppress_size_errors; suppress_size_errors = FALSE; - stub14_group_size = stub_group_size; + stub14_group_size = stub_group_size >> 10; if (stub_group_size == 1) { /* Default values. */ @@ -11979,6 +11979,8 @@ ppc64_elf_size_stubs (struct bfd_link_info *info) "GOMP_parallel_loop_runtime_start", "GOMP_parallel_sections", "GOMP_parallel_sections_start", + /* libgo */ + "__go_go", }; unsigned i; diff --git a/binutils-2.25/bfd/elf64-x86-64.c b/binutils-2.25/bfd/elf64-x86-64.c index 3881f60..f2b13e7 100644 --- a/binutils-2.25/bfd/elf64-x86-64.c +++ b/binutils-2.25/bfd/elf64-x86-64.c @@ -1629,16 +1629,11 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, case R_X86_64_PC32_BND: case R_X86_64_PLT32_BND: - case R_X86_64_PC32: - case R_X86_64_PLT32: - case R_X86_64_32: - case R_X86_64_64: /* MPX PLT is supported only if elf_x86_64_arch_bed is used in 64-bit mode. */ if (ABI_64_P (abfd) - && info->bndplt - && (get_elf_x86_64_backend_data (abfd) - == &elf_x86_64_arch_bed)) + && (get_elf_x86_64_backend_data (abfd) + == &elf_x86_64_arch_bed)) { elf_x86_64_hash_entry (h)->has_bnd_reloc = TRUE; @@ -1680,7 +1675,11 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, } case R_X86_64_32S: + case R_X86_64_32: + case R_X86_64_64: + case R_X86_64_PC32: case R_X86_64_PC64: + case R_X86_64_PLT32: case R_X86_64_GOTPCREL: case R_X86_64_GOTPCREL64: if (htab->elf.dynobj == NULL) @@ -1753,14 +1752,6 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, if (h != NULL) { - if (r_type == R_X86_64_GOTPLT64) - { - /* This relocation indicates that we also need - a PLT entry, as this is a function. We don't need - a PLT entry for local symbols. */ - h->needs_plt = 1; - h->plt.refcount += 1; - } h->got.refcount += 1; old_tls_type = elf_x86_64_hash_entry (h)->tls_type; } @@ -2182,8 +2173,6 @@ elf_x86_64_gc_sweep_hook (bfd *abfd, struct bfd_link_info *info, case R_X86_64_GOTPLT64: if (h != NULL) { - if (r_type == R_X86_64_GOTPLT64 && h->plt.refcount > 0) - h->plt.refcount -= 1; if (h->got.refcount > 0) h->got.refcount -= 1; if (h->type == STT_GNU_IFUNC) @@ -2825,6 +2814,7 @@ elf_x86_64_convert_mov_to_lea (bfd *abfd, asection *sec, /* STT_GNU_IFUNC must keep R_X86_64_GOTPCREL relocation. */ if (ELF_ST_TYPE (isym->st_info) != STT_GNU_IFUNC + && irel->r_offset >= 2 && bfd_get_8 (input_bfd, contents + irel->r_offset - 2) == 0x8b) { @@ -2855,6 +2845,7 @@ elf_x86_64_convert_mov_to_lea (bfd *abfd, asection *sec, && h->type != STT_GNU_IFUNC && h != htab->elf.hdynamic && SYMBOL_REFERENCES_LOCAL (link_info, h) + && irel->r_offset >= 2 && bfd_get_8 (input_bfd, contents + irel->r_offset - 2) == 0x8b) { @@ -3719,12 +3710,7 @@ elf_x86_64_relocate_section (bfd *output_bfd, case R_X86_64_GOTPCREL64: /* Use global offset table entry as symbol value. */ case R_X86_64_GOTPLT64: - /* This is the same as GOT64 for relocation purposes, but - indicates the existence of a PLT entry. The difficulty is, - that we must calculate the GOT slot offset from the PLT - offset, if this symbol got a PLT entry (it was global). - Additionally if it's computed from the PLT entry, then that - GOT offset is relative to .got.plt, not to .got. */ + /* This is obsolete and treated the the same as GOT64. */ base_got = htab->elf.sgot; if (htab->elf.sgot == NULL) diff --git a/binutils-2.25/bfd/elfxx-mips.c b/binutils-2.25/bfd/elfxx-mips.c index cb6fd21..998549d 100644 --- a/binutils-2.25/bfd/elfxx-mips.c +++ b/binutils-2.25/bfd/elfxx-mips.c @@ -6607,6 +6607,9 @@ _bfd_elf_mips_mach (flagword flags) case E_MIPS_MACH_LS3A: return bfd_mach_mips_loongson_3a; + case E_MIPS_MACH_OCTEON3: + return bfd_mach_mips_octeon3; + case E_MIPS_MACH_OCTEON2: return bfd_mach_mips_octeon2; @@ -7002,20 +7005,11 @@ _bfd_mips_elf_section_processing (bfd *abfd, Elf_Internal_Shdr *hdr) if (strcmp (name, ".sdata") == 0 || strcmp (name, ".lit8") == 0 || strcmp (name, ".lit4") == 0) - { - hdr->sh_flags |= SHF_ALLOC | SHF_WRITE | SHF_MIPS_GPREL; - hdr->sh_type = SHT_PROGBITS; - } + hdr->sh_flags |= SHF_ALLOC | SHF_WRITE | SHF_MIPS_GPREL; else if (strcmp (name, ".srdata") == 0) - { - hdr->sh_flags |= SHF_ALLOC | SHF_MIPS_GPREL; - hdr->sh_type = SHT_PROGBITS; - } + hdr->sh_flags |= SHF_ALLOC | SHF_MIPS_GPREL; else if (strcmp (name, ".compact_rel") == 0) - { - hdr->sh_flags = 0; - hdr->sh_type = SHT_PROGBITS; - } + hdr->sh_flags = 0; else if (strcmp (name, ".rtproc") == 0) { if (hdr->sh_addralign != 0 && hdr->sh_entsize == 0) @@ -11480,9 +11474,11 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd, name = ".dynsym"; elemsize = MIPS_ELF_SYM_SIZE (output_bfd); s = bfd_get_section_by_name (output_bfd, name); - BFD_ASSERT (s != NULL); - dyn.d_un.d_val = s->size / elemsize; + if (s != NULL) + dyn.d_un.d_val = s->size / elemsize; + else + dyn.d_un.d_val = 0; break; case DT_MIPS_HIPAGENO: @@ -11906,6 +11902,10 @@ mips_set_isa_flags (bfd *abfd) val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON; break; + case bfd_mach_mips_octeon3: + val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON3; + break; + case bfd_mach_mips_xlr: val = E_MIPS_ARCH_64 | E_MIPS_MACH_XLR; break; @@ -13959,6 +13959,8 @@ bfd_mips_isa_ext (bfd *abfd) return AFL_EXT_OCTEON; case bfd_mach_mips_octeonp: return AFL_EXT_OCTEONP; + case bfd_mach_mips_octeon3: + return AFL_EXT_OCTEON3; case bfd_mach_mips_octeon2: return AFL_EXT_OCTEON2; case bfd_mach_mips_xlr: @@ -14792,6 +14794,7 @@ struct mips_mach_extension static const struct mips_mach_extension mips_mach_extensions[] = { /* MIPS64r2 extensions. */ + { bfd_mach_mips_octeon3, bfd_mach_mips_octeon2 }, { bfd_mach_mips_octeon2, bfd_mach_mips_octeonp }, { bfd_mach_mips_octeonp, bfd_mach_mips_octeon }, { bfd_mach_mips_octeon, bfd_mach_mipsisa64r2 }, @@ -15588,6 +15591,9 @@ print_mips_isa_ext (FILE *file, unsigned int isa_ext) case AFL_EXT_XLR: fputs ("RMI XLR", file); break; + case AFL_EXT_OCTEON3: + fputs ("Cavium Networks Octeon3", file); + break; case AFL_EXT_OCTEON2: fputs ("Cavium Networks Octeon2", file); break; diff --git a/binutils-2.25/bfd/version.h b/binutils-2.25/bfd/version.h index ec0bedc..7c349d6 100644 --- a/binutils-2.25/bfd/version.h +++ b/binutils-2.25/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20141119 +#define BFD_VERSION_DATE 20141117 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ diff --git a/binutils-2.25/bfd/version.m4 b/binutils-2.25/bfd/version.m4 index c92d143..0f2f235 100644 --- a/binutils-2.25/bfd/version.m4 +++ b/binutils-2.25/bfd/version.m4 @@ -1 +1 @@ -m4_define([BFD_VERSION], [2.24.90]) +m4_define([BFD_VERSION], [2.25.51]) diff --git a/binutils-2.25/binutils/.gitignore b/binutils-2.25/binutils/.gitignore new file mode 100644 index 0000000..1934ea0 --- /dev/null +++ b/binutils-2.25/binutils/.gitignore @@ -0,0 +1,58 @@ +/addr2line +/ar +/bin2c +/coffdump +/cxxfilt +/dlltool +/dllwrap +/elfedit +/nlmconv +/nm-new +/objcopy +/objdump +/ranlib +/readelf +/size +/srconv +/strings +/strip-new +/sysdump +/sysinfo +/windmc +/windres + +/arlex.c +/arparse.c +/arparse.h +/deflex.c +/defparse.c +/defparse.h +/mcparse.c +/mcparse.h +/nlmheader.c +/nlmheader.h +/rcparse.c +/rcparse.h +/sysinfo.c +/sysinfo.h +/syslex.c +/sysroff.c +/sysroff.h + +/doc/addr2line.1 +/doc/ar.1 +/doc/c++filt.1 +/doc/cxxfilt.man +/doc/dlltool.1 +/doc/elfedit.1 +/doc/nlmconv.1 +/doc/nm.1 +/doc/objcopy.1 +/doc/objdump.1 +/doc/ranlib.1 +/doc/readelf.1 +/doc/size.1 +/doc/strings.1 +/doc/strip.1 +/doc/windmc.1 +/doc/windres.1 diff --git a/binutils-2.25/binutils/ChangeLog b/binutils-2.25/binutils/ChangeLog index c2f69e9..9f7e17c 100644 --- a/binutils-2.25/binutils/ChangeLog +++ b/binutils-2.25/binutils/ChangeLog @@ -1,8 +1,8 @@ -2014-11-17 Nick Clifton <nickc@redhat.com> +2014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com> - Apply trunk patches: + * readelf.c (arm_attr_tag_ABI_VFP_args): Add "compatible". - 2014-11-14 Nick Clifton <nickc@redhat.com> +2014-11-14 Nick Clifton <nickc@redhat.com> PR binutils/17512 * dwarf.c (get_encoded_value): Add an 'end' parameter. Change the @@ -16,7 +16,7 @@ read. Update call to get_encoded_value. Warn if the read CFA expressions are too big. - 2014-11-13 Nick Clifton <nickc@redhat.com> +2014-11-13 Nick Clifton <nickc@redhat.com> PR binutils/17531 * readelf.c (process_version_sections): If the read of the version @@ -30,7 +30,7 @@ (print_gnu_note): Do not print the note if the descsz is too small. - 2014-11-12 Nick Clifton <nickc@redhat.com> +2014-11-12 Nick Clifton <nickc@redhat.com> PR binutils/17512 * dwarf.c (read_and_display_attr_value): Check that we do not read @@ -50,7 +50,7 @@ string table. Avoid walking off the end of the stabs data. * stabs.c (parse_stab_string): Add check for a NULL name. - 2014-11-11 Nick Clifton <nickc@redhat.com> +2014-11-11 Nick Clifton <nickc@redhat.com> PR binutils/17531 * binutils/readelf.c (dynamic_nent): Change type to size_t. @@ -77,17 +77,21 @@ size_t. Skip processing of sections headers if there are none. Improve out of memory error messages. - 2014-11-11 Nick Clifton <nickc@redhat.com> +2014-11-11 Nick Clifton <nickc@redhat.com> + + * po/fr.po: Updated French translation. + +2014-11-11 Nick Clifton <nickc@redhat.com> PR binutils/17531 * readelf.c (display_arm_attribute): Avoid reading off the end of the buffer when processing a Tag_nodefaults. - 2014-11-10 Nick Clifton <nickc@redhat.com> +2014-11-10 Nick Clifton <nickc@redhat.com> PR binutils/17531 - * readelf.c (ia64_process_unwind): Replace assertion with an error - message. Add range checking for group section indicies. + * (ia64_process_unwind): Replace assertion with an error message. + Add range checking for group section indicies. (hppa_process_unwind): Replace assertion with an error message. (process_syminfo): Likewise. (decode_arm_unwind_bytecode): Add range checking. @@ -98,13 +102,18 @@ (display_tic6x_attribute): Likewise. (display_msp430x_attribute): Likewise. - 2014-11-10 Nick Clifton <nickc@redhat.com> +2014-11-10 Nick Clifton <nickc@redhat.com> PR binutils/17552 - * objcopy.c (copy_archive): Clean up temporary files even if an - error occurs. + * (copy_archive): Clean up temporary files even if an error + occurs. + +2014-11-07 H.J. Lu <hongjiu.lu@intel.com> + + * readelf.c (process_dynamic_section): Cast time value to unsigned + long to print. - 2014-11-07 Nick Clifton <nickc@redhat.com> +2014-11-07 Nick Clifton <nickc@redhat.com> PR binutils/17531 * readelf.c (get_data): Avoid allocating memory when we know that @@ -124,7 +133,7 @@ (display_msp430x_attribute): Likewise. (process_mips_specific): Add range check. - 2014-11-06 Nick Clifton <nickc@redhat.com> +2014-11-06 Nick Clifton <nickc@redhat.com> PR binutils/17552, binutils/17533 * bucomm.c (is_valid_archive_path): New function. Returns false @@ -136,7 +145,7 @@ * doc/binutils.texi: Update documentation to mention the limitation on pathname of archive members. - 2014-11-05 Nick Clifton <nickc@redhat.com> +2014-11-05 Nick Clifton <nickc@redhat.com> PR binutils/17531 * readelf.c (printable_section_name): New function. @@ -158,7 +167,7 @@ small. (process_mips_specific): Check for a corrupt GOT symbol offset. - 2014-11-05 Nick Clifton <nickc@redhat.com> +2014-11-05 Nick Clifton <nickc@redhat.com> PR binutils/17533 * bucomm.c (is_valid_archive_path): New function. @@ -167,7 +176,15 @@ member filename before extracting it. * objcopy.c (copy_archive): Likewise. - 2014-11-04 Nick Clifton <nickc@redhat.com> +2014-11-05 Jan-Benedict Glaw <jbglaw@lug-owl.de> + + * readelf.c (process_mips_specific): Fix format string warning. + +2014-11-04 Matthew Fortune <matthew.fortune@imgtec.com> + + * readelf.c (process_mips_specific): Rename index to idx. + +2014-11-04 Nick Clifton <nickc@redhat.com> PR binutils/17531 * readelf.c (get_data): If the reason parameter is null, do not @@ -179,6 +196,7 @@ (get_file_header): Pass TRUE to get_section_headers. (process_dynamic_section): Change an assert to an error message. (process_symbol_table): Handle corrupt histograms. + (get_32bit_program_headers): Verify program header entry size before reading in the program headers. (get_64bit_program_headers): Likewise. @@ -190,27 +208,44 @@ the section before attempting to read the length of the next attribute. - 2014-11-03 Nick Clifton <nickc@redhat.com> +2014-11-03 Nick Clifton <nickc@redhat.com> PR binutils/17512 * objdump.c (slurp_symtab): Fail gracefully if the table could not be read. (dump_relocs_in_section): Likewise. -2014-11-11 Nick Clifton <nickc@redhat.com> - - * po/fr.po: Updated French translation. - 2014-11-03 Nick Clifton <nickc@redhat.com> * po/fi.po: Updated Finnish translation. * po/sv.po: Updated Swedish translation. +2014-11-01 Hans-Peter Nilsson <hp@axis.com> + + * readelf.c (get_32bit_elf_symbols): Cast error + parameters of bfd_size_type with the %lx format to + unsigned long. + +2014-10-31 Andrew Pinski <apinski@cavium.com> + Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> + + * readelf.c (print_mips_isa_ext): Print the value of Octeon3. + +2014-10-31 Iain Buclaw <ibuclaw@gdcproject.org> + + * cxxfilt.c (main): Add case for dlang_demangling style. + 2014-10-31 Nick Clifton <nickc@redhat.com> - Apply trunk patch: + PR binutils/17512 + * readelf.c (process_program_headers): Avoid memory exhaustion due + to corrupt values in a dynamis segment header. + (get_32bit_elf_symbols): Do not attempt to read an over-large + section. + (get_64bit_elf_symbols): Likewise. + +2014-10-31 Nick Clifton <nickc@redhat.com> - 2014-10-31 Nick Clifton <nickc@redhat.com> * strings.c: Add new command line option --data to only scan the initialized, loadable data secions of binaries. Choose the default behaviour of --all or --data based upon a configure @@ -226,9 +261,6 @@ 2014-10-30 Nick Clifton <nickc@redhat.com> - Apply trunk patch: - - 2014-10-30 Nick Clifton <nickc@redhat.com> * readelf.c (CHECK_ENTSIZE_VALUES): Rewrite error message so that there is a single string for translation. (dynamic_section_mips_val): Likewise. @@ -239,11 +271,8 @@ * po/sr.po: New Serbian translation. * po/sv.po: Updated Swedish translation. -2014-10-28 Matthew Fortune <matthew.fortune@imgtec.com> - - Apply trunk patch: +2014-10-22 Matthew Fortune <matthew.fortune@imgtec.com> - 2014-10-22 Matthew Fortune <matthew.fortune@imgtec.com> * readelf.c (print_mips_ases): Print unknown ASEs. (print_mips_isa_ext): Print the value of an unknown extension. diff --git a/binutils-2.25/binutils/Makefile.in b/binutils-2.25/binutils/Makefile.in index c6e0003..aaf4d51 100644 --- a/binutils-2.25/binutils/Makefile.in +++ b/binutils-2.25/binutils/Makefile.in @@ -16,7 +16,7 @@ @SET_MAKE@ # -# Copyright (C) 2012-2014 Free Software Foundation, Inc. +# Copyright (C) 2012-2015 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/binutils/bfdtest2.c b/binutils-2.25/binutils/bfdtest2.c index a791080..8b54765 100644 --- a/binutils-2.25/binutils/bfdtest2.c +++ b/binutils-2.25/binutils/bfdtest2.c @@ -1,106 +1,106 @@ -/* A program to test BFD.
+/* A program to test BFD. Copyright (C) 2012-2014 Free Software Foundation, Inc. -
- This file is part of the GNU Binutils.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
- MA 02110-1301, USA. */
-
-#include "sysdep.h"
-#include "bfd.h"
-
-static void
-die (const char *s)
-{
- printf ("oops: %s\n", s);
- exit (1);
-}
-
-static void *
-iovec_open (struct bfd *nbfd ATTRIBUTE_UNUSED, void *open_closure)
-{
- return open_closure;
-}
-
-static file_ptr iovec_read (struct bfd *nbfd ATTRIBUTE_UNUSED,
- void *stream, void *buf, file_ptr nbytes,
- file_ptr offset)
-{
- FILE* file = (FILE*) stream;
-
- if (fseek(file, offset, SEEK_SET) != 0)
- die ("fseek error");
-
- return fread (buf, 1, nbytes, file);
-}
-
-static int
-iovec_stat (struct bfd *abfd ATTRIBUTE_UNUSED,
- void *stream, struct stat *sb)
-{
- return fstat (fileno ((FILE*) stream), sb);
-}
-
-static bfd_boolean
-check_format_any (struct bfd *abfd, bfd_format format)
-{
- char** targets = NULL;
-
- if (bfd_check_format_matches (abfd, format, &targets))
- return TRUE;
-
- if (targets)
- {
- bfd_find_target (targets[0], abfd);
-
- return bfd_check_format (abfd, format);
- }
-
- return FALSE;
-}
-
-int
-main (int argc, const char** argv)
-{
- FILE* file;
- bfd *abfd, *mbfd;
-
- if (argc < 2)
- die ("Usage: test archivefile");
-
- file = fopen(argv[1], "rb");
- if (!file)
- die ("file not found");
-
- abfd = bfd_openr_iovec (argv[1], 0, iovec_open, file,
- iovec_read, NULL, iovec_stat);
- if (!abfd)
- die ("error opening file");
-
- if (!check_format_any (abfd, bfd_archive))
- die ("not an archive");
-
- mbfd = bfd_openr_next_archived_file (abfd, 0);
- if (!mbfd)
- die ("error opening archive member");
-
- if (!bfd_close (mbfd))
- die ("error closing archive member");
-
- if (!bfd_close (abfd))
- die ("error closing archive");
-
- return 0;
-}
+ + This file is part of the GNU Binutils. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +#include "sysdep.h" +#include "bfd.h" + +static void +die (const char *s) +{ + printf ("oops: %s\n", s); + exit (1); +} + +static void * +iovec_open (struct bfd *nbfd ATTRIBUTE_UNUSED, void *open_closure) +{ + return open_closure; +} + +static file_ptr iovec_read (struct bfd *nbfd ATTRIBUTE_UNUSED, + void *stream, void *buf, file_ptr nbytes, + file_ptr offset) +{ + FILE* file = (FILE*) stream; + + if (fseek(file, offset, SEEK_SET) != 0) + die ("fseek error"); + + return fread (buf, 1, nbytes, file); +} + +static int +iovec_stat (struct bfd *abfd ATTRIBUTE_UNUSED, + void *stream, struct stat *sb) +{ + return fstat (fileno ((FILE*) stream), sb); +} + +static bfd_boolean +check_format_any (struct bfd *abfd, bfd_format format) +{ + char** targets = NULL; + + if (bfd_check_format_matches (abfd, format, &targets)) + return TRUE; + + if (targets) + { + bfd_find_target (targets[0], abfd); + + return bfd_check_format (abfd, format); + } + + return FALSE; +} + +int +main (int argc, const char** argv) +{ + FILE* file; + bfd *abfd, *mbfd; + + if (argc < 2) + die ("Usage: test archivefile"); + + file = fopen(argv[1], "rb"); + if (!file) + die ("file not found"); + + abfd = bfd_openr_iovec (argv[1], 0, iovec_open, file, + iovec_read, NULL, iovec_stat); + if (!abfd) + die ("error opening file"); + + if (!check_format_any (abfd, bfd_archive)) + die ("not an archive"); + + mbfd = bfd_openr_next_archived_file (abfd, 0); + if (!mbfd) + die ("error opening archive member"); + + if (!bfd_close (mbfd)) + die ("error closing archive member"); + + if (!bfd_close (abfd)) + die ("error closing archive"); + + return 0; +} diff --git a/binutils-2.25/binutils/configure b/binutils-2.25/binutils/configure index 07551c3..70387ea 100755 --- a/binutils-2.25/binutils/configure +++ b/binutils-2.25/binutils/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for binutils 2.24.90. +# Generated by GNU Autoconf 2.64 for binutils 2.25.51. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software @@ -556,8 +556,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='binutils' PACKAGE_TARNAME='binutils' -PACKAGE_VERSION='2.24.90' -PACKAGE_STRING='binutils 2.24.90' +PACKAGE_VERSION='2.25.51' +PACKAGE_STRING='binutils 2.25.51' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1333,7 +1333,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures binutils 2.24.90 to adapt to many kinds of systems. +\`configure' configures binutils 2.25.51 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1404,7 +1404,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of binutils 2.24.90:";; + short | recursive ) echo "Configuration of binutils 2.25.51:";; esac cat <<\_ACEOF @@ -1525,7 +1525,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -binutils configure 2.24.90 +binutils configure 2.25.51 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -1935,7 +1935,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by binutils $as_me 2.24.90, which was +It was created by binutils $as_me 2.25.51, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -3743,7 +3743,7 @@ fi # Define the identity of the package. PACKAGE='binutils' - VERSION='2.24.90' + VERSION='2.25.51' cat >>confdefs.h <<_ACEOF @@ -14850,7 +14850,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by binutils $as_me 2.24.90, which was +This file was extended by binutils $as_me 2.25.51, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14914,7 +14914,7 @@ Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -binutils config.status 2.24.90 +binutils config.status 2.25.51 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/binutils-2.25/binutils/cxxfilt.c b/binutils-2.25/binutils/cxxfilt.c index 157ebe0..03c4d0c 100644 --- a/binutils-2.25/binutils/cxxfilt.c +++ b/binutils-2.25/binutils/cxxfilt.c @@ -239,6 +239,7 @@ main (int argc, char **argv) case edg_demangling: case gnat_demangling: case gnu_v3_demangling: + case dlang_demangling: case auto_demangling: valid_symbols = standard_symbol_characters (); break; diff --git a/binutils-2.25/binutils/doc/Makefile.am b/binutils-2.25/binutils/doc/Makefile.am index e7a38c2..1c9b989 100644 --- a/binutils-2.25/binutils/doc/Makefile.am +++ b/binutils-2.25/binutils/doc/Makefile.am @@ -28,7 +28,7 @@ MANCONF = -Dman TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl $(AM_MAKEINFOFLAGS) POD2MAN = pod2man --center="GNU Development Tools" \ - --release="binutils-$(VERSION)" --section=1 + --release="binutils-$(VERSION)" --section=1 --date=" " # List of man pages generated from binutils.texi man_MANS = \ diff --git a/binutils-2.25/binutils/doc/Makefile.in b/binutils-2.25/binutils/doc/Makefile.in index 2b172e1..21079c5 100644 --- a/binutils-2.25/binutils/doc/Makefile.in +++ b/binutils-2.25/binutils/doc/Makefile.in @@ -16,7 +16,7 @@ @SET_MAKE@ # -# Copyright (C) 2012-2014 Free Software Foundation, Inc. +# Copyright (C) 2012-2015 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -289,7 +289,7 @@ CONFIG = all MANCONF = -Dman TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl $(AM_MAKEINFOFLAGS) POD2MAN = pod2man --center="GNU Development Tools" \ - --release="binutils-$(VERSION)" --section=1 + --release="binutils-$(VERSION)" --section=1 --date=" " # List of man pages generated from binutils.texi diff --git a/binutils-2.25/binutils/dwarf.c b/binutils-2.25/binutils/dwarf.c index 84e628a..4777bab 100644 --- a/binutils-2.25/binutils/dwarf.c +++ b/binutils-2.25/binutils/dwarf.c @@ -365,6 +365,9 @@ typedef struct State_Machine_Registers unsigned int file; unsigned int line; unsigned int column; + unsigned int discriminator; + unsigned int context; + unsigned int subprogram; int is_stmt; int basic_block; unsigned char op_index; @@ -384,19 +387,65 @@ reset_state_machine (int is_stmt) state_machine_regs.file = 1; state_machine_regs.line = 1; state_machine_regs.column = 0; + state_machine_regs.discriminator = 0; + state_machine_regs.context = 0; + state_machine_regs.subprogram = 0; state_machine_regs.is_stmt = is_stmt; state_machine_regs.basic_block = 0; state_machine_regs.end_sequence = 0; state_machine_regs.last_file_entry = 0; } +/* Build a logicals table for reference when reading the actuals table. */ + +static SMR *logicals_table = NULL; +static unsigned int logicals_allocated = 0; +static unsigned int logicals_count = 0; + +static void +free_logicals (void) +{ + free (logicals_table); + logicals_allocated = 0; + logicals_count = 0; + logicals_table = NULL; +} + +static void +append_logical (void) +{ + if (logicals_allocated == 0) + { + logicals_allocated = 4; + logicals_table = (SMR *) xmalloc (logicals_allocated * sizeof (SMR)); + } + if (logicals_count >= logicals_allocated) + { + logicals_allocated *= 2; + logicals_table = (SMR *) + xrealloc (logicals_table, logicals_allocated * sizeof (SMR)); + } + logicals_table[logicals_count++] = state_machine_regs; + printf (_("\t\tLogical %u: 0x%s[%u] file %u line %u discrim %u context %u subprog %u is_stmt %d\n"), + logicals_count, + dwarf_vmatoa ("x", state_machine_regs.address), + state_machine_regs.op_index, + state_machine_regs.file, + state_machine_regs.line, + state_machine_regs.discriminator, + state_machine_regs.context, + state_machine_regs.subprogram, + state_machine_regs.is_stmt); +} + /* Handled an extend line op. Returns the number of bytes read. */ static int process_extended_line_op (unsigned char * data, int is_stmt, - unsigned char * end) + unsigned char * end, + int is_logical) { unsigned char op_code; unsigned int bytes_read; @@ -423,6 +472,8 @@ process_extended_line_op (unsigned char * data, { case DW_LNE_end_sequence: printf (_("End of Sequence\n\n")); + if (is_logical) + append_logical (); reset_state_machine (is_stmt); break; @@ -453,8 +504,14 @@ process_extended_line_op (unsigned char * data, break; case DW_LNE_set_discriminator: - printf (_("set Discriminator to %s\n"), - dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end))); + { + unsigned int discrim; + + discrim = read_uleb128 (data, & bytes_read, end); + data += bytes_read; + printf (_("set Discriminator to %u\n"), discrim); + state_machine_regs.discriminator = discrim; + } break; /* HP extensions. */ @@ -567,7 +624,7 @@ fetch_indirect_string (dwarf_vma offset) if (section->start == NULL) return (const unsigned char *) _("<no .debug_str section>"); - if (offset > section->size) + if (offset >= section->size) { warn (_("DW_FORM_strp offset too big: %s\n"), dwarf_vmatoa ("x", offset)); @@ -577,6 +634,24 @@ fetch_indirect_string (dwarf_vma offset) return (const unsigned char *) section->start + offset; } +static const unsigned char * +fetch_indirect_line_string (dwarf_vma offset) +{ + struct dwarf_section *section = &debug_displays [line_str].section; + + if (section->start == NULL) + return (const unsigned char *) _("<no .debug_line_str section>"); + + if (offset >= section->size) + { + warn (_("DW_FORM_line_strp offset too big: %s\n"), + dwarf_vmatoa ("x", offset)); + return (const unsigned char *) _("<offset is too big>"); + } + + return (const unsigned char *) section->start + offset; +} + static const char * fetch_indexed_string (dwarf_vma idx, struct cu_tu_set *this_set, dwarf_vma offset_size, int dwo) @@ -594,7 +669,7 @@ fetch_indexed_string (dwarf_vma idx, struct cu_tu_set *this_set, if (this_set != NULL) index_offset += this_set->section_offsets [DW_SECT_STR_OFFSETS]; - if (index_offset > index_section->size) + if (index_offset + offset_size > index_section->size) { warn (_("DW_FORM_GNU_str_index offset too big: %s\n"), dwarf_vmatoa ("x", index_offset)); @@ -607,7 +682,7 @@ fetch_indexed_string (dwarf_vma idx, struct cu_tu_set *this_set, str_offset = byte_get (index_section->start + index_offset, offset_size); str_offset -= str_section->address; - if (str_offset > str_section->size) + if (str_offset >= str_section->size) { warn (_("DW_FORM_GNU_str_index indirect offset too big: %s\n"), dwarf_vmatoa ("x", str_offset)); @@ -2616,6 +2691,10 @@ load_debug_info (void * file) return 0; } +/* Experimental DWARF 5 extensions. + See http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables. */ +#define DWARF2_LINE_EXPERIMENTAL_VERSION 0xf006 + /* Read a DWARF .debug_line section header starting at DATA. Upon success returns an updated DATA pointer and the LINFO structure and the END_OF_SEQUENCE pointer will be filled in. @@ -2626,7 +2705,9 @@ read_debug_line_header (struct dwarf_section * section, unsigned char * data, unsigned char * end, DWARF2_Internal_LineInfo * linfo, - unsigned char ** end_of_sequence) + unsigned char ** end_of_sequence, + unsigned int * pinitial_length_size, + unsigned int * poffset_size) { unsigned char *hdrptr; unsigned int offset_size; @@ -2651,6 +2732,8 @@ read_debug_line_header (struct dwarf_section * section, offset_size = 4; initial_length_size = 4; } + *pinitial_length_size = initial_length_size; + *poffset_size = offset_size; if (linfo->li_length + initial_length_size > section->size) { @@ -2673,15 +2756,30 @@ read_debug_line_header (struct dwarf_section * section, /* Get and check the version number. */ SAFE_BYTE_GET_AND_INC (linfo->li_version, hdrptr, 2, end); + /* Version 0xf006 is for experimental two-level line tables. */ if (linfo->li_version != 2 && linfo->li_version != 3 - && linfo->li_version != 4) + && linfo->li_version != 4 + && linfo->li_version != 5 + && linfo->li_version != DWARF2_LINE_EXPERIMENTAL_VERSION) { - warn (_("Only DWARF version 2, 3 and 4 line info is currently supported.\n")); + warn (_("Only DWARF versions 2-5 line info are currently supported.\n")); return NULL; } + if (linfo->li_version < 5) + { + linfo->li_address_size = 0; + linfo->li_segment_size = 0; + } + else if (linfo->li_version != DWARF2_LINE_EXPERIMENTAL_VERSION) + { + SAFE_BYTE_GET_AND_INC (linfo->li_address_size, hdrptr, 1, end); + SAFE_BYTE_GET_AND_INC (linfo->li_segment_size, hdrptr, 1, end); + } + SAFE_BYTE_GET_AND_INC (linfo->li_prologue_length, hdrptr, offset_size, end); + SAFE_BYTE_GET_AND_INC (linfo->li_min_insn_length, hdrptr, 1, end); if (linfo->li_version >= 4) @@ -2706,12 +2804,473 @@ read_debug_line_header (struct dwarf_section * section, return hdrptr; } +static void +display_directory_table_v4 (unsigned char *start, unsigned char *end, + unsigned char **pdata) +{ + unsigned char *data = *pdata; + unsigned int last_dir_entry = 0; + + if (*data == 0) + printf (_("\n The Directory Table is empty.\n")); + else + { + printf (_("\n The Directory Table (offset 0x%lx):\n"), + (long)(data - start)); + + while (data < end && *data != 0) + { + printf (" %d\t%.*s\n", ++last_dir_entry, (int) (end - data), data); + + data += strnlen ((char *) data, end - data) + 1; + } + } + + /* Skip the NUL at the end of the table. */ + *pdata = data + 1; +} + +static void +display_file_name_table_v4 (unsigned char *start, unsigned char *end, + unsigned char **pdata) +{ + unsigned char *data = *pdata; + + if (*data == 0) + printf (_("\n The File Name Table is empty.\n")); + else + { + printf (_("\n The File Name Table (offset 0x%lx):\n"), + (long)(data - start)); + printf (_(" Entry\tDir\tTime\tSize\tName\n")); + + while (data < end && *data != 0) + { + unsigned char *name; + unsigned int bytes_read; + + printf (" %d\t", ++state_machine_regs.last_file_entry); + name = data; + data += strnlen ((char *) data, end - data) + 1; + + printf ("%s\t", + dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end))); + data += bytes_read; + printf ("%s\t", + dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end))); + data += bytes_read; + printf ("%s\t", + dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end))); + data += bytes_read; + printf ("%.*s\n", (int)(end - name), name); + + if (data == end) + { + warn (_("Corrupt file name table entry\n")); + break; + } + } + } + + /* Skip the NUL at the end of the table. */ + *pdata = data + 1; +} + +static int +display_dir_file_table_v5 (unsigned char *start, unsigned char *end, + unsigned char **pdata, char *table_name, + unsigned int offset_size) +{ + unsigned char *data = *pdata; + unsigned int bytes_read; + unsigned int format_count; + unsigned int *content_types; + unsigned int *content_forms; + unsigned int entry_count; + unsigned int i, j; + const unsigned char *name; + dwarf_vma offset; + unsigned int val; + + format_count = read_uleb128 (data, & bytes_read, end); + data += bytes_read; + content_types = (unsigned int *) xmalloc (format_count * + sizeof (unsigned int)); + content_forms = (unsigned int *) xmalloc (format_count * + sizeof (unsigned int)); + for (j = 0; j < format_count; j++) + { + content_types[j] = read_uleb128 (data, & bytes_read, end); + data += bytes_read; + content_forms[j] = read_uleb128 (data, & bytes_read, end); + data += bytes_read; + } + + entry_count = read_uleb128 (data, & bytes_read, end); + data += bytes_read; + + if (entry_count == 0) + printf (_("\n The %s Table is empty.\n"), table_name); + else + { + printf (_("\n The %s Table (offset 0x%lx):\n"), + table_name, (long)(data - start)); + + printf (_(" Entry")); + for (j = 0; j < format_count; j++) + { + printf ("\t"); + switch (content_types[j]) + { + case DW_LNCT_path: + printf (_("Path")); + break; + case DW_LNCT_subprogram_name: + printf (_("Name")); + break; + case DW_LNCT_directory_index: + printf (_("Dir")); + break; + case DW_LNCT_decl_file: + printf (_("File")); + break; + case DW_LNCT_decl_line: + printf (_("Line")); + break; + } + } + printf ("\n"); + } + + for (i = 0; i < entry_count; i++) + { + printf (" %d", i + 1); + for (j = 0; j < format_count; j++) + { + if (data >= end) + break; + switch (content_forms[j]) + { + case DW_FORM_string: + printf ("\t%.*s", (int) (end - data), data); + data += strnlen ((char *) data, end - data) + 1; + break; + case DW_FORM_line_strp: + SAFE_BYTE_GET_AND_INC (offset, data, offset_size, end); + name = fetch_indirect_line_string (offset); + printf ("\t%s", name); + break; + case DW_FORM_udata: + val = read_uleb128 (data, & bytes_read, end); + data += bytes_read; + printf ("\t%u", val); + break; + default: + printf ("\t%s", _("(unrecognized FORM code)")); + data = end; + break; + } + } + printf ("\n"); + + /* PR 17512: file: 002-132094-0.004. */ + if (data >= end - 1) + break; + } + + free (content_types); + free (content_forms); + + *pdata = data; + return entry_count; +} + +static void +display_line_program (unsigned char *start, unsigned char *end, + unsigned char **pdata, char *table_name, + DWARF2_Internal_LineInfo *linfo, + unsigned char *standard_opcodes, + int is_logical) +{ + unsigned char *data = *pdata; + + if (data >= end) + { + printf (_(" No %s.\n"), table_name); + return; + } + + printf (" %s:\n", table_name); + + while (data < end) + { + unsigned char op_code; + dwarf_signed_vma adv; + dwarf_vma uladv; + unsigned int bytes_read; + unsigned int logical; + int i; + + printf (" [0x%08lx]", (long)(data - start)); + + op_code = *data++; + + if (op_code >= linfo->li_opcode_base) + { + op_code -= linfo->li_opcode_base; + uladv = (op_code / linfo->li_line_range); + if (linfo->li_max_ops_per_insn == 1) + { + uladv *= linfo->li_min_insn_length; + state_machine_regs.address += uladv; + printf (_(" Special opcode %d: " + "advance Address by %s to 0x%s"), + op_code, dwarf_vmatoa ("u", uladv), + dwarf_vmatoa ("x", state_machine_regs.address)); + } + else + { + state_machine_regs.address + += ((state_machine_regs.op_index + uladv) + / linfo->li_max_ops_per_insn) + * linfo->li_min_insn_length; + state_machine_regs.op_index + = (state_machine_regs.op_index + uladv) + % linfo->li_max_ops_per_insn; + printf (_(" Special opcode %d: " + "advance Address by %s to 0x%s[%d]"), + op_code, dwarf_vmatoa ("u", uladv), + dwarf_vmatoa ("x", state_machine_regs.address), + state_machine_regs.op_index); + } + adv = (op_code % linfo->li_line_range) + linfo->li_line_base; + state_machine_regs.line += adv; + printf (_(" and Line by %s to %d\n"), + dwarf_vmatoa ("d", adv), state_machine_regs.line); + if (is_logical) + append_logical (); + state_machine_regs.discriminator = 0; + } + else + { + switch (op_code) + { + case DW_LNS_extended_op: + data += process_extended_line_op (data, linfo->li_default_is_stmt, + end, is_logical); + break; + + case DW_LNS_copy: + printf (_(" Copy\n")); + if (is_logical) + append_logical (); + state_machine_regs.discriminator = 0; + break; + + case DW_LNS_advance_pc: + uladv = read_uleb128 (data, & bytes_read, end); + data += bytes_read; + if (linfo->li_max_ops_per_insn == 1) + { + uladv *= linfo->li_min_insn_length; + state_machine_regs.address += uladv; + printf (_(" Advance PC by %s to 0x%s\n"), + dwarf_vmatoa ("u", uladv), + dwarf_vmatoa ("x", state_machine_regs.address)); + } + else + { + state_machine_regs.address + += ((state_machine_regs.op_index + uladv) + / linfo->li_max_ops_per_insn) + * linfo->li_min_insn_length; + state_machine_regs.op_index + = (state_machine_regs.op_index + uladv) + % linfo->li_max_ops_per_insn; + printf (_(" Advance PC by %s to 0x%s[%d]\n"), + dwarf_vmatoa ("u", uladv), + dwarf_vmatoa ("x", state_machine_regs.address), + state_machine_regs.op_index); + } + break; + + case DW_LNS_advance_line: + adv = read_sleb128 (data, & bytes_read, end); + data += bytes_read; + state_machine_regs.line += adv; + printf (_(" Advance Line by %s to %d\n"), + dwarf_vmatoa ("d", adv), + state_machine_regs.line); + break; + + case DW_LNS_set_file: + adv = read_uleb128 (data, & bytes_read, end); + data += bytes_read; + printf (_(" Set File Name to entry %s in the File Name Table\n"), + dwarf_vmatoa ("d", adv)); + state_machine_regs.file = adv; + break; + + case DW_LNS_set_column: + uladv = read_uleb128 (data, & bytes_read, end); + data += bytes_read; + printf (_(" Set column to %s\n"), + dwarf_vmatoa ("u", uladv)); + state_machine_regs.column = uladv; + break; + + case DW_LNS_negate_stmt: + adv = state_machine_regs.is_stmt; + adv = ! adv; + printf (_(" Set is_stmt to %s\n"), dwarf_vmatoa ("d", adv)); + state_machine_regs.is_stmt = adv; + break; + + case DW_LNS_set_basic_block: + printf (_(" Set basic block\n")); + state_machine_regs.basic_block = 1; + break; + + case DW_LNS_const_add_pc: + uladv = ((255 - linfo->li_opcode_base) / linfo->li_line_range); + if (linfo->li_max_ops_per_insn) + { + uladv *= linfo->li_min_insn_length; + state_machine_regs.address += uladv; + printf (_(" Advance PC by constant %s to 0x%s\n"), + dwarf_vmatoa ("u", uladv), + dwarf_vmatoa ("x", state_machine_regs.address)); + } + else + { + state_machine_regs.address + += ((state_machine_regs.op_index + uladv) + / linfo->li_max_ops_per_insn) + * linfo->li_min_insn_length; + state_machine_regs.op_index + = (state_machine_regs.op_index + uladv) + % linfo->li_max_ops_per_insn; + printf (_(" Advance PC by constant %s to 0x%s[%d]\n"), + dwarf_vmatoa ("u", uladv), + dwarf_vmatoa ("x", state_machine_regs.address), + state_machine_regs.op_index); + } + break; + + case DW_LNS_fixed_advance_pc: + SAFE_BYTE_GET_AND_INC (uladv, data, 2, end); + state_machine_regs.address += uladv; + state_machine_regs.op_index = 0; + printf (_(" Advance PC by fixed size amount %s to 0x%s\n"), + dwarf_vmatoa ("u", uladv), + dwarf_vmatoa ("x", state_machine_regs.address)); + break; + + case DW_LNS_set_prologue_end: + printf (_(" Set prologue_end to true\n")); + break; + + case DW_LNS_set_epilogue_begin: + printf (_(" Set epilogue_begin to true\n")); + break; + + case DW_LNS_set_isa: + uladv = read_uleb128 (data, & bytes_read, end); + data += bytes_read; + printf (_(" Set ISA to %s\n"), dwarf_vmatoa ("u", uladv)); + break; + + case DW_LNS_set_subprogram: + /* This opcode is aliased with: */ + /* case DW_LNS_set_address_from_logical: */ + if (is_logical) + { + /* DW_LNS_set_subprogram */ + state_machine_regs.context = 0; + state_machine_regs.subprogram = read_uleb128 (data, & bytes_read, end); + data += bytes_read; + printf (_(" Set subprogram to %u and reset context to 0\n"), + state_machine_regs.subprogram); + } + else + { + /* DW_LNS_set_address_from_logical */ + adv = read_sleb128 (data, & bytes_read, end); + data += bytes_read; + state_machine_regs.line += adv; + logical = state_machine_regs.line; + if (logical - 1 < logicals_count) + { + state_machine_regs.address = logicals_table[logical - 1].address; + state_machine_regs.op_index = logicals_table[logical - 1].op_index; + } + else + warn (_("Logical row number outside range of logicals table\n")); + printf (_(" Advance Line by %s to %u and set address from logical to 0x%s[%u]\n"), + dwarf_vmatoa ("d", adv), + logical, + dwarf_vmatoa ("x", state_machine_regs.address), + state_machine_regs.op_index); + } + break; + + case DW_LNS_inlined_call: + adv = read_sleb128 (data, & bytes_read, end); + data += bytes_read; + state_machine_regs.context = logicals_count + adv; + state_machine_regs.subprogram = read_uleb128 (data, & bytes_read, end); + data += bytes_read; + printf (_(" Set context to %u and subprogram to %u\n"), + state_machine_regs.context, + state_machine_regs.subprogram); + break; + + case DW_LNS_pop_context: + logical = state_machine_regs.context; + printf (_(" Pop context to logical %u\n"), logical); + if (logical - 1 < logicals_count) + { + state_machine_regs.file = logicals_table[logical - 1].file; + state_machine_regs.line = logicals_table[logical - 1].line; + state_machine_regs.column = logicals_table[logical - 1].column; + state_machine_regs.discriminator = logicals_table[logical - 1].discriminator; + state_machine_regs.is_stmt = logicals_table[logical - 1].is_stmt; + state_machine_regs.context = logicals_table[logical - 1].context; + state_machine_regs.subprogram = logicals_table[logical - 1].subprogram; + } + else + warn (_("Context register outside range of logicals table\n")); + break; + + default: + printf (_(" Unknown opcode %d with operands: "), op_code); + + if (standard_opcodes != NULL) + for (i = standard_opcodes[op_code - 1]; i > 0 ; --i) + { + printf ("0x%s%s", dwarf_vmatoa ("x", read_uleb128 (data, + &bytes_read, end)), + i == 1 ? "" : ", "); + data += bytes_read; + } + putchar ('\n'); + break; + } + } + } + + putchar ('\n'); + *pdata = data; +} + static int display_debug_lines_raw (struct dwarf_section *section, unsigned char *data, unsigned char *end) { unsigned char *start = section->start; + unsigned int initial_length_size; + unsigned int offset_size; printf (_("Raw dump of debug contents of section %s:\n\n"), section->name); @@ -2720,10 +3279,15 @@ display_debug_lines_raw (struct dwarf_section *section, { static DWARF2_Internal_LineInfo saved_linfo; DWARF2_Internal_LineInfo linfo; + unsigned int logicals_table_offset = 0; + unsigned int actuals_table_offset = 0; + unsigned char *end_of_header_length; unsigned char *standard_opcodes; + unsigned char *start_of_line_program; + unsigned char *end_of_logicals; unsigned char *end_of_sequence; - unsigned int last_dir_entry = 0; int i; + unsigned char *hdrptr = NULL; if (const_strneq (section->name, ".debug_line.") /* Note: the following does not apply to .debug_line.dwo sections. @@ -2740,22 +3304,30 @@ display_debug_lines_raw (struct dwarf_section *section, Since the section is a fragment it does not have the details needed to fill out a LineInfo structure, so instead we use the details from the last full debug_line section that we processed. */ + start_of_line_program = data; end_of_sequence = end; + end_of_logicals = end; standard_opcodes = NULL; linfo = saved_linfo; reset_state_machine (linfo.li_default_is_stmt); } else { - unsigned char * hdrptr; - if ((hdrptr = read_debug_line_header (section, data, end, & linfo, - & end_of_sequence)) == NULL) + & end_of_sequence, + & initial_length_size, + & offset_size)) == NULL) return 0; printf (_(" Offset: 0x%lx\n"), (long)(data - start)); printf (_(" Length: %ld\n"), (long) linfo.li_length); printf (_(" DWARF Version: %d\n"), linfo.li_version); + if (linfo.li_version >= 5 + && linfo.li_version != DWARF2_LINE_EXPERIMENTAL_VERSION) + { + printf (_(" Address Size: %u\n"), linfo.li_address_size); + printf (_(" Segment Size: %u\n"), linfo.li_segment_size); + } printf (_(" Prologue Length: %d\n"), linfo.li_prologue_length); printf (_(" Minimum Instruction Length: %d\n"), linfo.li_min_insn_length); if (linfo.li_version >= 4) @@ -2765,6 +3337,13 @@ display_debug_lines_raw (struct dwarf_section *section, printf (_(" Line Range: %d\n"), linfo.li_line_range); printf (_(" Opcode Base: %d\n"), linfo.li_opcode_base); + end_of_header_length = data + initial_length_size + 2 + offset_size; + if (linfo.li_version >= 5 + && linfo.li_version != DWARF2_LINE_EXPERIMENTAL_VERSION) + end_of_header_length += 2; + start_of_line_program = end_of_header_length + linfo.li_prologue_length; + end_of_logicals = end; + reset_state_machine (linfo.li_default_is_stmt); /* Display the contents of the Opcodes table. */ @@ -2775,261 +3354,100 @@ display_debug_lines_raw (struct dwarf_section *section, for (i = 1; i < linfo.li_opcode_base; i++) printf (_(" Opcode %d has %d args\n"), i, standard_opcodes[i - 1]); - /* Display the contents of the Directory table. */ data = standard_opcodes + linfo.li_opcode_base - 1; - if (*data == 0) - printf (_("\n The Directory Table is empty.\n")); - else + if (linfo.li_version == DWARF2_LINE_EXPERIMENTAL_VERSION) { - printf (_("\n The Directory Table (offset 0x%lx):\n"), - (long)(data - start)); + /* Skip the fake directory and filename table. */ + data += 2; - while (*data != 0) - { - printf (" %d\t%s\n", ++last_dir_entry, data); + /* Skip the fake extended opcode that wraps the rest + of the section. */ + data += 5; - data += strnlen ((char *) data, end - data) + 1; - } - } + /* Read the logicals table offset and actuals table offset. */ + SAFE_BYTE_GET_AND_INC (logicals_table_offset, data, offset_size, end); + SAFE_BYTE_GET_AND_INC (actuals_table_offset, data, offset_size, end); - /* Skip the NUL at the end of the table. */ - data++; + start_of_line_program = end_of_header_length + logicals_table_offset; - /* Display the contents of the File Name table. */ - if (*data == 0) - printf (_("\n The File Name Table is empty.\n")); - else - { - printf (_("\n The File Name Table (offset 0x%lx):\n"), - (long)(data - start)); - printf (_(" Entry\tDir\tTime\tSize\tName\n")); + if (actuals_table_offset > 0) + end_of_logicals = end_of_header_length + actuals_table_offset; - while (*data != 0) - { - unsigned char *name; - unsigned int bytes_read; + putchar ('\n'); + printf (_(" Logicals Table Offset: 0x%x\n"), logicals_table_offset); + printf (_(" Actuals Table Offset: 0x%x\n"), actuals_table_offset); + } - printf (" %d\t", ++state_machine_regs.last_file_entry); - name = data; - data += strnlen ((char *) data, end - data) + 1; + /* Display the contents of the Directory table. */ + if (linfo.li_version >= 5) + display_dir_file_table_v5 (start, end, &data, _("Directory"), + offset_size); + else + display_directory_table_v4 (start, end, &data); - printf ("%s\t", - dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end))); - data += bytes_read; - printf ("%s\t", - dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end))); - data += bytes_read; - printf ("%s\t", - dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end))); - data += bytes_read; - printf ("%s\n", name); + /* PR 17512: file: 002-132094-0.004. */ + if (data >= end - 1) + break; - if (data == end) - { - warn (_("Corrupt file name table entry\n")); - break; - } - } + /* Display the contents of the File Name table. */ + if (linfo.li_version >= 5) + { + unsigned int count; + + count = display_dir_file_table_v5 (start, end, &data, + _("File Name"), offset_size); + state_machine_regs.last_file_entry = count - 1; } + else + display_file_name_table_v4 (start, end, &data); + + /* Display the contents of the Subprogram table. */ + if (linfo.li_version == DWARF2_LINE_EXPERIMENTAL_VERSION) + display_dir_file_table_v5 (start, end, &data, _("Subprogram"), + offset_size); - /* Skip the NUL at the end of the table. */ - data++; putchar ('\n'); saved_linfo = linfo; } - /* Now display the statements. */ - if (data >= end_of_sequence) - printf (_(" No Line Number Statements.\n")); - else - { - printf (_(" Line Number Statements:\n")); + if (data > start_of_line_program) + warn (_("Line table header is longer than header_length indicates\n")); + else if (data < start_of_line_program) + warn (_("Line table header is shorter than header_length indicates\n")); + data = start_of_line_program; - while (data < end_of_sequence) + if (linfo.li_version == DWARF2_LINE_EXPERIMENTAL_VERSION + && hdrptr != NULL + && actuals_table_offset > 0) + { + if (end_of_logicals > end) { - unsigned char op_code; - dwarf_signed_vma adv; - dwarf_vma uladv; - unsigned int bytes_read; - - printf (" [0x%08lx]", (long)(data - start)); - - op_code = *data++; - - if (op_code >= linfo.li_opcode_base) - { - op_code -= linfo.li_opcode_base; - uladv = (op_code / linfo.li_line_range); - if (linfo.li_max_ops_per_insn == 1) - { - uladv *= linfo.li_min_insn_length; - state_machine_regs.address += uladv; - printf (_(" Special opcode %d: " - "advance Address by %s to 0x%s"), - op_code, dwarf_vmatoa ("u", uladv), - dwarf_vmatoa ("x", state_machine_regs.address)); - } - else - { - state_machine_regs.address - += ((state_machine_regs.op_index + uladv) - / linfo.li_max_ops_per_insn) - * linfo.li_min_insn_length; - state_machine_regs.op_index - = (state_machine_regs.op_index + uladv) - % linfo.li_max_ops_per_insn; - printf (_(" Special opcode %d: " - "advance Address by %s to 0x%s[%d]"), - op_code, dwarf_vmatoa ("u", uladv), - dwarf_vmatoa ("x", state_machine_regs.address), - state_machine_regs.op_index); - } - adv = (op_code % linfo.li_line_range) + linfo.li_line_base; - state_machine_regs.line += adv; - printf (_(" and Line by %s to %d\n"), - dwarf_vmatoa ("d", adv), state_machine_regs.line); - } - else switch (op_code) - { - case DW_LNS_extended_op: - data += process_extended_line_op (data, linfo.li_default_is_stmt, end); - break; - - case DW_LNS_copy: - printf (_(" Copy\n")); - break; - - case DW_LNS_advance_pc: - uladv = read_uleb128 (data, & bytes_read, end); - data += bytes_read; - if (linfo.li_max_ops_per_insn == 1) - { - uladv *= linfo.li_min_insn_length; - state_machine_regs.address += uladv; - printf (_(" Advance PC by %s to 0x%s\n"), - dwarf_vmatoa ("u", uladv), - dwarf_vmatoa ("x", state_machine_regs.address)); - } - else - { - state_machine_regs.address - += ((state_machine_regs.op_index + uladv) - / linfo.li_max_ops_per_insn) - * linfo.li_min_insn_length; - state_machine_regs.op_index - = (state_machine_regs.op_index + uladv) - % linfo.li_max_ops_per_insn; - printf (_(" Advance PC by %s to 0x%s[%d]\n"), - dwarf_vmatoa ("u", uladv), - dwarf_vmatoa ("x", state_machine_regs.address), - state_machine_regs.op_index); - } - break; - - case DW_LNS_advance_line: - adv = read_sleb128 (data, & bytes_read, end); - data += bytes_read; - state_machine_regs.line += adv; - printf (_(" Advance Line by %s to %d\n"), - dwarf_vmatoa ("d", adv), - state_machine_regs.line); - break; - - case DW_LNS_set_file: - adv = read_uleb128 (data, & bytes_read, end); - data += bytes_read; - printf (_(" Set File Name to entry %s in the File Name Table\n"), - dwarf_vmatoa ("d", adv)); - state_machine_regs.file = adv; - break; - - case DW_LNS_set_column: - uladv = read_uleb128 (data, & bytes_read, end); - data += bytes_read; - printf (_(" Set column to %s\n"), - dwarf_vmatoa ("u", uladv)); - state_machine_regs.column = uladv; - break; - - case DW_LNS_negate_stmt: - adv = state_machine_regs.is_stmt; - adv = ! adv; - printf (_(" Set is_stmt to %s\n"), dwarf_vmatoa ("d", adv)); - state_machine_regs.is_stmt = adv; - break; - - case DW_LNS_set_basic_block: - printf (_(" Set basic block\n")); - state_machine_regs.basic_block = 1; - break; - - case DW_LNS_const_add_pc: - uladv = ((255 - linfo.li_opcode_base) / linfo.li_line_range); - if (linfo.li_max_ops_per_insn) - { - uladv *= linfo.li_min_insn_length; - state_machine_regs.address += uladv; - printf (_(" Advance PC by constant %s to 0x%s\n"), - dwarf_vmatoa ("u", uladv), - dwarf_vmatoa ("x", state_machine_regs.address)); - } - else - { - state_machine_regs.address - += ((state_machine_regs.op_index + uladv) - / linfo.li_max_ops_per_insn) - * linfo.li_min_insn_length; - state_machine_regs.op_index - = (state_machine_regs.op_index + uladv) - % linfo.li_max_ops_per_insn; - printf (_(" Advance PC by constant %s to 0x%s[%d]\n"), - dwarf_vmatoa ("u", uladv), - dwarf_vmatoa ("x", state_machine_regs.address), - state_machine_regs.op_index); - } - break; - - case DW_LNS_fixed_advance_pc: - SAFE_BYTE_GET_AND_INC (uladv, data, 2, end); - state_machine_regs.address += uladv; - state_machine_regs.op_index = 0; - printf (_(" Advance PC by fixed size amount %s to 0x%s\n"), - dwarf_vmatoa ("u", uladv), - dwarf_vmatoa ("x", state_machine_regs.address)); - break; - - case DW_LNS_set_prologue_end: - printf (_(" Set prologue_end to true\n")); - break; - - case DW_LNS_set_epilogue_begin: - printf (_(" Set epilogue_begin to true\n")); - break; - - case DW_LNS_set_isa: - uladv = read_uleb128 (data, & bytes_read, end); - data += bytes_read; - printf (_(" Set ISA to %s\n"), dwarf_vmatoa ("u", uladv)); - break; - - default: - printf (_(" Unknown opcode %d with operands: "), op_code); - - if (standard_opcodes != NULL) - for (i = standard_opcodes[op_code - 1]; i > 0 ; --i) - { - printf ("0x%s%s", dwarf_vmatoa ("x", read_uleb128 (data, - &bytes_read, end)), - i == 1 ? "" : ", "); - data += bytes_read; - } - putchar ('\n'); - break; - } + warn (_("Actuals table offset %s extends beyond end of section\n"), + dwarf_vmatoa ("u", actuals_table_offset)); + end_of_logicals = end; } - putchar ('\n'); - } + display_line_program (start, end_of_logicals, &data, + _("Logicals Statements"), + &linfo, standard_opcodes, 1); + if (data > end_of_logicals) + warn (_("Logicals table is longer than actuals_table_offset indicates\n")); + else if (data < end_of_logicals) + warn (_("Line table header is shorter than actuals_table_offset indicates\n")); + data = end_of_logicals; + reset_state_machine (linfo.li_default_is_stmt); + display_line_program (start, end_of_sequence, &data, + _("Actuals Statements"), + &linfo, standard_opcodes, 0); + free_logicals (); + } + else + { + display_line_program (start, end_of_sequence, &data, + _("Line Number Statements"), + &linfo, standard_opcodes, 0); + } + } return 1; @@ -3051,6 +3469,8 @@ display_debug_lines_decoded (struct dwarf_section *section, unsigned char *end) { static DWARF2_Internal_LineInfo saved_linfo; + unsigned int initial_length_size; + unsigned int offset_size; printf (_("Decoded dump of debug contents of section %s:\n\n"), section->name); @@ -3083,7 +3503,9 @@ display_debug_lines_decoded (struct dwarf_section *section, unsigned char *hdrptr; if ((hdrptr = read_debug_line_header (section, data, end, & linfo, - & end_of_sequence)) == NULL) + & end_of_sequence, + & initial_length_size, + & offset_size)) == NULL) return 0; reset_state_machine (linfo.li_default_is_stmt); @@ -3501,7 +3923,7 @@ display_debug_lines_decoded (struct dwarf_section *section, } static int -display_debug_lines (struct dwarf_section *section, void *file ATTRIBUTE_UNUSED) +display_debug_lines (struct dwarf_section *section, void *file) { unsigned char *data = section->start; unsigned char *end = data + section->size; @@ -3511,6 +3933,8 @@ display_debug_lines (struct dwarf_section *section, void *file ATTRIBUTE_UNUSED) if (do_debug_lines == 0) do_debug_lines |= FLAG_DEBUG_LINES_RAW; + load_debug_section (line_str, file); + if (do_debug_lines & FLAG_DEBUG_LINES_RAW) retValRaw = display_debug_lines_raw (section, data, end); @@ -7045,6 +7469,8 @@ struct dwarf_section_display debug_displays[] = display_debug_macro, &do_debug_macinfo, 1 }, { { ".debug_str", ".zdebug_str", NULL, NULL, 0, 0, 0 }, display_debug_str, &do_debug_str, 0 }, + { { ".debug_line_str", ".zdebug_line_str", NULL, NULL, 0, 0, 0 }, + display_debug_str, &do_debug_str, 0 }, { { ".debug_loc", ".zdebug_loc", NULL, NULL, 0, 0, 0 }, display_debug_loc, &do_debug_loc, 1 }, { { ".debug_pubtypes", ".zdebug_pubtypes", NULL, NULL, 0, 0, 0 }, diff --git a/binutils-2.25/binutils/dwarf.h b/binutils-2.25/binutils/dwarf.h index 124d9d6..2a71083 100644 --- a/binutils-2.25/binutils/dwarf.h +++ b/binutils-2.25/binutils/dwarf.h @@ -40,6 +40,8 @@ typedef struct { dwarf_vma li_length; unsigned short li_version; + unsigned char li_address_size; + unsigned char li_segment_size; unsigned int li_prologue_length; unsigned char li_min_insn_length; unsigned char li_max_ops_per_insn; @@ -123,6 +125,7 @@ enum dwarf_section_display_enum macinfo, macro, str, + line_str, loc, pubtypes, gnu_pubtypes, diff --git a/binutils-2.25/binutils/readelf.c b/binutils-2.25/binutils/readelf.c index d630684..83518c7 100644 --- a/binutils-2.25/binutils/readelf.c +++ b/binutils-2.25/binutils/readelf.c @@ -5319,6 +5319,7 @@ process_section_headers (FILE * file) || (do_debug_macinfo && const_strneq (name, "macinfo")) || (do_debug_macinfo && const_strneq (name, "macro")) || (do_debug_str && const_strneq (name, "str")) + || (do_debug_str && const_strneq (name, "line_str")) || (do_debug_loc && const_strneq (name, "loc")) || (do_debug_addr && const_strneq (name, "addr")) || (do_debug_cu_index && const_strneq (name, "cu_index")) @@ -11903,7 +11904,7 @@ static const char * arm_attr_tag_ABI_enum_size[] = static const char * arm_attr_tag_ABI_HardFP_use[] = {"As Tag_FP_arch", "SP only", "DP only", "SP and DP"}; static const char * arm_attr_tag_ABI_VFP_args[] = - {"AAPCS", "VFP registers", "custom"}; + {"AAPCS", "VFP registers", "custom", "compatible"}; static const char * arm_attr_tag_ABI_WMMX_args[] = {"AAPCS", "WMMX registers", "custom"}; static const char * arm_attr_tag_ABI_optimization_goals[] = @@ -13162,6 +13163,9 @@ print_mips_isa_ext (unsigned int isa_ext) case AFL_EXT_XLR: fputs ("RMI XLR", stdout); break; + case AFL_EXT_OCTEON3: + fputs ("Cavium Networks Octeon3", stdout); + break; case AFL_EXT_OCTEON2: fputs ("Cavium Networks Octeon2", stdout); break; diff --git a/binutils-2.25/compile b/binutils-2.25/compile index ec64c62..a85b723 100755 --- a/binutils-2.25/compile +++ b/binutils-2.25/compile @@ -1,10 +1,9 @@ #! /bin/sh -# Wrapper for compilers which do not understand `-c -o'. +# Wrapper for compilers which do not understand '-c -o'. -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software -# Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # Written by Tom Tromey <tromey@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -29,21 +28,224 @@ scriptversion=2009-04-28.21; # UTC # bugs to <bug-automake@gnu.org> or send patches to # <automake-patches@gnu.org>. +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + case $1 in '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] -Wrapper for compilers which do not understand `-c -o'. -Remove `-o dest.o' from ARGS, run PROGRAM with the remaining +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the -right script to run: please start by reading the file `INSTALL'. +right script to run: please start by reading the file 'INSTALL'. Report bugs to <bug-automake@gnu.org>. EOF @@ -53,11 +255,13 @@ EOF echo "compile $scriptversion" exit $? ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; esac ofile= cfile= -eat= for arg do @@ -66,8 +270,8 @@ do else case $1 in -o) - # configure might choose to run compile as `compile cc -o foo foo.c'. - # So we strip `-o arg' only if arg is an object. + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) @@ -94,10 +298,10 @@ do done if test -z "$ofile" || test -z "$cfile"; then - # If no `-o' option was seen then we might have been invoked from a + # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no - # `.c' file was seen then we are probably linking. That is also + # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi @@ -106,7 +310,7 @@ fi cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. -# Note: use `[/\\:.-]' here to ensure that we don't use the same name +# Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d @@ -124,9 +328,9 @@ trap "rmdir '$lockdir'; exit 1" 1 2 15 ret=$? if test -f "$cofile"; then - mv "$cofile" "$ofile" + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then - mv "${cofile}bj" "$ofile" + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" diff --git a/binutils-2.25/config.guess b/binutils-2.25/config.guess index 1f5c50c..6c32c86 100755 --- a/binutils-2.25/config.guess +++ b/binutils-2.25/config.guess @@ -2,7 +2,7 @@ # Attempt to guess a canonical system name. # Copyright 1992-2014 Free Software Foundation, Inc. -timestamp='2014-03-23' +timestamp='2014-11-04' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -24,12 +24,12 @@ timestamp='2014-03-23' # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # -# Originally written by Per Bothner. +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD # -# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# Please send patches to <config-patches@gnu.org>. me=`echo "$0" | sed -e 's,.*/,,'` @@ -579,8 +579,9 @@ EOF else IBM_ARCH=powerpc fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` + if [ -x /usr/bin/lslpp ] ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi diff --git a/binutils-2.25/config.sub b/binutils-2.25/config.sub index 88a0cb4..7cc68ba 100755 --- a/binutils-2.25/config.sub +++ b/binutils-2.25/config.sub @@ -2,7 +2,7 @@ # Configuration validation subroutine script. # Copyright 1992-2014 Free Software Foundation, Inc. -timestamp='2014-07-28' +timestamp='2014-09-26' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ timestamp='2014-07-28' # of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# Please send patches to <config-patches@gnu.org>. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -302,6 +302,7 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ + | riscv32 | riscv64 \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ @@ -326,6 +327,9 @@ case $basic_machine in c6x) basic_machine=tic6x-unknown ;; + leon|leon[3-9]) + basic_machine=sparc-$basic_machine + ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none @@ -773,6 +777,9 @@ case $basic_machine in basic_machine=m68k-isi os=-sysv ;; + leon-*|leon[3-9]-*) + basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` + ;; m68knommu) basic_machine=m68k-unknown os=-linux diff --git a/binutils-2.25/configure b/binutils-2.25/configure index 87677bc..b86cfe6 100755 --- a/binutils-2.25/configure +++ b/binutils-2.25/configure @@ -2972,7 +2972,7 @@ case "${ENABLE_GOLD}" in # Check for target supported by gold. case "${target}" in i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-* \ - | aarch64*-*-* | tilegx*-*-*) + | aarch64*-*-* | tilegx*-*-* | mips*-*-*) configdirs="$configdirs gold" if test x${ENABLE_GOLD} = xdefault; then default_ld=gold diff --git a/binutils-2.25/configure.ac b/binutils-2.25/configure.ac index 4bb4865..9316eb9 100644 --- a/binutils-2.25/configure.ac +++ b/binutils-2.25/configure.ac @@ -332,7 +332,7 @@ case "${ENABLE_GOLD}" in # Check for target supported by gold. case "${target}" in i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-* \ - | aarch64*-*-* | tilegx*-*-*) + | aarch64*-*-* | tilegx*-*-* | mips*-*-*) configdirs="$configdirs gold" if test x${ENABLE_GOLD} = xdefault; then default_ld=gold diff --git a/binutils-2.25/depcomp b/binutils-2.25/depcomp index df8eea7..4e70ff0 100755 --- a/binutils-2.25/depcomp +++ b/binutils-2.25/depcomp @@ -1,10 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2009-04-28.21; # UTC +scriptversion=2013-05-30.07; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free -# Software Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -28,9 +27,9 @@ scriptversion=2009-04-28.21; # UTC case $1 in '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] @@ -40,11 +39,11 @@ as side-effects. Environment variables: depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. + tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to <bug-automake@gnu.org>. @@ -57,6 +56,66 @@ EOF ;; esac +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +digits=0123456789 +alpha=${upper}${lower} + if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 @@ -69,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" +# Avoid interferences from the environment. +gccflag= dashmflag= + # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case @@ -80,18 +142,32 @@ if test "$depmode" = hp; then fi if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u="sed s,\\\\\\\\,/,g" - depmode=msvisualcpp + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp +fi + +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc fi case "$depmode" in @@ -114,8 +190,7 @@ gcc3) done "$@" stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -123,13 +198,17 @@ gcc3) ;; gcc) +## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). +## -MM, not -M (despite what the docs say). Also, it might not be +## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then @@ -137,31 +216,31 @@ gcc) fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. + # The second -e expression handles DOS-style file names with drive + # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. +## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory +## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as -## well. +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -172,59 +251,21 @@ hp) exit 1 ;; -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> "$depfile" - echo >> "$depfile" - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the + # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + set_dir_from "$object" + set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u @@ -237,9 +278,7 @@ aix) "$@" -M fi stat=$? - - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi @@ -248,44 +287,100 @@ aix) do test -f "$tmpdepfile" && break done - if test -f "$tmpdepfile"; then - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" + aix_post_process_depfile + ;; + +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat fi + rm -f "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : + # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... + set_dir_from "$object" + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + set_base_from "$source" + tmpdepfile=$base.d + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0; do + # mkdir is a portable test-and-set. + if mkdir "$lockdir" 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rmdir "$lockdir" + break + else + # If the lock is being held by a different process, wait + # until the winning process is done or we timeout. + while test -d "$lockdir" && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -297,8 +392,8 @@ icc) sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -309,9 +404,8 @@ hp2) # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + set_dir_from "$object" + set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d @@ -322,8 +416,7 @@ hp2) "$@" +Maked fi stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi @@ -333,77 +426,107 @@ hp2) test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add `dependent.h:' lines. + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" else - echo "#dummy" > "$depfile" + make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mechanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool generates 2 separate objects for the 2 libraries. These + # two compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; + +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + G + p +}' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; #nosideeffect) # This comment above is used by automake to tell side-effect @@ -422,7 +545,7 @@ dashmstdout) shift fi - # Remove `-o $object'. + # Remove '-o $object'. IFS=" " for arg do @@ -442,18 +565,18 @@ dashmstdout) done test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' + # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -503,12 +626,15 @@ makedepend) touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; @@ -525,7 +651,7 @@ cpp) shift fi - # Remove `-o $object'. + # Remove '-o $object'. IFS=" " for arg do @@ -544,10 +670,10 @@ cpp) esac done - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" + "$@" -E \ + | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" @@ -579,23 +705,23 @@ msvisualcpp) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; + set fnord "$@" + shift + shift + ;; *) - set fnord "$@" "$arg" - shift - shift - ;; + set fnord "$@" "$arg" + shift + shift + ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; diff --git a/binutils-2.25/djunpack.bat b/binutils-2.25/djunpack.bat deleted file mode 100755 index 5c6e9b2..0000000 --- a/binutils-2.25/djunpack.bat +++ /dev/null @@ -1,52 +0,0 @@ -@echo off
-Rem
-Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line
-Rem format, or else stock DOS/Windows shells will refuse to run it.
-Rem
-Rem This batch file unpacks the GDB distribution while simultaneously
-Rem renaming some of the files whose names are invalid on DOS or conflict
-Rem with other file names after truncation to DOS 8+3 namespace.
-Rem
-Rem Invoke like this:
-Rem
-Rem djunpack gdb-XYZ.tar
-Rem
-Rem where XYZ is the version number. If the argument includes leading
-Rem directories, it MUST use backslashes, not forward slashes.
-Rem
-Rem The following 2 lines need to be changed with each new GDB release, to
-Rem be identical to the name of the top-level directory where the GDB
-Rem distribution unpacks itself.
-set GDBVER=gdb-5.0
-if "%GDBVER%"=="gdb-5.0" GoTo EnvOk
-Rem If their environment space is too small, re-exec with a larger one
-command.com /e:4096 /c %0 %1
-GoTo End
-:EnvOk
-if not exist %1 GoTo NoArchive
-djtar -x -p -o %GDBVER%/gdb/config/djgpp/fnchange.lst %1 > fnchange.tmp
-Rem The following uses a feature of COPY whereby it does not copy
-Rem empty files. We need that because the previous line will create
-Rem an empty fnchange.tmp even if the command failed for some reason.
-copy fnchange.tmp junk.tmp > nul
-if not exist junk.tmp GoTo NoDjTar
-del junk.tmp
-sed -e "s,@V@,%GDBVER%,g" < fnchange.tmp > fnchange.lst
-Rem See the comment above about the reason for using COPY.
-copy fnchange.lst junk.tmp > nul
-if not exist junk.tmp GoTo NoSed
-del junk.tmp
-djtar -x -n fnchange.lst %1
-GoTo End
-:NoSed
-echo FAIL: Sed is not available.
-GoTo End
-:NoDjTar
-echo FAIL: DJTAR is not available or no fnchange.lst file in %1.
-GoTo End
-:NoArchive
-echo FAIL: the file %1 does not seem to exist.
-echo Remember that %1 cannot use forward slashes, only backslashes.
-GoTo End
-:End
-set GDBVER=
diff --git a/binutils-2.25/elfcpp/ChangeLog b/binutils-2.25/elfcpp/ChangeLog index bc5681a..5f0e5f3 100644 --- a/binutils-2.25/elfcpp/ChangeLog +++ b/binutils-2.25/elfcpp/ChangeLog @@ -1,3 +1,7 @@ +2015-04-07 HC Yen <hc.yen@mediatek.com> + + * arm.h: Add TAG_CPU_ARCH_V8 in Tag_CPU_arch EABI attribute. + 2014-09-17 Han Shen <shenhan@google.com> * aarch64.h (R_AARCH64_TLS_DTPREL64): Switch enum value with ... diff --git a/binutils-2.25/elfcpp/arm.h b/binutils-2.25/elfcpp/arm.h index b333676..b0438e3 100644 --- a/binutils-2.25/elfcpp/arm.h +++ b/binutils-2.25/elfcpp/arm.h @@ -192,7 +192,7 @@ enum R_ARM_PRIVATE_14 = 126, R_ARM_PRIVATE_15 = 127, R_ARM_ME_TOO = 128, // Obsolete - R_ARM_THM_TLS_DESCSEQ16 = 129,// Static Thumb16 + R_ARM_THM_TLS_DESCSEQ16 = 129,// Static Thumb16 R_ARM_THM_TLS_DESCSEQ32 = 130,// Static Thumb32 // 131 - 139 Unallocated // 140 - 159 Dynamic Reserved for future allocation @@ -248,7 +248,8 @@ enum TAG_CPU_ARCH_V6_M, TAG_CPU_ARCH_V6S_M, TAG_CPU_ARCH_V7E_M, - MAX_TAG_CPU_ARCH = TAG_CPU_ARCH_V7E_M, + TAG_CPU_ARCH_V8, + MAX_TAG_CPU_ARCH = TAG_CPU_ARCH_V8, // Pseudo-architecture to allow objects to be compatible with the subset of // armv4t and armv6-m. This value should never be stored in object files. TAG_CPU_ARCH_V4T_PLUS_V6_M = (MAX_TAG_CPU_ARCH + 1) diff --git a/binutils-2.25/elfcpp/dwarf.h b/binutils-2.25/elfcpp/dwarf.h index 331ec40..bb622ec 100644 --- a/binutils-2.25/elfcpp/dwarf.h +++ b/binutils-2.25/elfcpp/dwarf.h @@ -147,7 +147,13 @@ enum DW_LINE_OPS // DWARF 3. DW_LNS_set_prologue_end = 10, DW_LNS_set_epilogue_begin = 11, - DW_LNS_set_isa = 12 + DW_LNS_set_isa = 12, + /* Experimental DWARF 5 extensions. + See http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables. */ + DW_LNS_set_address_from_logical = 13, /* Actuals table only. */ + DW_LNS_set_subprogram = 13, /* Logicals table only. */ + DW_LNS_inlined_call = 14, /* Logicals table only. */ + DW_LNS_pop_context = 15 /* Logicals table only. */ }; // Line number extended opcodes. @@ -241,6 +247,20 @@ enum DW_SECT DW_SECT_MAX = DW_SECT_MACRO, }; +enum DW_LNCT +{ + DW_LNCT_path = 1, + DW_LNCT_directory_index = 2, + DW_LNCT_timestamp = 3, + DW_LNCT_size = 4, + DW_LNCT_MD5 = 5, + /* Experimental DWARF 5 extensions. + See http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables. */ + DW_LNCT_subprogram_name = 6, + DW_LNCT_decl_file = 7, + DW_LNCT_decl_line = 8 +}; + } // End namespace elfcpp. #endif // !defined(ELFCPP_DWARF_H) diff --git a/binutils-2.25/gas/.gitignore b/binutils-2.25/gas/.gitignore new file mode 100644 index 0000000..27d4887 --- /dev/null +++ b/binutils-2.25/gas/.gitignore @@ -0,0 +1,9 @@ +/as-new + +/itbl-cpu.h +/obj-format.h +/targ-cpu.h +/targ-env.h + +/doc/as.1 +/doc/asconfig.texi diff --git a/binutils-2.25/gas/ChangeLog b/binutils-2.25/gas/ChangeLog index 684098d..3b1d034 100644 --- a/binutils-2.25/gas/ChangeLog +++ b/binutils-2.25/gas/ChangeLog @@ -1,50 +1,3 @@ -2014-11-18 Igor Zamyatin <igor.zamyatin@intel.com> - - * config/tc-i386-intel.c (i386_operator): Remove last argument - from lex_got call. - * config/tc-i386.c (reloc): Remove bnd_prefix from parameters' - list. Return always BFD_RELOC_32_PCREL. - * (output_branch): Remove condition for BFD_RELOC_X86_64_PC32_BND. - * (output_jump): Update call to reloc accordingly. - * (output_interseg_jump): Likewise. - * (output_disp): Likewise. - * (output_imm): Likewise. - * (x86_cons_fix_new): Likewise. - * (lex_got): Remove bnd_prefix from parameters' list in macro and - declarations. Don't use BFD_RELOC_X86_64_PLT32_BND. - * (x86_cons): Update call to lex_got accordingly. - * (i386_immediate): Likewise. - * (i386_displacement): Likewise. - * (md_apply_fix): Don't use BFD_RELOC_X86_64_PLT32_BND nor - BFD_RELOC_X86_64_PC32_BND. - * (tc_gen_reloc): Likewise. - -2014-11-17 Philipp Tomsich <philipp.tomsich@theobroma-systems.com> - - * config/tc-aarch64.c (aarch64_cpus): Add "xgene2". - * doc/c-aarch64.texi: Document it. - -2014-11-17 Philipp Tomsich <philipp.tomsich@theobroma-systems.com> - - * config/tc-aarch64.c (aarch64_cpus): Add "xgene1". - * doc/c-aarch64.texi: Rename xgene-1 to xgene1. - -2014-11-18 Marcus Shawcroft <marcus.shawcroft@arm.com> - - Apply trunk patch: - * config/tc-aarch64.c (aarch64_cpus): Add CRC feature for - cortex-A53 and cortex-A57. - -2014-11-17 Nick Clifton <nickc@redhat.com> - - Apply trunk patches: - - 2014-11-13 Nick Clifton <nickc@redhat.com> - - PR binutils/17512 - * config/obj-coff.c (coff_obj_symbol_new_hook): Set the is_sym - field. - 2014-11-17 Ilya Tocar <ilya.tocar@intel.com> * config/tc-i386.c (cpu_arch): Add .avx512vbmi. @@ -73,6 +26,30 @@ * doc/c-i386.texi: Re-arrange avx512* and xsave*. Add clflushopt and se1. Remove duplicated entries. +2014-11-13 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * config/tc-aarch64.c (aarch64_cpus): Add CRC feature for + cortex-A53 and cortex-A57. + +2014-11-13 H.J. Lu <hongjiu.lu@intel.com> + + PR gas/17598 + * config/tc-i386.c (reloc): Support BFD_RELOC_X86_64_GOTPLT64. + +2014-11-13 Nick Clifton <nickc@redhat.com> + + PR binutils/17512 + * config/obj-coff.c (coff_obj_symbol_new_hook): Set the is_sym + field. + +2014-11-13 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * config/tc-aarch64.c (aarch64_cpus): Remove example-1 and example-2. + +2014-11-12 Alan Modra <amodra@gmail.com> + + * config/tc-z80.c (parse_exp_not_indexed, parse_exp): Warning fixes. + 2014-11-12 Alan Modra <amodra@gmail.com> PR ld/17482 @@ -83,32 +60,75 @@ * po/uk.po: Updated Ukranian translation. -2014-11-10 Matthew Fortune <matthew.fortune@imgtec.com> - - Apply trunk patch: - * config/tc-mips.c (mips_elf_final_processing): Add INSN_ISA32R6 - and INSN_ISA64R6 support. - 2014-11-07 H.J. Lu <hongjiu.lu@intel.com> - Apply trunk patch: - 2014-11-07 H.J. Lu <hongjiu.lu@intel.com> - PR ld/17482 * config/tc-i386.c (output_insn): Add a dummy REX_OPCODE prefix - for structions with R_X86_64_GOTTPOFF relocation for x32 if needed. + for instructions with R_X86_64_GOTTPOFF relocation for x32 if + needed. + +2014-11-06 Sandra Loosemore <sandra@codesourcery.com> + + * config/tc-nios2.c (nios2_diagnose_overflow): Adjust call to + nios2_find_opcode_hash. + +2014-11-05 Matthew Fortune <matthew.fortune@imgtec.com> + + * config/tc-mips.c (mips_elf_final_processing): Add INSN_ISA32R6 + and INSN_ISA64R6 support. + +2014-11-04 Alan Modra <amodra@gmail.com> + + * expr.c (expr_symbol_where): Don't use register keyword. + * app.c (app_push, app_pop, do_scrub_chars): Likewise. + * ecoff.c (add_string, add_ecoff_symbol, add_aux_sym_symint, + add_aux_sym_rndx, add_aux_sym_tir, add_procedure, add_file, + ecoff_build_lineno, ecoff_setup_ext, allocate_cluster. + allocate_scope, allocate_vlinks, allocate_shash, + allocate_thash, allocate_tag, allocate_forward, allocate_thead, + allocate_lineno_list): Likewise. + * frags.c (frag_more, frag_var, frag_variant, frag_wane): Likewise. + * input-file.c (input_file_push, input_file_pop): Likewise. + * input-scrub.c (input_scrub_push, input_scrub_next_buffer): Likewise. + * subsegs.c (subseg_change): Likewise. + * symbols.c (colon, symbol_table_insert, symbol_find_or_make) + (dollar_label_name, fb_label_name): Likewise. + * write.c (relax_align): Likewise. + * config/tc-alpha.c (s_alpha_pdesc): Likewise. + * config/tc-bfin.c (bfin_s_bss): Likewise. + * config/tc-i860.c (md_estimate_size_before_relax): Likewise. + * config/tc-m68hc11.c (md_convert_frag): Likewise. + * config/tc-m68k.c (m68k_ip, crack_operand): Likewise. + (md_convert_frag_1, s_even): Likewise. + * config/tc-mips.c (mips_clear_insn_labels): Likewise. + * config/tc-mn10200.c (md_begin): Likewise. + * config/tc-s390.c (s390_setup_opcodes, md_begin): Likewise. + * config/tc-sh.c (sh_elf_cons): Likewise. + * config/tc-tic4x.c (tic4x_cons, tic4x_stringer): Likewise. + * config/m68k-parse.y (m68k_reg_parse): Likewise. Convert from K&R. + (yylex, m68k_ip_op, yyerror): Convert from K&R. + +2014-11-04 Alan Modra <amodra@gmail.com> + + * config/tc-d10v.c (find_opcode): Call frag_now_fix_octets rather + than equivalent obstack_next_free expression. + * config/tc-d30v.c (find_format): Likewise. 2014-11-03 Nick Clifton <nickc@redhat.com> - Apply trunk patch: - 2014-11-03 Nick Clifton <nickc@redhat.com> * config/tc-msp430.c (msp430_srcoperand): Fix range test for 20-bit values. -2014-10-30 Nick Clifton <nickc@redhat.com> +2014-10-31 Andrew Pinski <apinski@cavium.com> + Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> + + * config/tc-mips.c (CPU_IS_OCTEON): Handle CPU_OCTEON3. + (mips_cpu_info_table): Octeon3 enables virt ase. + * doc/c-mips.texi: Document octeon3 as an acceptable value for + -march=. + +2014-10-30 Dr Philipp Tomsich <philipp.tomsich@theobroma-systems.com> - Apply trunk patches - 2014-10-30 Dr Philipp Tomsich <philipp.tomsich@theobroma-systems.com> * config/tc-aarch64.h (MAX_MEM_FOR_RS_ALIGN_CODE): Define to 7. * config/tc-aarch64.c (aarch64_handle_align): Rewrite to handle large alignments with a constant fragment size of @@ -118,41 +138,117 @@ * po/uk.po: New Ukranian translation. -2014-10-28 Matthew Fortune <matthew.fortune@imgtec.com> +2014-10-23 Sandra Loosemore <sandra@codesourcery.com> + + * config/tc-nios2.c (nios2_insn_infoS): Add constant_bits field. + (nios2_arg_infoS, nios2_arg_hash, nios2_arg_lookup): Delete. + (nios2_control_register_arg_p): Delete. + (nios2_coproc_reg): Delete. + (nios2_relax_frag): Remove hard-coded instruction size. + (md_convert_frag): Use new insn accessor macros. + (nios2_diagnose_overflow): Remove hard-coded instruction size. + (md_apply_fix): Likewise. + (bad_opcode): New. + (nios2_parse_reg): New. + (nios2_assemble_expression): Remove prev_reloc parameter. Adjust + uses and callers. + (nios2_assemble_arg_c): New. + (nios2_assemble_arg_d): New. + (nios2_assemble_arg_s): New. + (nios2_assemble_arg_t): New. + (nios2_assemble_arg_i): New. + (nios2_assemble_arg_u): New. + (nios2_assemble_arg_o): New. + (nios2_assemble_arg_j): New. + (nios2_assemble_arg_l): New. + (nios2_assemble_arg_m): New. + (nios2_assemble_args): New. + (nios2_assemble_args_dst): Delete. + (nios2_assemble_args_tsi): Delete. + (nios2_assemble_args_tsu): Delete. + (nios2_assemble_args_sto): Delete. + (nios2_assemble_args_o): Delete. + (nios2_assemble_args_is): Delete. + (nios2_assemble_args_m): Delete. + (nios2_assemble_args_s): Delete. + (nios2_assemble_args_tis): Delete. + (nios2_assemble_args_dc): Delete. + (nios2_assemble_args_cs): Delete. + (nios2_assemble_args_ds): Delete. + (nios2_assemble_args_ldst): Delete. + (nios2_assemble_args_none): Delete. + (nios2_assemble_args_dsj): Delete. + (nios2_assemble_args_d): Delete. + (nios2_assemble_args_b): Delete. + (nios2_arg_info_structs): Delete. + (NIOS2_NUM_ARGS): Delete. + (nios2_consume_arg): Remove insn parameter. Use new macros. + Don't check register arguments here. Remove 'b' case. + (nios2_consume_separator): Move check for missing separators to... + (nios2_parse_args): ...here. Remove special case for optional + arguments. + (output_insn): Avoid using hard-coded insn size. + (output_ubranch): Likewise. + (output_cbranch): Likewise. + (output_call): Use new macros. + (output_addi): Likewise. + (output_ori): Likewise. + (output_xori): Likewise. + (output_movia): Likewise. + (md_begin): Remove nios2_arg_info_structs initialization. + (md_assemble): Initialize constant_bits field. Use + nios2_parse_args instead of looking up parse function in hash table. + +2014-10-22 Matthew Fortune <matthew.fortune@imgtec.com> - Apply trunk patches - 2014-10-22 Matthew Fortune <matthew.fortune@imgtec.com> * doc/as.texinfo: Update the MIPS FP ABI descriptions. * doc/c-mips.texi: Spell check and correct throughout. -2014-10-28 Matthew Fortune <matthew.fortune@imgtec.com> +2014-10-21 Maciej W. Rozycki <macro@codesourcery.com> - Apply trunk patches - 2014-10-21 Maciej W. Rozycki <macro@codesourcery.com> * config/tc-mips.c (s_insn): Set file options. -2014-10-28 Matthew Fortune <matthew.fortune@imgtec.com> +2014-10-21 Andrew Pinski <apinski@cavium.com> - Apply trunk patches - 2014-10-17 Matthew Fortune <matthew.fortune@imgtec.com> - * doc/c-mips.texi: Fix bad @value references. + * config/tc-aarch64.c (aarch64_cpus): + Add thunderx. + * doc/c-aarch64.texi: Document that thunderx + is a valid processor name. + +2014-10-21 Jan Beulich <jbeulich@suse.com> + + * read.c (HANDLE_CONDITIONAL_ASSEMBLY): New parameter "num_read". + (read_a_source_file): Adjust HANDLE_CONDITIONAL_ASSEMBLY + invocations. + (_find_end_of_line): Don't issue "stray '\\'" warning when in + false branch of conditional. + +2014-10-21 Jan Beulich <jbeulich@suse.com> + + * config/tc-aarch64.c (output_operand_error_record): Move down + assertion of idx being non-negative. Use local variables when + available. + +2014-10-18 Alan Modra <amodra@gmail.com> -2014-10-28 Alan Modra <amodra@gmail.com> - Apply trunk patches - 2014-10-18 Alan Modra <amodra@gmail.com> PR 17493 * write.c (adjust_reloc_syms): Don't allow symbols in reg_section to be reduced to reg_section section symbol. * gas/config/tc-i386.c (i386_finalize_immediate): Reject all reg_section immediates. - 2014-10-15 Chen Gang <gang.chen.5i5j@gmail.com> - * config/tc-tic4x.c (md_assemble): Correct strncat size. +2014-10-17 Matthew Fortune <matthew.fortune@imgtec.com> + + * doc/c-mips.texi: Fix bad @value references. 2014-10-15 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. +2014-10-15 Chen Gang <gang.chen.5i5j@gmail.com> + + * config/tc-tic4x.c (md_assemble): Correct strncat size. + 2014-10-14 Tristan Gingold <gingold@adacore.com> * NEWS: Add marker for 2.25. diff --git a/binutils-2.25/gas/Makefile.in b/binutils-2.25/gas/Makefile.in index 5dc250f..01a797a 100644 --- a/binutils-2.25/gas/Makefile.in +++ b/binutils-2.25/gas/Makefile.in @@ -16,7 +16,7 @@ @SET_MAKE@ # -# Copyright (C) 2012-2014 Free Software Foundation, Inc. +# Copyright (C) 2012-2015 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/gas/app.c b/binutils-2.25/gas/app.c index 32a172f..d5a10c1 100644 --- a/binutils-2.25/gas/app.c +++ b/binutils-2.25/gas/app.c @@ -247,7 +247,7 @@ struct app_save char * app_push (void) { - register struct app_save *saved; + struct app_save *saved; saved = (struct app_save *) xmalloc (sizeof (*saved)); saved->state = state; @@ -284,7 +284,7 @@ app_push (void) void app_pop (char *arg) { - register struct app_save *saved = (struct app_save *) arg; + struct app_save *saved = (struct app_save *) arg; /* There is no do_scrub_end (). */ state = saved->state; @@ -360,7 +360,7 @@ do_scrub_chars (size_t (*get) (char *, size_t), char *tostart, size_t tolen) char *from; char *fromend; size_t fromlen; - register int ch, ch2 = 0; + int ch, ch2 = 0; /* Character that started the string we're working on. */ static char quotechar; diff --git a/binutils-2.25/gas/as.c b/binutils-2.25/gas/as.c index 85a04a3..3d43dae 100644 --- a/binutils-2.25/gas/as.c +++ b/binutils-2.25/gas/as.c @@ -96,6 +96,9 @@ int debug_memory = 0; /* Enable verbose mode. */ int verbose = 0; +/* Enable incbin directive. */ +int allow_incbin_directive = 1; + /* Keep the output file. */ static int keep_it = 0; @@ -455,7 +458,9 @@ parse_args (int * pargc, char *** pargv) OPTION_REDUCE_MEMORY_OVERHEADS, OPTION_WARN_FATAL, OPTION_COMPRESS_DEBUG, - OPTION_NOCOMPRESS_DEBUG + OPTION_NOCOMPRESS_DEBUG, + OPTION_ALLOW_INCBIN, + OPTION_NOALLOW_INCBIN /* When you add options here, check that they do not collide with OPTION_MD_BASE. See as.h. */ }; @@ -473,6 +478,8 @@ parse_args (int * pargc, char *** pargv) ,{"a", optional_argument, NULL, 'a'} /* Handle -al=<FILE>. */ ,{"al", optional_argument, NULL, OPTION_AL} + ,{"allow-incbin", optional_argument, NULL, OPTION_ALLOW_INCBIN} + ,{"noallow-incbin", optional_argument, NULL, OPTION_NOALLOW_INCBIN} ,{"compress-debug-sections", no_argument, NULL, OPTION_COMPRESS_DEBUG} ,{"nocompress-debug-sections", no_argument, NULL, OPTION_NOCOMPRESS_DEBUG} ,{"debug-prefix-map", required_argument, NULL, OPTION_DEBUG_PREFIX_MAP} @@ -668,6 +675,14 @@ This program has absolutely no warranty.\n")); flag_compress_debug = 0; break; + case OPTION_ALLOW_INCBIN: + allow_incbin_directive = 1; + break; + + case OPTION_NOALLOW_INCBIN: + allow_incbin_directive = 0; + break; + case OPTION_DEBUG_PREFIX_MAP: add_debug_prefix_map (optarg); break; diff --git a/binutils-2.25/gas/as.h b/binutils-2.25/gas/as.h index df04dce..f614187 100644 --- a/binutils-2.25/gas/as.h +++ b/binutils-2.25/gas/as.h @@ -423,6 +423,9 @@ extern int max_macro_nest; /* Verbosity level. */ extern int verbose; +/* Enable incbin directive. */ +extern int allow_incbin_directive; + /* Obstack chunk size. Keep large for efficient space use, make small to increase malloc calls for monitoring memory allocation. */ extern int chunksize; diff --git a/binutils-2.25/gas/config/bfin-aux.h b/binutils-2.25/gas/config/bfin-aux.h index 44665b9..44665b9 100644..100755 --- a/binutils-2.25/gas/config/bfin-aux.h +++ b/binutils-2.25/gas/config/bfin-aux.h diff --git a/binutils-2.25/gas/config/m68k-parse.y b/binutils-2.25/gas/config/m68k-parse.y index d5c59a1..3c7051c 100644 --- a/binutils-2.25/gas/config/m68k-parse.y +++ b/binutils-2.25/gas/config/m68k-parse.y @@ -685,8 +685,7 @@ static char *strorig; *CCP. Otherwise don't change *CCP, and return 0. */ static enum m68k_register -m68k_reg_parse (ccp) - register char **ccp; +m68k_reg_parse (char **ccp) { char *start = *ccp; char c; @@ -748,7 +747,7 @@ m68k_reg_parse (ccp) /* The lexer. */ static int -yylex () +yylex (void) { enum m68k_register reg; char *s; @@ -1091,9 +1090,7 @@ yylex () from outside this file. */ int -m68k_ip_op (s, oparg) - char *s; - struct m68k_op *oparg; +m68k_ip_op (char *s, struct m68k_op *oparg) { memset (oparg, 0, sizeof *oparg); oparg->error = NULL; @@ -1111,8 +1108,7 @@ m68k_ip_op (s, oparg) /* The error handler. */ static void -yyerror (s) - const char *s; +yyerror (const char *s) { op->error = s; } diff --git a/binutils-2.25/gas/config/obj-elf.c b/binutils-2.25/gas/config/obj-elf.c index e2ef99e..50a5d1c 100644 --- a/binutils-2.25/gas/config/obj-elf.c +++ b/binutils-2.25/gas/config/obj-elf.c @@ -125,8 +125,10 @@ static const pseudo_typeS elf_pseudo_table[] = {"8byte", cons, 8}, /* These are used for dwarf2. */ { "file", (void (*) (int)) dwarf2_directive_file, 0 }, - { "loc", dwarf2_directive_loc, 0 }, + { "loc", dwarf2_directive_loc, 0 }, { "loc_mark_labels", dwarf2_directive_loc_mark_labels, 0 }, + { "lloc", dwarf2_directive_loc, 1 }, + { "subprog", dwarf2_directive_subprog, 0 }, /* We need to trap the section changing calls to handle .previous. */ {"data", obj_elf_data, 0}, diff --git a/binutils-2.25/gas/config/tc-aarch64.c b/binutils-2.25/gas/config/tc-aarch64.c index 0e58764..4f3fe47 100644 --- a/binutils-2.25/gas/config/tc-aarch64.c +++ b/binutils-2.25/gas/config/tc-aarch64.c @@ -3939,11 +3939,11 @@ output_info (const char *format, ...) static void output_operand_error_record (const operand_error_record *record, char *str) { - int idx = record->detail.index; + const aarch64_operand_error *detail = &record->detail; + int idx = detail->index; const aarch64_opcode *opcode = record->opcode; - enum aarch64_opnd opd_code = (idx != -1 ? opcode->operands[idx] + enum aarch64_opnd opd_code = (idx >= 0 ? opcode->operands[idx] : AARCH64_OPND_NIL); - const aarch64_operand_error *detail = &record->detail; switch (detail->kind) { @@ -3955,20 +3955,22 @@ output_operand_error_record (const operand_error_record *record, char *str) case AARCH64_OPDE_RECOVERABLE: case AARCH64_OPDE_FATAL_SYNTAX_ERROR: case AARCH64_OPDE_OTHER_ERROR: - gas_assert (idx >= 0); /* Use the prepared error message if there is, otherwise use the operand description string to describe the error. */ if (detail->error != NULL) { - if (detail->index == -1) + if (idx < 0) as_bad (_("%s -- `%s'"), detail->error, str); else as_bad (_("%s at operand %d -- `%s'"), - detail->error, detail->index + 1, str); + detail->error, idx + 1, str); } else - as_bad (_("operand %d should be %s -- `%s'"), idx + 1, + { + gas_assert (idx >= 0); + as_bad (_("operand %d should be %s -- `%s'"), idx + 1, aarch64_get_operand_desc (opd_code), str); + } break; case AARCH64_OPDE_INVALID_VARIANT: @@ -4073,28 +4075,28 @@ output_operand_error_record (const operand_error_record *record, char *str) if (detail->data[0] != detail->data[1]) as_bad (_("%s out of range %d to %d at operand %d -- `%s'"), detail->error ? detail->error : _("immediate value"), - detail->data[0], detail->data[1], detail->index + 1, str); + detail->data[0], detail->data[1], idx + 1, str); else as_bad (_("%s expected to be %d at operand %d -- `%s'"), detail->error ? detail->error : _("immediate value"), - detail->data[0], detail->index + 1, str); + detail->data[0], idx + 1, str); break; case AARCH64_OPDE_REG_LIST: if (detail->data[0] == 1) as_bad (_("invalid number of registers in the list; " "only 1 register is expected at operand %d -- `%s'"), - detail->index + 1, str); + idx + 1, str); else as_bad (_("invalid number of registers in the list; " "%d registers are expected at operand %d -- `%s'"), - detail->data[0], detail->index + 1, str); + detail->data[0], idx + 1, str); break; case AARCH64_OPDE_UNALIGNED: as_bad (_("immediate value should be a multiple of " "%d at operand %d -- `%s'"), - detail->data[0], detail->index + 1, str); + detail->data[0], idx + 1, str); break; default: @@ -7184,20 +7186,10 @@ static const struct aarch64_cpu_option_table aarch64_cpus[] = { AARCH64_FEATURE_CRC), "Cortex-A53"}, {"cortex-a57", AARCH64_FEATURE(AARCH64_ARCH_V8, AARCH64_FEATURE_CRC), "Cortex-A57"}, - /* The 'xgene-1' name is an older name for 'xgene1', which was used - in earlier releases and is superseded by 'xgene1' in all - tools. */ + {"thunderx", AARCH64_ARCH_V8, "Cavium ThunderX"}, {"xgene-1", AARCH64_ARCH_V8, "APM X-Gene 1"}, - {"xgene1", AARCH64_ARCH_V8, "APM X-Gene 1"}, - {"xgene2", AARCH64_FEATURE(AARCH64_ARCH_V8, - AARCH64_FEATURE_CRC), "APM X-Gene 2"}, {"generic", AARCH64_ARCH_V8, NULL}, - /* These two are example CPUs supported in GCC, once we have real - CPUs they will be removed. */ - {"example-1", AARCH64_ARCH_V8, NULL}, - {"example-2", AARCH64_ARCH_V8, NULL}, - {NULL, AARCH64_ARCH_NONE, NULL} }; diff --git a/binutils-2.25/gas/config/tc-alpha.c b/binutils-2.25/gas/config/tc-alpha.c index ea6aa19..f91c4ca 100644 --- a/binutils-2.25/gas/config/tc-alpha.c +++ b/binutils-2.25/gas/config/tc-alpha.c @@ -4482,7 +4482,7 @@ s_alpha_pdesc (int ignore ATTRIBUTE_UNUSED) { char *name; char name_end; - register char *p; + char *p; expressionS exp; symbolS *entry_sym; const char *entry_sym_name; diff --git a/binutils-2.25/gas/config/tc-bfin.c b/binutils-2.25/gas/config/tc-bfin.c index 447a477..6646482 100644 --- a/binutils-2.25/gas/config/tc-bfin.c +++ b/binutils-2.25/gas/config/tc-bfin.c @@ -111,7 +111,7 @@ bfin_pic_ptr (int nbytes) static void bfin_s_bss (int ignore ATTRIBUTE_UNUSED) { - register int temp; + int temp; temp = get_absolute_expression (); subseg_set (bss_section, (subsegT) temp); diff --git a/binutils-2.25/gas/config/tc-d10v.c b/binutils-2.25/gas/config/tc-d10v.c index 8e3d171..dacfeb7 100644 --- a/binutils-2.25/gas/config/tc-d10v.c +++ b/binutils-2.25/gas/config/tc-d10v.c @@ -1226,9 +1226,7 @@ find_opcode (struct d10v_opcode *opcode, expressionS myops[]) sym_frag = symbol_get_frag (myops[opnum].X_add_symbol); found_symbol = FALSE; - current_position = - obstack_next_free (&frchain_now->frch_obstack) - - frag_now->fr_literal; + current_position = frag_now_fix_octets (); symbol_position = S_GET_VALUE (myops[opnum].X_add_symbol); for (f = frchain_now->frch_root; f; f = f->fr_next) diff --git a/binutils-2.25/gas/config/tc-d30v.c b/binutils-2.25/gas/config/tc-d30v.c index 9076e41..a73f9b1 100644 --- a/binutils-2.25/gas/config/tc-d30v.c +++ b/binutils-2.25/gas/config/tc-d30v.c @@ -1242,12 +1242,10 @@ find_format (struct d30v_opcode *opcode, /* Calculate the current address by running through the previous frags and adding our current offset. */ - value = 0; + value = frag_now_fix_octets (); for (f = frchain_now->frch_root; f; f = f->fr_next) value += f->fr_fix + f->fr_offset; - value = (S_GET_VALUE (myops[j].X_add_symbol) - value - - (obstack_next_free (&frchain_now->frch_obstack) - - frag_now->fr_literal)); + value = S_GET_VALUE (myops[j].X_add_symbol) - value; if (check_range (value, bits, flags)) match = 0; } diff --git a/binutils-2.25/gas/config/tc-epiphany.c b/binutils-2.25/gas/config/tc-epiphany.c index ebaedc4..ebaedc4 100644..100755 --- a/binutils-2.25/gas/config/tc-epiphany.c +++ b/binutils-2.25/gas/config/tc-epiphany.c diff --git a/binutils-2.25/gas/config/tc-epiphany.h b/binutils-2.25/gas/config/tc-epiphany.h index ddfb475..ddfb475 100644..100755 --- a/binutils-2.25/gas/config/tc-epiphany.h +++ b/binutils-2.25/gas/config/tc-epiphany.h diff --git a/binutils-2.25/gas/config/tc-i386-intel.c b/binutils-2.25/gas/config/tc-i386-intel.c index 86b96eb..b55d985 100644 --- a/binutils-2.25/gas/config/tc-i386-intel.c +++ b/binutils-2.25/gas/config/tc-i386-intel.c @@ -141,7 +141,9 @@ operatorT i386_operator (const char *name, unsigned int operands, char *pc) int adjust = 0; char *gotfree_input_line = lex_got (&i.reloc[this_operand], &adjust, - &intel_state.reloc_types); + &intel_state.reloc_types, + (i.bnd_prefix != NULL + || add_bnd_prefix)); if (!gotfree_input_line) break; diff --git a/binutils-2.25/gas/config/tc-i386.c b/binutils-2.25/gas/config/tc-i386.c index 6f7a1ae..97e326c 100644 --- a/binutils-2.25/gas/config/tc-i386.c +++ b/binutils-2.25/gas/config/tc-i386.c @@ -2830,6 +2830,7 @@ static bfd_reloc_code_real_type reloc (unsigned int size, int pcrel, int sign, + int bnd_prefix, bfd_reloc_code_real_type other) { if (other != NO_RELOC) @@ -2842,6 +2843,9 @@ reloc (unsigned int size, case BFD_RELOC_X86_64_GOT32: return BFD_RELOC_X86_64_GOT64; break; + case BFD_RELOC_X86_64_GOTPLT64: + return BFD_RELOC_X86_64_GOTPLT64; + break; case BFD_RELOC_X86_64_PLTOFF64: return BFD_RELOC_X86_64_PLTOFF64; break; @@ -2905,7 +2909,9 @@ reloc (unsigned int size, { case 1: return BFD_RELOC_8_PCREL; case 2: return BFD_RELOC_16_PCREL; - case 4: return BFD_RELOC_32_PCREL; + case 4: return (bnd_prefix && object_64bit + ? BFD_RELOC_X86_64_PC32_BND + : BFD_RELOC_32_PCREL); case 8: return BFD_RELOC_64_PCREL; } as_bad (_("cannot do %u byte pc-relative relocation"), size); @@ -6770,7 +6776,13 @@ output_branch (void) /* 1 possible extra opcode + 4 byte displacement go in var part. Pass reloc in fr_var. */ - frag_var (rs_machine_dependent, 5, i.reloc[0], subtype, sym, off, p); + frag_var (rs_machine_dependent, 5, + ((!object_64bit + || i.reloc[0] != NO_RELOC + || (i.bnd_prefix == NULL && !add_bnd_prefix)) + ? i.reloc[0] + : BFD_RELOC_X86_64_PC32_BND), + subtype, sym, off, p); } static void @@ -6846,7 +6858,10 @@ output_jump (void) } fixP = fix_new_exp (frag_now, p - frag_now->fr_literal, size, - i.op[0].disps, 1, reloc (size, 1, 1, i.reloc[0])); + i.op[0].disps, 1, reloc (size, 1, 1, + (i.bnd_prefix != NULL + || add_bnd_prefix), + i.reloc[0])); /* All jumps handled here are signed, but don't use a signed limit check for 32 and 16 bit jumps as we want to allow wrap around at @@ -6912,7 +6927,7 @@ output_interseg_jump (void) } else fix_new_exp (frag_now, p - frag_now->fr_literal, size, - i.op[1].imms, 0, reloc (size, 0, 0, i.reloc[1])); + i.op[1].imms, 0, reloc (size, 0, 0, 0, i.reloc[1])); if (i.op[0].imms->X_op != O_constant) as_bad (_("can't handle non absolute segment in `%s'"), i.tm.name); @@ -7191,7 +7206,10 @@ output_disp (fragS *insn_start_frag, offsetT insn_start_off) } p = frag_more (size); - reloc_type = reloc (size, pcrel, sign, i.reloc[n]); + reloc_type = reloc (size, pcrel, sign, + (i.bnd_prefix != NULL + || add_bnd_prefix), + i.reloc[n]); if (GOT_symbol && GOT_symbol == i.op[n].disps->X_add_symbol && (((reloc_type == BFD_RELOC_32 @@ -7282,7 +7300,7 @@ output_imm (fragS *insn_start_frag, offsetT insn_start_off) sign = 0; p = frag_more (size); - reloc_type = reloc (size, 0, sign, i.reloc[n]); + reloc_type = reloc (size, 0, sign, 0, i.reloc[n]); /* This is tough to explain. We end up with this one if we * have operands that look like @@ -7375,7 +7393,7 @@ void x86_cons_fix_new (fragS *frag, unsigned int off, unsigned int len, expressionS *exp, bfd_reloc_code_real_type r) { - r = reloc (len, 0, cons_sign, r); + r = reloc (len, 0, cons_sign, 0, r); #ifdef TE_PE if (exp->X_op == O_secrel) @@ -7401,7 +7419,7 @@ x86_address_bytes (void) #if !(defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) || defined (OBJ_MACH_O)) \ || defined (LEX_AT) -# define lex_got(reloc, adjust, types) NULL +# define lex_got(reloc, adjust, types, bnd_prefix) NULL #else /* Parse operands of the form <symbol>@GOTOFF+<nnn> @@ -7415,7 +7433,8 @@ x86_address_bytes (void) static char * lex_got (enum bfd_reloc_code_real *rel, int *adjust, - i386_operand_type *types) + i386_operand_type *types, + int bnd_prefix) { /* Some of the relocations depend on the size of what field is to be relocated. But in our callers i386_immediate and i386_displacement @@ -7550,6 +7569,8 @@ lex_got (enum bfd_reloc_code_real *rel, *adjust = len; memcpy (tmpbuf + first, past_reloc, second); tmpbuf[first + second] = '\0'; + if (bnd_prefix && *rel == BFD_RELOC_X86_64_PLT32) + *rel = BFD_RELOC_X86_64_PLT32_BND; return tmpbuf; } @@ -7582,7 +7603,8 @@ lex_got (enum bfd_reloc_code_real *rel, static char * lex_got (enum bfd_reloc_code_real *rel ATTRIBUTE_UNUSED, int *adjust ATTRIBUTE_UNUSED, - i386_operand_type *types) + i386_operand_type *types, + int bnd_prefix ATTRIBUTE_UNUSED) { static const struct { @@ -7683,7 +7705,7 @@ x86_cons (expressionS *exp, int size) int adjust = 0; save = input_line_pointer; - gotfree_input_line = lex_got (&got_reloc, &adjust, NULL); + gotfree_input_line = lex_got (&got_reloc, &adjust, NULL, 0); if (gotfree_input_line) input_line_pointer = gotfree_input_line; @@ -7917,7 +7939,9 @@ i386_immediate (char *imm_start) save_input_line_pointer = input_line_pointer; input_line_pointer = imm_start; - gotfree_input_line = lex_got (&i.reloc[this_operand], NULL, &types); + gotfree_input_line = lex_got (&i.reloc[this_operand], NULL, &types, + (i.bnd_prefix != NULL + || add_bnd_prefix)); if (gotfree_input_line) input_line_pointer = gotfree_input_line; @@ -8174,7 +8198,9 @@ i386_displacement (char *disp_start, char *disp_end) *displacement_string_end = '0'; } #endif - gotfree_input_line = lex_got (&i.reloc[this_operand], NULL, &types); + gotfree_input_line = lex_got (&i.reloc[this_operand], NULL, &types, + (i.bnd_prefix != NULL + || add_bnd_prefix)); if (gotfree_input_line) input_line_pointer = gotfree_input_line; @@ -9134,7 +9160,8 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) && (fixP->fx_r_type == BFD_RELOC_32_PCREL || fixP->fx_r_type == BFD_RELOC_64_PCREL || fixP->fx_r_type == BFD_RELOC_16_PCREL - || fixP->fx_r_type == BFD_RELOC_8_PCREL) + || fixP->fx_r_type == BFD_RELOC_8_PCREL + || fixP->fx_r_type == BFD_RELOC_X86_64_PC32_BND) && !use_rela_relocations) { /* This is a hack. There should be a better way to handle this. @@ -9203,6 +9230,7 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) { case BFD_RELOC_386_PLT32: case BFD_RELOC_X86_64_PLT32: + case BFD_RELOC_X86_64_PLT32_BND: /* Make the jump instruction point to the address of the operand. At runtime we merely add the offset to the actual PLT entry. */ value = -4; @@ -10326,6 +10354,7 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp) #endif case BFD_RELOC_X86_64_PLT32: + case BFD_RELOC_X86_64_PLT32_BND: case BFD_RELOC_X86_64_GOT32: case BFD_RELOC_X86_64_GOTPCREL: case BFD_RELOC_386_PLT32: @@ -10386,7 +10415,10 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp) break; case 1: code = BFD_RELOC_8_PCREL; break; case 2: code = BFD_RELOC_16_PCREL; break; - case 4: code = BFD_RELOC_32_PCREL; break; + case 4: + code = (fixp->fx_r_type == BFD_RELOC_X86_64_PC32_BND + ? fixp-> fx_r_type : BFD_RELOC_32_PCREL); + break; #ifdef BFD64 case 8: code = BFD_RELOC_64_PCREL; break; #endif @@ -10479,6 +10511,7 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp) switch (code) { case BFD_RELOC_X86_64_PLT32: + case BFD_RELOC_X86_64_PLT32_BND: case BFD_RELOC_X86_64_GOT32: case BFD_RELOC_X86_64_GOTPCREL: case BFD_RELOC_X86_64_TLSGD: diff --git a/binutils-2.25/gas/config/tc-i860.c b/binutils-2.25/gas/config/tc-i860.c index 1b55b80..dd51c26 100644 --- a/binutils-2.25/gas/config/tc-i860.c +++ b/binutils-2.25/gas/config/tc-i860.c @@ -1028,7 +1028,7 @@ md_number_to_chars (char *buf, valueT val, int n) /* This should never be called for i860. */ int -md_estimate_size_before_relax (register fragS *fragP ATTRIBUTE_UNUSED, +md_estimate_size_before_relax (fragS *fragP ATTRIBUTE_UNUSED, segT segtype ATTRIBUTE_UNUSED) { as_fatal (_("relaxation not supported\n")); diff --git a/binutils-2.25/gas/config/tc-m68hc11.c b/binutils-2.25/gas/config/tc-m68hc11.c index 3641912..9026ff4 100644 --- a/binutils-2.25/gas/config/tc-m68hc11.c +++ b/binutils-2.25/gas/config/tc-m68hc11.c @@ -3958,7 +3958,7 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, asection *sec ATTRIBUTE_UNUSED, char *buffer_address = fragP->fr_literal; /* Address in object code of the displacement. */ - register int object_address = fragP->fr_fix + fragP->fr_address; + int object_address = fragP->fr_fix + fragP->fr_address; buffer_address += fragP->fr_fix; diff --git a/binutils-2.25/gas/config/tc-m68k.c b/binutils-2.25/gas/config/tc-m68k.c index 7fc4efe..dbcd87b 100644 --- a/binutils-2.25/gas/config/tc-m68k.c +++ b/binutils-2.25/gas/config/tc-m68k.c @@ -1395,11 +1395,11 @@ static struct hash_control *op_hash; static void m68k_ip (char *instring) { - register char *p; - register struct m68k_op *opP; - register const struct m68k_incant *opcode; - register const char *s; - register int tmpreg = 0, baseo = 0, outro = 0, nextword; + char *p; + struct m68k_op *opP; + const struct m68k_incant *opcode; + const char *s; + int tmpreg = 0, baseo = 0, outro = 0, nextword; char *pdot, *pdotmove; enum m68k_size siz1, siz2; char c; @@ -3955,9 +3955,9 @@ install_gen_operand (int mode, int val) static char * crack_operand (char *str, struct m68k_op *opP) { - register int parens; - register int c; - register char *beg_str; + int parens; + int c; + char *beg_str; int inquote = 0; if (!str) @@ -5033,12 +5033,12 @@ md_convert_frag_1 (fragS *fragP) fixS *fixP = NULL; /* Address in object code of the displacement. */ - register int object_address = fragP->fr_fix + fragP->fr_address; + int object_address = fragP->fr_fix + fragP->fr_address; /* Address in gas core of the place to store the displacement. */ /* This convinces the native rs6000 compiler to generate the code we want. */ - register char *buffer_address = fragP->fr_literal; + char *buffer_address = fragP->fr_literal; buffer_address += fragP->fr_fix; /* End ibm compiler workaround. */ @@ -5663,8 +5663,8 @@ s_bss (int ignore ATTRIBUTE_UNUSED) static void s_even (int ignore ATTRIBUTE_UNUSED) { - register int temp; - register long temp_fill; + int temp; + long temp_fill; temp = 1; /* JF should be 2? */ temp_fill = get_absolute_expression (); diff --git a/binutils-2.25/gas/config/tc-mips.c b/binutils-2.25/gas/config/tc-mips.c index 0f7e0c5..59f7a73 100644 --- a/binutils-2.25/gas/config/tc-mips.c +++ b/binutils-2.25/gas/config/tc-mips.c @@ -510,7 +510,8 @@ static int mips_32bitmode = 0; #define CPU_HAS_ROR(CPU) CPU_HAS_DROR (CPU) /* True if CPU is in the Octeon family */ -#define CPU_IS_OCTEON(CPU) ((CPU) == CPU_OCTEON || (CPU) == CPU_OCTEONP || (CPU) == CPU_OCTEON2) +#define CPU_IS_OCTEON(CPU) ((CPU) == CPU_OCTEON || (CPU) == CPU_OCTEONP \ + || (CPU) == CPU_OCTEON2 || (CPU) == CPU_OCTEON3) /* True if CPU has seq/sne and seqi/snei instructions. */ #define CPU_HAS_SEQ(CPU) (CPU_IS_OCTEON (CPU)) @@ -1878,7 +1879,7 @@ static void mips_compressed_mark_labels (void); static inline void mips_clear_insn_labels (void) { - register struct insn_label_list **pl; + struct insn_label_list **pl; segment_info_type *si; if (now_seg) @@ -18825,6 +18826,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] = { "octeon", 0, 0, ISA_MIPS64R2, CPU_OCTEON }, { "octeon+", 0, 0, ISA_MIPS64R2, CPU_OCTEONP }, { "octeon2", 0, 0, ISA_MIPS64R2, CPU_OCTEON2 }, + { "octeon3", 0, ASE_VIRT | ASE_VIRT64, ISA_MIPS64R5, CPU_OCTEON3 }, /* RMI Xlr */ { "xlr", 0, 0, ISA_MIPS64, CPU_XLR }, diff --git a/binutils-2.25/gas/config/tc-mn10200.c b/binutils-2.25/gas/config/tc-mn10200.c index f76fb08..7462d93 100644 --- a/binutils-2.25/gas/config/tc-mn10200.c +++ b/binutils-2.25/gas/config/tc-mn10200.c @@ -686,7 +686,7 @@ void md_begin (void) { char *prev_name = ""; - register const struct mn10200_opcode *op; + const struct mn10200_opcode *op; mn10200_hash = hash_new (); diff --git a/binutils-2.25/gas/config/tc-nios2.c b/binutils-2.25/gas/config/tc-nios2.c index 21f4288..7691fd1 100644 --- a/binutils-2.25/gas/config/tc-nios2.c +++ b/binutils-2.25/gas/config/tc-nios2.c @@ -139,6 +139,10 @@ typedef struct nios2_insn_info { /* Assembled instruction. */ unsigned long insn_code; + + /* Constant bits masked into insn_code for self-check mode. */ + unsigned long constant_bits; + /* Pointer to the relevant bit of the opcode table. */ const struct nios2_opcode *insn_nios2_opcode; /* After parsing ptrs to the tokens in the instruction fill this array @@ -152,15 +156,6 @@ typedef struct nios2_insn_info nios2_insn_relocS *insn_reloc; } nios2_insn_infoS; -/* This struct associates an argument assemble function with - an argument syntax string. Used by the assembler to find out - how to parse and assemble a set of instruction operands and - return the instruction field values. */ -typedef struct nios2_arg_info -{ - const char *args; - void (*assemble_args_func) (nios2_insn_infoS *insn_info); -} nios2_arg_infoS; /* This struct is used to convert Nios II pseudo-ops into the corresponding real op. */ @@ -196,10 +191,6 @@ static struct hash_control *nios2_reg_hash = NULL; #define nios2_reg_lookup(NAME) \ ((struct nios2_reg *) hash_find (nios2_reg_hash, (NAME))) -/* Parse args hash table. */ -static struct hash_control *nios2_arg_hash = NULL; -#define nios2_arg_lookup(NAME) \ - ((nios2_arg_infoS *) hash_find (nios2_arg_hash, (NAME))) /* Pseudo-op hash table. */ static struct hash_control *nios2_ps_hash = NULL; @@ -303,27 +294,6 @@ md_atof (int type, char *litP, int *sizeP) #define strprefix(STR, PREFIX) \ (strncmp ((STR), PREFIX, strlen (PREFIX)) == 0) -/* Return true if STR is prefixed with a control register name. */ -static int -nios2_control_register_arg_p (const char *str) -{ - return (strprefix (str, "ctl") - || strprefix (str, "cpuid") - || strprefix (str, "status") - || strprefix (str, "estatus") - || strprefix (str, "bstatus") - || strprefix (str, "ienable") - || strprefix (str, "ipending") - || strprefix (str, "exception") - || strprefix (str, "pteaddr") - || strprefix (str, "tlbacc") - || strprefix (str, "tlbmisc") - || strprefix (str, "eccinj") - || strprefix (str, "config") - || strprefix (str, "mpubase") - || strprefix (str, "mpuacc") - || strprefix (str, "badaddr")); -} /* Return true if STR is prefixed with a special relocation operator. */ static int @@ -345,24 +315,6 @@ nios2_special_relocation_p (const char *str) || strprefix (str, "%gotoff")); } -/* Checks whether the register name is a coprocessor - register - returns TRUE if it is, FALSE otherwise. */ -static bfd_boolean -nios2_coproc_reg (const char *reg_name) -{ - gas_assert (reg_name != NULL); - - /* Check that we do have a valid register name and that it is a - coprocessor register. - It must begin with c, not be a control register, and be a valid - register name. */ - if (strprefix (reg_name, "c") - && !strprefix (reg_name, "ctl") - && hash_find (nios2_reg_hash, reg_name) != NULL) - return TRUE; - else - return FALSE; -} /* nop fill pattern for text section. */ static char const nop[4] = { 0x3a, 0x88, 0x01, 0x00 }; @@ -816,9 +768,9 @@ nios2_relax_frag (segT segment, fragS *fragp, long stretch) target = fragp->fr_next->fr_address + stretch; } - /* We subtract 4 because all pc relative branches are - from the next instruction. */ - offset = target - fragp->fr_address - fragp->fr_fix - 4; + /* We subtract fr_var (4 for 32-bit insns) because all pc relative + branches are from the next instruction. */ + offset = target - fragp->fr_address - fragp->fr_fix - fragp->fr_var; if (offset >= -32768 && offset <= 32764) /* Fits in PC-relative branch. */ n = 0; @@ -902,6 +854,7 @@ md_convert_frag (bfd *headers ATTRIBUTE_UNUSED, segT segment ATTRIBUTE_UNUSED, if (IS_CBRANCH (subtype)) { unsigned int br_opcode; + unsigned int old_op, new_op; int nbytes; /* Account for the nextpc and jmp in the pc-relative case, or the two @@ -912,25 +865,26 @@ md_convert_frag (bfd *headers ATTRIBUTE_UNUSED, segT segment ATTRIBUTE_UNUSED, nbytes = 12; br_opcode = md_chars_to_number (buffer, 4); - switch (br_opcode & OP_MASK_OP) + old_op = GET_IW_R1_OP (br_opcode); + switch (old_op) { - case OP_MATCH_BEQ: - br_opcode = (br_opcode & ~OP_MASK_OP) | OP_MATCH_BNE; + case R1_OP_BEQ: + new_op = R1_OP_BNE; break; - case OP_MATCH_BNE: - br_opcode = (br_opcode & ~OP_MASK_OP) | OP_MATCH_BEQ ; + case R1_OP_BNE: + new_op = R1_OP_BEQ; break; - case OP_MATCH_BGE: - br_opcode = (br_opcode & ~OP_MASK_OP) | OP_MATCH_BLT ; + case R1_OP_BGE: + new_op = R1_OP_BLT; break; - case OP_MATCH_BGEU: - br_opcode = (br_opcode & ~OP_MASK_OP) | OP_MATCH_BLTU ; + case R1_OP_BGEU: + new_op = R1_OP_BLTU; break; - case OP_MATCH_BLT: - br_opcode = (br_opcode & ~OP_MASK_OP) | OP_MATCH_BGE ; + case R1_OP_BLT: + new_op = R1_OP_BGE; break; - case OP_MATCH_BLTU: - br_opcode = (br_opcode & ~OP_MASK_OP) | OP_MATCH_BGEU ; + case R1_OP_BLTU: + new_op = R1_OP_BGEU; break; default: as_bad_where (fragp->fr_file, fragp->fr_line, @@ -938,7 +892,8 @@ md_convert_frag (bfd *headers ATTRIBUTE_UNUSED, segT segment ATTRIBUTE_UNUSED, abort (); } - br_opcode = br_opcode | (nbytes << OP_SH_IMM16); + br_opcode = (br_opcode & ~IW_R1_OP_SHIFTED_MASK) | SET_IW_R1_OP (new_op); + br_opcode = br_opcode | SET_IW_I_IMM16 (nbytes); md_number_to_chars (buffer, br_opcode, 4); fragp->fr_fix += 4; buffer += 4; @@ -949,7 +904,7 @@ md_convert_frag (bfd *headers ATTRIBUTE_UNUSED, segT segment ATTRIBUTE_UNUSED, { /* Insert the nextpc instruction. */ md_number_to_chars (buffer, - OP_MATCH_NEXTPC | (AT_REGNUM << OP_SH_RRD), 4); + MATCH_R1_NEXTPC | SET_IW_R_C (AT_REGNUM), 4); fragp->fr_fix += 4; buffer += 4; @@ -960,12 +915,12 @@ md_convert_frag (bfd *headers ATTRIBUTE_UNUSED, segT segment ATTRIBUTE_UNUSED, addend = 32767; else addend = -32768; - addend_mask = (((unsigned int)addend) & 0xffff) << OP_SH_IMM16; + addend_mask = SET_IW_I_IMM16 ((unsigned int)addend); /* Insert n-1 addi instructions. */ - addi_mask = (OP_MATCH_ADDI - | (AT_REGNUM << OP_SH_IRD) - | (AT_REGNUM << OP_SH_IRS)); + addi_mask = (MATCH_R1_ADDI + | SET_IW_I_B (AT_REGNUM) + | SET_IW_I_A (AT_REGNUM)); for (i = 0; i < n - 1; i ++) { md_number_to_chars (buffer, addi_mask | addend_mask, 4); @@ -976,7 +931,7 @@ md_convert_frag (bfd *headers ATTRIBUTE_UNUSED, segT segment ATTRIBUTE_UNUSED, /* Insert the last addi instruction to hold the remainder. */ remainder = offset - addend * (n - 1); gas_assert (remainder >= -32768 && remainder <= 32767); - addend_mask = (((unsigned int)remainder) & 0xffff) << OP_SH_IMM16; + addend_mask = SET_IW_I_IMM16 ((unsigned int)remainder); md_number_to_chars (buffer, addi_mask | addend_mask, 4); fragp->fr_fix += 4; buffer += 4; @@ -985,12 +940,18 @@ md_convert_frag (bfd *headers ATTRIBUTE_UNUSED, segT segment ATTRIBUTE_UNUSED, /* Load at for the absolute case. */ else { - md_number_to_chars (buffer, OP_MATCH_ORHI | 0x00400000, 4); + md_number_to_chars (buffer, + (MATCH_R1_ORHI | SET_IW_I_B (AT_REGNUM) + | SET_IW_I_A (0)), + 4); fix_new (fragp, fragp->fr_fix, 4, fragp->fr_symbol, fragp->fr_offset, 0, BFD_RELOC_NIOS2_HI16); fragp->fr_fix += 4; buffer += 4; - md_number_to_chars (buffer, OP_MATCH_ORI | 0x08400000, 4); + md_number_to_chars (buffer, + (MATCH_R1_ORI | SET_IW_I_B (AT_REGNUM) + | SET_IW_I_A (AT_REGNUM)), + 4); fix_new (fragp, fragp->fr_fix, 4, fragp->fr_symbol, fragp->fr_offset, 0, BFD_RELOC_NIOS2_LO16); fragp->fr_fix += 4; @@ -998,7 +959,7 @@ md_convert_frag (bfd *headers ATTRIBUTE_UNUSED, segT segment ATTRIBUTE_UNUSED, } /* Insert the jmp instruction. */ - md_number_to_chars (buffer, OP_MATCH_JMP | (AT_REGNUM << OP_SH_RRS), 4); + md_number_to_chars (buffer, MATCH_R1_JMP | SET_IW_R_A (AT_REGNUM), 4); fragp->fr_fix += 4; buffer += 4; } @@ -1071,9 +1032,10 @@ nios2_diagnose_overflow (valueT fixup, reloc_howto_type *howto, unsigned int range_min; unsigned int range_max; unsigned int address; - gas_assert (fixP->fx_size == 4); - opcode = nios2_find_opcode_hash (value); + + opcode = nios2_find_opcode_hash (value, bfd_get_mach (stdoutput)); gas_assert (opcode); + gas_assert (fixP->fx_size == opcode->size); overflow_msg_type = opcode->overflow_msg; switch (overflow_msg_type) { @@ -1240,7 +1202,8 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) FIXME : for some reason fixP->fx_pcrel isn't 1 when it should be so I'm using the howto structure instead to determine this. */ if (howto->pc_relative == 1) - fixup = fixup - (fixP->fx_frag->fr_address + fixP->fx_where + 4); + fixup = fixup - (fixP->fx_frag->fr_address + fixP->fx_where + + fixP->fx_size); /* Get the instruction or data to be fixed up. */ buf = fixP->fx_frag->fr_literal + fixP->fx_where; @@ -1297,6 +1260,16 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) /** Instruction parsing support. */ +/* General internal error routine. */ + +static void +bad_opcode (const struct nios2_opcode *op) +{ + fprintf (stderr, _("internal error: broken opcode descriptor for `%s %s'\n"), + op->name, op->args); + as_fatal (_("Broken assembler. No assembly attempted.")); +} + /* Special relocation directive strings. */ struct nios2_special_relocS @@ -1363,6 +1336,54 @@ nios2_insn_reloc_destroy (nios2_insn_relocS *reloc) } #endif +/* Look up a register name and validate it for the given regtype. + Return the register mapping or NULL on failure. */ +static struct nios2_reg * +nios2_parse_reg (const char *token, unsigned long regtype) +{ + struct nios2_reg *reg = nios2_reg_lookup (token); + + if (reg == NULL) + { + as_bad (_("unknown register %s"), token); + return NULL; + } + + /* Matched a register, but is it the wrong type? */ + if (!(regtype & reg->regtype)) + { + if (regtype & REG_CONTROL) + as_bad (_("expecting control register")); + else if (reg->regtype & REG_CONTROL) + as_bad (_("illegal use of control register")); + else if (reg->regtype & REG_COPROCESSOR) + as_bad (_("illegal use of coprocessor register")); + else + as_bad (_("invalid register %s"), token); + return NULL; + } + + /* Warn for explicit use of special registers. */ + if (reg->regtype & REG_NORMAL) + { + if (!nios2_as_options.noat && reg->index == 1) + as_warn (_("Register at (r1) can sometimes be corrupted by " + "assembler optimizations.\n" + "Use .set noat to turn off those optimizations " + "(and this warning).")); + if (!nios2_as_options.nobreak && reg->index == 25) + as_warn (_("The debugger will corrupt bt (r25).\n" + "If you don't need to debug this " + "code use .set nobreak to turn off this warning.")); + if (!nios2_as_options.nobreak && reg->index == 30) + as_warn (_("The debugger will corrupt sstatus/ba (r30).\n" + "If you don't need to debug this " + "code use .set nobreak to turn off this warning.")); + } + + return reg; +} + /* The various nios2_assemble_* functions call this function to generate an expression from a string representing an expression. It then tries to evaluate the expression, and if it can, returns its value. @@ -1371,7 +1392,6 @@ nios2_insn_reloc_destroy (nios2_insn_relocS *reloc) static unsigned long nios2_assemble_expression (const char *exprstr, nios2_insn_infoS *insn, - nios2_insn_relocS *prev_reloc, bfd_reloc_code_real_type reloc_type, unsigned int pcrel) { @@ -1407,10 +1427,8 @@ nios2_assemble_expression (const char *exprstr, /* We potentially have a relocation. */ reloc = nios2_insn_reloc_new (reloc_type, pcrel); - if (prev_reloc != NULL) - prev_reloc->reloc_next = reloc; - else - insn->insn_reloc = reloc; + reloc->reloc_next = insn->insn_reloc; + insn->insn_reloc = reloc; /* Parse the expression string. */ saved_line_ptr = input_line_pointer; @@ -1429,480 +1447,310 @@ nios2_assemble_expression (const char *exprstr, return (unsigned long) value; } -/* Argument assemble functions. - All take an instruction argument string, and a pointer - to an instruction opcode. Upon return the insn_opcode - has the relevant fields filled in to represent the arg - string. The return value is NULL if successful, or - an error message if an error was detected. - - The naming conventions for these functions match the args template - in the nios2_opcode structure, as documented in include/opcode/nios2.h. - For example, nios2_assemble_args_dst is used for instructions with - "d,s,t" args. - See nios2_arg_info_structs below for the exact correspondence. */ -static void -nios2_assemble_args_dst (nios2_insn_infoS *insn_info) +/* Argument assemble functions. */ +static void +nios2_assemble_arg_c (const char *token, nios2_insn_infoS *insn) { - if (insn_info->insn_tokens[1] != NULL - && insn_info->insn_tokens[2] != NULL - && insn_info->insn_tokens[3] != NULL) - { - struct nios2_reg *dst = nios2_reg_lookup (insn_info->insn_tokens[1]); - struct nios2_reg *src1 = nios2_reg_lookup (insn_info->insn_tokens[2]); - struct nios2_reg *src2 = nios2_reg_lookup (insn_info->insn_tokens[3]); - - if (dst == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); - else - SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); + struct nios2_reg *reg = nios2_parse_reg (token, REG_CONTROL); + const struct nios2_opcode *op = insn->insn_nios2_opcode; - if (src1 == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); - else - SET_INSN_FIELD (RRS, insn_info->insn_code, src1->index); - - if (src2 == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[3]); - else - SET_INSN_FIELD (RRT, insn_info->insn_code, src2->index); + if (reg == NULL) + return; - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[4]); + switch (op->format) + { + case iw_r_type: + insn->insn_code |= SET_IW_R_IMM5 (reg->index); + break; + default: + bad_opcode (op); } } -static void -nios2_assemble_args_tsi (nios2_insn_infoS *insn_info) +static void +nios2_assemble_arg_d (const char *token, nios2_insn_infoS *insn) { - if (insn_info->insn_tokens[1] != NULL && - insn_info->insn_tokens[2] != NULL && insn_info->insn_tokens[3] != NULL) - { - struct nios2_reg *dst = nios2_reg_lookup (insn_info->insn_tokens[1]); - struct nios2_reg *src1 = nios2_reg_lookup (insn_info->insn_tokens[2]); - unsigned int src2 - = nios2_assemble_expression (insn_info->insn_tokens[3], insn_info, - insn_info->insn_reloc, BFD_RELOC_NIOS2_S16, - 0); - - if (dst == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); - else - SET_INSN_FIELD (IRT, insn_info->insn_code, dst->index); - - if (src1 == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); - else - SET_INSN_FIELD (IRS, insn_info->insn_code, src1->index); + const struct nios2_opcode *op = insn->insn_nios2_opcode; + unsigned long regtype = REG_NORMAL; + struct nios2_reg *reg; - SET_INSN_FIELD (IMM16, insn_info->insn_code, src2); - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[4]); - SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); - } -} + if (op->format == iw_custom_type) + regtype |= REG_COPROCESSOR; + reg = nios2_parse_reg (token, regtype); + if (reg == NULL) + return; -static void -nios2_assemble_args_tsu (nios2_insn_infoS *insn_info) -{ - if (insn_info->insn_tokens[1] != NULL - && insn_info->insn_tokens[2] != NULL - && insn_info->insn_tokens[3] != NULL) + switch (op->format) { - struct nios2_reg *dst = nios2_reg_lookup (insn_info->insn_tokens[1]); - struct nios2_reg *src1 = nios2_reg_lookup (insn_info->insn_tokens[2]); - unsigned int src2 - = nios2_assemble_expression (insn_info->insn_tokens[3], insn_info, - insn_info->insn_reloc, BFD_RELOC_NIOS2_U16, - 0); - - if (dst == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); - else - SET_INSN_FIELD (IRT, insn_info->insn_code, dst->index); - - if (src1 == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); + case iw_r_type: + insn->insn_code |= SET_IW_R_C (reg->index); + break; + case iw_custom_type: + insn->insn_code |= SET_IW_CUSTOM_C (reg->index); + if (reg->regtype & REG_COPROCESSOR) + insn->insn_code |= SET_IW_CUSTOM_READC (0); else - SET_INSN_FIELD (IRS, insn_info->insn_code, src1->index); - - SET_INSN_FIELD (IMM16, insn_info->insn_code, src2); - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[4]); - SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); + insn->insn_code |= SET_IW_CUSTOM_READC (1); + break; + default: + bad_opcode (op); } } -static void -nios2_assemble_args_sto (nios2_insn_infoS *insn_info) +static void +nios2_assemble_arg_s (const char *token, nios2_insn_infoS *insn) { - if (insn_info->insn_tokens[1] != NULL - && insn_info->insn_tokens[2] != NULL - && insn_info->insn_tokens[3] != NULL) - { - struct nios2_reg *dst = nios2_reg_lookup (insn_info->insn_tokens[1]); - struct nios2_reg *src1 = nios2_reg_lookup (insn_info->insn_tokens[2]); - unsigned int src2 - = nios2_assemble_expression (insn_info->insn_tokens[3], insn_info, - insn_info->insn_reloc, BFD_RELOC_16_PCREL, - 1); - - if (dst == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); - else - SET_INSN_FIELD (IRS, insn_info->insn_code, dst->index); + const struct nios2_opcode *op = insn->insn_nios2_opcode; + unsigned long regtype = REG_NORMAL; + struct nios2_reg *reg; - if (src1 == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); - else - SET_INSN_FIELD (IRT, insn_info->insn_code, src1->index); + if (op->format == iw_custom_type) + regtype |= REG_COPROCESSOR; + reg = nios2_parse_reg (token, regtype); + if (reg == NULL) + return; - SET_INSN_FIELD (IMM16, insn_info->insn_code, src2); - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[4]); - SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); - } -} - -static void -nios2_assemble_args_o (nios2_insn_infoS *insn_info) -{ - if (insn_info->insn_tokens[1] != NULL) + switch (op->format) { - unsigned long immed - = nios2_assemble_expression (insn_info->insn_tokens[1], insn_info, - insn_info->insn_reloc, BFD_RELOC_16_PCREL, - 1); - SET_INSN_FIELD (IMM16, insn_info->insn_code, immed); - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[2]); - SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); + case iw_r_type: + insn->insn_code |= SET_IW_R_A (reg->index); + break; + case iw_i_type: + insn->insn_code |= SET_IW_I_A (reg->index); + break; + case iw_custom_type: + insn->insn_code |= SET_IW_CUSTOM_A (reg->index); + if (reg->regtype & REG_COPROCESSOR) + insn->insn_code |= SET_IW_CUSTOM_READA (0); + else + insn->insn_code |= SET_IW_CUSTOM_READA (1); + break; + default: + bad_opcode (op); } } -static void -nios2_assemble_args_is (nios2_insn_infoS *insn_info) +static void +nios2_assemble_arg_t (const char *token, nios2_insn_infoS *insn) { - if (insn_info->insn_tokens[1] != NULL && insn_info->insn_tokens[2] != NULL) - { - struct nios2_reg *addr_src = nios2_reg_lookup (insn_info->insn_tokens[2]); - unsigned long immed - = nios2_assemble_expression (insn_info->insn_tokens[1], insn_info, - insn_info->insn_reloc, BFD_RELOC_NIOS2_S16, - 0); + const struct nios2_opcode *op = insn->insn_nios2_opcode; + unsigned long regtype = REG_NORMAL; + struct nios2_reg *reg; - SET_INSN_FIELD (IMM16, insn_info->insn_code, immed); + if (op->format == iw_custom_type) + regtype |= REG_COPROCESSOR; + reg = nios2_parse_reg (token, regtype); + if (reg == NULL) + return; - if (addr_src == NULL) - as_bad (_("unknown base register %s"), insn_info->insn_tokens[2]); + switch (op->format) + { + case iw_r_type: + insn->insn_code |= SET_IW_R_B (reg->index); + break; + case iw_i_type: + insn->insn_code |= SET_IW_I_B (reg->index); + break; + case iw_custom_type: + insn->insn_code |= SET_IW_CUSTOM_B (reg->index); + if (reg->regtype & REG_COPROCESSOR) + insn->insn_code |= SET_IW_CUSTOM_READB (0); else - SET_INSN_FIELD (RRS, insn_info->insn_code, addr_src->index); - - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[3]); - SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); + insn->insn_code |= SET_IW_CUSTOM_READB (1); + break; + default: + bad_opcode (op); } } -static void -nios2_assemble_args_m (nios2_insn_infoS *insn_info) +static void +nios2_assemble_arg_i (const char *token, nios2_insn_infoS *insn) { - if (insn_info->insn_tokens[1] != NULL) - { - unsigned long immed - = nios2_assemble_expression (insn_info->insn_tokens[1], insn_info, - insn_info->insn_reloc, - (nios2_as_options.noat - ? BFD_RELOC_NIOS2_CALL26_NOAT - : BFD_RELOC_NIOS2_CALL26), - 0); - - SET_INSN_FIELD (IMM26, insn_info->insn_code, immed); - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[2]); - SET_INSN_FIELD (IMM26, insn_info->insn_code, 0); - } -} + const struct nios2_opcode *op = insn->insn_nios2_opcode; + unsigned int val; -static void -nios2_assemble_args_s (nios2_insn_infoS *insn_info) -{ - if (insn_info->insn_tokens[1] != NULL) + switch (op->format) { - struct nios2_reg *src = nios2_reg_lookup (insn_info->insn_tokens[1]); - if (src == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); - else - SET_INSN_FIELD (RRS, insn_info->insn_code, src->index); - - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[2]); + case iw_i_type: + val = nios2_assemble_expression (token, insn, + BFD_RELOC_NIOS2_S16, 0); + insn->constant_bits |= SET_IW_I_IMM16 (val); + break; + default: + bad_opcode (op); } } -static void -nios2_assemble_args_tis (nios2_insn_infoS *insn_info) +static void +nios2_assemble_arg_u (const char *token, nios2_insn_infoS *insn) { - if (insn_info->insn_tokens[1] != NULL - && insn_info->insn_tokens[2] != NULL - && insn_info->insn_tokens[3] != NULL) - { - struct nios2_reg *dst = nios2_reg_lookup (insn_info->insn_tokens[1]); - struct nios2_reg *addr_src = nios2_reg_lookup (insn_info->insn_tokens[3]); - unsigned long immed - = nios2_assemble_expression (insn_info->insn_tokens[2], insn_info, - insn_info->insn_reloc, BFD_RELOC_NIOS2_S16, - 0); - - if (addr_src == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[3]); - else - SET_INSN_FIELD (RRS, insn_info->insn_code, addr_src->index); - - if (dst == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); - else - SET_INSN_FIELD (RRT, insn_info->insn_code, dst->index); + const struct nios2_opcode *op = insn->insn_nios2_opcode; + unsigned int val; - SET_INSN_FIELD (IMM16, insn_info->insn_code, immed); - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[4]); - SET_INSN_FIELD (IMM16, insn_info->insn_code, 0); - } -} - -static void -nios2_assemble_args_dc (nios2_insn_infoS *insn_info) -{ - if (insn_info->insn_tokens[1] != NULL && insn_info->insn_tokens[2] != NULL) + switch (op->format) { - struct nios2_reg *ctl = nios2_reg_lookup (insn_info->insn_tokens[2]); - struct nios2_reg *dst = nios2_reg_lookup (insn_info->insn_tokens[1]); - - if (ctl == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); - else - SET_INSN_FIELD (RCTL, insn_info->insn_code, ctl->index); - - if (dst == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); - else - SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); - - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[3]); + case iw_i_type: + val = nios2_assemble_expression (token, insn, + BFD_RELOC_NIOS2_U16, 0); + insn->constant_bits |= SET_IW_I_IMM16 (val); + break; + default: + bad_opcode (op); } } -static void -nios2_assemble_args_cs (nios2_insn_infoS *insn_info) +static void +nios2_assemble_arg_o (const char *token, nios2_insn_infoS *insn) { - if (insn_info->insn_tokens[1] != NULL && insn_info->insn_tokens[2] != NULL) - { - struct nios2_reg *ctl = nios2_reg_lookup (insn_info->insn_tokens[1]); - struct nios2_reg *src = nios2_reg_lookup (insn_info->insn_tokens[2]); - - if (ctl == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); - else if (ctl->index == 4) - as_bad (_("ipending control register (ctl4) is read-only\n")); - else - SET_INSN_FIELD (RCTL, insn_info->insn_code, ctl->index); + const struct nios2_opcode *op = insn->insn_nios2_opcode; + unsigned int val; - if (src == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); - else - SET_INSN_FIELD (RRS, insn_info->insn_code, src->index); - - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[3]); + switch (op->format) + { + case iw_i_type: + val = nios2_assemble_expression (token, insn, + BFD_RELOC_16_PCREL, 1); + insn->constant_bits |= SET_IW_I_IMM16 (val); + break; + default: + bad_opcode (op); } } -static void -nios2_assemble_args_ds (nios2_insn_infoS * insn_info) +static void +nios2_assemble_arg_j (const char *token, nios2_insn_infoS *insn) { - if (insn_info->insn_tokens[1] != NULL && insn_info->insn_tokens[2] != NULL) - { - struct nios2_reg *dst = nios2_reg_lookup (insn_info->insn_tokens[1]); - struct nios2_reg *src = nios2_reg_lookup (insn_info->insn_tokens[2]); - - if (dst == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); - else - SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); - - if (src == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); - else - SET_INSN_FIELD (RRS, insn_info->insn_code, src->index); + const struct nios2_opcode *op = insn->insn_nios2_opcode; + unsigned int val; - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[3]); + switch (op->format) + { + case iw_r_type: + val = nios2_assemble_expression (token, insn, + BFD_RELOC_NIOS2_IMM5, 0); + insn->constant_bits |= SET_IW_R_IMM5 (val); + break; + default: + bad_opcode (op); } } -static void -nios2_assemble_args_ldst (nios2_insn_infoS *insn_info) +static void +nios2_assemble_arg_l (const char *token, nios2_insn_infoS *insn) { - if (insn_info->insn_tokens[1] != NULL - && insn_info->insn_tokens[2] != NULL - && insn_info->insn_tokens[3] != NULL - && insn_info->insn_tokens[4] != NULL) - { - unsigned long custom_n - = nios2_assemble_expression (insn_info->insn_tokens[1], insn_info, - insn_info->insn_reloc, - BFD_RELOC_NIOS2_IMM8, 0); - - struct nios2_reg *dst = nios2_reg_lookup (insn_info->insn_tokens[2]); - struct nios2_reg *src1 = nios2_reg_lookup (insn_info->insn_tokens[3]); - struct nios2_reg *src2 = nios2_reg_lookup (insn_info->insn_tokens[4]); + const struct nios2_opcode *op = insn->insn_nios2_opcode; + unsigned int val; - SET_INSN_FIELD (CUSTOM_N, insn_info->insn_code, custom_n); - - if (dst == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); - else - SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); - - if (src1 == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[3]); - else - SET_INSN_FIELD (RRS, insn_info->insn_code, src1->index); - - if (src2 == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[4]); - else - SET_INSN_FIELD (RRT, insn_info->insn_code, src2->index); - - /* Set or clear the bits to indicate whether coprocessor registers are - used. */ - if (nios2_coproc_reg (insn_info->insn_tokens[2])) - SET_INSN_FIELD (CUSTOM_C, insn_info->insn_code, 0); - else - SET_INSN_FIELD (CUSTOM_C, insn_info->insn_code, 1); - - if (nios2_coproc_reg (insn_info->insn_tokens[3])) - SET_INSN_FIELD (CUSTOM_A, insn_info->insn_code, 0); - else - SET_INSN_FIELD (CUSTOM_A, insn_info->insn_code, 1); - - if (nios2_coproc_reg (insn_info->insn_tokens[4])) - SET_INSN_FIELD (CUSTOM_B, insn_info->insn_code, 0); - else - SET_INSN_FIELD (CUSTOM_B, insn_info->insn_code, 1); - - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[5]); + switch (op->format) + { + case iw_custom_type: + val = nios2_assemble_expression (token, insn, + BFD_RELOC_NIOS2_IMM8, 0); + insn->constant_bits |= SET_IW_CUSTOM_N (val); + break; + default: + bad_opcode (op); } } -static void -nios2_assemble_args_none (nios2_insn_infoS *insn_info ATTRIBUTE_UNUSED) +static void +nios2_assemble_arg_m (const char *token, nios2_insn_infoS *insn) { - /* Nothing to do. */ -} + const struct nios2_opcode *op = insn->insn_nios2_opcode; + unsigned int val; -static void -nios2_assemble_args_dsj (nios2_insn_infoS *insn_info) -{ - if (insn_info->insn_tokens[1] != NULL - && insn_info->insn_tokens[2] != NULL - && insn_info->insn_tokens[3] != NULL) + switch (op->format) { - struct nios2_reg *dst = nios2_reg_lookup (insn_info->insn_tokens[1]); - struct nios2_reg *src1 = nios2_reg_lookup (insn_info->insn_tokens[2]); - - /* A 5-bit constant expression. */ - unsigned int src2 = - nios2_assemble_expression (insn_info->insn_tokens[3], insn_info, - insn_info->insn_reloc, - BFD_RELOC_NIOS2_IMM5, 0); - - if (dst == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); - else - SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); - - if (src1 == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[2]); - else - SET_INSN_FIELD (RRS, insn_info->insn_code, src1->index); - - SET_INSN_FIELD (IMM5, insn_info->insn_code, src2); - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[4]); - SET_INSN_FIELD (IMM5, insn_info->insn_code, 0); + case iw_j_type: + val = nios2_assemble_expression (token, insn, + (nios2_as_options.noat + ? BFD_RELOC_NIOS2_CALL26_NOAT + : BFD_RELOC_NIOS2_CALL26), + 0); + insn->constant_bits |= SET_IW_J_IMM26 (val); + break; + default: + bad_opcode (op); } } static void -nios2_assemble_args_d (nios2_insn_infoS *insn_info) +nios2_assemble_args (nios2_insn_infoS *insn) { - if (insn_info->insn_tokens[1] != NULL) - { - struct nios2_reg *dst = nios2_reg_lookup (insn_info->insn_tokens[1]); - - if (dst == NULL) - as_bad (_("unknown register %s"), insn_info->insn_tokens[1]); - else - SET_INSN_FIELD (RRD, insn_info->insn_code, dst->index); + const struct nios2_opcode *op = insn->insn_nios2_opcode; + const char *argptr; + unsigned int tokidx, ntok; - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[2]); - } -} + /* Make sure there are enough arguments. */ + ntok = (op->pinfo & NIOS2_INSN_OPTARG) ? op->num_args - 1 : op->num_args; + for (tokidx = 1; tokidx <= ntok; tokidx++) + if (insn->insn_tokens[tokidx] == NULL) + { + as_bad ("missing argument"); + return; + } -static void -nios2_assemble_args_b (nios2_insn_infoS *insn_info) -{ - unsigned int imm5 = 0; + for (argptr = op->args, tokidx = 1; + *argptr && insn->insn_tokens[tokidx]; + argptr++) + switch (*argptr) + { + case ',': + case '(': + case ')': + break; - if (insn_info->insn_tokens[1] != NULL) - { - /* A 5-bit constant expression. */ - imm5 = nios2_assemble_expression (insn_info->insn_tokens[1], - insn_info, insn_info->insn_reloc, - BFD_RELOC_NIOS2_IMM5, 0); - SET_INSN_FIELD (TRAP_IMM5, insn_info->insn_code, imm5); - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[2]); - } + case 'c': + nios2_assemble_arg_c (insn->insn_tokens[tokidx++], insn); + break; + + case 'd': + nios2_assemble_arg_d (insn->insn_tokens[tokidx++], insn); + break; + + case 's': + nios2_assemble_arg_s (insn->insn_tokens[tokidx++], insn); + break; + + case 't': + nios2_assemble_arg_t (insn->insn_tokens[tokidx++], insn); + break; + + case 'i': + nios2_assemble_arg_i (insn->insn_tokens[tokidx++], insn); + break; + + case 'u': + nios2_assemble_arg_u (insn->insn_tokens[tokidx++], insn); + break; + + case 'o': + nios2_assemble_arg_o (insn->insn_tokens[tokidx++], insn); + break; + + case 'j': + nios2_assemble_arg_j (insn->insn_tokens[tokidx++], insn); + break; + + case 'l': + nios2_assemble_arg_l (insn->insn_tokens[tokidx++], insn); + break; + + case 'm': + nios2_assemble_arg_m (insn->insn_tokens[tokidx++], insn); + break; + + default: + bad_opcode (op); + break; + } - SET_INSN_FIELD (TRAP_IMM5, insn_info->insn_code, imm5); - - nios2_check_assembly (insn_info->insn_code, insn_info->insn_tokens[2]); -} - -/* This table associates pointers to functions that parse the arguments to an - instruction and fill in the relevant fields of the instruction. */ -const nios2_arg_infoS nios2_arg_info_structs[] = { - /* args, assemble_args_func */ - {"d,s,t", nios2_assemble_args_dst}, - {"d,s,t,E", nios2_assemble_args_dst}, - {"t,s,i", nios2_assemble_args_tsi}, - {"t,s,i,E", nios2_assemble_args_tsi}, - {"t,s,u", nios2_assemble_args_tsu}, - {"t,s,u,E", nios2_assemble_args_tsu}, - {"s,t,o", nios2_assemble_args_sto}, - {"s,t,o,E", nios2_assemble_args_sto}, - {"o", nios2_assemble_args_o}, - {"o,E", nios2_assemble_args_o}, - {"s", nios2_assemble_args_s}, - {"s,E", nios2_assemble_args_s}, - {"", nios2_assemble_args_none}, - {"E", nios2_assemble_args_none}, - {"i(s)", nios2_assemble_args_is}, - {"i(s)E", nios2_assemble_args_is}, - {"m", nios2_assemble_args_m}, - {"m,E", nios2_assemble_args_m}, - {"t,i(s)", nios2_assemble_args_tis}, - {"t,i(s)E", nios2_assemble_args_tis}, - {"d,c", nios2_assemble_args_dc}, - {"d,c,E", nios2_assemble_args_dc}, - {"c,s", nios2_assemble_args_cs}, - {"c,s,E", nios2_assemble_args_cs}, - {"d,s", nios2_assemble_args_ds}, - {"d,s,E", nios2_assemble_args_ds}, - {"l,d,s,t", nios2_assemble_args_ldst}, - {"l,d,s,t,E", nios2_assemble_args_ldst}, - {"d,s,j", nios2_assemble_args_dsj}, - {"d,s,j,E", nios2_assemble_args_dsj}, - {"d", nios2_assemble_args_d}, - {"d,E", nios2_assemble_args_d}, - {"b", nios2_assemble_args_b}, - {"b,E", nios2_assemble_args_b} -}; + /* Perform argument checking. */ + nios2_check_assembly (insn->insn_code | insn->constant_bits, + insn->insn_tokens[tokidx]); +} -#define NIOS2_NUM_ARGS \ - ((sizeof(nios2_arg_info_structs)/sizeof(nios2_arg_info_structs[0]))) -const int nios2_num_arg_info_structs = NIOS2_NUM_ARGS; /* The function consume_arg takes a pointer into a string of instruction tokens (args) and a pointer into a string @@ -1911,73 +1759,18 @@ const int nios2_num_arg_info_structs = NIOS2_NUM_ARGS; expected type, throwing an error if it is not, and returns the pointer argstr. */ static char * -nios2_consume_arg (nios2_insn_infoS *insn, char *argstr, const char *parsestr) +nios2_consume_arg (char *argstr, const char *parsestr) { char *temp; - int regno = -1; switch (*parsestr) { case 'c': - if (!nios2_control_register_arg_p (argstr)) - as_bad (_("expecting control register")); - break; case 'd': case 's': case 't': - - /* We check to make sure we don't have a control register. */ - if (nios2_control_register_arg_p (argstr)) - as_bad (_("illegal use of control register")); - - /* And whether coprocessor registers are valid here. */ - if (nios2_coproc_reg (argstr) - && insn->insn_nios2_opcode->match != OP_MATCH_CUSTOM) - as_bad (_("illegal use of coprocessor register\n")); - - /* Extract a register number if the register is of the - form r[0-9]+, if it is a normal register, set - regno to its number (0-31), else set regno to -1. */ - if (argstr[0] == 'r' && ISDIGIT (argstr[1])) - { - char *p = argstr; - - ++p; - regno = 0; - do - { - regno *= 10; - regno += *p - '0'; - ++p; - } - while (ISDIGIT (*p)); - } - else - regno = -1; - - /* And whether we are using at. */ - if (!nios2_as_options.noat - && (regno == 1 || strprefix (argstr, "at"))) - as_warn (_("Register at (r1) can sometimes be corrupted by assembler " - "optimizations.\n" - "Use .set noat to turn off those optimizations (and this " - "warning).")); - - /* And whether we are using oci registers. */ - if (!nios2_as_options.nobreak - && (regno == 25 || strprefix (argstr, "bt"))) - as_warn (_("The debugger will corrupt bt (r25).\n" - "If you don't need to debug this " - "code use .set nobreak to turn off this warning.")); - - if (!nios2_as_options.nobreak - && (regno == 30 - || strprefix (argstr, "ba") - || strprefix (argstr, "sstatus"))) - as_warn (_("The debugger will corrupt sstatus/ba (r30).\n" - "If you don't need to debug this " - "code use .set nobreak to turn off this warning.")); break; + case 'i': case 'u': if (*argstr == '%') @@ -2000,7 +1793,6 @@ nios2_consume_arg (nios2_insn_infoS *insn, char *argstr, const char *parsestr) case 'm': case 'j': case 'l': - case 'b': /* We can't have %hi, %lo or %hiadj here. */ if (*argstr == '%') as_bad (_("badly formed expression near %s"), argstr); @@ -2038,8 +1830,6 @@ nios2_consume_separator (char *argstr, const char *separator) if (p != NULL) *p++ = 0; - else - as_bad (_("expecting %c near %s"), *separator, argstr); return p; } @@ -2069,23 +1859,25 @@ nios2_parse_args (nios2_insn_infoS *insn, char *argstr, while (p != NULL && !terminate && i < NIOS2_MAX_INSN_TOKENS) { - parsed_args[i] = nios2_consume_arg (insn, p, parsestr); + parsed_args[i] = nios2_consume_arg (p, parsestr); ++parsestr; - if (*parsestr != '\0') + while (*parsestr == '(' || *parsestr == ')' || *parsestr == ',') { + char *context = p; p = nios2_consume_separator (p, parsestr); + /* Check for missing separators. */ + if (!p && !(insn->insn_nios2_opcode->pinfo & NIOS2_INSN_OPTARG)) + { + as_bad (_("expecting %c near %s"), *parsestr, context); + break; + } ++parsestr; } - else + + if (*parsestr == '\0') { /* Check that the argument string has no trailing arguments. */ - /* If we've got a %lo etc relocation, we've zapped the parens with - spaces. */ - if (nios2_special_relocation_p (p)) - end = strpbrk (p, ","); - else - end = strpbrk (p, " ,"); - + end = strpbrk (p, ","); if (end != NULL) as_bad (_("too many arguments")); } @@ -2096,13 +1888,6 @@ nios2_parse_args (nios2_insn_infoS *insn, char *argstr, } parsed_args[i] = NULL; - - /* The argument to break and trap instructions is optional; complain - for other cases of missing arguments. */ - if (*parsestr != '\0' - && insn->insn_nios2_opcode->match != OP_MATCH_BREAK - && insn->insn_nios2_opcode->match != OP_MATCH_TRAP) - as_bad (_("missing argument")); } @@ -2310,17 +2095,18 @@ static void output_insn (nios2_insn_infoS *insn) { char *f; - nios2_insn_relocS *reloc; - - f = frag_more (4); + nios2_insn_relocS *reloc; + f = frag_more (insn->insn_nios2_opcode->size); /* This allocates enough space for the instruction and puts it in the current frag. */ - md_number_to_chars (f, insn->insn_code, 4); + md_number_to_chars (f, insn->insn_code, insn->insn_nios2_opcode->size); /* Emit debug info. */ - dwarf2_emit_insn (4); + dwarf2_emit_insn (insn->insn_nios2_opcode->size); /* Create any fixups to be acted on later. */ + for (reloc = insn->insn_reloc; reloc != NULL; reloc = reloc->reloc_next) - fix_new_exp (frag_now, f - frag_now->fr_literal, 4, + fix_new_exp (frag_now, f - frag_now->fr_literal, + insn->insn_nios2_opcode->size, &reloc->reloc_expression, reloc->reloc_pcrel, reloc->reloc_type); } @@ -2346,10 +2132,10 @@ output_ubranch (nios2_insn_infoS *insn) to accommodate the largest possible instruction sequence this may generate. */ f = frag_var (rs_machine_dependent, - UBRANCH_MAX_SIZE, 4, UBRANCH_SUBTYPE (0), - symp, offset, NULL); + UBRANCH_MAX_SIZE, insn->insn_nios2_opcode->size, + UBRANCH_SUBTYPE (0), symp, offset, NULL); - md_number_to_chars (f, insn->insn_code, 4); + md_number_to_chars (f, insn->insn_code, insn->insn_nios2_opcode->size); /* We leave fixup generation to md_convert_frag. */ } @@ -2376,10 +2162,10 @@ output_cbranch (nios2_insn_infoS *insn) to accommodate the largest possible instruction sequence this may generate. */ f = frag_var (rs_machine_dependent, - CBRANCH_MAX_SIZE, 4, CBRANCH_SUBTYPE (0), - symp, offset, NULL); + CBRANCH_MAX_SIZE, insn->insn_nios2_opcode->size, + CBRANCH_SUBTYPE (0), symp, offset, NULL); - md_number_to_chars (f, insn->insn_code, 4); + md_number_to_chars (f, insn->insn_code, insn->insn_nios2_opcode->size); /* We leave fixup generation to md_convert_frag. */ } @@ -2399,15 +2185,21 @@ output_call (nios2_insn_infoS *insn) char *f = frag_more (12); nios2_insn_relocS *reloc = insn->insn_reloc; - md_number_to_chars (f, OP_MATCH_ORHI | 0x00400000, 4); + md_number_to_chars (f, + (MATCH_R1_ORHI | SET_IW_I_B (AT_REGNUM) + | SET_IW_I_A (0)), + 4); dwarf2_emit_insn (4); fix_new_exp (frag_now, f - frag_now->fr_literal, 4, &reloc->reloc_expression, 0, BFD_RELOC_NIOS2_HI16); - md_number_to_chars (f + 4, OP_MATCH_ORI | 0x08400000, 4); + md_number_to_chars (f + 4, + (MATCH_R1_ORI | SET_IW_I_B (AT_REGNUM) + | SET_IW_I_A (AT_REGNUM)), + 4); dwarf2_emit_insn (4); fix_new_exp (frag_now, f - frag_now->fr_literal + 4, 4, &reloc->reloc_expression, 0, BFD_RELOC_NIOS2_LO16); - md_number_to_chars (f + 8, OP_MATCH_CALLR | 0x08000000, 4); + md_number_to_chars (f + 8, MATCH_R1_CALLR | SET_IW_R_A (AT_REGNUM), 4); dwarf2_emit_insn (4); } @@ -2419,14 +2211,18 @@ output_addi (nios2_insn_infoS *insn) if (can_evaluate_expr (insn)) { int expr_val = get_expr_value (insn); - if (GET_INSN_FIELD (RRS, insn->insn_code) == 0 + unsigned int rega = GET_IW_I_A (insn->insn_code); + unsigned int regb = GET_IW_I_B (insn->insn_code); + + if (rega == 0 && (expr_val & 0xffff) == 0 && expr_val != 0) { /* We really want a movhi (orhi) here. */ - insn->insn_code = (insn->insn_code & ~OP_MATCH_ADDI) | OP_MATCH_ORHI; - insn->insn_reloc->reloc_expression.X_add_number = - (insn->insn_reloc->reloc_expression.X_add_number >> 16) & 0xffff; + insn->insn_code + = MATCH_R1_ORHI | SET_IW_I_A (rega) | SET_IW_I_B (regb); + insn->insn_reloc->reloc_expression.X_add_number + = (expr_val >> 16) & 0xffff; insn->insn_reloc->reloc_type = BFD_RELOC_NIOS2_U16; } } @@ -2443,10 +2239,14 @@ output_andi (nios2_insn_infoS *insn) int expr_val = get_expr_value (insn); if (expr_val != 0 && (expr_val & 0xffff) == 0) { - /* We really want a movhi (orhi) here. */ - insn->insn_code = (insn->insn_code & ~OP_MATCH_ANDI) | OP_MATCH_ANDHI; - insn->insn_reloc->reloc_expression.X_add_number = - (insn->insn_reloc->reloc_expression.X_add_number >> 16) & 0xffff; + unsigned int rega = GET_IW_I_A (insn->insn_code); + unsigned int regb = GET_IW_I_B (insn->insn_code); + + /* We really want an andhi here. */ + insn->insn_code + = MATCH_R1_ANDHI | SET_IW_I_A (rega) | SET_IW_I_B (regb); + insn->insn_reloc->reloc_expression.X_add_number + = (expr_val >> 16) & 0xffff; insn->insn_reloc->reloc_type = BFD_RELOC_NIOS2_U16; } } @@ -2463,10 +2263,14 @@ output_ori (nios2_insn_infoS *insn) int expr_val = get_expr_value (insn); if (expr_val != 0 && (expr_val & 0xffff) == 0) { + unsigned int rega = GET_IW_I_A (insn->insn_code); + unsigned int regb = GET_IW_I_B (insn->insn_code); + /* We really want a movhi (orhi) here. */ - insn->insn_code = (insn->insn_code & ~OP_MATCH_ORI) | OP_MATCH_ORHI; - insn->insn_reloc->reloc_expression.X_add_number = - (insn->insn_reloc->reloc_expression.X_add_number >> 16) & 0xffff; + insn->insn_code + = MATCH_R1_ORHI | SET_IW_I_A (rega) | SET_IW_I_B (regb); + insn->insn_reloc->reloc_expression.X_add_number + = (expr_val >> 16) & 0xffff; insn->insn_reloc->reloc_type = BFD_RELOC_NIOS2_U16; } } @@ -2483,10 +2287,14 @@ output_xori (nios2_insn_infoS *insn) int expr_val = get_expr_value (insn); if (expr_val != 0 && (expr_val & 0xffff) == 0) { - /* We really want a movhi (orhi) here. */ - insn->insn_code = (insn->insn_code & ~OP_MATCH_XORI) | OP_MATCH_XORHI; - insn->insn_reloc->reloc_expression.X_add_number = - (insn->insn_reloc->reloc_expression.X_add_number >> 16) & 0xffff; + unsigned int rega = GET_IW_I_A (insn->insn_code); + unsigned int regb = GET_IW_I_B (insn->insn_code); + + /* We really want an xorhi here. */ + insn->insn_code + = MATCH_R1_XORHI | SET_IW_I_A (rega) | SET_IW_I_B (regb); + insn->insn_reloc->reloc_expression.X_add_number + = (expr_val >> 16) & 0xffff; insn->insn_reloc->reloc_type = BFD_RELOC_NIOS2_U16; } } @@ -2504,22 +2312,22 @@ output_movia (nios2_insn_infoS *insn) and puts it in the current frag. */ char *f = frag_more (8); nios2_insn_relocS *reloc = insn->insn_reloc; - unsigned long reg_index = GET_INSN_FIELD (IRT, insn->insn_code); + unsigned long reg_index = GET_IW_I_B (insn->insn_code); /* If the reloc is NULL, there was an error assembling the movia. */ if (reloc != NULL) { md_number_to_chars (f, insn->insn_code, 4); dwarf2_emit_insn (4); - md_number_to_chars (f + 4, - (OP_MATCH_ADDI | (reg_index << OP_SH_IRT) - | (reg_index << OP_SH_IRS)), - 4); - dwarf2_emit_insn (4); fix_new (frag_now, f - frag_now->fr_literal, 4, reloc->reloc_expression.X_add_symbol, reloc->reloc_expression.X_add_number, 0, BFD_RELOC_NIOS2_HIADJ16); + md_number_to_chars (f + 4, + (MATCH_R1_ADDI | SET_IW_I_A (reg_index) + | SET_IW_I_B (reg_index)), + 4); + dwarf2_emit_insn (4); fix_new (frag_now, f + 4 - frag_now->fr_literal, 4, reloc->reloc_expression.X_add_symbol, reloc->reloc_expression.X_add_number, 0, BFD_RELOC_NIOS2_LO16); @@ -2599,10 +2407,9 @@ md_begin (void) arguments. */ nios2_opcode_hash = hash_new (); nios2_reg_hash = hash_new (); - nios2_arg_hash = hash_new (); nios2_ps_hash = hash_new (); - for (i = 0; i < NUMOPCODES; ++i) + for (i = 0; i < nios2_num_opcodes; ++i) { inserted = hash_insert (nios2_opcode_hash, nios2_opcodes[i].name, @@ -2631,20 +2438,6 @@ md_begin (void) } - for (i = 0; i < nios2_num_arg_info_structs; ++i) - { - inserted - = hash_insert (nios2_arg_hash, nios2_arg_info_structs[i].args, - (PTR) & nios2_arg_info_structs[i]); - if (inserted != NULL) - { - fprintf (stderr, _("internal error: can't hash `%s': %s\n"), - nios2_arg_info_structs[i].args, inserted); - /* Probably a memory allocation problem? Give up now. */ - as_fatal (_("Broken assembler. No assembly attempted.")); - } - } - for (i = 0; i < nios2_num_ps_insn_info_structs; ++i) { inserted @@ -2680,7 +2473,6 @@ md_assemble (char *op_str) { char *argstr; char *op_strdup = NULL; - nios2_arg_infoS *arg_info; unsigned long saved_pinfo = 0; nios2_insn_infoS thisinsn; nios2_insn_infoS *insn = &thisinsn; @@ -2707,6 +2499,7 @@ md_assemble (char *op_str) nios2_ps_insn_infoS *ps_insn = NULL; /* Set the opcode for the instruction. */ insn->insn_code = insn->insn_nios2_opcode->match; + insn->constant_bits = 0; /* Parse the arguments pointed to by argstr. */ if (nios2_mode == NIOS2_MODE_ASSEMBLE) @@ -2726,53 +2519,41 @@ md_assemble (char *op_str) == NIOS2_INSN_MACRO) ps_insn = nios2_translate_pseudo_insn (insn); - /* Find the assemble function, and call it. */ - arg_info = nios2_arg_lookup (insn->insn_nios2_opcode->args); - if (arg_info != NULL) - { - arg_info->assemble_args_func (insn); - - if (nios2_as_options.relax != relax_none - && !nios2_as_options.noat - && insn->insn_nios2_opcode->pinfo & NIOS2_INSN_UBRANCH) - output_ubranch (insn); - else if (nios2_as_options.relax != relax_none - && !nios2_as_options.noat - && insn->insn_nios2_opcode->pinfo & NIOS2_INSN_CBRANCH) - output_cbranch (insn); - else if (nios2_as_options.relax == relax_all - && !nios2_as_options.noat - && insn->insn_nios2_opcode->pinfo & NIOS2_INSN_CALL - && insn->insn_reloc - && ((insn->insn_reloc->reloc_type - == BFD_RELOC_NIOS2_CALL26) - || (insn->insn_reloc->reloc_type - == BFD_RELOC_NIOS2_CALL26_NOAT))) - output_call (insn); - else if (insn->insn_nios2_opcode->pinfo & NIOS2_INSN_ANDI) - output_andi (insn); - else if (insn->insn_nios2_opcode->pinfo & NIOS2_INSN_ORI) - output_ori (insn); - else if (insn->insn_nios2_opcode->pinfo & NIOS2_INSN_XORI) - output_xori (insn); - else if (insn->insn_nios2_opcode->pinfo & NIOS2_INSN_ADDI) - output_addi (insn); - else if (saved_pinfo == NIOS2_INSN_MACRO_MOVIA) - output_movia (insn); - else - output_insn (insn); - if (ps_insn) - nios2_cleanup_pseudo_insn (insn, ps_insn); - } + /* Assemble the parsed arguments into the instruction word. */ + nios2_assemble_args (insn); + + /* Handle relaxation and other transformations. */ + if (nios2_as_options.relax != relax_none + && !nios2_as_options.noat + && insn->insn_nios2_opcode->pinfo & NIOS2_INSN_UBRANCH) + output_ubranch (insn); + else if (nios2_as_options.relax != relax_none + && !nios2_as_options.noat + && insn->insn_nios2_opcode->pinfo & NIOS2_INSN_CBRANCH) + output_cbranch (insn); + else if (nios2_as_options.relax == relax_all + && !nios2_as_options.noat + && insn->insn_nios2_opcode->pinfo & NIOS2_INSN_CALL + && insn->insn_reloc + && ((insn->insn_reloc->reloc_type + == BFD_RELOC_NIOS2_CALL26) + || (insn->insn_reloc->reloc_type + == BFD_RELOC_NIOS2_CALL26_NOAT))) + output_call (insn); + else if (insn->insn_nios2_opcode->pinfo & NIOS2_INSN_ANDI) + output_andi (insn); + else if (insn->insn_nios2_opcode->pinfo & NIOS2_INSN_ORI) + output_ori (insn); + else if (insn->insn_nios2_opcode->pinfo & NIOS2_INSN_XORI) + output_xori (insn); + else if (insn->insn_nios2_opcode->pinfo & NIOS2_INSN_ADDI) + output_addi (insn); + else if (saved_pinfo == NIOS2_INSN_MACRO_MOVIA) + output_movia (insn); else - { - /* The assembler is broken. */ - fprintf (stderr, - _("internal error: %s is not a valid argument syntax\n"), - insn->insn_nios2_opcode->args); - /* Probably a memory allocation problem. Give up now. */ - as_fatal (_("Broken assembler. No assembly attempted.")); - } + output_insn (insn); + if (ps_insn) + nios2_cleanup_pseudo_insn (insn, ps_insn); } else /* Unrecognised instruction - error. */ diff --git a/binutils-2.25/gas/config/tc-s390.c b/binutils-2.25/gas/config/tc-s390.c index 59f6ab6..60a7dac 100644 --- a/binutils-2.25/gas/config/tc-s390.c +++ b/binutils-2.25/gas/config/tc-s390.c @@ -489,7 +489,7 @@ md_show_usage (FILE *stream) static void s390_setup_opcodes (void) { - register const struct s390_opcode *op; + const struct s390_opcode *op; const struct s390_opcode *op_end; bfd_boolean dup_insn = FALSE; const char *retval; @@ -536,7 +536,7 @@ s390_setup_opcodes (void) void md_begin (void) { - register const struct s390_opcode *op; + const struct s390_opcode *op; const struct s390_opcode *op_end; const char *retval; diff --git a/binutils-2.25/gas/config/tc-sh.c b/binutils-2.25/gas/config/tc-sh.c index 6e9ae92..888a51f 100644 --- a/binutils-2.25/gas/config/tc-sh.c +++ b/binutils-2.25/gas/config/tc-sh.c @@ -811,7 +811,7 @@ sh_cons_fix_new (fragS *frag, int off, int size, expressionS *exp, /* Clobbers input_line_pointer, checks end-of-line. */ /* NBYTES 1=.byte, 2=.word, 4=.long */ static void -sh_elf_cons (register int nbytes) +sh_elf_cons (int nbytes) { expressionS exp; diff --git a/binutils-2.25/gas/config/tc-sparc.c b/binutils-2.25/gas/config/tc-sparc.c index 758fcc8..e3fd64a 100644 --- a/binutils-2.25/gas/config/tc-sparc.c +++ b/binutils-2.25/gas/config/tc-sparc.c @@ -863,9 +863,9 @@ cmp_reg_entry (const void *parg, const void *qarg) void md_begin (void) { - register const char *retval = NULL; + const char *retval = NULL; int lose = 0; - register unsigned int i = 0; + unsigned int i = 0; /* We don't get a chance to initialize anything before md_parse_option is called, and it may not be called, so handle default initialization diff --git a/binutils-2.25/gas/config/tc-tic30.c b/binutils-2.25/gas/config/tc-tic30.c index dbcbf3c..436aaeb 100644 --- a/binutils-2.25/gas/config/tc-tic30.c +++ b/binutils-2.25/gas/config/tc-tic30.c @@ -1116,7 +1116,7 @@ md_estimate_size_before_relax (fragS *fragP ATTRIBUTE_UNUSED, void md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT sec ATTRIBUTE_UNUSED, - register fragS *fragP ATTRIBUTE_UNUSED) + fragS *fragP ATTRIBUTE_UNUSED) { debug ("In md_convert_frag()\n"); } diff --git a/binutils-2.25/gas/config/tc-tic4x.c b/binutils-2.25/gas/config/tc-tic4x.c index dc82168..12d8ec9 100644 --- a/binutils-2.25/gas/config/tc-tic4x.c +++ b/binutils-2.25/gas/config/tc-tic4x.c @@ -831,7 +831,7 @@ tic4x_globl (int ignore ATTRIBUTE_UNUSED) static void tic4x_cons (int bytes) { - register unsigned int c; + unsigned int c; do { SKIP_WHITESPACE (); @@ -875,7 +875,7 @@ static void tic4x_stringer (int append_zero) { int bytes; - register unsigned int c; + unsigned int c; bytes = 0; do diff --git a/binutils-2.25/gas/config/tc-z80.c b/binutils-2.25/gas/config/tc-z80.c index 54fa322..a602dc7 100644 --- a/binutils-2.25/gas/config/tc-z80.c +++ b/binutils-2.25/gas/config/tc-z80.c @@ -557,6 +557,8 @@ parse_exp_not_indexed (const char *s, expressionS *op) case O_illegal: error (_("bad expression syntax")); break; + default: + break; } return input_line_pointer; } @@ -604,6 +606,8 @@ parse_exp (const char *s, expressionS *op) op->X_op = O_md1; } break; + default: + break; } return res; } diff --git a/binutils-2.25/gas/configure b/binutils-2.25/gas/configure index c8b6e87..32cfbeb 100755 --- a/binutils-2.25/gas/configure +++ b/binutils-2.25/gas/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for gas 2.24.90. +# Generated by GNU Autoconf 2.64 for gas 2.25.51. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software @@ -556,8 +556,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='gas' PACKAGE_TARNAME='gas' -PACKAGE_VERSION='2.24.90' -PACKAGE_STRING='gas 2.24.90' +PACKAGE_VERSION='2.25.51' +PACKAGE_STRING='gas 2.25.51' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1320,7 +1320,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures gas 2.24.90 to adapt to many kinds of systems. +\`configure' configures gas 2.25.51 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1391,7 +1391,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of gas 2.24.90:";; + short | recursive ) echo "Configuration of gas 2.25.51:";; esac cat <<\_ACEOF @@ -1505,7 +1505,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -gas configure 2.24.90 +gas configure 2.25.51 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -1915,7 +1915,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by gas $as_me 2.24.90, which was +It was created by gas $as_me 2.25.51, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -3723,7 +3723,7 @@ fi # Define the identity of the package. PACKAGE='gas' - VERSION='2.24.90' + VERSION='2.25.51' cat >>confdefs.h <<_ACEOF @@ -15064,7 +15064,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by gas $as_me 2.24.90, which was +This file was extended by gas $as_me 2.25.51, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15128,7 +15128,7 @@ Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -gas config.status 2.24.90 +gas config.status 2.25.51 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/binutils-2.25/gas/doc/Makefile.am b/binutils-2.25/gas/doc/Makefile.am index c2ddc02..1976f88 100644 --- a/binutils-2.25/gas/doc/Makefile.am +++ b/binutils-2.25/gas/doc/Makefile.am @@ -28,7 +28,7 @@ MANCONF = -Dman TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS) POD2MAN = pod2man --center="GNU Development Tools" \ - --release="binutils-$(VERSION)" --section=1 + --release="binutils-$(VERSION)" --section=1 --date=" " man_MANS = as.1 diff --git a/binutils-2.25/gas/doc/Makefile.in b/binutils-2.25/gas/doc/Makefile.in index 2db5121..267b428 100644 --- a/binutils-2.25/gas/doc/Makefile.in +++ b/binutils-2.25/gas/doc/Makefile.in @@ -16,7 +16,7 @@ @SET_MAKE@ # -# Copyright (C) 2012-2014 Free Software Foundation, Inc. +# Copyright (C) 2012-2015 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -276,7 +276,7 @@ CONFIG = all MANCONF = -Dman TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS) POD2MAN = pod2man --center="GNU Development Tools" \ - --release="binutils-$(VERSION)" --section=1 + --release="binutils-$(VERSION)" --section=1 --date=" " man_MANS = as.1 info_TEXINFOS = as.texinfo diff --git a/binutils-2.25/gas/doc/as.texinfo b/binutils-2.25/gas/doc/as.texinfo index 55e4f54..e5949fa 100644 --- a/binutils-2.25/gas/doc/as.texinfo +++ b/binutils-2.25/gas/doc/as.texinfo @@ -5234,6 +5234,8 @@ following section of code if the two strings are not the same. @cindex @code{incbin} directive @cindex binary files, including +The @code{incbin} directive can be used with @option{--allow-incbin}. + The @code{incbin} directive includes @var{file} verbatim at the current location. You can control the search paths used with the @samp{-I} command-line option (@pxref{Invoking,,Command-Line Options}). Quotation marks are required diff --git a/binutils-2.25/gas/doc/c-aarch64.texi b/binutils-2.25/gas/doc/c-aarch64.texi index 8fbae06..f3d4e41 100644 --- a/binutils-2.25/gas/doc/c-aarch64.texi +++ b/binutils-2.25/gas/doc/c-aarch64.texi @@ -57,9 +57,9 @@ message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: @code{cortex-a53}, @code{cortex-a57}, -@code{xgene1}, +@code{thunderx}, and -@code{xgene2}. +@code{xgene-1}. The special name @code{all} may be used to allow the assembler to accept instructions valid for any supported processor, including all optional extensions. diff --git a/binutils-2.25/gas/doc/c-mips.texi b/binutils-2.25/gas/doc/c-mips.texi index 7d19169..53e28f2 100644 --- a/binutils-2.25/gas/doc/c-mips.texi +++ b/binutils-2.25/gas/doc/c-mips.texi @@ -388,6 +388,7 @@ loongson3a, octeon, octeon+, octeon2, +octeon3, xlr, xlp @end quotation diff --git a/binutils-2.25/gas/dwarf2dbg.c b/binutils-2.25/gas/dwarf2dbg.c index 3067b8c..f20c44a 100644 --- a/binutils-2.25/gas/dwarf2dbg.c +++ b/binutils-2.25/gas/dwarf2dbg.c @@ -44,6 +44,9 @@ #include "dwarf2dbg.h" #include <filenames.h> +#include <stdint.h> + +#include "hash.h" #ifdef HAVE_DOS_BASED_FILE_SYSTEM /* We need to decide which character to use as a directory separator. @@ -101,6 +104,10 @@ #ifndef DWARF2_LINE_VERSION #define DWARF2_LINE_VERSION 2 #endif +/* If we see .lloc directives, generate an experimental version 6. */ +#ifndef DWARF2_LINE_EXPERIMENTAL_VERSION +#define DWARF2_LINE_EXPERIMENTAL_VERSION 0xf006 +#endif #include "subsegs.h" @@ -126,6 +133,11 @@ "standard_opcode_lengths" table that is emitted below in out_debug_line(). */ #define DWARF2_LINE_OPCODE_BASE 13 +#define DWARF5_EXPERIMENTAL_LINE_OPCODE_BASE 16 + +static int opcode_base; +static int line_base; +static unsigned int line_range; #ifndef DWARF2_LINE_BASE /* Minimum line offset in a special line info. opcode. This value @@ -138,22 +150,30 @@ # define DWARF2_LINE_RANGE 14 #endif +/* For two-level line tables, these values work a bit better. */ +#define DWARF5_EXPERIMENTAL_LINE_BASE -3 +#define DWARF5_EXPERIMENTAL_LINE_RANGE 10 + #ifndef DWARF2_LINE_MIN_INSN_LENGTH /* Define the architecture-dependent minimum instruction length (in bytes). This value should be rather too small than too big. */ # define DWARF2_LINE_MIN_INSN_LENGTH 1 #endif +#ifndef DWARF2_LINE_MAX_OPS_PER_INSN +# define DWARF2_LINE_MAX_OPS_PER_INSN 1 +#endif + /* Flag that indicates the initial value of the is_stmt_start flag. */ #define DWARF2_LINE_DEFAULT_IS_STMT 1 /* Given a special op, return the line skip amount. */ #define SPECIAL_LINE(op) \ - (((op) - DWARF2_LINE_OPCODE_BASE)%DWARF2_LINE_RANGE + DWARF2_LINE_BASE) + (((op) - opcode_base) % line_range + line_base) /* Given a special op, return the address skip amount (in units of DWARF2_LINE_MIN_INSN_LENGTH. */ -#define SPECIAL_ADDR(op) (((op) - DWARF2_LINE_OPCODE_BASE)/DWARF2_LINE_RANGE) +#define SPECIAL_ADDR(op) (((op) - opcode_base) / line_range) /* The maximum address skip amount that can be encoded with a special op. */ #define MAX_SPECIAL_ADDR_DELTA SPECIAL_ADDR(255) @@ -203,6 +223,44 @@ static char **dirs; static unsigned int dirs_in_use; static unsigned int dirs_allocated; +/* Experimental DWARF-5 Extension: Table of subprograms. */ +struct subprog_entry { + const char *subpname; + unsigned int filenum; + unsigned int line; +}; + +static struct subprog_entry *subprogs; +static unsigned int subprogs_in_use; +static unsigned int subprogs_allocated; + +/* Experimental DWARF-5 Extension: Logicals table. */ +struct logicals_entry { + segT seg; + symbolS *label; + /* A logical row doesn't use every field in this struct, but using it + here makes the code for writing the line number program simpler. */ + struct dwarf2_line_info loc; + unsigned int context; + unsigned int subprog; +}; + +static struct logicals_entry *logicals; +static unsigned int logicals_in_use; +static unsigned int logicals_allocated = 0; +static unsigned int logicals_with_labels = 0; + +/* DWARF-5: .debug_line_str string table. */ +struct string_table { + struct hash_control *hashtab; + const char **strings; + unsigned int strings_in_use; + unsigned int strings_allocated; + offsetT next_offset; +}; + +static struct string_table debug_line_str_table; + /* TRUE when we've seen a .loc directive recently. Used to avoid doing work when there's nothing to do. */ bfd_boolean dwarf2_loc_directive_seen; @@ -213,9 +271,9 @@ bfd_boolean dwarf2_loc_mark_labels; /* Current location as indicated by the most recent .loc directive. */ static struct dwarf2_line_info current = { - 1, 1, 0, 0, - DWARF2_LINE_DEFAULT_IS_STMT ? DWARF2_FLAG_IS_STMT : 0, - 0 + 1, 1, 0, 0, /* filenum, line, column, isa */ + DWARF2_LINE_DEFAULT_IS_STMT ? DWARF2_FLAG_IS_STMT : 0, /* flags */ + 0, 0 /* discriminator, logical */ }; /* The size of an address on the target. */ @@ -338,6 +396,15 @@ dwarf2_gen_line_info (addressT ofs, struct dwarf2_line_info *loc) else sym = symbol_temp_new (now_seg, ofs, frag_now); dwarf2_gen_line_info_1 (sym, loc); + + /* Record the current symbol with all logical rows created since + the last emitted instruction. */ + while (logicals_with_labels < logicals_in_use) + { + logicals[logicals_with_labels].label = sym; + logicals[logicals_with_labels].seg = now_seg; + logicals_with_labels++; + } } /* Returns the current source information. If .file directives have @@ -357,6 +424,7 @@ dwarf2_where (struct dwarf2_line_info *line) line->flags = DWARF2_FLAG_IS_STMT; line->isa = current.isa; line->discriminator = current.discriminator; + line->logical = 0; } else *line = current; @@ -560,6 +628,68 @@ get_filenum (const char *filename, unsigned int num) return i; } +/* Make a new entry in the subprograms table. */ + +static void +make_subprog_entry (unsigned int num, char *subpname, int filenum, int line) +{ + if (subprogs_allocated == 0) + { + subprogs_allocated = 4; + subprogs = (struct subprog_entry *) + xcalloc (subprogs_allocated, sizeof (struct subprog_entry)); + } + if (num > subprogs_allocated) + { + unsigned int old = subprogs_allocated; + + subprogs_allocated *= 2; + if (num > subprogs_allocated) + subprogs_allocated = num; + subprogs = (struct subprog_entry *) + xrealloc (subprogs, + subprogs_allocated * sizeof (struct subprog_entry)); + memset (subprogs + old, 0, + (subprogs_allocated - old) * sizeof (struct subprog_entry)); + } + if (subprogs_in_use < num) + subprogs_in_use = num; + subprogs[num - 1].subpname = xstrdup (subpname); + subprogs[num - 1].filenum = filenum; + subprogs[num - 1].line = line; +} + +/* Make a new entry in the logicals table. */ + +static void +make_logical (unsigned int logical, int context, int subprog) +{ + if (logicals_allocated == 0) + { + logicals_allocated = 4; + logicals = (struct logicals_entry *) + xcalloc (logicals_allocated, sizeof (struct logicals_entry)); + } + if (logical > logicals_allocated) + { + unsigned int old = logicals_allocated; + + logicals_allocated *= 2; + if (logical > logicals_allocated) + logicals_allocated = logical; + logicals = (struct logicals_entry *) + xrealloc (logicals, + logicals_allocated * sizeof (struct logicals_entry)); + memset (logicals + old, 0, + (logicals_allocated - old) * sizeof (struct logicals_entry)); + } + logicals[logical - 1].loc = current; + logicals[logical - 1].context = context; + logicals[logical - 1].subprog = subprog; + if (logical > logicals_in_use) + logicals_in_use = logical; +} + /* Handle two forms of .file directive: - Pass .file "source.c" to s_app_file - Handle .file 1 "source.c" by adding an entry to the DWARF-2 file table @@ -608,34 +738,130 @@ dwarf2_directive_file (int dummy ATTRIBUTE_UNUSED) return filename; } +/* Experimental DWARF-5 extension: + Implements the .subprog SUBPNO ["SUBPROG" [FILENO LINENO]] directive. + FILENO is the file number, LINENO the line number and the + (optional) COLUMN the column of the source code that the following + instruction corresponds to. FILENO can be 0 to indicate that the + filename specified by the textually most recent .file directive + should be used. */ void -dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED) +dwarf2_directive_subprog (int dummy ATTRIBUTE_UNUSED) { - offsetT filenum, line; + offsetT num, filenum, line; + char *subpname; + int subpname_len; - /* If we see two .loc directives in a row, force the first one to be - output now. */ - if (dwarf2_loc_directive_seen) - dwarf2_emit_insn (0); + num = get_absolute_expression (); + subpname = demand_copy_C_string (&subpname_len); + if (subpname == NULL) + return; + SKIP_WHITESPACE (); filenum = get_absolute_expression (); SKIP_WHITESPACE (); line = get_absolute_expression (); + demand_empty_rest_of_line (); - if (filenum < 1) + if (num < 1) { - as_bad (_("file number less than one")); + as_bad (_("subprogram number less than one")); return; } - if (filenum >= (int) files_in_use || files[filenum].filename == 0) + + /* A .subprog directive implies compiler generated debug information is + being supplied. Turn off gas generated debug info. */ + debug_type = DEBUG_NONE; + + if (num < (int) subprogs_in_use && subprogs[num].subpname != NULL) { - as_bad (_("unassigned file number %ld"), (long) filenum); + as_bad (_("subprogram number %ld already allocated"), (long) num); return; } + make_subprog_entry (num, subpname, filenum, line); +} + +void +dwarf2_directive_loc (int is_lloc) +{ + offsetT filenum, line; + offsetT logical = 0; + offsetT context = 0; + offsetT subprog = 0; + bfd_boolean is_new_logical = FALSE; + bfd_boolean is_actual = FALSE; + static bfd_boolean saw_loc = FALSE; + static bfd_boolean saw_lloc = FALSE; + static bfd_boolean saw_both = FALSE; + + if ((is_lloc && saw_loc) || (!is_lloc && saw_lloc)) + { + if (!saw_both) + as_bad (_(".loc and .lloc cannot both be used")); + saw_both = TRUE; + return; + } + + if (is_lloc) + { + saw_lloc = TRUE; + logical = get_absolute_expression (); + SKIP_WHITESPACE (); + + if (ISDIGIT (*input_line_pointer)) + is_new_logical = TRUE; + else + is_actual = TRUE; + + if (logical < 1) + { + as_bad (_("logical row less than one")); + return; + } + if (is_actual && + ((unsigned int) logical > logicals_in_use + || logicals[logical - 1].loc.line == 0)) + { + as_bad (_("unassigned logical row %ld"), (long) logical); + return; + } + } + else + saw_loc = TRUE; + + /* If we see two .loc directives in a row, force the first one to be + output now. */ + if (dwarf2_loc_directive_seen) + dwarf2_emit_insn (0); + + if (is_lloc && !is_new_logical) + { + filenum = logicals[logical - 1].loc.filenum; + line = logicals[logical - 1].loc.line; + } + else + { + filenum = get_absolute_expression (); + SKIP_WHITESPACE (); + line = get_absolute_expression (); + + if (filenum < 1) + { + as_bad (_("file number less than one")); + return; + } + if (filenum >= (int) files_in_use || files[filenum].filename == 0) + { + as_bad (_("unassigned file number %ld"), (long) filenum); + return; + } + } + current.filenum = filenum; current.line = line; current.discriminator = 0; + current.logical = logical; #ifndef NO_LISTING if (listing) @@ -678,17 +904,17 @@ dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED) current.flags |= DWARF2_FLAG_BASIC_BLOCK; *input_line_pointer = c; } - else if (strcmp (p, "prologue_end") == 0) + else if (!is_actual && strcmp (p, "prologue_end") == 0) { current.flags |= DWARF2_FLAG_PROLOGUE_END; *input_line_pointer = c; } - else if (strcmp (p, "epilogue_begin") == 0) + else if (!is_actual && strcmp (p, "epilogue_begin") == 0) { current.flags |= DWARF2_FLAG_EPILOGUE_BEGIN; *input_line_pointer = c; } - else if (strcmp (p, "is_stmt") == 0) + else if (!is_actual && strcmp (p, "is_stmt") == 0) { *input_line_pointer = c; value = get_absolute_expression (); @@ -714,7 +940,7 @@ dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED) return; } } - else if (strcmp (p, "discriminator") == 0) + else if (!is_actual && strcmp (p, "discriminator") == 0) { *input_line_pointer = c; value = get_absolute_expression (); @@ -726,6 +952,30 @@ dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED) return; } } + else if (!is_actual && strcmp (p, "context") == 0) + { + *input_line_pointer = c; + value = get_absolute_expression (); + if (value >= 0) + context = value; + else + { + as_bad (_("context less than zero")); + return; + } + } + else if (!is_actual && strcmp (p, "subprog") == 0) + { + *input_line_pointer = c; + value = get_absolute_expression (); + if (value >= 0) + subprog = value; + else + { + as_bad (_("subprog number less than zero")); + return; + } + } else { as_bad (_("unknown .loc sub-directive `%s'"), p); @@ -739,6 +989,9 @@ dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED) demand_empty_rest_of_line (); dwarf2_loc_directive_seen = TRUE; debug_type = DEBUG_NONE; + + if (is_new_logical) + make_logical (logical, context, subprog); } void @@ -869,6 +1122,15 @@ out_set_addr (symbolS *sym) emit_expr (&exp, sizeof_address); } +/* Set the address from a logicals table entry. */ + +static void +out_set_addr_from_logical (int logical_delta) +{ + out_opcode (DW_LNS_set_address_from_logical); + out_leb128 (logical_delta); +} + static void scale_addr_delta (addressT *); static void @@ -907,7 +1169,7 @@ size_inc_line_addr (int line_delta, addressT addr_delta) to emit the matrix entry. */ if (line_delta == INT_MAX) { - if (addr_delta == MAX_SPECIAL_ADDR_DELTA) + if (addr_delta == (unsigned int) MAX_SPECIAL_ADDR_DELTA) len = 1; else len = 1 + sizeof_leb128 (addr_delta, 0); @@ -915,30 +1177,30 @@ size_inc_line_addr (int line_delta, addressT addr_delta) } /* Bias the line delta by the base. */ - tmp = line_delta - DWARF2_LINE_BASE; + tmp = line_delta - line_base; /* If the line increment is out of range of a special opcode, we must encode it with DW_LNS_advance_line. */ - if (tmp >= DWARF2_LINE_RANGE) + if (tmp >= line_range) { len = 1 + sizeof_leb128 (line_delta, 1); line_delta = 0; - tmp = 0 - DWARF2_LINE_BASE; + tmp = 0 - line_base; } /* Bias the opcode by the special opcode base. */ - tmp += DWARF2_LINE_OPCODE_BASE; + tmp += opcode_base; /* Avoid overflow when addr_delta is large. */ - if (addr_delta < 256 + MAX_SPECIAL_ADDR_DELTA) + if (addr_delta < (unsigned int) (256 + MAX_SPECIAL_ADDR_DELTA)) { /* Try using a special opcode. */ - opcode = tmp + addr_delta * DWARF2_LINE_RANGE; + opcode = tmp + addr_delta * line_range; if (opcode <= 255) return len + 1; /* Try using DW_LNS_const_add_pc followed by special op. */ - opcode = tmp + (addr_delta - MAX_SPECIAL_ADDR_DELTA) * DWARF2_LINE_RANGE; + opcode = tmp + (addr_delta - MAX_SPECIAL_ADDR_DELTA) * line_range; if (opcode <= 255) return len + 2; } @@ -971,7 +1233,7 @@ emit_inc_line_addr (int line_delta, addressT addr_delta, char *p, int len) to emit the matrix entry. */ if (line_delta == INT_MAX) { - if (addr_delta == MAX_SPECIAL_ADDR_DELTA) + if (addr_delta == (unsigned int) MAX_SPECIAL_ADDR_DELTA) *p++ = DW_LNS_const_add_pc; else { @@ -986,17 +1248,17 @@ emit_inc_line_addr (int line_delta, addressT addr_delta, char *p, int len) } /* Bias the line delta by the base. */ - tmp = line_delta - DWARF2_LINE_BASE; + tmp = line_delta - line_base; /* If the line increment is out of range of a special opcode, we must encode it with DW_LNS_advance_line. */ - if (tmp >= DWARF2_LINE_RANGE) + if (tmp >= line_range) { *p++ = DW_LNS_advance_line; p += output_leb128 (p, line_delta, 1); line_delta = 0; - tmp = 0 - DWARF2_LINE_BASE; + tmp = 0 - line_base; need_copy = 1; } @@ -1009,13 +1271,13 @@ emit_inc_line_addr (int line_delta, addressT addr_delta, char *p, int len) } /* Bias the opcode by the special opcode base. */ - tmp += DWARF2_LINE_OPCODE_BASE; + tmp += opcode_base; /* Avoid overflow when addr_delta is large. */ - if (addr_delta < 256 + MAX_SPECIAL_ADDR_DELTA) + if (addr_delta < (unsigned int) (256 + MAX_SPECIAL_ADDR_DELTA)) { /* Try using a special opcode. */ - opcode = tmp + addr_delta * DWARF2_LINE_RANGE; + opcode = tmp + addr_delta * line_range; if (opcode <= 255) { *p++ = opcode; @@ -1023,7 +1285,7 @@ emit_inc_line_addr (int line_delta, addressT addr_delta, char *p, int len) } /* Try using DW_LNS_const_add_pc followed by special op. */ - opcode = tmp + (addr_delta - MAX_SPECIAL_ADDR_DELTA) * DWARF2_LINE_RANGE; + opcode = tmp + (addr_delta - MAX_SPECIAL_ADDR_DELTA) * line_range; if (opcode <= 255) { *p++ = DW_LNS_const_add_pc; @@ -1264,6 +1526,140 @@ dwarf2dbg_convert_frag (fragS *frag) frag->fr_offset = 0; } +/* Generate .debug_line content for the logicals table rows. */ + +static void +emit_logicals (void) +{ + unsigned logical; + unsigned filenum = 1; + unsigned line = 1; + unsigned column = 0; + unsigned discriminator; + unsigned flags = DWARF2_LINE_DEFAULT_IS_STMT ? DWARF2_FLAG_IS_STMT : 0; + unsigned context = 0; + unsigned subprog = 0; + segT last_seg = NULL; + fragS *last_frag = NULL, *frag; + addressT last_frag_ofs = 0, frag_ofs; + symbolS *last_lab = NULL, *lab; + + for (logical = 1; logical <= logicals_in_use; ++logical) + { + int line_delta; + int context_delta; + struct logicals_entry *e = &logicals[logical - 1]; + + discriminator = 0; + + if (context != e->context || subprog != e->subprog) + { + unsigned int caller = context; + unsigned int npop = 0; + + // See if a sequence of DW_LNS_pop_context ops will get + // to the state we want. + while (caller > 0 && caller <= logicals_in_use) + { + ++npop; + if (logicals[caller - 1].subprog == e->subprog) + break; + caller = logicals[caller - 1].context; + } + if (caller > 0 && caller <= logicals_in_use && npop < 10) + { + while (npop-- > 0) + out_opcode (DW_LNS_pop_context); + filenum = logicals[caller - 1].loc.filenum; + line = logicals[caller - 1].loc.line; + column = logicals[caller - 1].loc.column; + discriminator = logicals[caller - 1].loc.discriminator; + flags = logicals[caller - 1].loc.flags; + context = logicals[caller - 1].context; + subprog = logicals[caller - 1].subprog; + } + if (context != e->context && e->context == 0) + { + context = 0; + subprog = e->subprog; + out_opcode (DW_LNS_set_subprogram); + out_uleb128 (subprog); + } + else if (context != e->context || subprog != e->subprog) + { + context_delta = e->context - (logical - 1); + context = e->context; + subprog = e->subprog; + out_opcode (DW_LNS_inlined_call); + out_leb128 (context_delta); + out_uleb128 (subprog); + } + } + + if (filenum != e->loc.filenum) + { + filenum = e->loc.filenum; + out_opcode (DW_LNS_set_file); + out_uleb128 (filenum); + } + + if (column != e->loc.column) + { + column = e->loc.column; + out_opcode (DW_LNS_set_column); + out_uleb128 (column); + } + + if (e->loc.discriminator != discriminator) + { + out_opcode (DW_LNS_extended_op); + out_leb128 (1 + sizeof_leb128 (e->loc.discriminator, 0)); + out_opcode (DW_LNE_set_discriminator); + out_uleb128 (e->loc.discriminator); + } + + if ((e->loc.flags ^ flags) & DWARF2_FLAG_IS_STMT) + { + flags = e->loc.flags; + out_opcode (DW_LNS_negate_stmt); + } + + if (e->loc.flags & DWARF2_FLAG_PROLOGUE_END) + out_opcode (DW_LNS_set_prologue_end); + + if (e->loc.flags & DWARF2_FLAG_EPILOGUE_BEGIN) + out_opcode (DW_LNS_set_epilogue_begin); + + line_delta = e->loc.line - line; + if (e->label == NULL) + { + out_inc_line_addr (line_delta, 0); + } + else + { + lab = e->label; + frag = symbol_get_frag (lab); + frag_ofs = S_GET_VALUE (lab); + + if (last_frag == NULL || e->seg != last_seg) + { + out_set_addr (lab); + out_inc_line_addr (line_delta, 0); + } + else if (frag == last_frag && ! DWARF2_USE_FIXED_ADVANCE_PC) + out_inc_line_addr (line_delta, frag_ofs - last_frag_ofs); + else + relax_inc_line_addr (line_delta, lab, last_lab); + + line = e->loc.line; + last_seg = e->seg; + last_lab = lab; + last_frag = frag; + last_frag_ofs = frag_ofs; + } + } +} + /* Generate .debug_line content for the chain of line number entries beginning at E, for segment SEG. */ @@ -1318,27 +1714,30 @@ process_entries (segT seg, struct line_entry *e) { int line_delta; - if (filenum != e->loc.filenum) - { - filenum = e->loc.filenum; - out_opcode (DW_LNS_set_file); - out_uleb128 (filenum); - } + if (logicals_in_use == 0) + { + if (filenum != e->loc.filenum) + { + filenum = e->loc.filenum; + out_opcode (DW_LNS_set_file); + out_uleb128 (filenum); + } - if (column != e->loc.column) - { - column = e->loc.column; - out_opcode (DW_LNS_set_column); - out_uleb128 (column); - } + if (column != e->loc.column) + { + column = e->loc.column; + out_opcode (DW_LNS_set_column); + out_uleb128 (column); + } - if (e->loc.discriminator != 0) - { - out_opcode (DW_LNS_extended_op); - out_leb128 (1 + sizeof_leb128 (e->loc.discriminator, 0)); - out_opcode (DW_LNE_set_discriminator); - out_uleb128 (e->loc.discriminator); - } + if (e->loc.discriminator != 0) + { + out_opcode (DW_LNS_extended_op); + out_leb128 (1 + sizeof_leb128 (e->loc.discriminator, 0)); + out_opcode (DW_LNE_set_discriminator); + out_uleb128 (e->loc.discriminator); + } + } if (isa != e->loc.isa) { @@ -1347,41 +1746,58 @@ process_entries (segT seg, struct line_entry *e) out_uleb128 (isa); } - if ((e->loc.flags ^ flags) & DWARF2_FLAG_IS_STMT) - { - flags = e->loc.flags; - out_opcode (DW_LNS_negate_stmt); - } - if (e->loc.flags & DWARF2_FLAG_BASIC_BLOCK) out_opcode (DW_LNS_set_basic_block); - if (e->loc.flags & DWARF2_FLAG_PROLOGUE_END) - out_opcode (DW_LNS_set_prologue_end); + if (logicals_in_use == 0) + { + if ((e->loc.flags ^ flags) & DWARF2_FLAG_IS_STMT) + { + flags = e->loc.flags; + out_opcode (DW_LNS_negate_stmt); + } - if (e->loc.flags & DWARF2_FLAG_EPILOGUE_BEGIN) - out_opcode (DW_LNS_set_epilogue_begin); + if (e->loc.flags & DWARF2_FLAG_PROLOGUE_END) + out_opcode (DW_LNS_set_prologue_end); + + if (e->loc.flags & DWARF2_FLAG_EPILOGUE_BEGIN) + out_opcode (DW_LNS_set_epilogue_begin); + } /* Don't try to optimize away redundant entries; gdb wants two entries for a function where the code starts on the same line as the {, and there's no way to identify that case here. Trust gcc to optimize appropriately. */ - line_delta = e->loc.line - line; + if (logicals_in_use == 0) + line_delta = e->loc.line - line; + else + line_delta = e->loc.logical - line; lab = e->label; frag = symbol_get_frag (lab); frag_ofs = S_GET_VALUE (lab); if (last_frag == NULL) { - out_set_addr (lab); - out_inc_line_addr (line_delta, 0); + if (logicals_in_use > 0 && logicals[e->loc.logical - 1].label == lab) + { + out_set_addr_from_logical (line_delta); + out_opcode (DW_LNS_copy); + } + else + { + out_set_addr (lab); + out_inc_line_addr (line_delta, 0); + } } else if (frag == last_frag && ! DWARF2_USE_FIXED_ADVANCE_PC) out_inc_line_addr (line_delta, frag_ofs - last_frag_ofs); else relax_inc_line_addr (line_delta, lab, last_lab); - line = e->loc.line; + if (logicals_in_use == 0) + line = e->loc.line; + else + line = e->loc.logical; last_lab = lab; last_frag = frag; last_frag_ofs = frag_ofs; @@ -1456,6 +1872,160 @@ out_file_list (void) out_byte (0); } +/* Add a string to the string table. */ + +static offsetT +add_to_string_table (struct string_table *strtab, const char *str) +{ + const char *key; + offsetT val; + + if (strtab->strings_allocated == 0) + { + strtab->strings_allocated = 4; + strtab->strings = (const char **) + xcalloc (strtab->strings_allocated, sizeof(char *)); + strtab->hashtab = hash_new (); + } + + val = (offsetT) (uintptr_t)hash_find (strtab->hashtab, str); + if (val != 0) + return val; + + if (strtab->strings_in_use >= strtab->strings_allocated) + { + unsigned int old = strtab->strings_allocated; + + strtab->strings_allocated *= 2; + strtab->strings = (const char **) + xrealloc (strtab->strings, + strtab->strings_allocated * sizeof (char *)); + memset (strtab->strings + old, 0, + (strtab->strings_allocated - old) * sizeof (char *)); + } + + key = xstrdup (str); + val = strtab->next_offset; + hash_insert (strtab->hashtab, key, (void *) (uintptr_t)val); + strtab->strings[strtab->strings_in_use++] = key; + strtab->next_offset += strlen(key) + 1; + return val; +} + +/* Output the string table STRTAB to the section STR_SEG. + In a debug string table, the first byte is always '\0', + and valid indexes begin at 1. */ + +static void +out_string_table (segT str_seg, struct string_table *strtab) +{ + unsigned int i; + size_t size; + char *cp; + + subseg_set (str_seg, 0); + out_byte (0); + for (i = 0; i < strtab->strings_in_use; i++) + { + size = strlen (strtab->strings[i]) + 1; + cp = frag_more (size); + memcpy (cp, strtab->strings[i], size); + } +} + +static void +out_dwarf5_file_list (segT str_seg, int sizeof_offset) +{ + const char *dir; + offsetT strp; + unsigned int i; + expressionS exp; + unsigned int dir_count = dirs_in_use > 0 ? dirs_in_use - 1 : 0; + unsigned int file_count = files_in_use > 0 ? files_in_use - 1 : 0; + + exp.X_op = O_symbol; + exp.X_add_symbol = section_symbol (str_seg); + + out_byte (1); /* directory_entry_format_count */ + out_uleb128 (DW_LNCT_path); /* directory_entry_format[0].content_type */ + out_uleb128 (DW_FORM_line_strp); /* directory_entry_format[0].form */ + out_uleb128 (dir_count); /* directories_count */ + + /* Emit directories list. */ + for (i = 1; i < dirs_in_use; ++i) + { + dir = remap_debug_filename (dirs[i]); + strp = add_to_string_table (&debug_line_str_table, dir); + exp.X_add_number = strp; + emit_expr (&exp, sizeof_offset); + } + + out_byte (2); /* file_name_entry_format_count */ + out_uleb128 (DW_LNCT_path); /* file_name_entry_format[0].type */ + out_uleb128 (DW_FORM_line_strp); /* file_name_entry_format[0].form */ + out_uleb128 (DW_LNCT_directory_index); /* file_name_entry_format[0].type */ + out_uleb128 (DW_FORM_udata); /* file_name_entry_format[0].form */ + out_uleb128 (file_count); /* file_names_count */ + + /* Emit file_names list. */ + for (i = 1; i < files_in_use; ++i) + { + const char *fullfilename; + + if (files[i].filename == NULL) + { + as_bad (_("unassigned file number %ld"), (long) i); + /* Prevent a crash later, particularly for file 1. */ + files[i].filename = ""; + } + + fullfilename = DWARF2_FILE_NAME (files[i].filename, + files[i].dir ? dirs [files [i].dir] : ""); + strp = add_to_string_table (&debug_line_str_table, fullfilename); + exp.X_add_number = strp; + emit_expr (&exp, sizeof_offset); + out_uleb128 (files[i].dir); /* directory number */ + } +} + +static void +out_subprog_list (segT str_seg, int sizeof_offset) +{ + const char *name; + offsetT strp; + unsigned int i; + expressionS exp; + + exp.X_op = O_symbol; + exp.X_add_symbol = section_symbol (str_seg); + + out_byte (3); /* subprogram_entry_format_count */ + out_uleb128 (DW_LNCT_subprogram_name); /* subprogram_entry_format[0].type */ + out_uleb128 (DW_FORM_line_strp); /* subprogram_entry_format[0].form */ + out_uleb128 (DW_LNCT_decl_file); /* subprogram_entry_format[1].type */ + out_uleb128 (DW_FORM_udata); /* subprogram_entry_format[1].form */ + out_uleb128 (DW_LNCT_decl_line); /* subprogram_entry_format[2].type */ + out_uleb128 (DW_FORM_udata); /* subprogram_entry_format[2].form */ + out_uleb128 (subprogs_in_use); /* subprograms_count */ + + /* Emit subprograms list. */ + for (i = 0; i < subprogs_in_use; ++i) + { + name = subprogs[i].subpname; + if (name == NULL) + { + as_bad (_("unassigned subprogram number %ld"), (long) i); + strp = 0; + } + else + strp = add_to_string_table (&debug_line_str_table, name); + exp.X_add_number = strp; + emit_expr (&exp, sizeof_offset); + out_uleb128 (subprogs[i].filenum); + out_uleb128 (subprogs[i].line); + } +} + /* Switch to SEC and output a header length field. Return the size of offsets used in SEC. The caller must set EXPR->X_add_symbol value to the end of the section. */ @@ -1501,19 +2071,35 @@ out_header (asection *sec, expressionS *exp) /* Emit the collected .debug_line data. */ static void -out_debug_line (segT line_seg) +out_debug_line (segT line_seg, segT str_seg) { expressionS exp; - symbolS *prologue_start, *prologue_end; + symbolS *prologue_start, *prologue_end, *logicals_start, *actuals_start; symbolS *line_end; struct line_seg *s; int sizeof_offset; + unsigned int version; + + if (logicals_in_use == 0) + { + version = DWARF2_LINE_VERSION; + opcode_base = DWARF2_LINE_OPCODE_BASE; + line_base = DWARF2_LINE_BASE; + line_range = DWARF2_LINE_RANGE; + } + else + { + version = DWARF2_LINE_EXPERIMENTAL_VERSION; + opcode_base = DWARF5_EXPERIMENTAL_LINE_OPCODE_BASE; + line_base = DWARF5_EXPERIMENTAL_LINE_BASE; + line_range = DWARF5_EXPERIMENTAL_LINE_RANGE; + } sizeof_offset = out_header (line_seg, &exp); line_end = exp.X_add_symbol; /* Version. */ - out_two (DWARF2_LINE_VERSION); + out_two (version); /* Length of the prologue following this length. */ prologue_start = symbol_temp_make (); @@ -1527,10 +2113,12 @@ out_debug_line (segT line_seg) /* Parameters of the state machine. */ out_byte (DWARF2_LINE_MIN_INSN_LENGTH); + if (version >= 4) + out_byte (DWARF2_LINE_MAX_OPS_PER_INSN); out_byte (DWARF2_LINE_DEFAULT_IS_STMT); - out_byte (DWARF2_LINE_BASE); - out_byte (DWARF2_LINE_RANGE); - out_byte (DWARF2_LINE_OPCODE_BASE); + out_byte (line_base); + out_byte (line_range); + out_byte (opcode_base); /* Standard opcode lengths. */ out_byte (0); /* DW_LNS_copy */ @@ -1545,10 +2133,63 @@ out_debug_line (segT line_seg) out_byte (0); /* DW_LNS_set_prologue_end */ out_byte (0); /* DW_LNS_set_epilogue_begin */ out_byte (1); /* DW_LNS_set_isa */ + if (opcode_base == DWARF5_EXPERIMENTAL_LINE_OPCODE_BASE) + { + out_byte (1); /* DW_LNS_set_subprogram/DW_LNS_set_address_from_logical */ + out_byte (2); /* DW_LNS_inlined_call */ + out_byte (0); /* DW_LNS_pop_context */ + } - out_file_list (); - - symbol_set_value_now (prologue_end); + if (version == DWARF2_LINE_EXPERIMENTAL_VERSION) + { + /* Fake empty version 4 directory and filename lists, to fool + old consumers who don't check the version number. */ + out_byte (0); + out_byte (0); + + symbol_set_value_now (prologue_end); + + /* Now wrap the remainder of the section inside a fake + extended opcode, so old consumers will see just the single + extended opcode, and will not try to read anything else. + For simplicity, we simply output a very large number for + the size of the extended op. */ + out_opcode (DW_LNS_extended_op); + out_byte (255); /* 3-byte LEB128 for 0x1fffff. */ + out_byte (255); + out_byte (127); + out_byte (127); /* Fake extended opcode. */ + + /* Logicals table offset. */ + logicals_start = symbol_temp_make (); + exp.X_add_symbol = logicals_start; + emit_expr (&exp, sizeof_offset); + + /* Actuals table offset. */ + actuals_start = symbol_temp_make (); + exp.X_add_symbol = actuals_start; + emit_expr (&exp, sizeof_offset); + + /* Directory and filename lists. */ + out_dwarf5_file_list (str_seg, sizeof_offset); + + /* Subprogram list. */ + out_subprog_list (str_seg, sizeof_offset); + + symbol_set_value_now (logicals_start); + emit_logicals (); + symbol_set_value_now (actuals_start); + } + else if (version >= 5) + { + out_dwarf5_file_list (str_seg, sizeof_offset); + symbol_set_value_now (prologue_end); + } + else + { + out_file_list (); + symbol_set_value_now (prologue_end); + } /* For each section, emit a statement program. */ for (s = all_segs; s; s = s->next) @@ -1851,11 +2492,13 @@ dwarf2_finish (void) segT line_seg; struct line_seg *s; segT info_seg; + segT str_seg = NULL; int emit_other_sections = 0; int empty_debug_line = 0; info_seg = bfd_get_section_by_name (stdoutput, ".debug_info"); - emit_other_sections = info_seg == NULL || !seg_not_empty_p (info_seg); + emit_other_sections = ((info_seg == NULL || !seg_not_empty_p (info_seg)) + && logicals_in_use == 0); line_seg = bfd_get_section_by_name (stdoutput, ".debug_line"); empty_debug_line = line_seg == NULL || !seg_not_empty_p (line_seg); @@ -1892,7 +2535,23 @@ dwarf2_finish (void) } } - out_debug_line (line_seg); + if (logicals_in_use > 0) + { + str_seg = subseg_new (".debug_line_str", 0); + bfd_set_section_flags (stdoutput, str_seg, + (SEC_READONLY | SEC_DEBUGGING + | SEC_MERGE | SEC_STRINGS)); + str_seg->entsize = 1; + debug_line_str_table.strings = NULL; + debug_line_str_table.strings_in_use = 0; + debug_line_str_table.strings_allocated = 0; + debug_line_str_table.next_offset = 1; + } + + out_debug_line (line_seg, str_seg); + + if (str_seg != NULL) + out_string_table (str_seg, &debug_line_str_table); /* If this is assembler generated line info, and there is no debug_info already, we need .debug_info and .debug_abbrev diff --git a/binutils-2.25/gas/dwarf2dbg.h b/binutils-2.25/gas/dwarf2dbg.h index fdb185f..d3112a9 100644 --- a/binutils-2.25/gas/dwarf2dbg.h +++ b/binutils-2.25/gas/dwarf2dbg.h @@ -35,6 +35,7 @@ struct dwarf2_line_info { unsigned int isa; unsigned int flags; unsigned int discriminator; + unsigned int logical; }; /* Implements the .file FILENO "FILENAME" directive. FILENO can be 0 @@ -42,13 +43,29 @@ struct dwarf2_line_info { number must be >0. */ extern char *dwarf2_directive_file (int dummy); +/* Experimental DWARF-5 extension: + Implements the .subprog SUBPNO ["SUBPROG" [FILENO LINENO]] directive. + FILENO is the file number, LINENO the line number and the + (optional) COLUMN the column of the source code that the following + instruction corresponds to. FILENO can be 0 to indicate that the + filename specified by the textually most recent .file directive + should be used. */ +extern void dwarf2_directive_subprog (int dummy); + /* Implements the .loc FILENO LINENO [COLUMN] directive. FILENO is the file number, LINENO the line number and the (optional) COLUMN the column of the source code that the following instruction corresponds to. FILENO can be 0 to indicate that the filename specified by the textually most recent .file directive should be used. */ -extern void dwarf2_directive_loc (int dummy); +/* Experimental DWARF-5 extension: + If IS_LLOC is true, implements the .lloc LOGICAL [FILENO LINENO [COLUMN]] + directive. FILENO is the file number, LINENO the line number and the + (optional) COLUMN the column of the source code that the following + instruction corresponds to. FILENO can be 0 to indicate that the + filename specified by the textually most recent .file directive + should be used. */ +extern void dwarf2_directive_loc (int is_lloc); /* Implements the .loc_mark_labels {0,1} directive. */ extern void dwarf2_directive_loc_mark_labels (int dummy); diff --git a/binutils-2.25/gas/ecoff.c b/binutils-2.25/gas/ecoff.c index 771c8b5..fe7ad05 100644 --- a/binutils-2.25/gas/ecoff.c +++ b/binutils-2.25/gas/ecoff.c @@ -1552,8 +1552,8 @@ add_string (varray_t *vp, /* string obstack */ const char *str, /* string */ shash_t **ret_hash /* return hash pointer */) { - register unsigned long len = strlen (str); - register shash_t *hash_ptr; + unsigned long len = strlen (str); + shash_t *hash_ptr; if (len >= PAGE_USIZE) as_fatal (_("string too big (%lu bytes)"), len); @@ -1561,7 +1561,7 @@ add_string (varray_t *vp, /* string obstack */ hash_ptr = (shash_t *) hash_find (hash_tbl, str); if (hash_ptr == (shash_t *) NULL) { - register const char *err; + const char *err; if (vp->objects_last_page + len >= PAGE_USIZE) { @@ -1604,12 +1604,12 @@ add_ecoff_symbol (const char *str, /* symbol name */ symint_t indx /* index to local/aux. syms */) { localsym_t *psym; - register scope_t *pscope; - register thead_t *ptag_head; - register tag_t *ptag; - register tag_t *ptag_next; - register varray_t *vp; - register int scope_delta = 0; + scope_t *pscope; + thead_t *ptag_head; + tag_t *ptag; + tag_t *ptag_next; + varray_t *vp; + int scope_delta = 0; shash_t *hash_ptr = (shash_t *) NULL; if (cur_file_ptr == (efdr_t *) NULL) @@ -1802,8 +1802,8 @@ add_ecoff_symbol (const char *str, /* symbol name */ static symint_t add_aux_sym_symint (symint_t aux_word /* auxiliary information word */) { - register varray_t *vp; - register aux_t *aux_ptr; + varray_t *vp; + aux_t *aux_ptr; if (cur_file_ptr == (efdr_t *) NULL) as_fatal (_("no current file pointer")); @@ -1825,8 +1825,8 @@ add_aux_sym_symint (symint_t aux_word /* auxiliary information word */) static symint_t add_aux_sym_rndx (int file_index, symint_t sym_index) { - register varray_t *vp; - register aux_t *aux_ptr; + varray_t *vp; + aux_t *aux_ptr; if (cur_file_ptr == (efdr_t *) NULL) as_fatal (_("no current file pointer")); @@ -1852,8 +1852,8 @@ add_aux_sym_tir (type_info_t *t, /* current type information */ hash_state_t state, /* whether to hash type or not */ thash_t **hash_tbl /* pointer to hash table to use */) { - register varray_t *vp; - register aux_t *aux_ptr; + varray_t *vp; + aux_t *aux_ptr; static AUXU init_aux; symint_t ret; int i; @@ -1900,8 +1900,8 @@ add_aux_sym_tir (type_info_t *t, /* current type information */ if (state != hash_no) { - register thash_t *hash_ptr; - register symint_t hi; + thash_t *hash_ptr; + symint_t hi; hi = aux.isym & ((1 << HASHBITS) - 1); hi %= THASH_SIZE; @@ -1957,9 +1957,9 @@ add_aux_sym_tir (type_info_t *t, /* current type information */ || t->basic_type == bt_Union || t->basic_type == bt_Enum) { - register symint_t file_index = t->tag_ptr->ifd; - register localsym_t *sym = t->tag_ptr->sym; - register forward_t *forward_ref = allocate_forward (); + symint_t file_index = t->tag_ptr->ifd; + localsym_t *sym = t->tag_ptr->sym; + forward_t *forward_ref = allocate_forward (); if (sym != (localsym_t *) NULL) { @@ -2114,8 +2114,8 @@ add_unknown_tag (tag_t *ptag /* pointer to tag information */) static void add_procedure (char *func /* func name */) { - register varray_t *vp; - register proc_t *new_proc_ptr; + varray_t *vp; + proc_t *new_proc_ptr; symbolS *sym; #ifdef ECOFF_DEBUG @@ -2184,8 +2184,8 @@ ecoff_get_cur_proc_sym (void) static void add_file (const char *file_name, int indx ATTRIBUTE_UNUSED, int fake) { - register int first_ch; - register efdr_t *fil_ptr; + int first_ch; + efdr_t *fil_ptr; #ifdef ECOFF_DEBUG if (debug) @@ -3667,7 +3667,7 @@ ecoff_build_lineno (const struct ecoff_debug_swap *backend, long *linecntptr) { char *bufptr; - register lineno_list_t *l; + lineno_list_t *l; lineno_list_t *last; efdr_t *file; proc_t *proc; @@ -4592,7 +4592,7 @@ ecoff_build_fdr (const struct ecoff_debug_swap *backend, static void ecoff_setup_ext (void) { - register symbolS *sym; + symbolS *sym; for (sym = symbol_rootP; sym != (symbolS *) NULL; sym = symbol_next (sym)) { @@ -4788,7 +4788,7 @@ ecoff_build_debug (HDRR *hdr, static page_type * allocate_cluster (unsigned long npages) { - register page_type *value = (page_type *) xmalloc (npages * PAGE_USIZE); + page_type *value = (page_type *) xmalloc (npages * PAGE_USIZE); #ifdef ECOFF_DEBUG if (debug > 3) @@ -4837,7 +4837,7 @@ allocate_page (void) static scope_t * allocate_scope (void) { - register scope_t *ptr; + scope_t *ptr; static scope_t initial_scope; #ifndef MALLOC_CHECK @@ -4847,8 +4847,8 @@ allocate_scope (void) alloc_counts[(int) alloc_type_scope].free_list.f_scope = ptr->free; else { - register int unallocated = alloc_counts[(int) alloc_type_scope].unallocated; - register page_type *cur_page = alloc_counts[(int) alloc_type_scope].cur_page; + int unallocated = alloc_counts[(int) alloc_type_scope].unallocated; + page_type *cur_page = alloc_counts[(int) alloc_type_scope].cur_page; if (unallocated == 0) { @@ -4892,13 +4892,13 @@ free_scope (scope_t *ptr) static vlinks_t * allocate_vlinks (void) { - register vlinks_t *ptr; + vlinks_t *ptr; static vlinks_t initial_vlinks; #ifndef MALLOC_CHECK - register int unallocated = alloc_counts[(int) alloc_type_vlinks].unallocated; - register page_type *cur_page = alloc_counts[(int) alloc_type_vlinks].cur_page; + int unallocated = alloc_counts[(int) alloc_type_vlinks].unallocated; + page_type *cur_page = alloc_counts[(int) alloc_type_vlinks].cur_page; if (unallocated == 0) { @@ -4926,13 +4926,13 @@ allocate_vlinks (void) static shash_t * allocate_shash (void) { - register shash_t *ptr; + shash_t *ptr; static shash_t initial_shash; #ifndef MALLOC_CHECK - register int unallocated = alloc_counts[(int) alloc_type_shash].unallocated; - register page_type *cur_page = alloc_counts[(int) alloc_type_shash].cur_page; + int unallocated = alloc_counts[(int) alloc_type_shash].unallocated; + page_type *cur_page = alloc_counts[(int) alloc_type_shash].cur_page; if (unallocated == 0) { @@ -4960,13 +4960,13 @@ allocate_shash (void) static thash_t * allocate_thash (void) { - register thash_t *ptr; + thash_t *ptr; static thash_t initial_thash; #ifndef MALLOC_CHECK - register int unallocated = alloc_counts[(int) alloc_type_thash].unallocated; - register page_type *cur_page = alloc_counts[(int) alloc_type_thash].cur_page; + int unallocated = alloc_counts[(int) alloc_type_thash].unallocated; + page_type *cur_page = alloc_counts[(int) alloc_type_thash].cur_page; if (unallocated == 0) { @@ -4994,7 +4994,7 @@ allocate_thash (void) static tag_t * allocate_tag (void) { - register tag_t *ptr; + tag_t *ptr; static tag_t initial_tag; #ifndef MALLOC_CHECK @@ -5004,8 +5004,8 @@ allocate_tag (void) alloc_counts[(int) alloc_type_tag].free_list.f_tag = ptr->free; else { - register int unallocated = alloc_counts[(int) alloc_type_tag].unallocated; - register page_type *cur_page = alloc_counts[(int) alloc_type_tag].cur_page; + int unallocated = alloc_counts[(int) alloc_type_tag].unallocated; + page_type *cur_page = alloc_counts[(int) alloc_type_tag].cur_page; if (unallocated == 0) { @@ -5049,13 +5049,13 @@ free_tag (tag_t *ptr) static forward_t * allocate_forward (void) { - register forward_t *ptr; + forward_t *ptr; static forward_t initial_forward; #ifndef MALLOC_CHECK - register int unallocated = alloc_counts[(int) alloc_type_forward].unallocated; - register page_type *cur_page = alloc_counts[(int) alloc_type_forward].cur_page; + int unallocated = alloc_counts[(int) alloc_type_forward].unallocated; + page_type *cur_page = alloc_counts[(int) alloc_type_forward].cur_page; if (unallocated == 0) { @@ -5083,7 +5083,7 @@ allocate_forward (void) static thead_t * allocate_thead (void) { - register thead_t *ptr; + thead_t *ptr; static thead_t initial_thead; #ifndef MALLOC_CHECK @@ -5093,8 +5093,8 @@ allocate_thead (void) alloc_counts[(int) alloc_type_thead].free_list.f_thead = ptr->free; else { - register int unallocated = alloc_counts[(int) alloc_type_thead].unallocated; - register page_type *cur_page = alloc_counts[(int) alloc_type_thead].cur_page; + int unallocated = alloc_counts[(int) alloc_type_thead].unallocated; + page_type *cur_page = alloc_counts[(int) alloc_type_thead].cur_page; if (unallocated == 0) { @@ -5136,13 +5136,13 @@ free_thead (thead_t *ptr) static lineno_list_t * allocate_lineno_list (void) { - register lineno_list_t *ptr; + lineno_list_t *ptr; static lineno_list_t initial_lineno_list; #ifndef MALLOC_CHECK - register int unallocated = alloc_counts[(int) alloc_type_lineno].unallocated; - register page_type *cur_page = alloc_counts[(int) alloc_type_lineno].cur_page; + int unallocated = alloc_counts[(int) alloc_type_lineno].unallocated; + page_type *cur_page = alloc_counts[(int) alloc_type_lineno].cur_page; if (unallocated == 0) { diff --git a/binutils-2.25/gas/expr.c b/binutils-2.25/gas/expr.c index 0ccfbd3..b8266fc 100644 --- a/binutils-2.25/gas/expr.c +++ b/binutils-2.25/gas/expr.c @@ -124,7 +124,7 @@ make_expr_symbol (expressionS *expressionP) int expr_symbol_where (symbolS *sym, char **pfile, unsigned int *pline) { - register struct expr_symbol_line *l; + struct expr_symbol_line *l; for (l = expr_symbol_lines; l != NULL; l = l->next) { diff --git a/binutils-2.25/gas/frags.c b/binutils-2.25/gas/frags.c index defa853..beaceee 100644 --- a/binutils-2.25/gas/frags.c +++ b/binutils-2.25/gas/frags.c @@ -206,13 +206,13 @@ frag_new (size_t old_frags_var_max_size char * frag_more (size_t nchars) { - register char *retval; + char *retval; frag_alloc_check (&frchain_now->frch_obstack); frag_grow (nchars); retval = obstack_next_free (&frchain_now->frch_obstack); obstack_blank_fast (&frchain_now->frch_obstack, nchars); - return (retval); + return retval; } /* Close the current frag, setting its fields for a relaxable frag. Start a @@ -254,7 +254,7 @@ frag_var (relax_stateT type, size_t max_chars, size_t var, relax_substateT subtype, symbolS *symbol, offsetT offset, char *opcode) { - register char *retval; + char *retval; frag_grow (max_chars); retval = obstack_next_free (&frchain_now->frch_obstack); @@ -272,7 +272,7 @@ frag_variant (relax_stateT type, size_t max_chars, size_t var, relax_substateT subtype, symbolS *symbol, offsetT offset, char *opcode) { - register char *retval; + char *retval; retval = obstack_next_free (&frchain_now->frch_obstack); frag_var_init (type, max_chars, var, subtype, symbol, offset, opcode); @@ -283,7 +283,7 @@ frag_variant (relax_stateT type, size_t max_chars, size_t var, /* Reduce the variable end of a frag to a harmless state. */ void -frag_wane (register fragS *fragP) +frag_wane (fragS *fragP) { fragP->fr_type = rs_fill; fragP->fr_offset = 0; diff --git a/binutils-2.25/gas/input-file.c b/binutils-2.25/gas/input-file.c index 354ff56..f1f2ec5 100644 --- a/binutils-2.25/gas/input-file.c +++ b/binutils-2.25/gas/input-file.c @@ -79,7 +79,7 @@ input_file_buffer_size (void) char * input_file_push (void) { - register struct saved_file *saved; + struct saved_file *saved; saved = (struct saved_file *) xmalloc (sizeof *saved); @@ -98,7 +98,7 @@ input_file_push (void) void input_file_pop (char *arg) { - register struct saved_file *saved = (struct saved_file *) arg; + struct saved_file *saved = (struct saved_file *) arg; input_file_end (); /* Close out old file. */ diff --git a/binutils-2.25/gas/input-scrub.c b/binutils-2.25/gas/input-scrub.c index 042005a..5388e81 100644 --- a/binutils-2.25/gas/input-scrub.c +++ b/binutils-2.25/gas/input-scrub.c @@ -137,7 +137,7 @@ static struct input_save *next_saved_file; static struct input_save * input_scrub_push (char *saved_position) { - register struct input_save *saved; + struct input_save *saved; saved = (struct input_save *) xmalloc (sizeof *saved); @@ -311,7 +311,7 @@ input_scrub_close (void) char * input_scrub_next_buffer (char **bufp) { - register char *limit; /*->just after last char of buffer. */ + char *limit; /*->just after last char of buffer. */ if (sb_index != (size_t) -1) { @@ -354,7 +354,7 @@ input_scrub_next_buffer (char **bufp) + partial_size); if (limit) { - register char *p; /* Find last newline. */ + char *p; /* Find last newline. */ /* Terminate the buffer to avoid confusing TC_EOL_IN_INSN. */ *limit = '\0'; for (p = limit - 1; *p != '\n' || TC_EOL_IN_INSN (p); --p) diff --git a/binutils-2.25/gas/po/gas.pot b/binutils-2.25/gas/po/gas.pot index 622d08b..e7e8dce 100644 --- a/binutils-2.25/gas/po/gas.pot +++ b/binutils-2.25/gas/po/gas.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" -"POT-Creation-Date: 2014-02-10 09:42+1030\n" +"POT-Creation-Date: 2014-11-04 15:27+1030\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,41 +17,41 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: app.c:489 app.c:503 +#: app.c:490 app.c:504 msgid "end of file in comment" msgstr "" -#: app.c:581 app.c:628 +#: app.c:582 app.c:629 #, c-format msgid "end of file in string; '%c' inserted" msgstr "" -#: app.c:654 +#: app.c:655 #, c-format msgid "unknown escape '\\%c' in string; ignored" msgstr "" -#: app.c:827 +#: app.c:828 msgid "end of file not at end of a line; newline inserted" msgstr "" -#: app.c:990 +#: app.c:991 msgid "end of file in multiline comment" msgstr "" -#: app.c:1065 +#: app.c:1066 msgid "end of file after a one-character quote; \\0 inserted" msgstr "" -#: app.c:1073 +#: app.c:1074 msgid "end of file in escape character" msgstr "" -#: app.c:1085 +#: app.c:1086 msgid "missing close quote; (assumed)" msgstr "" -#: app.c:1154 app.c:1209 app.c:1221 app.c:1301 +#: app.c:1155 app.c:1210 app.c:1222 app.c:1302 msgid "end of file in comment; newline inserted" msgstr "" @@ -372,7 +372,7 @@ msgstr "" #: as.c:629 #, c-format -msgid "Copyright 2014 Free Software Foundation, Inc.\n" +msgid "Copyright (C) 2014 Free Software Foundation, Inc.\n" msgstr "" #: as.c:630 @@ -462,9 +462,34 @@ msgstr "" msgid "%s: data size %ld\n" msgstr "" -#: as.c:1308 +#: as.c:1268 #, c-format -msgid "%d warnings, treating warnings as errors" +msgid "%d warning" +msgstr "" + +#: as.c:1270 +#, c-format +msgid "%d warnings" +msgstr "" + +#: as.c:1272 +#, c-format +msgid "%d error" +msgstr "" + +#: as.c:1274 +#, c-format +msgid "%d errors" +msgstr "" + +#: as.c:1279 +#, c-format +msgid "%s, treating warnings as errors" +msgstr "" + +#: as.c:1290 +#, c-format +msgid "%s, %s, generating bad object file\n" msgstr "" #: as.h:189 @@ -476,264 +501,265 @@ msgstr "" #. * We have a GROSS internal error. #. * This should never happen. #. -#: atof-generic.c:417 config/tc-m68k.c:3583 +#: atof-generic.c:416 config/tc-m68k.c:3581 msgid "failed sanity check" msgstr "" -#: cgen.c:113 config/tc-alpha.c:2101 config/tc-alpha.c:2125 -#: config/tc-arc.c:1684 config/tc-d10v.c:552 config/tc-d30v.c:538 -#: config/tc-mn10200.c:1101 config/tc-mn10300.c:1753 config/tc-ppc.c:2861 -#: config/tc-ppc.c:3038 config/tc-ppc.c:3307 config/tc-s390.c:1262 -#: config/tc-s390.c:1382 config/tc-s390.c:1511 config/tc-v850.c:2523 -#: config/tc-v850.c:2594 config/tc-v850.c:2641 config/tc-v850.c:2678 -#: config/tc-v850.c:2715 config/tc-v850.c:2976 +#: cgen.c:112 config/tc-alpha.c:2099 config/tc-alpha.c:2123 +#: config/tc-arc.c:1685 config/tc-d10v.c:550 config/tc-d30v.c:537 +#: config/tc-mn10200.c:1101 config/tc-mn10300.c:1753 config/tc-ppc.c:2865 +#: config/tc-ppc.c:3042 config/tc-ppc.c:3302 config/tc-s390.c:1261 +#: config/tc-s390.c:1381 config/tc-s390.c:1510 config/tc-v850.c:2526 +#: config/tc-v850.c:2597 config/tc-v850.c:2644 config/tc-v850.c:2681 +#: config/tc-v850.c:2718 config/tc-v850.c:2979 msgid "too many fixups" msgstr "" -#: cgen.c:400 cgen.c:420 config/tc-arc.c:1665 config/tc-d10v.c:463 -#: config/tc-d30v.c:454 config/tc-i370.c:2125 config/tc-mn10200.c:1043 -#: config/tc-mn10300.c:1678 config/tc-ppc.c:2903 config/tc-s390.c:1233 -#: config/tc-v850.c:2632 config/tc-v850.c:2666 config/tc-v850.c:2706 -#: config/tc-v850.c:2949 config/tc-z80.c:444 +#: cgen.c:399 cgen.c:419 config/tc-arc.c:1666 config/tc-d10v.c:461 +#: config/tc-d30v.c:453 config/tc-i370.c:2124 config/tc-mn10200.c:1043 +#: config/tc-mn10300.c:1678 config/tc-ppc.c:2907 config/tc-s390.c:1232 +#: config/tc-v850.c:2635 config/tc-v850.c:2669 config/tc-v850.c:2709 +#: config/tc-v850.c:2952 config/tc-z80.c:444 msgid "illegal operand" msgstr "" -#: cgen.c:424 config/tc-arc.c:1667 config/tc-avr.c:639 config/tc-d10v.c:465 -#: config/tc-d30v.c:456 config/tc-h8300.c:497 config/tc-i370.c:2127 -#: config/tc-mcore.c:662 config/tc-microblaze.c:604 config/tc-mmix.c:495 -#: config/tc-mn10200.c:1046 config/tc-mn10300.c:1681 config/tc-msp430.c:883 -#: config/tc-or32.c:307 config/tc-ppc.c:2905 config/tc-s390.c:1251 -#: config/tc-sh.c:1386 config/tc-sh64.c:2213 config/tc-v850.c:2636 -#: config/tc-v850.c:2670 config/tc-v850.c:2710 config/tc-v850.c:2952 -#: config/tc-xgate.c:897 config/tc-z80.c:555 config/tc-z8k.c:350 +#: cgen.c:423 config/tc-arc.c:1668 config/tc-avr.c:712 config/tc-d10v.c:463 +#: config/tc-d30v.c:455 config/tc-h8300.c:497 config/tc-i370.c:2126 +#: config/tc-mcore.c:661 config/tc-microblaze.c:604 config/tc-mmix.c:495 +#: config/tc-mn10200.c:1046 config/tc-mn10300.c:1681 config/tc-msp430.c:420 +#: config/tc-ppc.c:2909 config/tc-s390.c:1250 config/tc-sh.c:1385 +#: config/tc-sh64.c:2212 config/tc-v850.c:2639 config/tc-v850.c:2673 +#: config/tc-v850.c:2713 config/tc-v850.c:2955 config/tc-xgate.c:896 +#: config/tc-z80.c:555 config/tc-z8k.c:349 msgid "missing operand" msgstr "" -#: cgen.c:800 +#: cgen.c:799 msgid "a reloc on this operand implies an overflow" msgstr "" -#: cgen.c:823 +#: cgen.c:822 msgid "operand mask overflow" msgstr "" #. We can't actually support subtracting a symbol. -#: cgen.c:887 config/tc-arc.c:1249 config/tc-arm.c:1683 config/tc-arm.c:9384 -#: config/tc-arm.c:9436 config/tc-arm.c:9685 config/tc-arm.c:10506 -#: config/tc-arm.c:11632 config/tc-arm.c:11672 config/tc-arm.c:12015 -#: config/tc-arm.c:12056 config/tc-avr.c:1172 config/tc-avr.c:1397 -#: config/tc-cris.c:4047 config/tc-d10v.c:1511 config/tc-d30v.c:1915 -#: config/tc-mips.c:8510 config/tc-mips.c:9797 config/tc-mips.c:11029 -#: config/tc-mips.c:11684 config/tc-nds32.c:5775 config/tc-ppc.c:6515 -#: config/tc-spu.c:957 config/tc-spu.c:981 config/tc-tilegx.c:1485 -#: config/tc-tilepro.c:1346 config/tc-v850.c:3435 config/tc-xstormy16.c:483 -#: config/tc-xtensa.c:5833 config/tc-xtensa.c:11830 +#: cgen.c:886 config/tc-arc.c:1250 config/tc-arm.c:1698 config/tc-arm.c:9942 +#: config/tc-arm.c:9994 config/tc-arm.c:10243 config/tc-arm.c:11064 +#: config/tc-arm.c:12190 config/tc-arm.c:12230 config/tc-arm.c:12573 +#: config/tc-arm.c:12614 config/tc-avr.c:1333 config/tc-avr.c:1344 +#: config/tc-avr.c:1607 config/tc-cris.c:4067 config/tc-d10v.c:1507 +#: config/tc-d30v.c:1912 config/tc-mips.c:9070 config/tc-mips.c:10357 +#: config/tc-mips.c:11613 config/tc-mips.c:12272 config/tc-nds32.c:6452 +#: config/tc-ppc.c:6523 config/tc-spu.c:957 config/tc-spu.c:981 +#: config/tc-tilegx.c:1485 config/tc-tilepro.c:1346 config/tc-v850.c:3438 +#: config/tc-vax.c:282 config/tc-xstormy16.c:481 config/tc-xtensa.c:5856 +#: config/tc-xtensa.c:12385 msgid "expression too complex" msgstr "" -#: cgen.c:983 config/tc-arc.c:1310 config/tc-ppc.c:6832 config/tc-ppc.c:7048 -#: config/tc-s390.c:2246 config/tc-v850.c:3487 config/tc-xstormy16.c:537 +#: cgen.c:982 config/tc-arc.c:1311 config/tc-ppc.c:6840 config/tc-ppc.c:7067 +#: config/tc-s390.c:2245 config/tc-v850.c:3490 config/tc-xstormy16.c:535 msgid "unresolved expression that must be resolved" msgstr "" -#: cgen.c:1008 config/tc-xstormy16.c:562 +#: cgen.c:1007 config/tc-xstormy16.c:560 #, c-format msgid "internal error: can't install fix for reloc type %d (`%s')" msgstr "" -#: cgen.c:1061 config/tc-nios2.c:1231 +#: cgen.c:1060 config/tc-nios2.c:1193 msgid "relocation is not supported" msgstr "" -#: cond.c:83 +#: cond.c:82 msgid "invalid identifier for \".ifdef\"" msgstr "" -#: cond.c:150 +#: cond.c:149 msgid "non-constant expression in \".if\" statement" msgstr "" -#: cond.c:277 +#: cond.c:276 msgid "bad format for ifc or ifnc" msgstr "" -#: cond.c:307 +#: cond.c:306 msgid "\".elseif\" without matching \".if\"" msgstr "" -#: cond.c:311 +#: cond.c:310 msgid "\".elseif\" after \".else\"" msgstr "" -#: cond.c:314 cond.c:420 +#: cond.c:313 cond.c:419 msgid "here is the previous \".else\"" msgstr "" -#: cond.c:317 cond.c:423 +#: cond.c:316 cond.c:422 msgid "here is the previous \".if\"" msgstr "" -#: cond.c:346 +#: cond.c:345 msgid "non-constant expression in \".elseif\" statement" msgstr "" -#: cond.c:384 +#: cond.c:383 msgid "\".endif\" without \".if\"" msgstr "" -#: cond.c:413 +#: cond.c:412 msgid "\".else\" without matching \".if\"" msgstr "" -#: cond.c:417 +#: cond.c:416 msgid "duplicate \".else\"" msgstr "" -#: cond.c:468 +#: cond.c:467 msgid ".ifeqs syntax error" msgstr "" -#: cond.c:549 +#: cond.c:548 msgid "end of macro inside conditional" msgstr "" -#: cond.c:551 +#: cond.c:550 msgid "end of file inside conditional" msgstr "" -#: cond.c:554 +#: cond.c:553 msgid "here is the start of the unterminated conditional" msgstr "" -#: cond.c:558 +#: cond.c:557 msgid "here is the \"else\" of the unterminated conditional" msgstr "" -#: config/atof-ieee.c:141 +#: config/atof-ieee.c:140 msgid "cannot create floating-point number" msgstr "" -#: config/atof-ieee.c:288 +#: config/atof-ieee.c:287 msgid "NaNs are not supported by this target\n" msgstr "" -#: config/atof-ieee.c:327 config/atof-ieee.c:368 +#: config/atof-ieee.c:326 config/atof-ieee.c:367 msgid "Infinities are not supported by this target\n" msgstr "" -#: config/atof-ieee.c:784 config/atof-vax.c:450 config/tc-arm.c:1070 -#: config/tc-ia64.c:11651 config/tc-tic30.c:1259 config/tc-tic4x.c:2592 +#: config/atof-ieee.c:783 config/atof-vax.c:449 config/tc-arm.c:1085 +#: config/tc-ia64.c:11652 config/tc-tic30.c:1258 config/tc-tic4x.c:2590 msgid "Unrecognized or unsupported floating point constant" msgstr "" -#: config/obj-aout.c:84 +#: config/obj-aout.c:81 #, c-format msgid "Attempt to put a common symbol into set %s" msgstr "" -#: config/obj-aout.c:88 +#: config/obj-aout.c:85 #, c-format msgid "Attempt to put an undefined symbol into set %s" msgstr "" -#: config/obj-aout.c:115 config/obj-coff.c:1401 +#: config/obj-aout.c:112 config/obj-coff.c:1398 #, c-format msgid "Symbol `%s' can not be both weak and common" msgstr "" -#: config/obj-coff.c:141 dw2gencfi.c:214 +#: config/obj-coff.c:138 dw2gencfi.c:213 #, c-format msgid "Inserting \"%s\" into structure table failed: %s" msgstr "" -#: config/obj-coff.c:220 config/obj-coff.c:1705 config/tc-ppc.c:5519 -#: config/tc-tic54x.c:4008 read.c:2896 +#: config/obj-coff.c:217 config/obj-coff.c:1702 config/tc-ppc.c:5527 +#: config/tc-tic54x.c:4007 read.c:2900 #, c-format msgid "error setting flags for \"%s\": %s" msgstr "" #. Zero is used as an end marker in the file. -#: config/obj-coff.c:439 +#: config/obj-coff.c:436 msgid "Line numbers must be positive integers\n" msgstr "" -#: config/obj-coff.c:471 +#: config/obj-coff.c:468 msgid ".ln pseudo-op inside .def/.endef: ignored." msgstr "" -#: config/obj-coff.c:513 ecoff.c:3249 +#: config/obj-coff.c:510 ecoff.c:3247 msgid ".loc outside of .text" msgstr "" -#: config/obj-coff.c:520 +#: config/obj-coff.c:517 msgid ".loc pseudo-op inside .def/.endef: ignored." msgstr "" -#: config/obj-coff.c:601 +#: config/obj-coff.c:598 msgid ".def pseudo-op used inside of .def/.endef: ignored." msgstr "" -#: config/obj-coff.c:637 +#: config/obj-coff.c:634 msgid ".endef pseudo-op used outside of .def/.endef: ignored." msgstr "" -#: config/obj-coff.c:676 +#: config/obj-coff.c:673 #, c-format msgid "`%s' symbol without preceding function" msgstr "" -#: config/obj-coff.c:763 +#: config/obj-coff.c:760 #, c-format msgid "unexpected storage class %d" msgstr "" -#: config/obj-coff.c:871 +#: config/obj-coff.c:868 msgid ".dim pseudo-op used outside of .def/.endef: ignored." msgstr "" -#: config/obj-coff.c:891 +#: config/obj-coff.c:888 msgid "badly formed .dim directive ignored" msgstr "" -#: config/obj-coff.c:940 +#: config/obj-coff.c:937 msgid ".size pseudo-op used outside of .def/.endef ignored." msgstr "" -#: config/obj-coff.c:955 +#: config/obj-coff.c:952 msgid ".scl pseudo-op used outside of .def/.endef ignored." msgstr "" -#: config/obj-coff.c:972 +#: config/obj-coff.c:969 msgid ".tag pseudo-op used outside of .def/.endef ignored." msgstr "" -#: config/obj-coff.c:990 +#: config/obj-coff.c:987 #, c-format msgid "tag not found for .tag %s" msgstr "" -#: config/obj-coff.c:1003 +#: config/obj-coff.c:1000 msgid ".type pseudo-op used outside of .def/.endef ignored." msgstr "" -#: config/obj-coff.c:1022 +#: config/obj-coff.c:1019 msgid ".val pseudo-op used outside of .def/.endef ignored." msgstr "" -#: config/obj-coff.c:1179 +#: config/obj-coff.c:1176 msgid "badly formed .weak directive ignored" msgstr "" -#: config/obj-coff.c:1357 +#: config/obj-coff.c:1354 msgid "mismatched .eb" msgstr "" -#: config/obj-coff.c:1380 +#: config/obj-coff.c:1377 #, c-format msgid "C_EFCN symbol for %s out of scope" msgstr "" -#: config/obj-coff.c:1434 +#: config/obj-coff.c:1431 #, c-format msgid "Warning: internal error: forgetting to set endndx of %s" msgstr "" @@ -741,240 +767,240 @@ msgstr "" #. STYP_INFO #. STYP_LIB #. STYP_OVER -#: config/obj-coff.c:1670 +#: config/obj-coff.c:1667 #, c-format msgid "unsupported section attribute '%c'" msgstr "" -#: config/obj-coff.c:1674 config/tc-ppc.c:5501 +#: config/obj-coff.c:1671 config/tc-ppc.c:5509 #, c-format msgid "unknown section attribute '%c'" msgstr "" -#: config/obj-coff.c:1717 config/obj-macho.c:276 +#: config/obj-coff.c:1714 config/obj-macho.c:276 #, c-format msgid "Ignoring changed section attributes for %s" msgstr "" -#: config/obj-coff.c:1857 +#: config/obj-coff.c:1854 #, c-format msgid "0x%lx: \"%s\" type = %ld, class = %d, segment = %d\n" msgstr "" -#: config/obj-ecoff.c:125 +#: config/obj-ecoff.c:124 msgid "Can't set GP value" msgstr "" -#: config/obj-ecoff.c:132 +#: config/obj-ecoff.c:131 msgid "Can't set register masks" msgstr "" -#: config/obj-elf.c:342 config/tc-sparc.c:4193 config/tc-v850.c:512 +#: config/obj-elf.c:340 config/tc-sparc.c:4276 config/tc-v850.c:509 #, c-format msgid "bad .common segment %s" msgstr "" -#: config/obj-elf.c:419 +#: config/obj-elf.c:417 msgid "Missing symbol name in directive" msgstr "" -#: config/obj-elf.c:625 +#: config/obj-elf.c:623 #, c-format msgid "setting incorrect section type for %s" msgstr "" -#: config/obj-elf.c:630 +#: config/obj-elf.c:628 #, c-format msgid "ignoring incorrect section type for %s" msgstr "" -#: config/obj-elf.c:680 +#: config/obj-elf.c:678 #, c-format msgid "setting incorrect section attributes for %s" msgstr "" -#: config/obj-elf.c:735 +#: config/obj-elf.c:733 #, c-format msgid "ignoring changed section type for %s" msgstr "" -#: config/obj-elf.c:747 +#: config/obj-elf.c:745 #, c-format msgid "ignoring changed section attributes for %s" msgstr "" -#: config/obj-elf.c:749 +#: config/obj-elf.c:747 #, c-format msgid "ignoring changed section entity size for %s" msgstr "" -#: config/obj-elf.c:809 +#: config/obj-elf.c:807 msgid "unrecognized .section attribute: want a,e,w,x,M,S,G,T" msgstr "" -#: config/obj-elf.c:851 read.c:2880 +#: config/obj-elf.c:849 read.c:2884 msgid "unrecognized section type" msgstr "" -#: config/obj-elf.c:883 +#: config/obj-elf.c:881 msgid "unrecognized section attribute" msgstr "" -#: config/obj-elf.c:914 config/tc-alpha.c:4208 +#: config/obj-elf.c:912 config/tc-alpha.c:4206 msgid "missing name" msgstr "" -#: config/obj-elf.c:1045 +#: config/obj-elf.c:1043 msgid "invalid merge entity size" msgstr "" -#: config/obj-elf.c:1052 +#: config/obj-elf.c:1050 msgid "entity size for SHF_MERGE not specified" msgstr "" -#: config/obj-elf.c:1058 +#: config/obj-elf.c:1056 msgid "? section flag ignored with G present" msgstr "" -#: config/obj-elf.c:1082 +#: config/obj-elf.c:1080 msgid "group name for SHF_GROUP not specified" msgstr "" -#: config/obj-elf.c:1105 +#: config/obj-elf.c:1103 msgid "character following name is not '#'" msgstr "" -#: config/obj-elf.c:1224 +#: config/obj-elf.c:1222 msgid ".previous without corresponding .section; ignored" msgstr "" -#: config/obj-elf.c:1250 +#: config/obj-elf.c:1248 msgid ".popsection without corresponding .pushsection; ignored" msgstr "" -#: config/obj-elf.c:1296 +#: config/obj-elf.c:1294 msgid "expected comma after name in .symver" msgstr "" -#: config/obj-elf.c:1320 +#: config/obj-elf.c:1318 #, c-format msgid "missing version name in `%s' for symbol `%s'" msgstr "" -#: config/obj-elf.c:1331 +#: config/obj-elf.c:1329 #, c-format msgid "multiple versions [`%s'|`%s'] for symbol `%s'" msgstr "" -#: config/obj-elf.c:1368 +#: config/obj-elf.c:1366 #, c-format msgid "expected `%s' to have already been set for .vtable_inherit" msgstr "" -#: config/obj-elf.c:1378 +#: config/obj-elf.c:1376 msgid "expected comma after name in .vtable_inherit" msgstr "" -#: config/obj-elf.c:1431 +#: config/obj-elf.c:1429 msgid "expected comma after name in .vtable_entry" msgstr "" -#: config/obj-elf.c:1507 +#: config/obj-elf.c:1561 #, c-format msgid "Attribute name not recognised: %s" msgstr "" -#: config/obj-elf.c:1522 +#: config/obj-elf.c:1576 msgid "expected numeric constant" msgstr "" -#: config/obj-elf.c:1531 config/tc-arm.c:6097 +#: config/obj-elf.c:1585 config/tc-arm.c:6390 msgid "expected comma" msgstr "" -#: config/obj-elf.c:1563 +#: config/obj-elf.c:1618 msgid "bad string constant" msgstr "" -#: config/obj-elf.c:1567 +#: config/obj-elf.c:1622 msgid "expected <tag> , <value>" msgstr "" -#: config/obj-elf.c:1686 +#: config/obj-elf.c:1741 msgid "expected quoted string" msgstr "" -#: config/obj-elf.c:1706 +#: config/obj-elf.c:1761 #, c-format msgid "expected comma after name `%s' in .size directive" msgstr "" -#: config/obj-elf.c:1715 +#: config/obj-elf.c:1770 msgid "missing expression in .size directive" msgstr "" -#: config/obj-elf.c:1839 +#: config/obj-elf.c:1894 #, c-format msgid "symbol '%s' is already defined" msgstr "" -#: config/obj-elf.c:1860 +#: config/obj-elf.c:1915 #, c-format msgid "symbol type \"%s\" is supported only by GNU and FreeBSD targets" msgstr "" -#: config/obj-elf.c:1872 +#: config/obj-elf.c:1927 #, c-format msgid "symbol type \"%s\" is supported only by GNU targets" msgstr "" -#: config/obj-elf.c:1883 +#: config/obj-elf.c:1938 #, c-format msgid "unrecognized symbol type \"%s\"" msgstr "" -#: config/obj-elf.c:2053 config/obj-elf.c:2056 +#: config/obj-elf.c:2108 config/obj-elf.c:2111 #, c-format msgid ".size expression for %s does not evaluate to a constant" msgstr "" -#: config/obj-elf.c:2088 +#: config/obj-elf.c:2145 #, c-format msgid "" "invalid attempt to declare external version name as default in symbol `%s'" msgstr "" -#: config/obj-elf.c:2149 ecoff.c:3607 +#: config/obj-elf.c:2207 ecoff.c:3605 #, c-format msgid "symbol `%s' can not be both weak and common" msgstr "" -#: config/obj-elf.c:2266 +#: config/obj-elf.c:2324 #, c-format msgid "assuming all members of group `%s' are COMDAT" msgstr "" -#: config/obj-elf.c:2278 +#: config/obj-elf.c:2336 #, c-format msgid "can't create group: %s" msgstr "" -#: config/obj-elf.c:2417 +#: config/obj-elf.c:2474 #, c-format msgid "failed to set up debugging information: %s" msgstr "" -#: config/obj-elf.c:2437 +#: config/obj-elf.c:2494 #, c-format msgid "can't start writing .mdebug section: %s" msgstr "" -#: config/obj-elf.c:2445 +#: config/obj-elf.c:2502 #, c-format msgid "could not write .mdebug section: %s" msgstr "" -#: config/obj-evax.c:130 +#: config/obj-evax.c:129 #, c-format msgid "no entry symbol for global function '%s'" msgstr "" @@ -1018,31 +1044,31 @@ msgstr "" msgid "missing sizeof_stub expression" msgstr "" -#: config/obj-macho.c:486 config/tc-ia64.c:1093 config/tc-ia64.c:11814 -#: config/tc-score.c:6105 read.c:1669 +#: config/obj-macho.c:486 config/tc-ia64.c:1093 config/tc-ia64.c:11815 +#: config/tc-score.c:6105 read.c:1673 msgid "expected symbol name" msgstr "" -#: config/obj-macho.c:499 read.c:490 +#: config/obj-macho.c:499 read.c:493 msgid "bad or irreducible absolute expression" msgstr "" -#: config/obj-macho.c:505 config/tc-score.c:6122 read.c:1707 +#: config/obj-macho.c:505 config/tc-score.c:6122 read.c:1711 msgid "missing size expression" msgstr "" -#: config/obj-macho.c:514 config/tc-ia64.c:1128 read.c:1713 +#: config/obj-macho.c:514 config/tc-ia64.c:1128 read.c:1717 #, c-format msgid "size (%ld) out of range, ignored" msgstr "" -#: config/obj-macho.c:524 config/tc-score.c:6266 ecoff.c:3364 read.c:1725 -#: read.c:1831 read.c:2568 read.c:3198 read.c:3560 symbols.c:341 symbols.c:437 +#: config/obj-macho.c:524 config/tc-score.c:6266 ecoff.c:3362 read.c:1729 +#: read.c:1835 read.c:2572 read.c:3202 read.c:3564 symbols.c:339 symbols.c:435 #, c-format msgid "symbol `%s' is already defined" msgstr "" -#: config/obj-macho.c:534 read.c:1740 +#: config/obj-macho.c:534 read.c:1744 #, c-format msgid "size of \"%s\" is already %ld; not changing to %ld" msgstr "" @@ -1079,1243 +1105,1243 @@ msgstr "" msgid "failed to set subsections by symbols" msgstr "" -#: config/obj-macho.c:1041 +#: config/obj-macho.c:1040 #, c-format msgid "'%s' previously declared as '%s'." msgstr "" -#: config/obj-macho.c:1092 config/obj-macho.c:1412 config/obj-macho.c:1494 +#: config/obj-macho.c:1092 config/obj-macho.c:1414 config/obj-macho.c:1498 #, c-format msgid "" "'%s' can't be a weak_definition (currently only supported in sections of " "type coalesced)" msgstr "" -#: config/obj-macho.c:1177 +#: config/obj-macho.c:1178 msgid "use of .indirect_symbols requires `-dynamic'" msgstr "" -#: config/obj-macho.c:1194 +#: config/obj-macho.c:1195 #, c-format msgid "" "attempt to add an indirect_symbol to a stub or reference section with a zero-" "sized element at %s" msgstr "" -#: config/obj-macho.c:1225 +#: config/obj-macho.c:1226 msgid "an .indirect_symbol must be in a symbol pointer or stub section." msgstr "" -#: config/obj-macho.c:1491 +#: config/obj-macho.c:1495 #, c-format msgid "'%s' can't be a weak_definition (since it is undefined)" msgstr "" -#: config/obj-macho.c:1497 +#: config/obj-macho.c:1501 #, c-format msgid "Non-global symbol: '%s' can't be a weak_definition." msgstr "" -#: config/obj-macho.c:1503 +#: config/obj-macho.c:1507 #, c-format msgid "internal error: [%s] unexpected code [%lx] in frob symbol" msgstr "" -#: config/obj-macho.c:1544 +#: config/obj-macho.c:1548 #, c-format msgid "unrecognized stab type '%c'" msgstr "" -#: config/obj-macho.c:1595 +#: config/obj-macho.c:1599 #, c-format msgid "`%s' can't be undefined in `%s' - `%s' {%s section}" msgstr "" -#: config/obj-macho.c:1603 +#: config/obj-macho.c:1607 #, c-format msgid "`%s' can't be undefined in `%s' {%s section} - `%s'" msgstr "" -#: config/obj-macho.c:1610 +#: config/obj-macho.c:1614 #, c-format msgid "`%s' and `%s' can't be undefined in `%s' - `%s'" msgstr "" -#: config/obj-macho.c:1812 +#: config/obj-macho.c:1816 #, c-format msgid "" "the number of .indirect_symbols defined in section %s does not match the " "number expected (%d defined, %d expected)" msgstr "" -#: config/obj-macho.c:1825 +#: config/obj-macho.c:1829 #, c-format msgid "internal error: failed to allocate %d indirectsymbol pointers" msgstr "" -#: config/obj-som.c:58 +#: config/obj-som.c:56 msgid "Only one .compiler pseudo-op per file!" msgstr "" -#: config/obj-som.c:75 config/obj-som.c:146 config/obj-som.c:188 +#: config/obj-som.c:73 config/obj-som.c:144 config/obj-som.c:186 msgid "Expected quoted string" msgstr "" -#: config/obj-som.c:88 +#: config/obj-som.c:86 msgid ".compiler directive missing language and version" msgstr "" -#: config/obj-som.c:98 +#: config/obj-som.c:96 msgid ".compiler directive missing version" msgstr "" -#: config/obj-som.c:114 +#: config/obj-som.c:112 #, c-format msgid "FATAL: Attaching compiler header %s" msgstr "" -#: config/obj-som.c:129 +#: config/obj-som.c:127 msgid "Only one .version pseudo-op per file!" msgstr "" -#: config/obj-som.c:153 +#: config/obj-som.c:151 #, c-format msgid "attaching version header %s: %s" msgstr "" -#: config/obj-som.c:171 +#: config/obj-som.c:169 msgid "Only one .copyright pseudo-op per file!" msgstr "" -#: config/obj-som.c:195 +#: config/obj-som.c:193 #, c-format msgid "attaching copyright header %s: %s" msgstr "" -#: config/tc-aarch64.c:353 +#: config/tc-aarch64.c:354 msgid "integer 32-bit register expected" msgstr "" -#: config/tc-aarch64.c:356 +#: config/tc-aarch64.c:357 msgid "integer 64-bit register expected" msgstr "" -#: config/tc-aarch64.c:359 +#: config/tc-aarch64.c:360 msgid "integer register expected" msgstr "" -#: config/tc-aarch64.c:362 +#: config/tc-aarch64.c:363 msgid "integer, zero or SP register expected" msgstr "" -#: config/tc-aarch64.c:365 +#: config/tc-aarch64.c:366 msgid "8-bit SIMD scalar register expected" msgstr "" -#: config/tc-aarch64.c:368 +#: config/tc-aarch64.c:369 msgid "16-bit SIMD scalar or floating-point half precision register expected" msgstr "" -#: config/tc-aarch64.c:372 +#: config/tc-aarch64.c:373 msgid "32-bit SIMD scalar or floating-point single precision register expected" msgstr "" -#: config/tc-aarch64.c:376 +#: config/tc-aarch64.c:377 msgid "64-bit SIMD scalar or floating-point double precision register expected" msgstr "" -#: config/tc-aarch64.c:380 +#: config/tc-aarch64.c:381 msgid "128-bit SIMD scalar or floating-point quad precision register expected" msgstr "" -#: config/tc-aarch64.c:384 +#: config/tc-aarch64.c:385 msgid "C0 - C15 expected" msgstr "" -#: config/tc-aarch64.c:387 config/tc-arm.c:4119 +#: config/tc-aarch64.c:388 config/tc-arm.c:4365 msgid "register expected" msgstr "" #. any [BHSDQ]P FP -#: config/tc-aarch64.c:390 +#: config/tc-aarch64.c:391 msgid "SIMD scalar or floating-point register expected" msgstr "" #. any V reg -#: config/tc-aarch64.c:393 +#: config/tc-aarch64.c:394 msgid "vector register expected" msgstr "" -#: config/tc-aarch64.c:396 +#: config/tc-aarch64.c:397 #, c-format msgid "invalid register type %d" msgstr "" #. Define some common error messages. -#: config/tc-aarch64.c:408 +#: config/tc-aarch64.c:409 msgid "SP not allowed here" msgstr "" -#: config/tc-aarch64.c:551 config/tc-aarch64.c:553 config/tc-arm.c:979 -#: config/tc-score.c:6515 expr.c:1363 read.c:2550 +#: config/tc-aarch64.c:559 config/tc-aarch64.c:561 config/tc-arm.c:994 +#: config/tc-score.c:6515 expr.c:1361 read.c:2554 msgid "bad expression" msgstr "" -#: config/tc-aarch64.c:563 config/tc-arm.c:990 config/tc-i860.c:1004 -#: config/tc-sparc.c:3096 +#: config/tc-aarch64.c:571 config/tc-arm.c:1005 config/tc-i860.c:1003 +#: config/tc-sparc.c:3179 msgid "bad segment" msgstr "" -#: config/tc-aarch64.c:774 +#: config/tc-aarch64.c:782 #, c-format msgid "bad size %d in vector width specifier" msgstr "" -#: config/tc-aarch64.c:807 +#: config/tc-aarch64.c:815 #, c-format msgid "unexpected character `%c' in element size" msgstr "" -#: config/tc-aarch64.c:809 +#: config/tc-aarch64.c:817 msgid "missing element size" msgstr "" -#: config/tc-aarch64.c:815 +#: config/tc-aarch64.c:823 #, c-format msgid "invalid element size %d and vector size combination %c" msgstr "" -#: config/tc-aarch64.c:842 config/tc-arm.c:1375 +#: config/tc-aarch64.c:850 config/tc-arm.c:1390 msgid "vector type expected" msgstr "" -#: config/tc-aarch64.c:923 +#: config/tc-aarch64.c:931 msgid "this type of register can't be indexed" msgstr "" -#: config/tc-aarch64.c:929 +#: config/tc-aarch64.c:937 msgid "index not allowed inside register list" msgstr "" -#: config/tc-aarch64.c:939 config/tc-aarch64.c:1839 config/tc-aarch64.c:1993 -#: config/tc-arm.c:1480 config/tc-arm.c:3400 config/tc-arm.c:4499 +#: config/tc-aarch64.c:947 config/tc-aarch64.c:1877 config/tc-aarch64.c:2031 +#: config/tc-arm.c:1495 config/tc-arm.c:3646 config/tc-arm.c:4761 msgid "constant expression required" msgstr "" #. Indexed vector register expected. -#: config/tc-aarch64.c:951 +#: config/tc-aarch64.c:959 msgid "indexed vector register expected" msgstr "" -#: config/tc-aarch64.c:958 +#: config/tc-aarch64.c:966 msgid "invalid use of vector register" msgstr "" -#: config/tc-aarch64.c:1048 config/tc-arm.c:1744 +#: config/tc-aarch64.c:1056 config/tc-arm.c:1759 msgid "expecting {" msgstr "" -#: config/tc-aarch64.c:1073 +#: config/tc-aarch64.c:1081 msgid "invalid vector register in list" msgstr "" -#: config/tc-aarch64.c:1080 +#: config/tc-aarch64.c:1088 msgid "invalid scalar register in list" msgstr "" -#: config/tc-aarch64.c:1093 +#: config/tc-aarch64.c:1101 msgid "invalid range in vector register list" msgstr "" -#: config/tc-aarch64.c:1106 +#: config/tc-aarch64.c:1114 msgid "type mismatch in vector register list" msgstr "" -#: config/tc-aarch64.c:1123 +#: config/tc-aarch64.c:1131 msgid "end of vector register list not found" msgstr "" -#: config/tc-aarch64.c:1139 +#: config/tc-aarch64.c:1147 msgid "constant expression required." msgstr "" -#: config/tc-aarch64.c:1149 +#: config/tc-aarch64.c:1157 msgid "expected index" msgstr "" -#: config/tc-aarch64.c:1156 +#: config/tc-aarch64.c:1164 msgid "too many registers in vector register list" msgstr "" -#: config/tc-aarch64.c:1161 +#: config/tc-aarch64.c:1169 msgid "empty vector register list" msgstr "" -#: config/tc-aarch64.c:1183 config/tc-arm.c:2126 +#: config/tc-aarch64.c:1191 config/tc-arm.c:2141 #, c-format msgid "ignoring attempt to redefine built-in register '%s'" msgstr "" -#: config/tc-aarch64.c:1189 config/tc-arm.c:2131 +#: config/tc-aarch64.c:1197 config/tc-arm.c:2146 #, c-format msgid "ignoring redefinition of register alias '%s'" msgstr "" -#: config/tc-aarch64.c:1235 config/tc-arm.c:2198 +#: config/tc-aarch64.c:1243 config/tc-arm.c:2213 #, c-format msgid "unknown register '%s' -- .req ignored" msgstr "" -#: config/tc-aarch64.c:1291 config/tc-arm.c:2405 +#: config/tc-aarch64.c:1299 config/tc-arm.c:2420 msgid "invalid syntax for .req directive" msgstr "" -#: config/tc-aarch64.c:1316 config/tc-arm.c:2443 +#: config/tc-aarch64.c:1324 config/tc-arm.c:2458 msgid "invalid syntax for .unreq directive" msgstr "" -#: config/tc-aarch64.c:1322 config/tc-arm.c:2450 +#: config/tc-aarch64.c:1330 config/tc-arm.c:2465 #, c-format msgid "unknown register alias '%s'" msgstr "" -#: config/tc-aarch64.c:1324 +#: config/tc-aarch64.c:1332 #, c-format msgid "ignoring attempt to undefine built-in register '%s'" msgstr "" -#: config/tc-aarch64.c:1639 config/tc-arm.c:3108 +#: config/tc-aarch64.c:1649 config/tc-arm.c:3263 config/tc-arm.c:3290 +#: config/tc-arm.c:3302 msgid "literal pool overflow" msgstr "" -#: config/tc-aarch64.c:1792 config/tc-aarch64.c:5020 config/tc-arm.c:3278 -#: config/tc-arm.c:6585 +#: config/tc-aarch64.c:1830 config/tc-aarch64.c:5055 config/tc-arm.c:3523 +#: config/tc-arm.c:6896 msgid "unrecognized relocation suffix" msgstr "" -#: config/tc-aarch64.c:1794 +#: config/tc-aarch64.c:1832 msgid "unimplemented relocation suffix" msgstr "" -#: config/tc-aarch64.c:1962 config/tc-aarch64.c:2196 +#: config/tc-aarch64.c:2000 config/tc-aarch64.c:2234 msgid "immediate operand required" msgstr "" -#: config/tc-aarch64.c:1970 +#: config/tc-aarch64.c:2008 msgid "missing immediate expression" msgstr "" -#: config/tc-aarch64.c:2176 config/tc-aarch64.c:4871 +#: config/tc-aarch64.c:2214 config/tc-aarch64.c:4906 msgid "invalid floating-point constant" msgstr "" -#: config/tc-aarch64.c:2548 config/tc-arm.c:4794 config/tc-arm.c:4803 +#: config/tc-aarch64.c:2586 config/tc-arm.c:5084 config/tc-arm.c:5093 msgid "shift expression expected" msgstr "" -#: config/tc-aarch64.c:2556 +#: config/tc-aarch64.c:2594 msgid "shift operator expected" msgstr "" -#: config/tc-aarch64.c:2564 +#: config/tc-aarch64.c:2602 msgid "invalid use of 'MSL'" msgstr "" -#: config/tc-aarch64.c:2573 +#: config/tc-aarch64.c:2611 msgid "extending shift is not permitted" msgstr "" -#: config/tc-aarch64.c:2581 +#: config/tc-aarch64.c:2619 msgid "'ROR' shift is not permitted" msgstr "" -#: config/tc-aarch64.c:2589 +#: config/tc-aarch64.c:2627 msgid "only 'LSL' shift is permitted" msgstr "" -#: config/tc-aarch64.c:2599 +#: config/tc-aarch64.c:2637 msgid "invalid shift for the register offset addressing mode" msgstr "" -#: config/tc-aarch64.c:2607 +#: config/tc-aarch64.c:2645 msgid "invalid shift operator" msgstr "" -#: config/tc-aarch64.c:2636 +#: config/tc-aarch64.c:2674 msgid "missing shift amount" msgstr "" -#: config/tc-aarch64.c:2643 +#: config/tc-aarch64.c:2681 msgid "constant shift amount required" msgstr "" -#: config/tc-aarch64.c:2648 +#: config/tc-aarch64.c:2686 msgid "shift amount out of range 0 to 63" msgstr "" -#: config/tc-aarch64.c:2697 +#: config/tc-aarch64.c:2735 msgid "unexpected shift operator" msgstr "" -#: config/tc-aarch64.c:2733 +#: config/tc-aarch64.c:2771 msgid "unexpected register in the immediate operand" msgstr "" -#: config/tc-aarch64.c:2758 +#: config/tc-aarch64.c:2796 msgid "integer register expected in the extended/shifted operand register" msgstr "" -#: config/tc-aarch64.c:2793 config/tc-aarch64.c:2904 config/tc-aarch64.c:3011 -#: config/tc-aarch64.c:3153 config/tc-aarch64.c:3200 +#: config/tc-aarch64.c:2831 config/tc-aarch64.c:2942 config/tc-aarch64.c:3049 +#: config/tc-aarch64.c:3191 config/tc-aarch64.c:3238 msgid "unknown relocation modifier" msgstr "" -#: config/tc-aarch64.c:2800 config/tc-aarch64.c:2911 config/tc-aarch64.c:3018 -#: config/tc-aarch64.c:3160 config/tc-aarch64.c:3207 +#: config/tc-aarch64.c:2838 config/tc-aarch64.c:2949 config/tc-aarch64.c:3056 +#: config/tc-aarch64.c:3198 config/tc-aarch64.c:3245 msgid "this relocation modifier is not allowed on this instruction" msgstr "" -#: config/tc-aarch64.c:2919 config/tc-aarch64.c:3029 +#: config/tc-aarch64.c:2957 config/tc-aarch64.c:3067 msgid "invalid relocation expression" msgstr "" -#: config/tc-aarch64.c:2937 +#: config/tc-aarch64.c:2975 msgid "invalid address" msgstr "" -#: config/tc-aarch64.c:2989 +#: config/tc-aarch64.c:3027 msgid "invalid use of 32-bit register offset" msgstr "" -#: config/tc-aarch64.c:2995 +#: config/tc-aarch64.c:3033 msgid "invalid use of 64-bit register offset" msgstr "" #. [Xn],#expr -#: config/tc-aarch64.c:3040 config/tc-aarch64.c:3092 +#: config/tc-aarch64.c:3078 config/tc-aarch64.c:3130 msgid "invalid expression in the address" msgstr "" -#: config/tc-aarch64.c:3049 config/tc-arm.c:5306 config/tc-arm.c:5876 +#: config/tc-aarch64.c:3087 config/tc-arm.c:5598 config/tc-arm.c:6168 msgid "']' expected" msgstr "" -#: config/tc-aarch64.c:3057 +#: config/tc-aarch64.c:3095 msgid "register offset not allowed in pre-indexed addressing mode" msgstr "" -#: config/tc-aarch64.c:3072 config/tc-arm.c:5342 +#: config/tc-aarch64.c:3110 config/tc-arm.c:5634 msgid "cannot combine pre- and post-indexing" msgstr "" -#: config/tc-aarch64.c:3083 +#: config/tc-aarch64.c:3121 msgid "invalid 32-bit register offset" msgstr "" #. Reject [Rn]! -#: config/tc-aarch64.c:3104 +#: config/tc-aarch64.c:3142 msgid "missing offset in the pre-indexed address" msgstr "" -#: config/tc-aarch64.c:3318 +#: config/tc-aarch64.c:3350 #, c-format msgid "" "system register name '%s' is deprecated and may be removed in a future " "release" msgstr "" -#: config/tc-aarch64.c:3390 +#: config/tc-aarch64.c:3422 msgid "immediate value out of range " msgstr "" -#: config/tc-aarch64.c:3898 +#: config/tc-aarch64.c:3930 #, c-format msgid "Info: " msgstr "" -#: config/tc-aarch64.c:3932 config/tc-score.c:2750 config/tc-score.c:6504 +#: config/tc-aarch64.c:3963 config/tc-score.c:2750 config/tc-score.c:6504 #, c-format msgid "%s -- `%s'" msgstr "" -#: config/tc-aarch64.c:3934 +#: config/tc-aarch64.c:3965 #, c-format msgid "%s at operand %d -- `%s'" msgstr "" -#: config/tc-aarch64.c:3938 +#: config/tc-aarch64.c:3971 #, c-format msgid "operand %d should be %s -- `%s'" msgstr "" -#: config/tc-aarch64.c:3943 +#: config/tc-aarch64.c:3977 #, c-format msgid "operand mismatch -- `%s'" msgstr "" #. Print the hint. -#: config/tc-aarch64.c:4004 +#: config/tc-aarch64.c:4038 msgid " did you mean this?" msgstr "" -#: config/tc-aarch64.c:4007 config/tc-aarch64.c:4034 +#: config/tc-aarch64.c:4041 config/tc-aarch64.c:4068 #, c-format msgid " %s" msgstr "" -#: config/tc-aarch64.c:4012 +#: config/tc-aarch64.c:4046 msgid " other valid variant(s):" msgstr "" -#: config/tc-aarch64.c:4042 +#: config/tc-aarch64.c:4076 #, c-format msgid "%s out of range %d to %d at operand %d -- `%s'" msgstr "" -#: config/tc-aarch64.c:4043 config/tc-aarch64.c:4047 config/tc-aarch64.c:5353 +#: config/tc-aarch64.c:4077 config/tc-aarch64.c:4081 config/tc-aarch64.c:5410 msgid "immediate value" msgstr "" -#: config/tc-aarch64.c:4046 +#: config/tc-aarch64.c:4080 #, c-format msgid "%s expected to be %d at operand %d -- `%s'" msgstr "" -#: config/tc-aarch64.c:4053 +#: config/tc-aarch64.c:4087 #, c-format msgid "" "invalid number of registers in the list; only 1 register is expected at " "operand %d -- `%s'" msgstr "" -#: config/tc-aarch64.c:4057 +#: config/tc-aarch64.c:4091 #, c-format msgid "" "invalid number of registers in the list; %d registers are expected at " "operand %d -- `%s'" msgstr "" -#: config/tc-aarch64.c:4063 +#: config/tc-aarch64.c:4097 #, c-format msgid "immediate value should be a multiple of %d at operand %d -- `%s'" msgstr "" -#: config/tc-aarch64.c:4314 +#: config/tc-aarch64.c:4348 msgid "bad vector arrangement type" msgstr "" -#: config/tc-aarch64.c:4420 +#: config/tc-aarch64.c:4454 msgid "the specified relocation type is not allowed for MOVK" msgstr "" -#: config/tc-aarch64.c:4449 config/tc-aarch64.c:4459 +#: config/tc-aarch64.c:4483 config/tc-aarch64.c:4493 msgid "the specified relocation type is not allowed for 32-bit register" msgstr "" -#: config/tc-aarch64.c:4594 +#: config/tc-aarch64.c:4628 msgid "comma expected between operands" msgstr "" -#: config/tc-aarch64.c:4687 +#: config/tc-aarch64.c:4722 msgid "the top half of a 128-bit FP/SIMD register is expected" msgstr "" -#: config/tc-aarch64.c:4725 config/tc-arm.c:1813 config/tc-arm.c:1858 +#: config/tc-aarch64.c:4760 config/tc-arm.c:1828 config/tc-arm.c:1873 #: config/tc-h8300.c:1043 msgid "invalid register list" msgstr "" -#: config/tc-aarch64.c:4790 config/tc-aarch64.c:4811 +#: config/tc-aarch64.c:4825 config/tc-aarch64.c:4846 msgid "immediate zero expected" msgstr "" -#: config/tc-aarch64.c:4885 +#: config/tc-aarch64.c:4920 msgid "shift not allowed for bitmask immediate" msgstr "" -#: config/tc-aarch64.c:4939 +#: config/tc-aarch64.c:4974 msgid "can't mix relocation modifier with explicit shift" msgstr "" -#: config/tc-aarch64.c:4982 +#: config/tc-aarch64.c:5017 msgid "invalid condition" msgstr "" -#: config/tc-aarch64.c:5007 +#: config/tc-aarch64.c:5042 msgid "invalid pc-relative address" msgstr "" #. Only permit "=value" in the literal load instructions. #. The literal will be generated by programmer_friendly_fixup. -#: config/tc-aarch64.c:5015 +#: config/tc-aarch64.c:5050 msgid "invalid use of \"=immediate\"" msgstr "" -#: config/tc-aarch64.c:5081 +#: config/tc-aarch64.c:5116 msgid "the optional immediate offset can only be 0" msgstr "" -#: config/tc-aarch64.c:5096 config/tc-aarch64.c:5114 config/tc-aarch64.c:5131 -#: config/tc-aarch64.c:5150 config/tc-aarch64.c:5165 +#: config/tc-aarch64.c:5131 config/tc-aarch64.c:5149 config/tc-aarch64.c:5166 +#: config/tc-aarch64.c:5185 config/tc-aarch64.c:5200 msgid "invalid addressing mode" msgstr "" -#: config/tc-aarch64.c:5136 +#: config/tc-aarch64.c:5171 msgid "relocation not allowed" msgstr "" -#: config/tc-aarch64.c:5175 +#: config/tc-aarch64.c:5210 msgid "writeback value should be an immediate constant" msgstr "" -#: config/tc-aarch64.c:5186 +#: config/tc-aarch64.c:5221 msgid "unknown or missing system register name" msgstr "" -#: config/tc-aarch64.c:5196 +#: config/tc-aarch64.c:5231 msgid "unknown or missing PSTATE field name" msgstr "" -#: config/tc-aarch64.c:5220 +#: config/tc-aarch64.c:5255 msgid "unknown or missing operation name" msgstr "" -#: config/tc-aarch64.c:5233 +#: config/tc-aarch64.c:5268 msgid "the specified option is not accepted in ISB" msgstr "" -#: config/tc-aarch64.c:5253 config/tc-aarch64.c:6305 config/tc-arm.c:6800 +#: config/tc-aarch64.c:5288 config/tc-aarch64.c:6346 config/tc-arm.c:7111 #, c-format msgid "unhandled operand code %d" msgstr "" -#: config/tc-aarch64.c:5284 +#: config/tc-aarch64.c:5330 msgid "unexpected comma before the omitted optional operand" msgstr "" -#: config/tc-aarch64.c:5301 +#: config/tc-aarch64.c:5358 msgid "unexpected characters following instruction" msgstr "" -#: config/tc-aarch64.c:5379 config/tc-arm.c:4905 config/tc-arm.c:5441 -#: config/tc-arm.c:7318 +#: config/tc-aarch64.c:5436 config/tc-arm.c:5195 config/tc-arm.c:5733 +#: config/tc-arm.c:7767 msgid "constant expression expected" msgstr "" -#: config/tc-aarch64.c:5386 config/tc-arm.c:7359 +#: config/tc-aarch64.c:5443 msgid "literal pool insertion failed" msgstr "" -#: config/tc-aarch64.c:5504 +#: config/tc-aarch64.c:5561 #, c-format msgid "unknown mnemonic `%s' -- `%s'" msgstr "" -#: config/tc-aarch64.c:5512 +#: config/tc-aarch64.c:5569 #, c-format msgid "unexpected comma after the mnemonic name `%s' -- `%s'" msgstr "" -#: config/tc-aarch64.c:5562 +#: config/tc-aarch64.c:5619 #, c-format msgid "selected processor does not support `%s'" msgstr "" -#: config/tc-aarch64.c:5836 -#, c-format -msgid "alignments greater than %d bytes not supported in .text sections" -msgstr "" - -#: config/tc-aarch64.c:5969 config/tc-arm.c:21185 +#: config/tc-aarch64.c:6010 config/tc-arm.c:21571 msgid "GOT already in the symbol table" msgstr "" -#: config/tc-aarch64.c:6131 +#: config/tc-aarch64.c:6172 msgid "immediate cannot be moved by a single instruction" msgstr "" -#: config/tc-aarch64.c:6174 config/tc-aarch64.c:6219 config/tc-aarch64.c:6245 -#: config/tc-arm.c:14422 config/tc-arm.c:14449 config/tc-arm.c:14993 -#: config/tc-arm.c:15474 config/tc-metag.c:2444 config/tc-metag.c:2453 +#: config/tc-aarch64.c:6215 config/tc-aarch64.c:6260 config/tc-aarch64.c:6286 +#: config/tc-arm.c:14789 config/tc-arm.c:14816 config/tc-arm.c:15360 +#: config/tc-arm.c:15841 config/tc-metag.c:2444 config/tc-metag.c:2453 #: config/tc-metag.c:2492 config/tc-metag.c:2501 config/tc-metag.c:3020 #: config/tc-metag.c:3029 msgid "immediate out of range" msgstr "" -#: config/tc-aarch64.c:6238 config/tc-metag.c:4655 config/tc-xtensa.c:4111 +#: config/tc-aarch64.c:6279 config/tc-metag.c:4655 config/tc-xtensa.c:4133 msgid "invalid immediate" msgstr "" -#: config/tc-aarch64.c:6300 config/tc-tic6x.c:3864 config/tc-tic6x.c:3929 +#: config/tc-aarch64.c:6341 config/tc-tic6x.c:3864 config/tc-tic6x.c:3929 #: config/tc-tic6x.c:3956 config/tc-tic6x.c:3984 msgid "immediate offset out of range" msgstr "" -#: config/tc-aarch64.c:6374 config/tc-arm.c:21523 config/tc-arm.c:21574 -#: config/tc-arm.c:21855 +#: config/tc-aarch64.c:6415 config/tc-arm.c:21909 config/tc-arm.c:21960 +#: config/tc-arm.c:22241 #, c-format msgid "undefined symbol %s used as an immediate value" msgstr "" -#: config/tc-aarch64.c:6386 +#: config/tc-aarch64.c:6427 msgid "pc-relative load offset not word aligned" msgstr "" -#: config/tc-aarch64.c:6389 +#: config/tc-aarch64.c:6430 msgid "pc-relative load offset out of range" msgstr "" -#: config/tc-aarch64.c:6401 +#: config/tc-aarch64.c:6442 msgid "pc-relative address offset out of range" msgstr "" -#: config/tc-aarch64.c:6413 config/tc-aarch64.c:6428 +#: config/tc-aarch64.c:6454 config/tc-aarch64.c:6469 msgid "conditional branch target not word aligned" msgstr "" -#: config/tc-aarch64.c:6416 config/tc-aarch64.c:6431 config/tc-arm.c:22118 +#: config/tc-aarch64.c:6457 config/tc-aarch64.c:6472 config/tc-arm.c:22504 msgid "conditional branch out of range" msgstr "" -#: config/tc-aarch64.c:6444 +#: config/tc-aarch64.c:6485 msgid "branch target not word aligned" msgstr "" -#: config/tc-aarch64.c:6447 config/tc-arm.c:753 config/tc-mips.c:14494 +#: config/tc-aarch64.c:6488 config/tc-arm.c:758 config/tc-mips.c:15081 msgid "branch out of range" msgstr "" -#: config/tc-aarch64.c:6481 config/tc-arm.c:21746 config/tc-arm.c:21761 -#: config/tc-arm.c:21776 config/tc-arm.c:21787 config/tc-arm.c:21810 -#: config/tc-arm.c:22522 config/tc-moxie.c:710 config/tc-pj.c:448 -#: config/tc-sh.c:4291 +#: config/tc-aarch64.c:6522 config/tc-arm.c:22132 config/tc-arm.c:22147 +#: config/tc-arm.c:22162 config/tc-arm.c:22173 config/tc-arm.c:22196 +#: config/tc-arm.c:22903 config/tc-moxie.c:708 config/tc-pj.c:448 +#: config/tc-sh.c:4290 msgid "offset out of range" msgstr "" -#: config/tc-aarch64.c:6494 +#: config/tc-aarch64.c:6535 msgid "unsigned value out of range" msgstr "" -#: config/tc-aarch64.c:6502 +#: config/tc-aarch64.c:6543 msgid "signed value out of range" msgstr "" -#: config/tc-aarch64.c:6610 +#: config/tc-aarch64.c:6655 #, c-format msgid "unexpected %s fixup" msgstr "" -#: config/tc-aarch64.c:6676 config/tc-arm.c:22958 config/tc-arm.c:22979 -#: config/tc-mips.c:16546 config/tc-score.c:7480 +#: config/tc-aarch64.c:6721 config/tc-arm.c:23339 config/tc-arm.c:23360 +#: config/tc-mips.c:17189 config/tc-score.c:7480 #, c-format msgid "cannot represent %s relocation in this object file format" msgstr "" -#: config/tc-aarch64.c:6709 +#: config/tc-aarch64.c:6754 #, c-format msgid "cannot do %u-byte relocation" msgstr "" -#: config/tc-aarch64.c:6967 config/tc-arc.c:212 config/tc-arm.c:23434 +#: config/tc-aarch64.c:7012 config/tc-arc.c:211 config/tc-arm.c:23815 #: config/tc-score.c:6299 config/tc-score.c:6528 config/tc-score.c:6533 msgid "virtual memory exhausted" msgstr "" -#: config/tc-aarch64.c:7114 config/tc-arm.c:23759 +#: config/tc-aarch64.c:7159 config/tc-arm.c:24140 msgid "assemble for big-endian" msgstr "" -#: config/tc-aarch64.c:7115 config/tc-arm.c:23760 +#: config/tc-aarch64.c:7160 config/tc-arm.c:24141 msgid "assemble for little-endian" msgstr "" -#: config/tc-aarch64.c:7118 +#: config/tc-aarch64.c:7163 msgid "temporary switch for dumping" msgstr "" -#: config/tc-aarch64.c:7120 +#: config/tc-aarch64.c:7165 msgid "output verbose error messages" msgstr "" -#: config/tc-aarch64.c:7210 config/tc-arm.c:24261 +#: config/tc-aarch64.c:7167 +msgid "do not output verbose error messages" +msgstr "" + +#: config/tc-aarch64.c:7259 config/tc-arm.c:24644 msgid "invalid architectural extension" msgstr "" -#: config/tc-aarch64.c:7235 config/tc-arm.c:24293 +#: config/tc-aarch64.c:7284 config/tc-arm.c:24676 msgid "must specify extensions to add before specifying those to remove" msgstr "" -#: config/tc-aarch64.c:7243 config/tc-arm.c:24301 +#: config/tc-aarch64.c:7292 config/tc-arm.c:24684 msgid "missing architectural extension" msgstr "" -#: config/tc-aarch64.c:7262 config/tc-arm.c:24338 +#: config/tc-aarch64.c:7311 config/tc-arm.c:24721 #, c-format msgid "unknown architectural extension `%s'" msgstr "" -#: config/tc-aarch64.c:7286 config/tc-arm.c:24372 config/tc-metag.c:5833 +#: config/tc-aarch64.c:7335 config/tc-arm.c:24755 config/tc-metag.c:5833 #, c-format msgid "missing cpu name `%s'" msgstr "" -#: config/tc-aarch64.c:7300 config/tc-aarch64.c:7519 config/tc-arm.c:24398 -#: config/tc-arm.c:24939 config/tc-metag.c:5844 +#: config/tc-aarch64.c:7349 config/tc-aarch64.c:7568 config/tc-arm.c:24781 +#: config/tc-arm.c:25335 config/tc-metag.c:5844 #, c-format msgid "unknown cpu `%s'" msgstr "" -#: config/tc-aarch64.c:7318 config/tc-arm.c:24416 +#: config/tc-aarch64.c:7367 config/tc-arm.c:24799 #, c-format msgid "missing architecture name `%s'" msgstr "" -#: config/tc-aarch64.c:7332 config/tc-aarch64.c:7566 config/tc-arm.c:24433 -#: config/tc-arm.c:24973 config/tc-arm.c:25004 config/tc-score.c:7715 +#: config/tc-aarch64.c:7381 config/tc-aarch64.c:7615 config/tc-arm.c:24816 +#: config/tc-arm.c:25369 config/tc-arm.c:25400 config/tc-score.c:7715 #, c-format msgid "unknown architecture `%s'\n" msgstr "" -#: config/tc-aarch64.c:7357 +#: config/tc-aarch64.c:7406 #, c-format msgid "missing abi name `%s'" msgstr "" -#: config/tc-aarch64.c:7368 +#: config/tc-aarch64.c:7417 #, c-format msgid "unknown abi `%s'\n" msgstr "" -#: config/tc-aarch64.c:7374 +#: config/tc-aarch64.c:7423 msgid "<abi name>\t specify for ABI <abi name>" msgstr "" -#: config/tc-aarch64.c:7377 config/tc-arm.c:24511 config/tc-metag.c:5910 +#: config/tc-aarch64.c:7426 config/tc-arm.c:24903 config/tc-metag.c:5910 msgid "<cpu name>\t assemble for CPU <cpu name>" msgstr "" -#: config/tc-aarch64.c:7379 config/tc-arm.c:24513 +#: config/tc-aarch64.c:7428 config/tc-arm.c:24905 msgid "<arch name>\t assemble for architecture <arch name>" msgstr "" -#: config/tc-aarch64.c:7418 config/tc-aarch64.c:7438 config/tc-arm.c:24567 -#: config/tc-arm.c:24585 config/tc-arm.c:24605 config/tc-metag.c:5935 +#: config/tc-aarch64.c:7467 config/tc-aarch64.c:7487 config/tc-arm.c:24961 +#: config/tc-arm.c:24979 config/tc-arm.c:24999 config/tc-metag.c:5935 #, c-format msgid "option `-%c%s' is deprecated: %s" msgstr "" -#: config/tc-aarch64.c:7458 +#: config/tc-aarch64.c:7507 #, c-format msgid " AArch64-specific assembler options:\n" msgstr "" -#: config/tc-aarch64.c:7469 config/tc-arm.c:24636 +#: config/tc-aarch64.c:7518 config/tc-arm.c:25030 #, c-format msgid " -EB assemble code for a big-endian cpu\n" msgstr "" -#: config/tc-aarch64.c:7474 config/tc-arm.c:24641 +#: config/tc-aarch64.c:7523 config/tc-arm.c:25035 #, c-format msgid " -EL assemble code for a little-endian cpu\n" msgstr "" -#: config/tc-alpha.c:655 +#: config/tc-alpha.c:653 #, c-format msgid "No !literal!%ld was found" msgstr "" -#: config/tc-alpha.c:662 +#: config/tc-alpha.c:660 #, c-format msgid "No !tlsgd!%ld was found" msgstr "" -#: config/tc-alpha.c:669 +#: config/tc-alpha.c:667 #, c-format msgid "No !tlsldm!%ld was found" msgstr "" -#: config/tc-alpha.c:678 +#: config/tc-alpha.c:676 #, c-format msgid "No ldah !gpdisp!%ld was found" msgstr "" -#: config/tc-alpha.c:728 +#: config/tc-alpha.c:726 #, c-format msgid "too many !literal!%ld for %s" msgstr "" -#: config/tc-alpha.c:758 +#: config/tc-alpha.c:756 #, c-format msgid "No lda !gpdisp!%ld was found" msgstr "" #. Only support one relocation op per insn. -#: config/tc-alpha.c:917 +#: config/tc-alpha.c:915 msgid "More than one relocation op per insn" msgstr "" -#: config/tc-alpha.c:933 +#: config/tc-alpha.c:931 msgid "No relocation operand" msgstr "" -#: config/tc-alpha.c:943 +#: config/tc-alpha.c:941 #, c-format msgid "Unknown relocation operand: !%s" msgstr "" -#: config/tc-alpha.c:953 +#: config/tc-alpha.c:951 #, c-format msgid "no sequence number after !%s" msgstr "" -#: config/tc-alpha.c:963 +#: config/tc-alpha.c:961 #, c-format msgid "!%s does not use a sequence number" msgstr "" -#: config/tc-alpha.c:973 +#: config/tc-alpha.c:971 #, c-format msgid "Bad sequence number: !%s!%s" msgstr "" -#: config/tc-alpha.c:1188 config/tc-alpha.c:3361 +#: config/tc-alpha.c:1186 config/tc-alpha.c:3359 #, c-format msgid "inappropriate arguments for opcode `%s'" msgstr "" -#: config/tc-alpha.c:1190 config/tc-alpha.c:3363 +#: config/tc-alpha.c:1188 config/tc-alpha.c:3361 #, c-format msgid "opcode `%s' not supported for target %s" msgstr "" -#: config/tc-alpha.c:1194 config/tc-alpha.c:3367 config/tc-avr.c:1440 -#: config/tc-msp430.c:3521 +#: config/tc-alpha.c:1192 config/tc-alpha.c:3365 config/tc-avr.c:1672 +#: config/tc-msp430.c:3196 #, c-format msgid "unknown opcode `%s'" msgstr "" -#: config/tc-alpha.c:1275 config/tc-alpha.c:1534 +#: config/tc-alpha.c:1273 config/tc-alpha.c:1532 msgid "overflow in literal (.lita) table" msgstr "" -#: config/tc-alpha.c:1282 config/tc-alpha.c:1306 config/tc-alpha.c:1547 -#: config/tc-alpha.c:2234 config/tc-alpha.c:2279 config/tc-alpha.c:2348 -#: config/tc-alpha.c:2431 config/tc-alpha.c:2656 config/tc-alpha.c:2754 +#: config/tc-alpha.c:1280 config/tc-alpha.c:1304 config/tc-alpha.c:1545 +#: config/tc-alpha.c:2232 config/tc-alpha.c:2277 config/tc-alpha.c:2346 +#: config/tc-alpha.c:2429 config/tc-alpha.c:2654 config/tc-alpha.c:2752 msgid "macro requires $at register while noat in effect" msgstr "" -#: config/tc-alpha.c:1284 config/tc-alpha.c:1308 config/tc-alpha.c:1549 +#: config/tc-alpha.c:1282 config/tc-alpha.c:1306 config/tc-alpha.c:1547 msgid "macro requires $at while $at in use" msgstr "" -#: config/tc-alpha.c:1493 +#: config/tc-alpha.c:1491 msgid "bignum invalid; zero assumed" msgstr "" -#: config/tc-alpha.c:1495 +#: config/tc-alpha.c:1493 msgid "floating point number invalid; zero assumed" msgstr "" -#: config/tc-alpha.c:1500 +#: config/tc-alpha.c:1498 msgid "can't handle expression" msgstr "" -#: config/tc-alpha.c:1540 +#: config/tc-alpha.c:1538 msgid "overflow in literal (.lit8) table" msgstr "" -#: config/tc-alpha.c:1837 +#: config/tc-alpha.c:1835 #, c-format msgid "too many ldah insns for !gpdisp!%ld" msgstr "" -#: config/tc-alpha.c:1839 config/tc-alpha.c:1851 +#: config/tc-alpha.c:1837 config/tc-alpha.c:1849 #, c-format msgid "both insns for !gpdisp!%ld must be in the same section" msgstr "" -#: config/tc-alpha.c:1849 +#: config/tc-alpha.c:1847 #, c-format msgid "too many lda insns for !gpdisp!%ld" msgstr "" -#: config/tc-alpha.c:1905 +#: config/tc-alpha.c:1903 #, c-format msgid "too many lituse insns for !lituse_tlsgd!%ld" msgstr "" -#: config/tc-alpha.c:1908 +#: config/tc-alpha.c:1906 #, c-format msgid "too many lituse insns for !lituse_tlsldm!%ld" msgstr "" -#: config/tc-alpha.c:1925 +#: config/tc-alpha.c:1923 #, c-format msgid "duplicate !tlsgd!%ld" msgstr "" -#: config/tc-alpha.c:1927 +#: config/tc-alpha.c:1925 #, c-format msgid "sequence number in use for !tlsldm!%ld" msgstr "" -#: config/tc-alpha.c:1941 +#: config/tc-alpha.c:1939 #, c-format msgid "duplicate !tlsldm!%ld" msgstr "" -#: config/tc-alpha.c:1943 +#: config/tc-alpha.c:1941 #, c-format msgid "sequence number in use for !tlsgd!%ld" msgstr "" -#: config/tc-alpha.c:1998 config/tc-arc.c:292 config/tc-mn10200.c:857 -#: config/tc-mn10300.c:1150 config/tc-ppc.c:1820 config/tc-s390.c:650 +#: config/tc-alpha.c:1996 config/tc-arc.c:291 config/tc-mn10200.c:857 +#: config/tc-mn10300.c:1150 config/tc-ppc.c:1838 config/tc-s390.c:649 #: config/tc-tilegx.c:427 config/tc-tilegx.c:476 config/tc-tilepro.c:383 msgid "operand" msgstr "" -#: config/tc-alpha.c:2137 +#: config/tc-alpha.c:2135 msgid "invalid relocation for instruction" msgstr "" -#: config/tc-alpha.c:2151 +#: config/tc-alpha.c:2149 msgid "invalid relocation for field" msgstr "" -#: config/tc-alpha.c:2982 +#: config/tc-alpha.c:2980 msgid "can not resolve expression" msgstr "" -#: config/tc-alpha.c:3516 config/tc-i370.c:1055 config/tc-microblaze.c:199 -#: config/tc-ppc.c:2156 config/tc-ppc.c:5264 +#: config/tc-alpha.c:3514 config/tc-i370.c:1054 config/tc-microblaze.c:199 +#: config/tc-ppc.c:2161 config/tc-ppc.c:5272 #, c-format msgid ".COMMon length (%ld.) <0! Ignored." msgstr "" -#: config/tc-alpha.c:3527 config/tc-ia64.c:1104 config/tc-sparc.c:4064 -#: config/tc-v850.c:307 +#: config/tc-alpha.c:3525 config/tc-ia64.c:1104 config/tc-sparc.c:4147 +#: config/tc-v850.c:304 msgid "Ignoring attempt to re-define symbol" msgstr "" -#: config/tc-alpha.c:3619 config/tc-sparc.c:4072 +#: config/tc-alpha.c:3617 config/tc-sparc.c:4155 #, c-format msgid "Length of .comm \"%s\" is already %ld. Not changed to %ld." msgstr "" -#: config/tc-alpha.c:3722 ecoff.c:3063 +#: config/tc-alpha.c:3720 ecoff.c:3061 msgid ".ent directive has no name" msgstr "" -#: config/tc-alpha.c:3730 +#: config/tc-alpha.c:3728 msgid "nested .ent directives" msgstr "" -#: config/tc-alpha.c:3775 ecoff.c:3014 +#: config/tc-alpha.c:3773 ecoff.c:3012 msgid ".end directive has no name" msgstr "" -#: config/tc-alpha.c:3784 +#: config/tc-alpha.c:3782 msgid ".end directive without matching .ent" msgstr "" -#: config/tc-alpha.c:3786 +#: config/tc-alpha.c:3784 msgid ".end directive names different symbol than .ent" msgstr "" -#: config/tc-alpha.c:3829 ecoff.c:3149 +#: config/tc-alpha.c:3827 ecoff.c:3147 msgid ".fmask outside of .ent" msgstr "" -#: config/tc-alpha.c:3831 config/tc-score.c:5598 ecoff.c:3213 +#: config/tc-alpha.c:3829 config/tc-score.c:5598 ecoff.c:3211 msgid ".mask outside of .ent" msgstr "" -#: config/tc-alpha.c:3839 ecoff.c:3156 +#: config/tc-alpha.c:3837 ecoff.c:3154 msgid "bad .fmask directive" msgstr "" -#: config/tc-alpha.c:3841 ecoff.c:3220 +#: config/tc-alpha.c:3839 ecoff.c:3218 msgid "bad .mask directive" msgstr "" -#: config/tc-alpha.c:3874 config/tc-mips.c:17705 config/tc-score.c:5740 -#: ecoff.c:3177 +#: config/tc-alpha.c:3872 config/tc-mips.c:18449 config/tc-score.c:5740 +#: ecoff.c:3175 msgid ".frame outside of .ent" msgstr "" -#: config/tc-alpha.c:3885 config/tc-mips.c:17716 ecoff.c:3188 +#: config/tc-alpha.c:3883 config/tc-mips.c:18460 ecoff.c:3186 msgid "bad .frame directive" msgstr "" -#: config/tc-alpha.c:3919 +#: config/tc-alpha.c:3917 msgid ".prologue directive without a preceding .ent directive" msgstr "" -#: config/tc-alpha.c:3937 +#: config/tc-alpha.c:3935 #, c-format msgid "Invalid argument %d to .prologue." msgstr "" -#: config/tc-alpha.c:4028 +#: config/tc-alpha.c:4026 msgid "ECOFF debugging is disabled." msgstr "" -#: config/tc-alpha.c:4042 +#: config/tc-alpha.c:4040 msgid ".ent directive without matching .end" msgstr "" -#: config/tc-alpha.c:4135 +#: config/tc-alpha.c:4133 msgid ".usepv directive has no name" msgstr "" -#: config/tc-alpha.c:4146 +#: config/tc-alpha.c:4144 msgid ".usepv directive has no type" msgstr "" -#: config/tc-alpha.c:4161 +#: config/tc-alpha.c:4159 msgid "unknown argument for .usepv" msgstr "" -#: config/tc-alpha.c:4276 +#: config/tc-alpha.c:4274 #, c-format msgid "unknown section attribute %s" msgstr "" -#: config/tc-alpha.c:4370 +#: config/tc-alpha.c:4368 msgid "previous .ent not closed by a .end" msgstr "" -#: config/tc-alpha.c:4391 +#: config/tc-alpha.c:4389 msgid ".ent directive has no symbol" msgstr "" -#: config/tc-alpha.c:4416 +#: config/tc-alpha.c:4414 msgid ".handler directive has no name" msgstr "" -#: config/tc-alpha.c:4446 +#: config/tc-alpha.c:4444 msgid "Bad .frame directive 1./2. param" msgstr "" -#: config/tc-alpha.c:4456 +#: config/tc-alpha.c:4454 #, c-format msgid "Bad RA (%d) register for .frame" msgstr "" -#: config/tc-alpha.c:4461 +#: config/tc-alpha.c:4459 msgid "Bad .frame directive 3./4. param" msgstr "" -#: config/tc-alpha.c:4497 +#: config/tc-alpha.c:4495 msgid ".pdesc directive not in link (.link) section" msgstr "" -#: config/tc-alpha.c:4504 +#: config/tc-alpha.c:4502 msgid ".pdesc directive has no entry symbol" msgstr "" -#: config/tc-alpha.c:4515 +#: config/tc-alpha.c:4513 msgid ".pdesc has a bad entry symbol" msgstr "" -#: config/tc-alpha.c:4526 +#: config/tc-alpha.c:4524 msgid ".pdesc doesn't match with last .ent" msgstr "" -#: config/tc-alpha.c:4541 +#: config/tc-alpha.c:4539 msgid "No comma after .pdesc <entryname>" msgstr "" -#: config/tc-alpha.c:4561 +#: config/tc-alpha.c:4559 msgid "unknown procedure kind" msgstr "" -#: config/tc-alpha.c:4656 +#: config/tc-alpha.c:4654 msgid ".name directive not in link (.link) section" msgstr "" -#: config/tc-alpha.c:4664 +#: config/tc-alpha.c:4662 msgid ".name directive has no symbol" msgstr "" -#: config/tc-alpha.c:4698 +#: config/tc-alpha.c:4696 msgid "No symbol after .linkage" msgstr "" -#: config/tc-alpha.c:4746 +#: config/tc-alpha.c:4744 msgid "No symbol after .code_address" msgstr "" -#: config/tc-alpha.c:4772 config/tc-score.c:5604 +#: config/tc-alpha.c:4770 config/tc-score.c:5604 msgid "Bad .mask directive" msgstr "" -#: config/tc-alpha.c:4790 +#: config/tc-alpha.c:4788 msgid "Bad .fmask directive" msgstr "" -#: config/tc-alpha.c:4947 +#: config/tc-alpha.c:4945 #, c-format msgid "Expected comma after name \"%s\"" msgstr "" -#: config/tc-alpha.c:4959 +#: config/tc-alpha.c:4957 #, c-format msgid "unhandled: .proc %s,%d" msgstr "" -#: config/tc-alpha.c:4993 +#: config/tc-alpha.c:4991 #, c-format msgid "Tried to .set unrecognized mode `%s'" msgstr "" -#: config/tc-alpha.c:5019 +#: config/tc-alpha.c:5017 #, c-format msgid "Bad base register, using $%d." msgstr "" -#: config/tc-alpha.c:5040 config/tc-nios2.c:385 config/tc-nios2.c:500 +#: config/tc-alpha.c:5038 config/tc-nios2.c:337 config/tc-nios2.c:452 #, c-format msgid "Alignment too large: %d. assumed" msgstr "" -#: config/tc-alpha.c:5044 config/tc-d30v.c:2060 config/tc-nios2.c:389 -#: config/tc-nios2.c:504 +#: config/tc-alpha.c:5042 config/tc-d30v.c:2057 config/tc-nios2.c:341 +#: config/tc-nios2.c:456 msgid "Alignment negative: 0 assumed" msgstr "" -#: config/tc-alpha.c:5139 config/tc-alpha.c:5631 +#: config/tc-alpha.c:5137 config/tc-alpha.c:5629 #, c-format msgid "Unknown CPU identifier `%s'" msgstr "" -#: config/tc-alpha.c:5330 +#: config/tc-alpha.c:5328 #, c-format msgid "Chose GP value of %lx\n" msgstr "" -#: config/tc-alpha.c:5344 +#: config/tc-alpha.c:5342 msgid "bad .section directive: want a,s,w,x,M,S,G,T in string" msgstr "" -#: config/tc-alpha.c:5433 +#: config/tc-alpha.c:5431 #, c-format msgid "internal error: can't hash opcode `%s': %s" msgstr "" -#: config/tc-alpha.c:5469 +#: config/tc-alpha.c:5467 #, c-format msgid "internal error: can't hash macro `%s': %s" msgstr "" -#: config/tc-alpha.c:5553 config/tc-arm.c:6871 config/tc-arm.c:6883 -#: config/tc-i960.c:708 config/tc-xtensa.c:5315 config/tc-xtensa.c:5393 -#: config/tc-xtensa.c:5510 config/tc-z80.c:1927 +#: config/tc-alpha.c:5551 config/tc-arm.c:7182 config/tc-arm.c:7194 +#: config/tc-i960.c:705 config/tc-xtensa.c:5337 config/tc-xtensa.c:5415 +#: config/tc-xtensa.c:5532 config/tc-z80.c:1927 msgid "syntax error" msgstr "" -#: config/tc-alpha.c:5682 +#: config/tc-alpha.c:5680 msgid "" "Alpha options:\n" "-32addr\t\t\ttreat addresses as 32-bit values\n" @@ -2327,7 +2353,7 @@ msgid "" "\t\t\tthese variants include PALcode opcodes\n" msgstr "" -#: config/tc-alpha.c:5692 +#: config/tc-alpha.c:5690 msgid "" "VMS options:\n" "-+\t\t\tencode (don't truncate) names longer than 64 characters\n" @@ -2335,963 +2361,1008 @@ msgid "" "-replace/-noreplace\tenable or disable the optimization of procedure calls\n" msgstr "" -#: config/tc-alpha.c:5943 +#: config/tc-alpha.c:5941 #, c-format msgid "unhandled relocation type %s" msgstr "" -#: config/tc-alpha.c:5956 +#: config/tc-alpha.c:5954 msgid "non-absolute expression in constant field" msgstr "" -#: config/tc-alpha.c:5970 +#: config/tc-alpha.c:5968 #, c-format msgid "type %d reloc done?\n" msgstr "" -#: config/tc-alpha.c:6017 config/tc-alpha.c:6024 +#: config/tc-alpha.c:6015 config/tc-alpha.c:6022 msgid "Used $at without \".set noat\"" msgstr "" -#: config/tc-alpha.c:6193 +#: config/tc-alpha.c:6191 #, c-format msgid "!samegp reloc against symbol without .prologue: %s" msgstr "" -#: config/tc-alpha.c:6237 config/tc-tilegx.c:1751 config/tc-tilepro.c:1531 -#: config/tc-xtensa.c:5999 +#: config/tc-alpha.c:6235 config/tc-tilegx.c:1751 config/tc-tilepro.c:1531 +#: config/tc-xtensa.c:6025 #, c-format msgid "cannot represent `%s' relocation in object file" msgstr "" -#: config/tc-alpha.c:6243 +#: config/tc-alpha.c:6241 #, c-format msgid "internal error? cannot generate `%s' relocation" msgstr "" -#: config/tc-alpha.c:6342 +#: config/tc-alpha.c:6340 #, c-format msgid "frame reg expected, using $%d." msgstr "" -#: config/tc-arc.c:194 config/tc-arc.c:215 config/tc-arc.c:992 +#: config/tc-arc.c:193 config/tc-arc.c:214 config/tc-arc.c:991 #: config/tc-h8300.c:75 config/tc-h8300.c:84 config/tc-h8300.c:94 #: config/tc-h8300.c:104 config/tc-h8300.c:114 config/tc-h8300.c:125 -#: config/tc-h8300.c:242 config/tc-hppa.c:6898 config/tc-hppa.c:6904 -#: config/tc-hppa.c:6910 config/tc-hppa.c:6916 config/tc-hppa.c:8323 -#: config/tc-lm32.c:197 config/tc-mips.c:3342 config/tc-mn10300.c:939 -#: config/tc-mn10300.c:944 config/tc-mn10300.c:2441 config/tc-xc16x.c:79 -#: config/tc-xc16x.c:86 config/tc-xc16x.c:93 +#: config/tc-h8300.c:242 config/tc-hppa.c:6892 config/tc-hppa.c:6898 +#: config/tc-hppa.c:6904 config/tc-hppa.c:6910 config/tc-hppa.c:8317 +#: config/tc-lm32.c:197 config/tc-mips.c:3471 config/tc-mips.c:3977 +#: config/tc-mn10300.c:938 config/tc-mn10300.c:943 config/tc-mn10300.c:2441 +#: config/tc-xc16x.c:79 config/tc-xc16x.c:86 config/tc-xc16x.c:93 msgid "could not set architecture and machine" msgstr "" -#: config/tc-arc.c:432 config/tc-arc.c:671 +#: config/tc-arc.c:431 config/tc-arc.c:670 msgid "expected comma after operand name" msgstr "" -#: config/tc-arc.c:443 +#: config/tc-arc.c:442 #, c-format msgid "negative operand number %d" msgstr "" -#: config/tc-arc.c:455 +#: config/tc-arc.c:454 msgid "expected comma after register-number" msgstr "" -#: config/tc-arc.c:480 +#: config/tc-arc.c:479 msgid "invalid mode" msgstr "" -#: config/tc-arc.c:497 +#: config/tc-arc.c:496 msgid "expected comma after register-mode" msgstr "" -#: config/tc-arc.c:514 +#: config/tc-arc.c:513 msgid "shortcut designator invalid" msgstr "" -#: config/tc-arc.c:529 +#: config/tc-arc.c:528 #, c-format msgid "core register value (%d) too large" msgstr "" -#: config/tc-arc.c:537 +#: config/tc-arc.c:536 #, c-format msgid "condition code value (%d) too large" msgstr "" -#: config/tc-arc.c:555 +#: config/tc-arc.c:554 #, c-format msgid "attempt to override symbol: %s" msgstr "" -#: config/tc-arc.c:626 +#: config/tc-arc.c:625 msgid "invalid opertype" msgstr "" -#: config/tc-arc.c:683 +#: config/tc-arc.c:682 msgid "expected comma after opcode" msgstr "" -#: config/tc-arc.c:693 +#: config/tc-arc.c:692 #, c-format msgid "negative subopcode %d" msgstr "" -#: config/tc-arc.c:702 +#: config/tc-arc.c:701 msgid "subcode value found when opcode not equal 0x03" msgstr "" -#: config/tc-arc.c:710 +#: config/tc-arc.c:709 #, c-format msgid "invalid subopcode %d" msgstr "" -#: config/tc-arc.c:721 +#: config/tc-arc.c:720 msgid "expected comma after subopcode" msgstr "" -#: config/tc-arc.c:740 +#: config/tc-arc.c:739 msgid "invalid suffix class" msgstr "" -#: config/tc-arc.c:749 +#: config/tc-arc.c:748 msgid "expected comma after suffix class" msgstr "" -#: config/tc-arc.c:768 +#: config/tc-arc.c:767 msgid "invalid syntax class" msgstr "" -#: config/tc-arc.c:775 +#: config/tc-arc.c:774 msgid "opcode 0x3 and SYNTAX_3OP invalid" msgstr "" -#: config/tc-arc.c:795 +#: config/tc-arc.c:794 msgid "unknown suffix class" msgstr "" -#: config/tc-arc.c:862 config/tc-tic6x.c:581 +#: config/tc-arc.c:861 config/tc-tic6x.c:582 msgid "expected comma after symbol name" msgstr "" -#: config/tc-arc.c:872 +#: config/tc-arc.c:871 msgid "negative symbol length" msgstr "" -#: config/tc-arc.c:883 +#: config/tc-arc.c:882 msgid "ignoring attempt to re-define symbol" msgstr "" -#: config/tc-arc.c:890 +#: config/tc-arc.c:889 #, c-format msgid "length of symbol \"%s\" already %ld, ignoring %d" msgstr "" -#: config/tc-arc.c:904 +#: config/tc-arc.c:903 msgid "assuming symbol alignment of zero" msgstr "" -#: config/tc-arc.c:971 +#: config/tc-arc.c:970 msgid "\".option\" directive must appear before any instructions" msgstr "" -#: config/tc-arc.c:981 +#: config/tc-arc.c:980 msgid "\".option\" directive conflicts with initial definition" msgstr "" -#: config/tc-arc.c:989 +#: config/tc-arc.c:988 msgid "\".option\" directive overrides command-line (default) value" msgstr "" -#: config/tc-arc.c:999 +#: config/tc-arc.c:998 msgid "invalid identifier for \".option\"" msgstr "" -#: config/tc-arc.c:1037 config/tc-i860.c:1035 config/tc-ip2k.c:249 +#: config/tc-arc.c:1036 config/tc-i860.c:1034 config/tc-ip2k.c:248 msgid "relaxation not supported\n" msgstr "" -#: config/tc-arc.c:1081 +#: config/tc-arc.c:1080 msgid "expression too complex code symbol" msgstr "" -#: config/tc-arc.c:1108 +#: config/tc-arc.c:1107 #, c-format msgid "missing ')' in %%-op" msgstr "" -#: config/tc-arc.c:1364 config/tc-dlx.c:1206 config/tc-i960.c:2639 -#: config/tc-m32r.c:2281 config/tc-nds32.c:5825 config/tc-sparc.c:3751 +#: config/tc-arc.c:1365 config/tc-dlx.c:1198 config/tc-i960.c:2636 +#: config/tc-m32r.c:2280 config/tc-nds32.c:6503 config/tc-sparc.c:3834 #, c-format msgid "internal error: can't export reloc type %d (`%s')" msgstr "" -#: config/tc-arc.c:1496 +#: config/tc-arc.c:1497 #, c-format msgid "unknown syntax format character `%c'" msgstr "" -#: config/tc-arc.c:1635 +#: config/tc-arc.c:1636 msgid "too many suffixes" msgstr "" -#: config/tc-arc.c:1674 +#: config/tc-arc.c:1675 msgid "symbol as destination register" msgstr "" #. xgettext:c-format. -#: config/tc-arc.c:1759 config/tc-i370.c:2207 config/tc-mn10200.c:1142 -#: config/tc-mn10300.c:1822 config/tc-ppc.c:3355 config/tc-s390.c:1524 -#: config/tc-v850.c:3026 +#: config/tc-arc.c:1760 config/tc-i370.c:2206 config/tc-mn10200.c:1142 +#: config/tc-mn10300.c:1822 config/tc-ppc.c:3350 config/tc-s390.c:1523 +#: config/tc-v850.c:3029 #, c-format msgid "junk at end of line: `%s'" msgstr "" -#: config/tc-arc.c:1798 +#: config/tc-arc.c:1799 msgid "8 byte instruction in delay slot" msgstr "" #. except for jl addr -#: config/tc-arc.c:1801 +#: config/tc-arc.c:1802 msgid "8 byte jump instruction with delay slot" msgstr "" -#: config/tc-arc.c:1809 +#: config/tc-arc.c:1810 msgid "conditional branch follows set of flags" msgstr "" -#: config/tc-arc.c:1893 config/tc-arm.c:17216 +#: config/tc-arc.c:1894 config/tc-arm.c:17586 #, c-format msgid "bad instruction `%s'" msgstr "" -#: config/tc-arm.c:556 +#: config/tc-arm.c:560 msgid "ARM register expected" msgstr "" -#: config/tc-arm.c:557 +#: config/tc-arm.c:561 msgid "bad or missing co-processor number" msgstr "" -#: config/tc-arm.c:558 +#: config/tc-arm.c:562 msgid "co-processor register expected" msgstr "" -#: config/tc-arm.c:559 +#: config/tc-arm.c:563 msgid "FPA register expected" msgstr "" -#: config/tc-arm.c:560 +#: config/tc-arm.c:564 msgid "VFP single precision register expected" msgstr "" -#: config/tc-arm.c:561 +#: config/tc-arm.c:565 msgid "VFP/Neon double precision register expected" msgstr "" -#: config/tc-arm.c:562 +#: config/tc-arm.c:566 msgid "Neon quad precision register expected" msgstr "" -#: config/tc-arm.c:563 +#: config/tc-arm.c:567 msgid "VFP single or double precision register expected" msgstr "" -#: config/tc-arm.c:564 +#: config/tc-arm.c:568 msgid "Neon double or quad precision register expected" msgstr "" -#: config/tc-arm.c:565 +#: config/tc-arm.c:569 msgid "VFP single, double or Neon quad precision register expected" msgstr "" -#: config/tc-arm.c:566 +#: config/tc-arm.c:570 msgid "VFP system register expected" msgstr "" -#: config/tc-arm.c:567 +#: config/tc-arm.c:571 msgid "Maverick MVF register expected" msgstr "" -#: config/tc-arm.c:568 +#: config/tc-arm.c:572 msgid "Maverick MVD register expected" msgstr "" -#: config/tc-arm.c:569 +#: config/tc-arm.c:573 msgid "Maverick MVFX register expected" msgstr "" -#: config/tc-arm.c:570 +#: config/tc-arm.c:574 msgid "Maverick MVDX register expected" msgstr "" -#: config/tc-arm.c:571 +#: config/tc-arm.c:575 msgid "Maverick MVAX register expected" msgstr "" -#: config/tc-arm.c:572 +#: config/tc-arm.c:576 msgid "Maverick DSPSC register expected" msgstr "" -#: config/tc-arm.c:573 +#: config/tc-arm.c:577 msgid "iWMMXt data register expected" msgstr "" -#: config/tc-arm.c:574 config/tc-arm.c:6650 +#: config/tc-arm.c:578 config/tc-arm.c:6961 msgid "iWMMXt control register expected" msgstr "" -#: config/tc-arm.c:575 +#: config/tc-arm.c:579 msgid "iWMMXt scalar register expected" msgstr "" -#: config/tc-arm.c:576 +#: config/tc-arm.c:580 msgid "XScale accumulator register expected" msgstr "" #. For score5u : div/mul will pop warning message, mmu/alw/asw will pop error message. -#: config/tc-arm.c:734 config/tc-score.c:259 +#: config/tc-arm.c:739 config/tc-score.c:259 msgid "bad arguments to instruction" msgstr "" -#: config/tc-arm.c:735 +#: config/tc-arm.c:740 msgid "r13 not allowed here" msgstr "" -#: config/tc-arm.c:736 +#: config/tc-arm.c:741 msgid "r15 not allowed here" msgstr "" -#: config/tc-arm.c:737 +#: config/tc-arm.c:742 msgid "instruction cannot be conditional" msgstr "" -#: config/tc-arm.c:738 +#: config/tc-arm.c:743 msgid "registers may not be the same" msgstr "" -#: config/tc-arm.c:739 +#: config/tc-arm.c:744 msgid "lo register required" msgstr "" -#: config/tc-arm.c:740 +#: config/tc-arm.c:745 msgid "instruction not supported in Thumb16 mode" msgstr "" -#: config/tc-arm.c:741 +#: config/tc-arm.c:746 msgid "instruction does not accept this addressing mode" msgstr "" -#: config/tc-arm.c:742 +#: config/tc-arm.c:747 msgid "branch must be last instruction in IT block" msgstr "" -#: config/tc-arm.c:743 +#: config/tc-arm.c:748 msgid "instruction not allowed in IT block" msgstr "" -#: config/tc-arm.c:744 +#: config/tc-arm.c:749 msgid "selected FPU does not support instruction" msgstr "" -#: config/tc-arm.c:745 +#: config/tc-arm.c:750 msgid "thumb conditional instruction should be in IT block" msgstr "" -#: config/tc-arm.c:746 +#: config/tc-arm.c:751 msgid "incorrect condition in IT block" msgstr "" -#: config/tc-arm.c:747 +#: config/tc-arm.c:752 msgid "IT falling in the range of a previous IT block" msgstr "" -#: config/tc-arm.c:748 +#: config/tc-arm.c:753 msgid "missing .fnstart before unwinding directive" msgstr "" -#: config/tc-arm.c:750 +#: config/tc-arm.c:755 msgid "cannot use register index with PC-relative addressing" msgstr "" -#: config/tc-arm.c:752 +#: config/tc-arm.c:757 msgid "cannot use writeback with PC-relative addressing" msgstr "" -#: config/tc-arm.c:754 +#: config/tc-arm.c:759 msgid "using " msgstr "" -#: config/tc-arm.c:951 +#: config/tc-arm.c:966 msgid "immediate expression requires a # prefix" msgstr "" -#: config/tc-arm.c:979 read.c:3727 +#: config/tc-arm.c:994 read.c:3731 msgid "missing expression" msgstr "" -#: config/tc-arm.c:1009 config/tc-arm.c:4917 config/tc-i960.c:1300 +#: config/tc-arm.c:1024 config/tc-arm.c:5207 config/tc-i960.c:1297 #: config/tc-score.c:1210 msgid "invalid constant" msgstr "" -#: config/tc-arm.c:1139 +#: config/tc-arm.c:1154 msgid "expected #constant" msgstr "" -#: config/tc-arm.c:1302 +#: config/tc-arm.c:1317 #, c-format msgid "unexpected character `%c' in type specifier" msgstr "" -#: config/tc-arm.c:1319 +#: config/tc-arm.c:1334 #, c-format msgid "bad size %d in type specifier" msgstr "" -#: config/tc-arm.c:1369 +#: config/tc-arm.c:1384 msgid "only one type should be specified for operand" msgstr "" -#: config/tc-arm.c:1447 +#: config/tc-arm.c:1462 msgid "can't redefine type for operand" msgstr "" -#: config/tc-arm.c:1458 +#: config/tc-arm.c:1473 msgid "only D registers may be indexed" msgstr "" -#: config/tc-arm.c:1464 +#: config/tc-arm.c:1479 msgid "can't change index for operand" msgstr "" -#: config/tc-arm.c:1527 +#: config/tc-arm.c:1542 msgid "register operand expected, but got scalar" msgstr "" -#: config/tc-arm.c:1560 +#: config/tc-arm.c:1575 msgid "scalar must have an index" msgstr "" -#: config/tc-arm.c:1565 config/tc-arm.c:15368 config/tc-arm.c:15428 -#: config/tc-arm.c:15850 +#: config/tc-arm.c:1580 config/tc-arm.c:15735 config/tc-arm.c:15795 +#: config/tc-arm.c:16217 msgid "scalar index out of range" msgstr "" -#: config/tc-arm.c:1615 +#: config/tc-arm.c:1630 msgid "bad range in register list" msgstr "" -#: config/tc-arm.c:1623 config/tc-arm.c:1632 config/tc-arm.c:1673 +#: config/tc-arm.c:1638 config/tc-arm.c:1647 config/tc-arm.c:1688 #, c-format msgid "Warning: duplicated register (r%d) in register list" msgstr "" -#: config/tc-arm.c:1635 +#: config/tc-arm.c:1650 msgid "Warning: register range not in ascending order" msgstr "" -#: config/tc-arm.c:1646 +#: config/tc-arm.c:1661 msgid "missing `}'" msgstr "" -#: config/tc-arm.c:1662 +#: config/tc-arm.c:1677 msgid "invalid register mask" msgstr "" -#: config/tc-arm.c:1797 config/tc-arm.c:1841 +#: config/tc-arm.c:1812 config/tc-arm.c:1856 msgid "register out of range in list" msgstr "" -#: config/tc-arm.c:1819 config/tc-arm.c:3915 config/tc-arm.c:4049 +#: config/tc-arm.c:1834 config/tc-arm.c:4161 config/tc-arm.c:4295 msgid "register list not in ascending order" msgstr "" -#: config/tc-arm.c:1850 +#: config/tc-arm.c:1865 msgid "register range not in ascending order" msgstr "" -#: config/tc-arm.c:1883 +#: config/tc-arm.c:1898 msgid "non-contiguous register range" msgstr "" -#: config/tc-arm.c:1942 +#: config/tc-arm.c:1957 msgid "register stride must be 1 or 2" msgstr "" -#: config/tc-arm.c:1943 +#: config/tc-arm.c:1958 msgid "mismatched element/structure types in list" msgstr "" -#: config/tc-arm.c:2007 +#: config/tc-arm.c:2022 msgid "don't use Rn-Rm syntax with non-unit stride" msgstr "" -#: config/tc-arm.c:2062 +#: config/tc-arm.c:2077 msgid "error parsing element/structure list" msgstr "" -#: config/tc-arm.c:2068 +#: config/tc-arm.c:2083 msgid "expected }" msgstr "" -#: config/tc-arm.c:2159 +#: config/tc-arm.c:2174 msgid "attempt to redefine typed alias" msgstr "" -#: config/tc-arm.c:2293 +#: config/tc-arm.c:2308 msgid "bad type for register" msgstr "" -#: config/tc-arm.c:2304 +#: config/tc-arm.c:2319 msgid "expression must be constant" msgstr "" -#: config/tc-arm.c:2321 +#: config/tc-arm.c:2336 msgid "can't redefine the type of a register alias" msgstr "" -#: config/tc-arm.c:2328 +#: config/tc-arm.c:2343 msgid "you must specify a single type only" msgstr "" -#: config/tc-arm.c:2341 +#: config/tc-arm.c:2356 msgid "can't redefine the index of a scalar alias" msgstr "" -#: config/tc-arm.c:2349 +#: config/tc-arm.c:2364 msgid "scalar index must be constant" msgstr "" -#: config/tc-arm.c:2358 +#: config/tc-arm.c:2373 msgid "expecting ]" msgstr "" -#: config/tc-arm.c:2411 +#: config/tc-arm.c:2426 msgid "invalid syntax for .dn directive" msgstr "" -#: config/tc-arm.c:2417 +#: config/tc-arm.c:2432 msgid "invalid syntax for .qn directive" msgstr "" -#: config/tc-arm.c:2452 +#: config/tc-arm.c:2467 #, c-format msgid "ignoring attempt to use .unreq on fixed register name: '%s'" msgstr "" -#: config/tc-arm.c:2720 +#: config/tc-arm.c:2735 #, c-format msgid "Failed to find real start of function: %s\n" msgstr "" -#: config/tc-arm.c:2737 +#: config/tc-arm.c:2752 msgid "selected processor does not support THUMB opcodes" msgstr "" -#: config/tc-arm.c:2750 +#: config/tc-arm.c:2765 msgid "selected processor does not support ARM opcodes" msgstr "" -#: config/tc-arm.c:2762 +#: config/tc-arm.c:2777 #, c-format msgid "invalid instruction size selected (%d)" msgstr "" -#: config/tc-arm.c:2794 +#: config/tc-arm.c:2809 #, c-format msgid "invalid operand to .code directive (%d) (expecting 16 or 32)" msgstr "" -#: config/tc-arm.c:2850 +#: config/tc-arm.c:2865 #, c-format msgid "expected comma after name \"%s\"" msgstr "" -#: config/tc-arm.c:2900 config/tc-m32r.c:588 +#: config/tc-arm.c:2915 config/tc-m32r.c:587 #, c-format msgid "symbol `%s' already defined" msgstr "" -#: config/tc-arm.c:2934 +#: config/tc-arm.c:2949 #, c-format msgid "unrecognized syntax mode \"%s\"" msgstr "" -#: config/tc-arm.c:2955 +#: config/tc-arm.c:2970 #, c-format msgid "alignment too large: %d assumed" msgstr "" -#: config/tc-arm.c:2958 +#: config/tc-arm.c:2973 msgid "alignment negative. 0 assumed." msgstr "" -#: config/tc-arm.c:3293 +#: config/tc-arm.c:3039 +msgid ".ref pseudo-op only available with -mccs flag." +msgstr "" + +#: config/tc-arm.c:3080 +msgid ".asmfunc repeated." +msgstr "" + +#: config/tc-arm.c:3084 +msgid ".asmfunc without function." +msgstr "" + +#: config/tc-arm.c:3090 +msgid ".asmfunc pseudo-op only available with -mccs flag." +msgstr "" + +#: config/tc-arm.c:3101 +msgid ".endasmfunc without a .asmfunc." +msgstr "" + +#: config/tc-arm.c:3105 +msgid ".endasmfunc without function." +msgstr "" + +#: config/tc-arm.c:3116 +msgid ".endasmfunc pseudo-op only available with -mccs flag." +msgstr "" + +#: config/tc-arm.c:3125 +msgid ".def pseudo-op only available with -mccs flag." +msgstr "" + +#: config/tc-arm.c:3283 +msgid "invalid type for literal pool" +msgstr "" + +#: config/tc-arm.c:3362 config/tc-tic54x.c:5385 +#, c-format +msgid "Invalid label '%s'" +msgstr "" + +#: config/tc-arm.c:3538 msgid "(plt) is only valid on branch targets" msgstr "" -#: config/tc-arm.c:3299 config/tc-s390.c:1146 config/tc-s390.c:1789 -#: config/tc-xtensa.c:1591 +#: config/tc-arm.c:3544 config/tc-s390.c:1145 config/tc-s390.c:1788 +#: config/tc-xtensa.c:1613 #, c-format msgid "%s relocations do not fit in %d bytes" msgstr "" -#: config/tc-arm.c:3376 +#: config/tc-arm.c:3622 msgid ".inst.n operand too big. Use .inst.w instead" msgstr "" -#: config/tc-arm.c:3396 +#: config/tc-arm.c:3642 msgid "cannot determine Thumb instruction size. Use .inst.n/.inst.w instead" msgstr "" -#: config/tc-arm.c:3426 +#: config/tc-arm.c:3672 msgid "width suffixes are invalid in ARM mode" msgstr "" -#: config/tc-arm.c:3468 dwarf2dbg.c:762 +#: config/tc-arm.c:3714 dwarf2dbg.c:751 msgid "expected 0 or 1" msgstr "" -#: config/tc-arm.c:3472 +#: config/tc-arm.c:3718 msgid "missing comma" msgstr "" -#: config/tc-arm.c:3505 +#: config/tc-arm.c:3751 msgid "duplicate .fnstart directive" msgstr "" -#: config/tc-arm.c:3536 config/tc-tic6x.c:412 +#: config/tc-arm.c:3782 config/tc-tic6x.c:412 msgid "duplicate .handlerdata directive" msgstr "" -#: config/tc-arm.c:3555 +#: config/tc-arm.c:3801 msgid ".fnend directive without .fnstart" msgstr "" -#: config/tc-arm.c:3622 config/tc-tic6x.c:393 +#: config/tc-arm.c:3868 config/tc-tic6x.c:393 msgid "personality routine specified for cantunwind frame" msgstr "" -#: config/tc-arm.c:3639 config/tc-tic6x.c:454 +#: config/tc-arm.c:3885 config/tc-tic6x.c:454 msgid "duplicate .personalityindex directive" msgstr "" -#: config/tc-arm.c:3646 config/tc-tic6x.c:461 +#: config/tc-arm.c:3892 config/tc-tic6x.c:461 msgid "bad personality routine number" msgstr "" -#: config/tc-arm.c:3668 config/tc-tic6x.c:478 +#: config/tc-arm.c:3914 config/tc-tic6x.c:478 msgid "duplicate .personality directive" msgstr "" -#: config/tc-arm.c:3691 config/tc-arm.c:3819 config/tc-arm.c:3867 +#: config/tc-arm.c:3937 config/tc-arm.c:4065 config/tc-arm.c:4113 msgid "expected register list" msgstr "" -#: config/tc-arm.c:3773 +#: config/tc-arm.c:4019 msgid "expected , <constant>" msgstr "" -#: config/tc-arm.c:3782 +#: config/tc-arm.c:4028 msgid "number of registers must be in the range [1:4]" msgstr "" -#: config/tc-arm.c:3929 config/tc-arm.c:4063 +#: config/tc-arm.c:4175 config/tc-arm.c:4309 msgid "bad register range" msgstr "" -#: config/tc-arm.c:4129 +#: config/tc-arm.c:4375 msgid "FPA .unwind_save does not take a register list" msgstr "" -#: config/tc-arm.c:4148 +#: config/tc-arm.c:4403 msgid ".unwind_save does not support this kind of register" msgstr "" -#: config/tc-arm.c:4187 +#: config/tc-arm.c:4442 msgid "SP and PC not permitted in .unwind_movsp directive" msgstr "" -#: config/tc-arm.c:4192 +#: config/tc-arm.c:4447 msgid "unexpected .unwind_movsp directive" msgstr "" -#: config/tc-arm.c:4219 +#: config/tc-arm.c:4474 msgid "stack increment must be multiple of 4" msgstr "" -#: config/tc-arm.c:4251 +#: config/tc-arm.c:4506 msgid "expected <reg>, <reg>" msgstr "" -#: config/tc-arm.c:4269 +#: config/tc-arm.c:4524 msgid "register must be either sp or set by a previousunwind_movsp directive" msgstr "" -#: config/tc-arm.c:4308 +#: config/tc-arm.c:4563 msgid "expected <offset>, <opcode>" msgstr "" -#: config/tc-arm.c:4320 +#: config/tc-arm.c:4575 msgid "unwind opcode too long" msgstr "" -#: config/tc-arm.c:4325 +#: config/tc-arm.c:4580 msgid "invalid unwind opcode" msgstr "" -#: config/tc-arm.c:4505 config/tc-arm.c:5447 config/tc-arm.c:9688 -#: config/tc-arm.c:10211 config/tc-arm.c:12231 config/tc-arm.c:13664 -#: config/tc-arm.c:22438 config/tc-arm.c:22463 config/tc-arm.c:22471 -#: config/tc-metag.c:5175 config/tc-z8k.c:1144 config/tc-z8k.c:1154 +#: config/tc-arm.c:4767 config/tc-arm.c:5739 config/tc-arm.c:10246 +#: config/tc-arm.c:10769 config/tc-arm.c:12789 config/tc-arm.c:14222 +#: config/tc-arm.c:22819 config/tc-arm.c:22844 config/tc-arm.c:22852 +#: config/tc-metag.c:5175 config/tc-z8k.c:1143 config/tc-z8k.c:1153 msgid "immediate value out of range" msgstr "" -#: config/tc-arm.c:4670 +#: config/tc-arm.c:4935 msgid "invalid FPA immediate expression" msgstr "" -#: config/tc-arm.c:4817 +#: config/tc-arm.c:5107 msgid "'LSL' or 'ASR' required" msgstr "" -#: config/tc-arm.c:4825 +#: config/tc-arm.c:5115 msgid "'LSL' required" msgstr "" -#: config/tc-arm.c:4833 +#: config/tc-arm.c:5123 msgid "'ASR' required" msgstr "" -#: config/tc-arm.c:4912 +#: config/tc-arm.c:5202 msgid "invalid rotation" msgstr "" -#: config/tc-arm.c:5071 config/tc-arm.c:5238 +#: config/tc-arm.c:5361 config/tc-arm.c:5530 msgid "unknown group relocation" msgstr "" -#: config/tc-arm.c:5107 +#: config/tc-arm.c:5397 msgid "alignment must be constant" msgstr "" -#: config/tc-arm.c:5269 +#: config/tc-arm.c:5561 msgid "this group relocation is not allowed on this instruction" msgstr "" -#: config/tc-arm.c:5324 +#: config/tc-arm.c:5616 msgid "'}' expected at end of 'option' field" msgstr "" -#: config/tc-arm.c:5329 +#: config/tc-arm.c:5621 msgid "cannot combine index with option" msgstr "" -#: config/tc-arm.c:5585 +#: config/tc-arm.c:5877 msgid "unexpected bit specified after APSR" msgstr "" -#: config/tc-arm.c:5597 +#: config/tc-arm.c:5889 msgid "selected processor does not support DSP extension" msgstr "" -#: config/tc-arm.c:5609 +#: config/tc-arm.c:5901 msgid "bad bitmask specified after APSR" msgstr "" -#: config/tc-arm.c:5633 +#: config/tc-arm.c:5925 msgid "writing to APSR without specifying a bitmask is deprecated" msgstr "" -#: config/tc-arm.c:5645 config/tc-arm.c:11356 config/tc-arm.c:11400 -#: config/tc-arm.c:11404 +#: config/tc-arm.c:5937 config/tc-arm.c:11914 config/tc-arm.c:11958 +#: config/tc-arm.c:11962 msgid "selected processor does not support requested special purpose register" msgstr "" -#: config/tc-arm.c:5650 +#: config/tc-arm.c:5942 msgid "flag for {c}psr instruction expected" msgstr "" -#: config/tc-arm.c:5675 +#: config/tc-arm.c:5967 msgid "unrecognized CPS flag" msgstr "" -#: config/tc-arm.c:5682 +#: config/tc-arm.c:5974 msgid "missing CPS flags" msgstr "" -#: config/tc-arm.c:5705 config/tc-arm.c:5711 +#: config/tc-arm.c:5997 config/tc-arm.c:6003 msgid "valid endian specifiers are be or le" msgstr "" -#: config/tc-arm.c:5733 +#: config/tc-arm.c:6025 msgid "missing rotation field after comma" msgstr "" -#: config/tc-arm.c:5748 +#: config/tc-arm.c:6040 msgid "rotation can only be 0, 8, 16, or 24" msgstr "" -#: config/tc-arm.c:5777 +#: config/tc-arm.c:6069 msgid "condition required" msgstr "" -#: config/tc-arm.c:5838 config/tc-arm.c:8012 +#: config/tc-arm.c:6130 config/tc-arm.c:8570 msgid "'[' expected" msgstr "" -#: config/tc-arm.c:5851 +#: config/tc-arm.c:6143 msgid "',' expected" msgstr "" -#: config/tc-arm.c:5868 +#: config/tc-arm.c:6160 msgid "invalid shift" msgstr "" -#: config/tc-arm.c:5941 +#: config/tc-arm.c:6233 msgid "can't use Neon quad register here" msgstr "" -#: config/tc-arm.c:6007 +#: config/tc-arm.c:6300 msgid "expected <Rm> or <Dm> or <Qm> operand" msgstr "" -#: config/tc-arm.c:6087 +#: config/tc-arm.c:6380 msgid "parse error" msgstr "" #. ISB can only take SY as an option. -#: config/tc-arm.c:6351 +#: config/tc-arm.c:6645 msgid "invalid barrier type" msgstr "" -#: config/tc-arm.c:6488 +#: config/tc-arm.c:6741 +msgid "only floating point zero is allowed as immediate value" +msgstr "" + +#: config/tc-arm.c:6799 msgid "immediate value is out of range" msgstr "" -#: config/tc-arm.c:6635 +#: config/tc-arm.c:6946 msgid "iWMMXt data or control register expected" msgstr "" -#: config/tc-arm.c:6675 +#: config/tc-arm.c:6986 msgid "Banked registers are not available with this architecture." msgstr "" -#: config/tc-arm.c:6897 config/tc-score.c:264 +#: config/tc-arm.c:7208 config/tc-score.c:264 msgid "garbage following instruction" msgstr "" #. If REG is R13 (the stack pointer), warn that its use is #. deprecated. -#: config/tc-arm.c:6938 +#: config/tc-arm.c:7249 msgid "use of r13 is deprecated" msgstr "" -#: config/tc-arm.c:7008 +#: config/tc-arm.c:7319 msgid "D register out of range for selected VFP version" msgstr "" -#: config/tc-arm.c:7087 config/tc-arm.c:9416 +#: config/tc-arm.c:7398 config/tc-arm.c:9974 msgid "Instruction does not support =N addresses" msgstr "" -#: config/tc-arm.c:7095 +#: config/tc-arm.c:7406 msgid "instruction does not accept preindexed addressing" msgstr "" #. unindexed - only for coprocessor -#: config/tc-arm.c:7111 config/tc-arm.c:9479 +#: config/tc-arm.c:7422 config/tc-arm.c:10037 msgid "instruction does not accept unindexed addressing" msgstr "" -#: config/tc-arm.c:7119 +#: config/tc-arm.c:7430 msgid "destination register same as write-back base" msgstr "" -#: config/tc-arm.c:7120 +#: config/tc-arm.c:7431 msgid "source register same as write-back base" msgstr "" -#: config/tc-arm.c:7170 +#: config/tc-arm.c:7481 msgid "use of PC in this instruction is deprecated" msgstr "" -#: config/tc-arm.c:7193 +#: config/tc-arm.c:7504 msgid "instruction does not accept scaled register index" msgstr "" -#: config/tc-arm.c:7247 +#: config/tc-arm.c:7760 +msgid "invalid pseudo operation" +msgstr "" + +#: config/tc-arm.c:7887 msgid "instruction does not support unindexed addressing" msgstr "" -#: config/tc-arm.c:7262 +#: config/tc-arm.c:7902 msgid "pc may not be used with write-back" msgstr "" -#: config/tc-arm.c:7267 +#: config/tc-arm.c:7907 msgid "instruction does not support writeback" msgstr "" -#: config/tc-arm.c:7313 -msgid "invalid pseudo operation" -msgstr "" - -#: config/tc-arm.c:7442 +#: config/tc-arm.c:8000 msgid "Rn must not overlap other operands" msgstr "" -#: config/tc-arm.c:7447 +#: config/tc-arm.c:8005 msgid "swp{b} use is obsoleted for ARMv8 and later" msgstr "" -#: config/tc-arm.c:7450 +#: config/tc-arm.c:8008 msgid "swp{b} use is deprecated for ARMv6 and ARMv7" msgstr "" -#: config/tc-arm.c:7552 config/tc-arm.c:7571 config/tc-arm.c:7584 -#: config/tc-arm.c:10052 config/tc-arm.c:10083 config/tc-arm.c:10105 +#: config/tc-arm.c:8110 config/tc-arm.c:8129 config/tc-arm.c:8142 +#: config/tc-arm.c:10610 config/tc-arm.c:10641 config/tc-arm.c:10663 msgid "bit-field extends past end of register" msgstr "" -#: config/tc-arm.c:7614 +#: config/tc-arm.c:8172 msgid "the only valid suffixes here are '(plt)' and '(tlscall)'" msgstr "" -#: config/tc-arm.c:7667 +#: config/tc-arm.c:8225 msgid "use of r15 in blx in ARM mode is not really useful" msgstr "" -#: config/tc-arm.c:7689 +#: config/tc-arm.c:8247 msgid "use of r15 in bx in ARM mode is not really useful" msgstr "" -#: config/tc-arm.c:7714 +#: config/tc-arm.c:8272 msgid "use of r15 in bxj is not really useful" msgstr "" -#: config/tc-arm.c:7762 +#: config/tc-arm.c:8320 msgid "This coprocessor register access is deprecated in ARMv8" msgstr "" -#: config/tc-arm.c:7962 config/tc-arm.c:7971 +#: config/tc-arm.c:8520 config/tc-arm.c:8529 msgid "writeback of base register is UNPREDICTABLE" msgstr "" -#: config/tc-arm.c:7965 +#: config/tc-arm.c:8523 msgid "writeback of base register when in register list is UNPREDICTABLE" msgstr "" -#: config/tc-arm.c:7975 +#: config/tc-arm.c:8533 msgid "if writeback register is in list, it must be the lowest reg in the list" msgstr "" -#: config/tc-arm.c:8007 +#: config/tc-arm.c:8565 msgid "first transfer register must be even" msgstr "" -#: config/tc-arm.c:8010 +#: config/tc-arm.c:8568 msgid "can only transfer two consecutive registers" msgstr "" @@ -3299,1151 +3370,1165 @@ msgstr "" #. have been called in the first place. #. If op 2 were present and equal to PC, this function wouldn't #. have been called in the first place. -#: config/tc-arm.c:8011 config/tc-arm.c:8081 config/tc-arm.c:8714 -#: config/tc-arm.c:10857 +#: config/tc-arm.c:8569 config/tc-arm.c:8639 config/tc-arm.c:9272 +#: config/tc-arm.c:11415 msgid "r14 not allowed here" msgstr "" -#: config/tc-arm.c:8023 +#: config/tc-arm.c:8581 msgid "base register written back, and overlaps second transfer register" msgstr "" -#: config/tc-arm.c:8033 +#: config/tc-arm.c:8591 msgid "index register overlaps transfer register" msgstr "" -#: config/tc-arm.c:8062 config/tc-arm.c:8681 +#: config/tc-arm.c:8620 config/tc-arm.c:9239 msgid "offset must be zero in ARM encoding" msgstr "" -#: config/tc-arm.c:8075 config/tc-arm.c:8708 +#: config/tc-arm.c:8633 config/tc-arm.c:9266 msgid "even register required" msgstr "" -#: config/tc-arm.c:8078 +#: config/tc-arm.c:8636 msgid "can only load two consecutive registers" msgstr "" -#: config/tc-arm.c:8096 +#: config/tc-arm.c:8654 msgid "ldr to register 15 must be 4-byte alligned" msgstr "" -#: config/tc-arm.c:8119 config/tc-arm.c:8151 +#: config/tc-arm.c:8677 config/tc-arm.c:8709 msgid "this instruction requires a post-indexed address" msgstr "" -#: config/tc-arm.c:8178 +#: config/tc-arm.c:8736 msgid "Rd and Rm should be different in mla" msgstr "" -#: config/tc-arm.c:8202 config/tc-arm.c:11221 +#: config/tc-arm.c:8760 config/tc-arm.c:11779 msgid ":lower16: not allowed this instruction" msgstr "" -#: config/tc-arm.c:8204 +#: config/tc-arm.c:8762 msgid ":upper16: not allowed instruction" msgstr "" -#: config/tc-arm.c:8223 +#: config/tc-arm.c:8781 msgid "operand 1 must be FPSCR" msgstr "" -#: config/tc-arm.c:8305 config/tc-arm.c:11340 +#: config/tc-arm.c:8863 config/tc-arm.c:11898 msgid "bad register for mrs" msgstr "" -#: config/tc-arm.c:8312 config/tc-arm.c:11363 +#: config/tc-arm.c:8870 config/tc-arm.c:11921 msgid "'APSR', 'CPSR' or 'SPSR' expected" msgstr "" -#: config/tc-arm.c:8353 +#: config/tc-arm.c:8911 msgid "Rd and Rm should be different in mul" msgstr "" -#: config/tc-arm.c:8372 config/tc-arm.c:8626 config/tc-arm.c:11501 +#: config/tc-arm.c:8930 config/tc-arm.c:9184 config/tc-arm.c:12059 msgid "rdhi and rdlo must be different" msgstr "" -#: config/tc-arm.c:8378 +#: config/tc-arm.c:8936 msgid "rdhi, rdlo and rm must all be different" msgstr "" -#: config/tc-arm.c:8444 +#: config/tc-arm.c:9002 msgid "'[' expected after PLD mnemonic" msgstr "" -#: config/tc-arm.c:8446 config/tc-arm.c:8461 +#: config/tc-arm.c:9004 config/tc-arm.c:9019 msgid "post-indexed expression used in preload instruction" msgstr "" -#: config/tc-arm.c:8448 config/tc-arm.c:8463 +#: config/tc-arm.c:9006 config/tc-arm.c:9021 msgid "writeback used in preload instruction" msgstr "" -#: config/tc-arm.c:8450 config/tc-arm.c:8465 +#: config/tc-arm.c:9008 config/tc-arm.c:9023 msgid "unindexed addressing used in preload instruction" msgstr "" -#: config/tc-arm.c:8459 +#: config/tc-arm.c:9017 msgid "'[' expected after PLI mnemonic" msgstr "" -#: config/tc-arm.c:8550 config/tc-arm.c:11817 +#: config/tc-arm.c:9108 config/tc-arm.c:12375 msgid "setend use is deprecated for ARMv8" msgstr "" -#: config/tc-arm.c:8571 config/tc-arm.c:11878 config/tc-arm.c:11910 -#: config/tc-arm.c:11953 +#: config/tc-arm.c:9129 config/tc-arm.c:12436 config/tc-arm.c:12468 +#: config/tc-arm.c:12511 msgid "extraneous shift as part of operand to shift insn" msgstr "" -#: config/tc-arm.c:8652 +#: config/tc-arm.c:9210 msgid "SRS base register must be r13" msgstr "" -#: config/tc-arm.c:8711 +#: config/tc-arm.c:9269 msgid "can only store two consecutive registers" msgstr "" -#: config/tc-arm.c:8825 config/tc-arm.c:8842 +#: config/tc-arm.c:9383 config/tc-arm.c:9400 msgid "only two consecutive VFP SP registers allowed here" msgstr "" -#: config/tc-arm.c:8870 config/tc-arm.c:8885 +#: config/tc-arm.c:9428 config/tc-arm.c:9443 msgid "this addressing mode requires base-register writeback" msgstr "" #. If srcsize is 16, inst.operands[1].imm must be in the range 0-16. #. i.e. immbits must be in range 0 - 16. -#: config/tc-arm.c:9002 +#: config/tc-arm.c:9560 msgid "immediate value out of range, expected range [0, 16]" msgstr "" #. If srcsize is 32, inst.operands[1].imm must be in the range 1-32. #. i.e. immbits must be in range 0 - 31. -#: config/tc-arm.c:9009 +#: config/tc-arm.c:9567 msgid "immediate value out of range, expected range [1, 32]" msgstr "" -#: config/tc-arm.c:9075 +#: config/tc-arm.c:9633 msgid "this instruction does not support indexing" msgstr "" -#: config/tc-arm.c:9098 +#: config/tc-arm.c:9656 msgid "only r15 allowed here" msgstr "" -#: config/tc-arm.c:9233 +#: config/tc-arm.c:9791 msgid "immediate operand requires iWMMXt2" msgstr "" -#: config/tc-arm.c:9377 +#: config/tc-arm.c:9935 msgid "shift by register not allowed in thumb mode" msgstr "" -#: config/tc-arm.c:9389 config/tc-arm.c:12061 config/tc-arm.c:21828 +#: config/tc-arm.c:9947 config/tc-arm.c:12619 config/tc-arm.c:22214 msgid "shift expression is too large" msgstr "" -#: config/tc-arm.c:9422 +#: config/tc-arm.c:9980 msgid "cannot use register index with this instruction" msgstr "" -#: config/tc-arm.c:9424 +#: config/tc-arm.c:9982 msgid "Thumb does not support negative register indexing" msgstr "" -#: config/tc-arm.c:9426 +#: config/tc-arm.c:9984 msgid "Thumb does not support register post-indexing" msgstr "" -#: config/tc-arm.c:9428 +#: config/tc-arm.c:9986 msgid "Thumb does not support register indexing with writeback" msgstr "" -#: config/tc-arm.c:9430 +#: config/tc-arm.c:9988 msgid "Thumb supports only LSL in shifted register indexing" msgstr "" -#: config/tc-arm.c:9439 config/tc-arm.c:15160 +#: config/tc-arm.c:9997 config/tc-arm.c:15527 msgid "shift out of range" msgstr "" -#: config/tc-arm.c:9448 +#: config/tc-arm.c:10006 msgid "cannot use writeback with this instruction" msgstr "" -#: config/tc-arm.c:9469 +#: config/tc-arm.c:10027 msgid "cannot use post-indexing with PC-relative addressing" msgstr "" -#: config/tc-arm.c:9470 +#: config/tc-arm.c:10028 msgid "cannot use post-indexing with this instruction" msgstr "" -#: config/tc-arm.c:9683 +#: config/tc-arm.c:10241 msgid "only SUBS PC, LR, #const allowed" msgstr "" -#: config/tc-arm.c:9765 config/tc-arm.c:9920 config/tc-arm.c:10017 -#: config/tc-arm.c:11301 config/tc-arm.c:11607 +#: config/tc-arm.c:10323 config/tc-arm.c:10478 config/tc-arm.c:10575 +#: config/tc-arm.c:11859 config/tc-arm.c:12165 msgid "shift must be constant" msgstr "" -#: config/tc-arm.c:9770 +#: config/tc-arm.c:10328 msgid "shift value over 3 not allowed in thumb mode" msgstr "" -#: config/tc-arm.c:9772 +#: config/tc-arm.c:10330 msgid "only LSL shift allowed in thumb mode" msgstr "" -#: config/tc-arm.c:9796 config/tc-arm.c:9935 config/tc-arm.c:10032 -#: config/tc-arm.c:11314 +#: config/tc-arm.c:10354 config/tc-arm.c:10493 config/tc-arm.c:10590 +#: config/tc-arm.c:11872 msgid "unshifted register required" msgstr "" -#: config/tc-arm.c:9811 config/tc-arm.c:10043 config/tc-arm.c:11462 +#: config/tc-arm.c:10369 config/tc-arm.c:10601 config/tc-arm.c:12020 msgid "dest must overlap one source register" msgstr "" -#: config/tc-arm.c:9938 +#: config/tc-arm.c:10496 msgid "dest and source1 must be the same register" msgstr "" -#: config/tc-arm.c:10207 +#: config/tc-arm.c:10765 msgid "instruction is always unconditional" msgstr "" -#: config/tc-arm.c:10322 +#: config/tc-arm.c:10880 msgid "selected processor does not support 'A' form of this instruction" msgstr "" -#: config/tc-arm.c:10325 +#: config/tc-arm.c:10883 msgid "Thumb does not support the 2-argument form of this instruction" msgstr "" -#: config/tc-arm.c:10446 +#: config/tc-arm.c:11004 msgid "SP not allowed in register list" msgstr "" -#: config/tc-arm.c:10450 config/tc-arm.c:10556 +#: config/tc-arm.c:11008 config/tc-arm.c:11114 msgid "" "having the base register in the register list when using write back is " "UNPREDICTABLE" msgstr "" -#: config/tc-arm.c:10458 +#: config/tc-arm.c:11016 msgid "LR and PC should not both be in register list" msgstr "" -#: config/tc-arm.c:10466 +#: config/tc-arm.c:11024 msgid "PC not allowed in register list" msgstr "" -#: config/tc-arm.c:10508 +#: config/tc-arm.c:11066 msgid "Thumb load/store multiple does not support {reglist}^" msgstr "" -#: config/tc-arm.c:10533 config/tc-arm.c:10610 +#: config/tc-arm.c:11091 config/tc-arm.c:11168 #, c-format msgid "value stored for r%d is UNKNOWN" msgstr "" -#: config/tc-arm.c:10603 +#: config/tc-arm.c:11161 msgid "Thumb-2 instruction only valid in unified syntax" msgstr "" -#: config/tc-arm.c:10607 config/tc-arm.c:10617 +#: config/tc-arm.c:11165 config/tc-arm.c:11175 msgid "this instruction will write back the base register" msgstr "" -#: config/tc-arm.c:10620 +#: config/tc-arm.c:11178 msgid "this instruction will not write back the base register" msgstr "" -#: config/tc-arm.c:10651 +#: config/tc-arm.c:11209 msgid "r14 not allowed as first register when second register is omitted" msgstr "" -#: config/tc-arm.c:10751 +#: config/tc-arm.c:11309 msgid "" "This instruction may be unpredictable if executed on M-profile cores with " "interrupts enabled." msgstr "" -#: config/tc-arm.c:10780 config/tc-arm.c:10793 config/tc-arm.c:10829 +#: config/tc-arm.c:11338 config/tc-arm.c:11351 config/tc-arm.c:11387 msgid "Thumb does not support this addressing mode" msgstr "" -#: config/tc-arm.c:10797 +#: config/tc-arm.c:11355 msgid "byte or halfword not valid for base register" msgstr "" -#: config/tc-arm.c:10800 +#: config/tc-arm.c:11358 msgid "r15 based store not allowed" msgstr "" -#: config/tc-arm.c:10802 +#: config/tc-arm.c:11360 msgid "invalid base register for register offset" msgstr "" -#: config/tc-arm.c:10859 +#: config/tc-arm.c:11417 msgid "r12 not allowed here" msgstr "" -#: config/tc-arm.c:10865 +#: config/tc-arm.c:11423 msgid "base register written back, and overlaps one of transfer registers" msgstr "" -#: config/tc-arm.c:10993 +#: config/tc-arm.c:11551 #, c-format msgid "" "Use of r%u as a source register is deprecated when r%u is the destination " "register." msgstr "" -#: config/tc-arm.c:11177 +#: config/tc-arm.c:11735 msgid "shifts in CMP/MOV instructions are only supported in unified syntax" msgstr "" -#: config/tc-arm.c:11205 +#: config/tc-arm.c:11763 msgid "only lo regs allowed with immediate" msgstr "" -#: config/tc-arm.c:11226 +#: config/tc-arm.c:11784 msgid ":upper16: not allowed this instruction" msgstr "" -#: config/tc-arm.c:11381 +#: config/tc-arm.c:11939 msgid "Thumb encoding does not support an immediate here" msgstr "" -#: config/tc-arm.c:11467 +#: config/tc-arm.c:12025 msgid "Thumb-2 MUL must not set flags" msgstr "" -#: config/tc-arm.c:11532 +#: config/tc-arm.c:12090 msgid "Thumb does not support NOP with hints" msgstr "" -#: config/tc-arm.c:11670 +#: config/tc-arm.c:12228 msgid "push/pop do not support {reglist}^" msgstr "" -#: config/tc-arm.c:11692 +#: config/tc-arm.c:12250 msgid "invalid register list to push/pop instruction" msgstr "" -#: config/tc-arm.c:11937 +#: config/tc-arm.c:12495 msgid "source1 and dest must be same register" msgstr "" -#: config/tc-arm.c:11962 +#: config/tc-arm.c:12520 msgid "ror #imm not supported" msgstr "" -#: config/tc-arm.c:12013 +#: config/tc-arm.c:12571 msgid "SMC is not permitted on this architecture" msgstr "" -#: config/tc-arm.c:12178 +#: config/tc-arm.c:12736 msgid "Thumb encoding does not support rotation" msgstr "" -#: config/tc-arm.c:12193 +#: config/tc-arm.c:12751 msgid "SVC is not permitted on this architecture" msgstr "" -#: config/tc-arm.c:12209 +#: config/tc-arm.c:12767 msgid "instruction requires register index" msgstr "" -#: config/tc-arm.c:12218 +#: config/tc-arm.c:12776 msgid "instruction does not allow shifted index" msgstr "" -#: config/tc-arm.c:12402 +#: config/tc-arm.c:12960 msgid "invalid neon suffix for non neon instruction" msgstr "" -#: config/tc-arm.c:12697 config/tc-arm.c:13034 config/tc-arm.c:14689 -#: config/tc-arm.c:16082 +#: config/tc-arm.c:13255 config/tc-arm.c:13592 config/tc-arm.c:15056 +#: config/tc-arm.c:16449 msgid "invalid instruction shape" msgstr "" -#: config/tc-arm.c:12942 +#: config/tc-arm.c:13500 msgid "types specified in both the mnemonic and operands" msgstr "" -#: config/tc-arm.c:12979 +#: config/tc-arm.c:13537 msgid "operand types can't be inferred" msgstr "" -#: config/tc-arm.c:12985 +#: config/tc-arm.c:13543 msgid "type specifier has the wrong number of parts" msgstr "" -#: config/tc-arm.c:13050 config/tc-arm.c:14829 config/tc-arm.c:14836 +#: config/tc-arm.c:13608 config/tc-arm.c:15196 config/tc-arm.c:15203 msgid "operand size must match register width" msgstr "" -#: config/tc-arm.c:13061 +#: config/tc-arm.c:13619 msgid "bad type in Neon instruction" msgstr "" -#: config/tc-arm.c:13072 +#: config/tc-arm.c:13630 msgid "inconsistent types in Neon instruction" msgstr "" -#: config/tc-arm.c:13889 +#: config/tc-arm.c:14256 msgid "first and second operands shall be the same register" msgstr "" -#: config/tc-arm.c:14165 +#: config/tc-arm.c:14532 msgid "scalar out of range for multiply instruction" msgstr "" -#: config/tc-arm.c:14341 config/tc-arm.c:14353 +#: config/tc-arm.c:14708 config/tc-arm.c:14720 msgid "immediate out of range for insert" msgstr "" -#: config/tc-arm.c:14365 config/tc-arm.c:15533 +#: config/tc-arm.c:14732 config/tc-arm.c:15900 msgid "immediate out of range for shift" msgstr "" -#: config/tc-arm.c:14486 +#: config/tc-arm.c:14853 msgid "immediate out of range for narrowing operation" msgstr "" -#: config/tc-arm.c:14620 +#: config/tc-arm.c:14987 msgid "operands 0 and 1 must be the same register" msgstr "" -#: config/tc-arm.c:14699 config/tc-arm.c:16165 +#: config/tc-arm.c:15066 config/tc-arm.c:16532 msgid "invalid rounding mode" msgstr "" -#: config/tc-arm.c:14967 +#: config/tc-arm.c:15334 msgid "operand size must be specified for immediate VMOV" msgstr "" -#: config/tc-arm.c:14977 +#: config/tc-arm.c:15344 msgid "immediate has bits set outside the operand size" msgstr "" -#: config/tc-arm.c:15142 +#: config/tc-arm.c:15509 msgid "Instruction form not available on this architecture." msgstr "" -#: config/tc-arm.c:15186 +#: config/tc-arm.c:15553 msgid "elements must be smaller than reversal region" msgstr "" -#: config/tc-arm.c:15367 config/tc-arm.c:15427 +#: config/tc-arm.c:15734 config/tc-arm.c:15794 msgid "bad type for scalar" msgstr "" -#: config/tc-arm.c:15491 config/tc-arm.c:15499 +#: config/tc-arm.c:15858 config/tc-arm.c:15866 msgid "VFP registers must be adjacent" msgstr "" -#: config/tc-arm.c:15645 +#: config/tc-arm.c:16012 msgid "bad list length for table lookup" msgstr "" -#: config/tc-arm.c:15675 +#: config/tc-arm.c:16042 msgid "writeback (!) must be used for VLDMDB and VSTMDB" msgstr "" -#: config/tc-arm.c:15678 +#: config/tc-arm.c:16045 msgid "register list must contain at least 1 and at most 16 registers" msgstr "" -#: config/tc-arm.c:15703 +#: config/tc-arm.c:16070 msgid "Use of PC here is UNPREDICTABLE" msgstr "" -#: config/tc-arm.c:15705 +#: config/tc-arm.c:16072 msgid "Use of PC here is deprecated" msgstr "" -#: config/tc-arm.c:15768 +#: config/tc-arm.c:16135 msgid "bad alignment" msgstr "" -#: config/tc-arm.c:15785 +#: config/tc-arm.c:16152 msgid "bad list type for instruction" msgstr "" -#: config/tc-arm.c:15787 +#: config/tc-arm.c:16154 msgid "bad element type for instruction" msgstr "" -#: config/tc-arm.c:15829 +#: config/tc-arm.c:16196 msgid "unsupported alignment for instruction" msgstr "" -#: config/tc-arm.c:15848 config/tc-arm.c:15942 config/tc-arm.c:15953 -#: config/tc-arm.c:15963 config/tc-arm.c:15977 +#: config/tc-arm.c:16215 config/tc-arm.c:16309 config/tc-arm.c:16320 +#: config/tc-arm.c:16330 config/tc-arm.c:16344 msgid "bad list length" msgstr "" -#: config/tc-arm.c:15853 +#: config/tc-arm.c:16220 msgid "stride of 2 unavailable when element size is 8" msgstr "" -#: config/tc-arm.c:15886 config/tc-arm.c:15961 +#: config/tc-arm.c:16253 config/tc-arm.c:16328 msgid "can't use alignment with this instruction" msgstr "" -#: config/tc-arm.c:16033 +#: config/tc-arm.c:16400 msgid "post-index must be a register" msgstr "" -#: config/tc-arm.c:16035 +#: config/tc-arm.c:16402 msgid "bad register for post-index" msgstr "" -#: config/tc-arm.c:16720 config/tc-arm.c:16806 +#: config/tc-arm.c:17087 config/tc-arm.c:17173 msgid "conditional infixes are deprecated in unified syntax" msgstr "" -#: config/tc-arm.c:16957 +#: config/tc-arm.c:17324 msgid "Warning: conditional outside an IT block for Thumb." msgstr "" -#: config/tc-arm.c:17109 +#: config/tc-arm.c:17476 msgid "Short branches, Undefined, SVC, LDM/STM" msgstr "" -#: config/tc-arm.c:17110 +#: config/tc-arm.c:17477 msgid "Miscellaneous 16-bit instructions" msgstr "" -#: config/tc-arm.c:17111 +#: config/tc-arm.c:17478 msgid "ADR" msgstr "" -#: config/tc-arm.c:17112 +#: config/tc-arm.c:17479 msgid "Literal loads" msgstr "" -#: config/tc-arm.c:17113 +#: config/tc-arm.c:17480 msgid "Hi-register ADD, MOV, CMP, BX, BLX using pc" msgstr "" -#: config/tc-arm.c:17114 +#: config/tc-arm.c:17481 msgid "Hi-register ADD, MOV, CMP using pc" msgstr "" -#: config/tc-arm.c:17133 +#. NOTE: 0x00dd is not the real encoding, instead, it is the 'tvalue' +#. field in asm_opcode. 'tvalue' is used at the stage this check happen. +#: config/tc-arm.c:17484 +msgid "ADD/SUB sp, sp #imm" +msgstr "" + +#: config/tc-arm.c:17503 msgid "IT blocks containing 32-bit Thumb instructions are deprecated in ARMv8" msgstr "" -#: config/tc-arm.c:17145 +#: config/tc-arm.c:17515 #, c-format msgid "" "IT blocks containing 16-bit Thumb instructions of the following class are " "deprecated in ARMv8: %s" msgstr "" -#: config/tc-arm.c:17158 +#: config/tc-arm.c:17528 msgid "" "IT blocks containing more than one conditional instruction are deprecated in " "ARMv8" msgstr "" -#: config/tc-arm.c:17222 +#: config/tc-arm.c:17592 msgid "s suffix on comparison instruction is deprecated" msgstr "" -#: config/tc-arm.c:17241 +#: config/tc-arm.c:17611 #, c-format msgid "selected processor does not support Thumb mode `%s'" msgstr "" -#: config/tc-arm.c:17247 +#: config/tc-arm.c:17617 msgid "Thumb does not support conditional execution" msgstr "" -#: config/tc-arm.c:17266 +#: config/tc-arm.c:17636 #, c-format msgid "selected processor does not support Thumb-2 mode `%s'" msgstr "" -#: config/tc-arm.c:17291 +#: config/tc-arm.c:17661 #, c-format msgid "cannot honor width suffix -- `%s'" msgstr "" -#: config/tc-arm.c:17332 +#: config/tc-arm.c:17702 #, c-format msgid "selected processor does not support ARM mode `%s'" msgstr "" -#: config/tc-arm.c:17337 +#: config/tc-arm.c:17707 #, c-format msgid "width suffixes are invalid in ARM mode -- `%s'" msgstr "" -#: config/tc-arm.c:17370 +#: config/tc-arm.c:17740 #, c-format msgid "attempt to use an ARM instruction on a Thumb-only processor -- `%s'" msgstr "" -#: config/tc-arm.c:17387 +#: config/tc-arm.c:17757 #, c-format msgid "section '%s' finished with an open IT block." msgstr "" -#: config/tc-arm.c:17392 +#: config/tc-arm.c:17762 msgid "file finished with an open IT block." msgstr "" -#: config/tc-arm.c:20557 +#: config/tc-arm.c:20930 #, c-format msgid "alignments greater than %d bytes not supported in .text sections." msgstr "" -#: config/tc-arm.c:20825 config/tc-ia64.c:3612 +#: config/tc-arm.c:21198 config/tc-ia64.c:3612 #, c-format msgid "Group section `%s' has no group signature" msgstr "" -#: config/tc-arm.c:20870 +#: config/tc-arm.c:21243 msgid "handlerdata in cantunwind frame" msgstr "" -#: config/tc-arm.c:20887 +#: config/tc-arm.c:21260 msgid "too many unwind opcodes for personality routine 0" msgstr "" -#: config/tc-arm.c:20923 +#: config/tc-arm.c:21291 +msgid "attempt to recreate an unwind entry" +msgstr "" + +#: config/tc-arm.c:21301 msgid "too many unwind opcodes" msgstr "" -#: config/tc-arm.c:21525 config/tc-arm.c:21576 +#: config/tc-arm.c:21911 config/tc-arm.c:21962 #, c-format msgid "symbol %s is in a different section" msgstr "" -#: config/tc-arm.c:21527 config/tc-arm.c:21578 +#: config/tc-arm.c:21913 config/tc-arm.c:21964 #, c-format msgid "symbol %s is weak and may be overridden later" msgstr "" -#: config/tc-arm.c:21555 config/tc-arm.c:21897 +#: config/tc-arm.c:21941 config/tc-arm.c:22283 #, c-format msgid "invalid constant (%lx) after fixup" msgstr "" -#: config/tc-arm.c:21611 +#: config/tc-arm.c:21997 #, c-format msgid "unable to compute ADRL instructions for PC offset of 0x%lx" msgstr "" -#: config/tc-arm.c:21646 config/tc-arm.c:21676 +#: config/tc-arm.c:22032 config/tc-arm.c:22062 msgid "invalid literal constant: pool needs to be closer" msgstr "" -#: config/tc-arm.c:21649 config/tc-arm.c:21698 +#: config/tc-arm.c:22035 config/tc-arm.c:22084 #, c-format msgid "bad immediate value for offset (%ld)" msgstr "" -#: config/tc-arm.c:21679 +#: config/tc-arm.c:22065 #, c-format msgid "bad immediate value for 8-bit offset (%ld)" msgstr "" -#: config/tc-arm.c:21739 +#: config/tc-arm.c:22125 msgid "offset not a multiple of 4" msgstr "" -#: config/tc-arm.c:21913 +#: config/tc-arm.c:22299 msgid "invalid smc expression" msgstr "" -#: config/tc-arm.c:21922 +#: config/tc-arm.c:22308 msgid "invalid hvc expression" msgstr "" -#: config/tc-arm.c:21933 config/tc-arm.c:21942 +#: config/tc-arm.c:22319 config/tc-arm.c:22328 msgid "invalid swi expression" msgstr "" -#: config/tc-arm.c:21952 +#: config/tc-arm.c:22338 msgid "invalid expression in load/store multiple" msgstr "" -#: config/tc-arm.c:22013 +#: config/tc-arm.c:22399 #, c-format msgid "blx to '%s' an ARM ISA state function changed to bl" msgstr "" -#: config/tc-arm.c:22032 +#: config/tc-arm.c:22418 msgid "misaligned branch destination" msgstr "" -#: config/tc-arm.c:22152 +#: config/tc-arm.c:22538 #, c-format msgid "blx to Thumb func '%s' from Thumb ISA state changed to bl" msgstr "" -#: config/tc-arm.c:22202 +#: config/tc-arm.c:22588 msgid "Thumb2 branch out of range" msgstr "" -#: config/tc-arm.c:22291 +#: config/tc-arm.c:22672 msgid "rel31 relocation overflow" msgstr "" -#: config/tc-arm.c:22303 config/tc-arm.c:22331 +#: config/tc-arm.c:22684 config/tc-arm.c:22712 msgid "co-processor offset out of range" msgstr "" -#: config/tc-arm.c:22348 +#: config/tc-arm.c:22729 #, c-format msgid "invalid offset, target not word aligned (0x%08lX)" msgstr "" -#: config/tc-arm.c:22355 config/tc-arm.c:22364 config/tc-arm.c:22372 -#: config/tc-arm.c:22380 config/tc-arm.c:22388 +#: config/tc-arm.c:22736 config/tc-arm.c:22745 config/tc-arm.c:22753 +#: config/tc-arm.c:22761 config/tc-arm.c:22769 #, c-format msgid "invalid offset, value too big (0x%08lX)" msgstr "" -#: config/tc-arm.c:22429 +#: config/tc-arm.c:22810 msgid "invalid Hi register with immediate" msgstr "" -#: config/tc-arm.c:22445 +#: config/tc-arm.c:22826 msgid "invalid immediate for stack address calculation" msgstr "" -#: config/tc-arm.c:22453 +#: config/tc-arm.c:22834 #, c-format msgid "invalid immediate for address calculation (value = 0x%08lX)" msgstr "" -#: config/tc-arm.c:22483 +#: config/tc-arm.c:22864 #, c-format msgid "invalid immediate: %ld is out of range" msgstr "" -#: config/tc-arm.c:22495 +#: config/tc-arm.c:22876 #, c-format msgid "invalid shift value: %ld" msgstr "" -#: config/tc-arm.c:22574 +#: config/tc-arm.c:22955 #, c-format msgid "the offset 0x%08lX is not representable" msgstr "" -#: config/tc-arm.c:22614 +#: config/tc-arm.c:22995 #, c-format msgid "bad offset 0x%08lX (only 12 bits available for the magnitude)" msgstr "" -#: config/tc-arm.c:22653 +#: config/tc-arm.c:23034 #, c-format msgid "bad offset 0x%08lX (only 8 bits available for the magnitude)" msgstr "" -#: config/tc-arm.c:22693 +#: config/tc-arm.c:23074 #, c-format msgid "bad offset 0x%08lX (must be word-aligned)" msgstr "" -#: config/tc-arm.c:22698 +#: config/tc-arm.c:23079 #, c-format msgid "bad offset 0x%08lX (must be an 8-bit number of words)" msgstr "" -#: config/tc-arm.c:22729 config/tc-score.c:7392 +#: config/tc-arm.c:23110 config/tc-score.c:7392 #, c-format msgid "bad relocation fixup type (%d)" msgstr "" -#: config/tc-arm.c:22840 +#: config/tc-arm.c:23221 msgid "literal referenced across section boundary" msgstr "" -#: config/tc-arm.c:22907 +#: config/tc-arm.c:23288 msgid "internal relocation (type: IMMEDIATE) not fixed up" msgstr "" -#: config/tc-arm.c:22912 +#: config/tc-arm.c:23293 msgid "ADRL used for a symbol not defined in the same file" msgstr "" -#: config/tc-arm.c:22927 +#: config/tc-arm.c:23308 #, c-format msgid "undefined local label `%s'" msgstr "" -#: config/tc-arm.c:22933 +#: config/tc-arm.c:23314 msgid "internal_relocation (type: OFFSET_IMM) not fixed up" msgstr "" -#: config/tc-arm.c:22955 config/tc-cris.c:3986 config/tc-mcore.c:1926 -#: config/tc-microblaze.c:1965 config/tc-mmix.c:2893 config/tc-moxie.c:820 -#: config/tc-ns32k.c:2248 config/tc-score.c:7478 +#: config/tc-arm.c:23336 config/tc-cris.c:4006 config/tc-mcore.c:1925 +#: config/tc-microblaze.c:1966 config/tc-mmix.c:2893 config/tc-moxie.c:818 +#: config/tc-ns32k.c:2247 config/tc-score.c:7478 msgid "<unknown>" msgstr "" -#: config/tc-arm.c:23339 +#: config/tc-arm.c:23720 #, c-format msgid "%s: unexpected function type: %d" msgstr "" -#: config/tc-arm.c:23476 +#: config/tc-arm.c:23857 msgid "use of old and new-style options to set CPU type" msgstr "" -#: config/tc-arm.c:23486 +#: config/tc-arm.c:23867 msgid "use of old and new-style options to set FPU type" msgstr "" -#: config/tc-arm.c:23562 +#: config/tc-arm.c:23943 msgid "hard-float conflicts with specified fpu" msgstr "" -#: config/tc-arm.c:23749 +#: config/tc-arm.c:24130 msgid "generate PIC code" msgstr "" -#: config/tc-arm.c:23750 +#: config/tc-arm.c:24131 msgid "assemble Thumb code" msgstr "" -#: config/tc-arm.c:23751 +#: config/tc-arm.c:24132 msgid "support ARM/Thumb interworking" msgstr "" -#: config/tc-arm.c:23753 +#: config/tc-arm.c:24134 msgid "code uses 32-bit program counter" msgstr "" -#: config/tc-arm.c:23754 +#: config/tc-arm.c:24135 msgid "code uses 26-bit program counter" msgstr "" -#: config/tc-arm.c:23755 +#: config/tc-arm.c:24136 msgid "floating point args are in fp regs" msgstr "" -#: config/tc-arm.c:23757 +#: config/tc-arm.c:24138 msgid "re-entrant code" msgstr "" -#: config/tc-arm.c:23758 +#: config/tc-arm.c:24139 msgid "code is ATPCS conformant" msgstr "" #. These are recognized by the assembler, but have no affect on code. -#: config/tc-arm.c:23764 +#: config/tc-arm.c:24145 msgid "use frame pointer" msgstr "" -#: config/tc-arm.c:23765 +#: config/tc-arm.c:24146 msgid "use stack size checking" msgstr "" -#: config/tc-arm.c:23768 +#: config/tc-arm.c:24149 msgid "do not warn on use of deprecated feature" msgstr "" #. DON'T add any new processors to this list -- we want the whole list #. to go away... Add them to the processors table instead. -#: config/tc-arm.c:23785 config/tc-arm.c:23786 +#: config/tc-arm.c:24166 config/tc-arm.c:24167 msgid "use -mcpu=arm1" msgstr "" -#: config/tc-arm.c:23787 config/tc-arm.c:23788 +#: config/tc-arm.c:24168 config/tc-arm.c:24169 msgid "use -mcpu=arm2" msgstr "" -#: config/tc-arm.c:23789 config/tc-arm.c:23790 +#: config/tc-arm.c:24170 config/tc-arm.c:24171 msgid "use -mcpu=arm250" msgstr "" -#: config/tc-arm.c:23791 config/tc-arm.c:23792 +#: config/tc-arm.c:24172 config/tc-arm.c:24173 msgid "use -mcpu=arm3" msgstr "" -#: config/tc-arm.c:23793 config/tc-arm.c:23794 +#: config/tc-arm.c:24174 config/tc-arm.c:24175 msgid "use -mcpu=arm6" msgstr "" -#: config/tc-arm.c:23795 config/tc-arm.c:23796 +#: config/tc-arm.c:24176 config/tc-arm.c:24177 msgid "use -mcpu=arm600" msgstr "" -#: config/tc-arm.c:23797 config/tc-arm.c:23798 +#: config/tc-arm.c:24178 config/tc-arm.c:24179 msgid "use -mcpu=arm610" msgstr "" -#: config/tc-arm.c:23799 config/tc-arm.c:23800 +#: config/tc-arm.c:24180 config/tc-arm.c:24181 msgid "use -mcpu=arm620" msgstr "" -#: config/tc-arm.c:23801 config/tc-arm.c:23802 +#: config/tc-arm.c:24182 config/tc-arm.c:24183 msgid "use -mcpu=arm7" msgstr "" -#: config/tc-arm.c:23803 config/tc-arm.c:23804 +#: config/tc-arm.c:24184 config/tc-arm.c:24185 msgid "use -mcpu=arm70" msgstr "" -#: config/tc-arm.c:23805 config/tc-arm.c:23806 +#: config/tc-arm.c:24186 config/tc-arm.c:24187 msgid "use -mcpu=arm700" msgstr "" -#: config/tc-arm.c:23807 config/tc-arm.c:23808 +#: config/tc-arm.c:24188 config/tc-arm.c:24189 msgid "use -mcpu=arm700i" msgstr "" -#: config/tc-arm.c:23809 config/tc-arm.c:23810 +#: config/tc-arm.c:24190 config/tc-arm.c:24191 msgid "use -mcpu=arm710" msgstr "" -#: config/tc-arm.c:23811 config/tc-arm.c:23812 +#: config/tc-arm.c:24192 config/tc-arm.c:24193 msgid "use -mcpu=arm710c" msgstr "" -#: config/tc-arm.c:23813 config/tc-arm.c:23814 +#: config/tc-arm.c:24194 config/tc-arm.c:24195 msgid "use -mcpu=arm720" msgstr "" -#: config/tc-arm.c:23815 config/tc-arm.c:23816 +#: config/tc-arm.c:24196 config/tc-arm.c:24197 msgid "use -mcpu=arm7d" msgstr "" -#: config/tc-arm.c:23817 config/tc-arm.c:23818 +#: config/tc-arm.c:24198 config/tc-arm.c:24199 msgid "use -mcpu=arm7di" msgstr "" -#: config/tc-arm.c:23819 config/tc-arm.c:23820 +#: config/tc-arm.c:24200 config/tc-arm.c:24201 msgid "use -mcpu=arm7m" msgstr "" -#: config/tc-arm.c:23821 config/tc-arm.c:23822 +#: config/tc-arm.c:24202 config/tc-arm.c:24203 msgid "use -mcpu=arm7dm" msgstr "" -#: config/tc-arm.c:23823 config/tc-arm.c:23824 +#: config/tc-arm.c:24204 config/tc-arm.c:24205 msgid "use -mcpu=arm7dmi" msgstr "" -#: config/tc-arm.c:23825 config/tc-arm.c:23826 +#: config/tc-arm.c:24206 config/tc-arm.c:24207 msgid "use -mcpu=arm7100" msgstr "" -#: config/tc-arm.c:23827 config/tc-arm.c:23828 +#: config/tc-arm.c:24208 config/tc-arm.c:24209 msgid "use -mcpu=arm7500" msgstr "" -#: config/tc-arm.c:23829 config/tc-arm.c:23830 +#: config/tc-arm.c:24210 config/tc-arm.c:24211 msgid "use -mcpu=arm7500fe" msgstr "" -#: config/tc-arm.c:23831 config/tc-arm.c:23832 config/tc-arm.c:23833 -#: config/tc-arm.c:23834 +#: config/tc-arm.c:24212 config/tc-arm.c:24213 config/tc-arm.c:24214 +#: config/tc-arm.c:24215 msgid "use -mcpu=arm7tdmi" msgstr "" -#: config/tc-arm.c:23835 config/tc-arm.c:23836 +#: config/tc-arm.c:24216 config/tc-arm.c:24217 msgid "use -mcpu=arm710t" msgstr "" -#: config/tc-arm.c:23837 config/tc-arm.c:23838 +#: config/tc-arm.c:24218 config/tc-arm.c:24219 msgid "use -mcpu=arm720t" msgstr "" -#: config/tc-arm.c:23839 config/tc-arm.c:23840 +#: config/tc-arm.c:24220 config/tc-arm.c:24221 msgid "use -mcpu=arm740t" msgstr "" -#: config/tc-arm.c:23841 config/tc-arm.c:23842 +#: config/tc-arm.c:24222 config/tc-arm.c:24223 msgid "use -mcpu=arm8" msgstr "" -#: config/tc-arm.c:23843 config/tc-arm.c:23844 +#: config/tc-arm.c:24224 config/tc-arm.c:24225 msgid "use -mcpu=arm810" msgstr "" -#: config/tc-arm.c:23845 config/tc-arm.c:23846 +#: config/tc-arm.c:24226 config/tc-arm.c:24227 msgid "use -mcpu=arm9" msgstr "" -#: config/tc-arm.c:23847 config/tc-arm.c:23848 +#: config/tc-arm.c:24228 config/tc-arm.c:24229 msgid "use -mcpu=arm9tdmi" msgstr "" -#: config/tc-arm.c:23849 config/tc-arm.c:23850 +#: config/tc-arm.c:24230 config/tc-arm.c:24231 msgid "use -mcpu=arm920" msgstr "" -#: config/tc-arm.c:23851 config/tc-arm.c:23852 +#: config/tc-arm.c:24232 config/tc-arm.c:24233 msgid "use -mcpu=arm940" msgstr "" -#: config/tc-arm.c:23853 +#: config/tc-arm.c:24234 msgid "use -mcpu=strongarm" msgstr "" -#: config/tc-arm.c:23855 +#: config/tc-arm.c:24236 msgid "use -mcpu=strongarm110" msgstr "" -#: config/tc-arm.c:23857 +#: config/tc-arm.c:24238 msgid "use -mcpu=strongarm1100" msgstr "" -#: config/tc-arm.c:23859 +#: config/tc-arm.c:24240 msgid "use -mcpu=strongarm1110" msgstr "" -#: config/tc-arm.c:23860 +#: config/tc-arm.c:24241 msgid "use -mcpu=xscale" msgstr "" -#: config/tc-arm.c:23861 +#: config/tc-arm.c:24242 msgid "use -mcpu=iwmmxt" msgstr "" -#: config/tc-arm.c:23862 +#: config/tc-arm.c:24243 msgid "use -mcpu=all" msgstr "" #. Architecture variants -- don't add any more to this list either. -#: config/tc-arm.c:23865 config/tc-arm.c:23866 +#: config/tc-arm.c:24246 config/tc-arm.c:24247 msgid "use -march=armv2" msgstr "" -#: config/tc-arm.c:23867 config/tc-arm.c:23868 +#: config/tc-arm.c:24248 config/tc-arm.c:24249 msgid "use -march=armv2a" msgstr "" -#: config/tc-arm.c:23869 config/tc-arm.c:23870 +#: config/tc-arm.c:24250 config/tc-arm.c:24251 msgid "use -march=armv3" msgstr "" -#: config/tc-arm.c:23871 config/tc-arm.c:23872 +#: config/tc-arm.c:24252 config/tc-arm.c:24253 msgid "use -march=armv3m" msgstr "" -#: config/tc-arm.c:23873 config/tc-arm.c:23874 +#: config/tc-arm.c:24254 config/tc-arm.c:24255 msgid "use -march=armv4" msgstr "" -#: config/tc-arm.c:23875 config/tc-arm.c:23876 +#: config/tc-arm.c:24256 config/tc-arm.c:24257 msgid "use -march=armv4t" msgstr "" -#: config/tc-arm.c:23877 config/tc-arm.c:23878 +#: config/tc-arm.c:24258 config/tc-arm.c:24259 msgid "use -march=armv5" msgstr "" -#: config/tc-arm.c:23879 config/tc-arm.c:23880 +#: config/tc-arm.c:24260 config/tc-arm.c:24261 msgid "use -march=armv5t" msgstr "" -#: config/tc-arm.c:23881 config/tc-arm.c:23882 +#: config/tc-arm.c:24262 config/tc-arm.c:24263 msgid "use -march=armv5te" msgstr "" #. Floating point variants -- don't add any more to this list either. -#: config/tc-arm.c:23885 +#: config/tc-arm.c:24266 msgid "use -mfpu=fpe" msgstr "" -#: config/tc-arm.c:23886 +#: config/tc-arm.c:24267 msgid "use -mfpu=fpa10" msgstr "" -#: config/tc-arm.c:23887 +#: config/tc-arm.c:24268 msgid "use -mfpu=fpa11" msgstr "" -#: config/tc-arm.c:23889 +#: config/tc-arm.c:24270 msgid "use either -mfpu=softfpa or -mfpu=softvfp" msgstr "" -#: config/tc-arm.c:24315 +#: config/tc-arm.c:24698 msgid "extension does not apply to the base architecture" msgstr "" -#: config/tc-arm.c:24340 +#: config/tc-arm.c:24723 msgid "architectural extensions must be specified in alphabetical order" msgstr "" -#: config/tc-arm.c:24449 config/tc-arm.c:25086 +#: config/tc-arm.c:24832 config/tc-arm.c:25482 #, c-format msgid "unknown floating point format `%s'\n" msgstr "" -#: config/tc-arm.c:24465 +#: config/tc-arm.c:24848 #, c-format msgid "unknown floating point abi `%s'\n" msgstr "" -#: config/tc-arm.c:24481 +#: config/tc-arm.c:24864 #, c-format msgid "unknown EABI `%s'\n" msgstr "" -#: config/tc-arm.c:24501 +#: config/tc-arm.c:24884 #, c-format msgid "unknown implicit IT mode `%s', should be arm, thumb, always, or never." msgstr "" -#: config/tc-arm.c:24515 config/tc-metag.c:5912 +#: config/tc-arm.c:24907 config/tc-metag.c:5912 msgid "<fpu name>\t assemble for FPU architecture <fpu name>" msgstr "" -#: config/tc-arm.c:24517 +#: config/tc-arm.c:24909 msgid "<abi>\t assemble for floating point ABI <abi>" msgstr "" -#: config/tc-arm.c:24520 +#: config/tc-arm.c:24912 msgid "<ver>\t\t assemble for eabi version <ver>" msgstr "" -#: config/tc-arm.c:24523 +#: config/tc-arm.c:24915 msgid "<mode>\t controls implicit insertion of IT instructions" msgstr "" -#: config/tc-arm.c:24625 +#: config/tc-arm.c:24917 +msgid "\t\t\t TI CodeComposer Studio syntax compatibility mode" +msgstr "" + +#: config/tc-arm.c:25019 #, c-format msgid " ARM-specific assembler options:\n" msgstr "" -#: config/tc-arm.c:24645 +#: config/tc-arm.c:25039 #, c-format msgid " --fix-v4bx Allow BX in ARMv4 code\n" msgstr "" -#: config/tc-arm.c:25037 +#: config/tc-arm.c:25433 #, c-format msgid "" "architectural extension `%s' is not allowed for the current base architecture" msgstr "" -#: config/tc-arm.c:25055 +#: config/tc-arm.c:25451 #, c-format msgid "unknown architecture extension `%s'\n" msgstr "" -#: config/tc-avr.c:379 +#: config/tc-avr.c:437 #, c-format msgid "Known MCU names:" msgstr "" -#: config/tc-avr.c:444 +#: config/tc-avr.c:502 #, c-format msgid "" "AVR Assembler options:\n" @@ -4467,10 +4552,10 @@ msgid "" " avrxmega5 - XMEGA, > 64K, <= 128K FLASH, > 64K RAM\n" " avrxmega6 - XMEGA, > 128K, <= 256K FLASH, <= 64K RAM\n" " avrxmega7 - XMEGA, > 128K, <= 256K FLASH, > 64K RAM\n" -" or immediate microcontroller name.\n" +" avrtiny - AVR Tiny core with 16 gp registers\n" msgstr "" -#: config/tc-avr.c:467 +#: config/tc-avr.c:525 #, c-format msgid "" " -mall-opcodes accept all AVR opcodes, even if not supported by MCU\n" @@ -4478,856 +4563,867 @@ msgid "" " (default for avr4, avr5)\n" " -mno-wrap reject rjmp/rcall instructions with 8K wrap-around\n" " (default for avr3, avr5)\n" +" -mrmw accept Read-Modify-Write instructions\n" +" -mlink-relax generate relocations for linker relaxation\n" msgstr "" -#: config/tc-avr.c:511 +#: config/tc-avr.c:572 #, c-format msgid "unknown MCU: %s\n" msgstr "" -#: config/tc-avr.c:520 +#: config/tc-avr.c:586 #, c-format msgid "redefinition of mcu type `%s' to `%s'" msgstr "" -#: config/tc-avr.c:598 +#: config/tc-avr.c:671 msgid "constant value required" msgstr "" -#: config/tc-avr.c:601 +#: config/tc-avr.c:674 #, c-format msgid "number must be positive and less than %d" msgstr "" -#: config/tc-avr.c:627 config/tc-avr.c:764 +#: config/tc-avr.c:700 config/tc-avr.c:837 #, c-format msgid "constant out of 8-bit range: %d" msgstr "" -#: config/tc-avr.c:695 config/tc-score.c:1199 read.c:3725 +#: config/tc-avr.c:768 config/tc-score.c:1199 read.c:3729 msgid "illegal expression" msgstr "" -#: config/tc-avr.c:724 config/tc-avr.c:1542 +#: config/tc-avr.c:797 config/tc-avr.c:1753 msgid "`)' required" msgstr "" -#: config/tc-avr.c:819 +#: config/tc-avr.c:903 +msgid "register name or number from 16 to 31 required" +msgstr "" + +#: config/tc-avr.c:909 +msgid "register name or number from 0 to 31 required" +msgstr "" + +#: config/tc-avr.c:917 msgid "register r16-r23 required" msgstr "" -#: config/tc-avr.c:825 +#: config/tc-avr.c:923 msgid "register number above 15 required" msgstr "" -#: config/tc-avr.c:831 +#: config/tc-avr.c:929 msgid "even register number required" msgstr "" -#: config/tc-avr.c:837 +#: config/tc-avr.c:935 msgid "register r24, r26, r28 or r30 required" msgstr "" -#: config/tc-avr.c:843 -msgid "register name or number from 0 to 31 required" -msgstr "" - -#: config/tc-avr.c:861 +#: config/tc-avr.c:956 msgid "pointer register (X, Y or Z) required" msgstr "" -#: config/tc-avr.c:868 +#: config/tc-avr.c:963 msgid "cannot both predecrement and postincrement" msgstr "" -#: config/tc-avr.c:876 +#: config/tc-avr.c:971 msgid "addressing mode not supported" msgstr "" -#: config/tc-avr.c:882 +#: config/tc-avr.c:977 msgid "can't predecrement" msgstr "" -#: config/tc-avr.c:885 +#: config/tc-avr.c:980 msgid "pointer register Z required" msgstr "" -#: config/tc-avr.c:904 +#: config/tc-avr.c:999 msgid "postincrement not supported" msgstr "" -#: config/tc-avr.c:914 +#: config/tc-avr.c:1009 msgid "pointer register (Y or Z) required" msgstr "" -#: config/tc-avr.c:1028 config/tc-xgate.c:1349 +#: config/tc-avr.c:1121 config/tc-xgate.c:1348 #, c-format msgid "unknown constraint `%c'" msgstr "" -#: config/tc-avr.c:1080 +#: config/tc-avr.c:1173 msgid "`,' required" msgstr "" -#: config/tc-avr.c:1098 +#: config/tc-avr.c:1191 msgid "undefined combination of operands" msgstr "" -#: config/tc-avr.c:1107 +#: config/tc-avr.c:1200 msgid "skipping two-word instruction" msgstr "" -#: config/tc-avr.c:1199 config/tc-avr.c:1215 config/tc-avr.c:1336 -#: config/tc-msp430.c:3659 config/tc-msp430.c:3678 +#: config/tc-avr.c:1385 config/tc-avr.c:1401 config/tc-avr.c:1532 +#: config/tc-msp430.c:3334 config/tc-msp430.c:3353 #, c-format msgid "odd address operand: %ld" msgstr "" -#: config/tc-avr.c:1207 config/tc-avr.c:1226 config/tc-avr.c:1244 -#: config/tc-avr.c:1255 config/tc-avr.c:1262 config/tc-avr.c:1269 -#: config/tc-d10v.c:505 config/tc-d30v.c:554 config/tc-msp430.c:3667 -#: config/tc-msp430.c:3685 +#: config/tc-avr.c:1393 config/tc-avr.c:1412 config/tc-avr.c:1430 +#: config/tc-avr.c:1441 config/tc-avr.c:1457 config/tc-avr.c:1465 +#: config/tc-avr.c:1560 config/tc-avr.c:1567 config/tc-d10v.c:503 +#: config/tc-d30v.c:553 config/tc-msp430.c:3342 config/tc-msp430.c:3360 #, c-format msgid "operand out of range: %ld" msgstr "" -#: config/tc-avr.c:1357 config/tc-d10v.c:1594 config/tc-d30v.c:2037 -#: config/tc-msp430.c:3750 +#: config/tc-avr.c:1448 +#, c-format +msgid "operand out of range: 0x%lx" +msgstr "" + +#: config/tc-avr.c:1553 config/tc-d10v.c:1590 config/tc-d30v.c:2034 +#: config/tc-msp430.c:3431 #, c-format msgid "line %d: unknown relocation type: 0x%x" msgstr "" -#: config/tc-avr.c:1371 +#: config/tc-avr.c:1581 msgid "only constant expression allowed" msgstr "" #. xgettext:c-format. -#: config/tc-avr.c:1411 config/tc-bfin.c:833 config/tc-d10v.c:1466 -#: config/tc-d30v.c:1774 config/tc-metag.c:7023 config/tc-mn10200.c:782 -#: config/tc-mn10300.c:2178 config/tc-msp430.c:3798 config/tc-or32.c:957 -#: config/tc-ppc.c:7121 config/tc-spu.c:879 config/tc-spu.c:1090 -#: config/tc-v850.c:3351 config/tc-z80.c:2051 +#: config/tc-avr.c:1621 config/tc-bfin.c:832 config/tc-d10v.c:1462 +#: config/tc-d30v.c:1771 config/tc-metag.c:7023 config/tc-mn10200.c:782 +#: config/tc-mn10300.c:2178 config/tc-msp430.c:3479 config/tc-ppc.c:7140 +#: config/tc-spu.c:879 config/tc-spu.c:1090 config/tc-v850.c:3354 +#: config/tc-z80.c:2051 #, c-format msgid "reloc %d not supported by object file format" msgstr "" -#: config/tc-avr.c:1434 config/tc-h8300.c:1954 config/tc-mcore.c:881 -#: config/tc-microblaze.c:920 config/tc-moxie.c:182 config/tc-msp430.c:3513 -#: config/tc-pj.c:253 config/tc-sh.c:2589 config/tc-z8k.c:1216 +#: config/tc-avr.c:1644 config/tc-h8300.c:1954 config/tc-mcore.c:880 +#: config/tc-microblaze.c:921 config/tc-moxie.c:182 config/tc-msp430.c:3188 +#: config/tc-pj.c:253 config/tc-sh.c:2588 config/tc-z8k.c:1215 msgid "can't find opcode " msgstr "" -#: config/tc-avr.c:1451 +#: config/tc-avr.c:1663 #, c-format msgid "illegal opcode %s for mcu %s" msgstr "" -#: config/tc-avr.c:1462 +#: config/tc-avr.c:1691 msgid "garbage at end of line" msgstr "" -#: config/tc-avr.c:1591 +#: config/tc-avr.c:1802 #, c-format msgid "illegal %srelocation size: %d" msgstr "" -#: config/tc-bfin.c:96 config/tc-frv.c:1605 config/tc-frv.c:1615 +#: config/tc-bfin.c:95 config/tc-frv.c:1604 config/tc-frv.c:1614 msgid "missing ')'" msgstr "" -#: config/tc-bfin.c:442 +#: config/tc-bfin.c:441 #, c-format msgid " Blackfin specific assembler options:\n" msgstr "" -#: config/tc-bfin.c:443 +#: config/tc-bfin.c:442 #, c-format msgid " -mcpu=<cpu[-sirevision]> specify the name of the target CPU\n" msgstr "" -#: config/tc-bfin.c:444 +#: config/tc-bfin.c:443 #, c-format msgid " -mfdpic assemble for the FDPIC ABI\n" msgstr "" -#: config/tc-bfin.c:445 +#: config/tc-bfin.c:444 #, c-format msgid " -mno-fdpic/-mnopic disable -mfdpic\n" msgstr "" -#: config/tc-bfin.c:458 +#: config/tc-bfin.c:457 msgid "Could not set architecture and machine." msgstr "" -#: config/tc-bfin.c:607 +#: config/tc-bfin.c:606 msgid "Parse failed." msgstr "" -#: config/tc-bfin.c:682 +#: config/tc-bfin.c:681 msgid "pcrel too far BFD_RELOC_BFIN_10" msgstr "" -#: config/tc-bfin.c:698 +#: config/tc-bfin.c:697 msgid "pcrel too far BFD_RELOC_BFIN_12" msgstr "" -#: config/tc-bfin.c:718 +#: config/tc-bfin.c:717 msgid "pcrel too far BFD_RELOC_BFIN_24" msgstr "" -#: config/tc-bfin.c:733 +#: config/tc-bfin.c:732 msgid "pcrel too far BFD_RELOC_BFIN_5" msgstr "" -#: config/tc-bfin.c:745 +#: config/tc-bfin.c:744 msgid "pcrel too far BFD_RELOC_BFIN_11_PCREL" msgstr "" -#: config/tc-bfin.c:755 +#: config/tc-bfin.c:754 msgid "rel too far BFD_RELOC_8" msgstr "" -#: config/tc-bfin.c:762 +#: config/tc-bfin.c:761 msgid "rel too far BFD_RELOC_16" msgstr "" -#: config/tc-cr16.c:165 read.c:4484 +#: config/tc-cr16.c:164 read.c:4532 msgid "using a bit field width of zero" msgstr "" -#: config/tc-cr16.c:173 read.c:4492 +#: config/tc-cr16.c:172 read.c:4540 #, c-format msgid "field width \"%s\" too complex for a bitfield" msgstr "" -#: config/tc-cr16.c:182 read.c:4500 +#: config/tc-cr16.c:181 read.c:4548 #, c-format msgid "field width %lu too big to fit in %d bytes: truncated to %d bits" msgstr "" -#: config/tc-cr16.c:204 read.c:4522 +#: config/tc-cr16.c:203 read.c:4570 #, c-format msgid "field value \"%s\" too complex for a bitfield" msgstr "" -#: config/tc-cr16.c:385 +#: config/tc-cr16.c:384 #, c-format msgid "Unknown register pair - index relative mode: `%d'" msgstr "" -#: config/tc-cr16.c:570 config/tc-crx.c:346 config/tc-mn10200.c:769 -#: write.c:1012 +#: config/tc-cr16.c:568 config/tc-crx.c:345 config/tc-mn10200.c:769 +#: write.c:1011 #, c-format msgid "can't resolve `%s' {%s section} - `%s' {%s section}" msgstr "" -#: config/tc-cr16.c:600 config/tc-crx.c:362 +#: config/tc-cr16.c:598 config/tc-crx.c:361 #, c-format msgid "internal error: reloc %d (`%s') not supported by object file format" msgstr "" -#: config/tc-cr16.c:693 config/tc-i386.c:10111 config/tc-s390.c:2002 +#: config/tc-cr16.c:691 config/tc-i386.c:10224 config/tc-s390.c:2001 msgid "GOT already in symbol table" msgstr "" -#: config/tc-cr16.c:802 config/tc-cr16.c:825 config/tc-cris.c:1190 -#: config/tc-crx.c:536 config/tc-crx.c:563 config/tc-crx.c:581 -#: config/tc-pdp11.c:194 +#: config/tc-cr16.c:800 config/tc-cr16.c:823 config/tc-cris.c:1195 +#: config/tc-crx.c:535 config/tc-crx.c:562 config/tc-crx.c:580 +#: config/tc-pdp11.c:193 msgid "Virtual memory exhausted" msgstr "" -#: config/tc-cr16.c:810 config/tc-crx.c:573 config/tc-crx.c:592 -#: config/tc-m68k.c:4660 config/tc-tilegx.c:319 config/tc-tilepro.c:256 +#: config/tc-cr16.c:808 config/tc-crx.c:572 config/tc-crx.c:591 +#: config/tc-m68k.c:4659 config/tc-tilegx.c:319 config/tc-tilepro.c:256 #, c-format msgid "Internal Error: Can't hash %s: %s" msgstr "" -#: config/tc-cr16.c:836 config/tc-cris.c:1224 config/tc-crx.c:546 +#: config/tc-cr16.c:834 config/tc-cris.c:1229 config/tc-crx.c:545 #, c-format msgid "Can't hash `%s': %s\n" msgstr "" -#: config/tc-cr16.c:837 config/tc-cris.c:1225 config/tc-crx.c:547 +#: config/tc-cr16.c:835 config/tc-cris.c:1230 config/tc-crx.c:546 msgid "(unknown reason)" msgstr "" #. Missing or bad expr becomes absolute 0. -#: config/tc-cr16.c:889 config/tc-crx.c:620 +#: config/tc-cr16.c:887 config/tc-crx.c:619 #, c-format msgid "missing or invalid displacement expression `%s' taken as 0" msgstr "" -#: config/tc-cr16.c:939 +#: config/tc-cr16.c:937 #, c-format msgid "GOT bad expression with %s." msgstr "" -#: config/tc-cr16.c:1050 +#: config/tc-cr16.c:1048 #, c-format msgid "operand %d: illegal use expression: `%s`" msgstr "" -#: config/tc-cr16.c:1115 config/tc-crx.c:1128 +#: config/tc-cr16.c:1113 config/tc-crx.c:1127 #, c-format msgid "Unknown register: `%d'" msgstr "" #. Issue a error message when register is illegal. -#: config/tc-cr16.c:1123 config/tc-crx.c:1136 +#: config/tc-cr16.c:1121 config/tc-crx.c:1135 #, c-format msgid "Illegal register (`%s') in Instruction: `%s'" msgstr "" -#: config/tc-cr16.c:1194 config/tc-cr16.c:1269 config/tc-crx.c:758 -#: config/tc-crx.c:778 config/tc-crx.c:793 +#: config/tc-cr16.c:1192 config/tc-cr16.c:1267 config/tc-crx.c:757 +#: config/tc-crx.c:777 config/tc-crx.c:792 #, c-format msgid "Illegal register `%s' in Instruction `%s'" msgstr "" -#: config/tc-cr16.c:1222 config/tc-cr16.c:1233 +#: config/tc-cr16.c:1220 config/tc-cr16.c:1231 #, c-format msgid "Illegal register pair `%s' in Instruction `%s'" msgstr "" -#: config/tc-cr16.c:1258 config/tc-i960.c:835 +#: config/tc-cr16.c:1256 config/tc-i960.c:832 msgid "unmatched '['" msgstr "" -#: config/tc-cr16.c:1264 config/tc-i960.c:842 +#: config/tc-cr16.c:1262 config/tc-i960.c:839 msgid "garbage after index spec ignored" msgstr "" -#: config/tc-cr16.c:1412 config/tc-crx.c:937 +#: config/tc-cr16.c:1410 config/tc-crx.c:936 #, c-format msgid "Illegal operands (whitespace): `%s'" msgstr "" -#: config/tc-cr16.c:1424 config/tc-cr16.c:1431 config/tc-cr16.c:1448 -#: config/tc-crx.c:949 config/tc-crx.c:956 config/tc-crx.c:973 -#: config/tc-crx.c:1765 +#: config/tc-cr16.c:1422 config/tc-cr16.c:1429 config/tc-cr16.c:1446 +#: config/tc-crx.c:948 config/tc-crx.c:955 config/tc-crx.c:972 +#: config/tc-crx.c:1764 #, c-format msgid "Missing matching brackets : `%s'" msgstr "" -#: config/tc-cr16.c:1480 config/tc-crx.c:999 +#: config/tc-cr16.c:1478 config/tc-crx.c:998 #, c-format msgid "Unknown exception: `%s'" msgstr "" -#: config/tc-cr16.c:1565 config/tc-crx.c:1095 +#: config/tc-cr16.c:1563 config/tc-crx.c:1094 #, c-format msgid "Illegal `cinv' parameter: `%c'" msgstr "" -#: config/tc-cr16.c:1586 config/tc-cr16.c:1625 +#: config/tc-cr16.c:1584 config/tc-cr16.c:1623 #, c-format msgid "Unknown register pair: `%d'" msgstr "" #. Issue a error message when register pair is illegal. -#: config/tc-cr16.c:1594 +#: config/tc-cr16.c:1592 #, c-format msgid "Illegal register pair (`%s') in Instruction: `%s'" msgstr "" #. Issue a error message when register pair is illegal. -#: config/tc-cr16.c:1633 +#: config/tc-cr16.c:1631 #, c-format msgid "Illegal index register pair (`%s') in Instruction: `%s'" msgstr "" -#: config/tc-cr16.c:1672 +#: config/tc-cr16.c:1670 #, c-format msgid "Unknown processor register : `%d'" msgstr "" #. Issue a error message when register pair is illegal. -#: config/tc-cr16.c:1680 +#: config/tc-cr16.c:1678 #, c-format msgid "Illegal processor register (`%s') in Instruction: `%s'" msgstr "" -#: config/tc-cr16.c:1728 +#: config/tc-cr16.c:1726 #, c-format msgid "Unknown processor register (32 bit) : `%d'" msgstr "" #. Issue a error message when register pair is illegal. -#: config/tc-cr16.c:1736 +#: config/tc-cr16.c:1734 #, c-format msgid "Illegal 32 bit - processor register (`%s') in Instruction: `%s'" msgstr "" -#: config/tc-cr16.c:2100 config/tc-crx.c:1663 config/tc-crx.c:1680 +#: config/tc-cr16.c:2098 config/tc-crx.c:1662 config/tc-crx.c:1679 #, c-format msgid "Same src/dest register is used (`r%d'), result is undefined" msgstr "" -#: config/tc-cr16.c:2121 +#: config/tc-cr16.c:2119 msgid "RA register is saved twice." msgstr "" -#: config/tc-cr16.c:2125 +#: config/tc-cr16.c:2123 #, c-format msgid "`%s' Illegal use of registers." msgstr "" -#: config/tc-cr16.c:2139 +#: config/tc-cr16.c:2137 #, c-format msgid "`%s' Illegal count-register combination." msgstr "" -#: config/tc-cr16.c:2145 +#: config/tc-cr16.c:2143 #, c-format msgid "`%s' Illegal use of register." msgstr "" -#: config/tc-cr16.c:2154 config/tc-crx.c:1672 +#: config/tc-cr16.c:2152 config/tc-crx.c:1671 #, c-format msgid "`%s' has undefined result" msgstr "" -#: config/tc-cr16.c:2162 +#: config/tc-cr16.c:2160 #, c-format msgid "Same src/dest register is used (`r%d'),result is undefined" msgstr "" -#: config/tc-cr16.c:2333 config/tc-crx.c:1577 +#: config/tc-cr16.c:2331 config/tc-crx.c:1576 msgid "Incorrect number of operands" msgstr "" -#: config/tc-cr16.c:2335 config/tc-crx.c:1579 +#: config/tc-cr16.c:2333 config/tc-crx.c:1578 #, c-format msgid "Illegal type of operand (arg %d)" msgstr "" -#: config/tc-cr16.c:2341 config/tc-crx.c:1585 +#: config/tc-cr16.c:2339 config/tc-crx.c:1584 #, c-format msgid "Operand out of range (arg %d)" msgstr "" -#: config/tc-cr16.c:2344 config/tc-crx.c:1588 +#: config/tc-cr16.c:2342 config/tc-crx.c:1587 #, c-format msgid "Operand has odd displacement (arg %d)" msgstr "" -#: config/tc-cr16.c:2347 config/tc-cr16.c:2378 config/tc-crx.c:1601 -#: config/tc-crx.c:1632 +#: config/tc-cr16.c:2345 config/tc-cr16.c:2376 config/tc-crx.c:1600 +#: config/tc-crx.c:1631 #, c-format msgid "Illegal operand (arg %d)" msgstr "" #. Give an error if a frag containing code is not aligned to a 2-byte #. boundary. -#: config/tc-cr16.c:2480 config/tc-cr16.h:73 config/tc-crx.c:1954 -#: config/tc-crx.h:76 config/tc-ppc.c:3402 config/tc-ppc.c:6375 +#: config/tc-cr16.c:2478 config/tc-cr16.h:74 config/tc-crx.c:1953 +#: config/tc-crx.h:77 config/tc-ppc.c:3402 config/tc-ppc.c:6383 msgid "instruction address is not a multiple of 2" msgstr "" -#: config/tc-cr16.c:2555 config/tc-cris.c:1538 config/tc-cris.c:1546 -#: config/tc-crx.c:1990 config/tc-dlx.c:690 config/tc-hppa.c:3248 -#: config/tc-hppa.c:3255 config/tc-i860.c:491 config/tc-i860.c:508 -#: config/tc-i860.c:988 config/tc-sparc.c:1518 config/tc-sparc.c:1526 +#: config/tc-cr16.c:2553 config/tc-cris.c:1556 config/tc-cris.c:1564 +#: config/tc-crx.c:1989 config/tc-dlx.c:692 config/tc-hppa.c:3242 +#: config/tc-hppa.c:3249 config/tc-i860.c:490 config/tc-i860.c:507 +#: config/tc-i860.c:987 config/tc-sparc.c:1584 config/tc-sparc.c:1592 #, c-format msgid "Unknown opcode: `%s'" msgstr "" -#: config/tc-cris.c:551 config/tc-m68hc11.c:3898 +#: config/tc-cris.c:550 config/tc-m68hc11.c:3896 #, c-format msgid "internal inconsistency problem in %s: fr_symbol %lx" msgstr "" -#: config/tc-cris.c:555 config/tc-m68hc11.c:3902 config/tc-msp430.c:4148 +#: config/tc-cris.c:554 config/tc-m68hc11.c:3900 config/tc-msp430.c:3829 #, c-format msgid "internal inconsistency problem in %s: resolved symbol" msgstr "" -#: config/tc-cris.c:565 config/tc-m68hc11.c:3908 +#: config/tc-cris.c:564 config/tc-m68hc11.c:3906 #, c-format msgid "internal inconsistency problem in %s: fr_subtype %d" msgstr "" -#: config/tc-cris.c:905 +#: config/tc-cris.c:904 msgid "Relaxation to long branches for .arch common_v10_v32 not implemented" msgstr "" -#: config/tc-cris.c:935 +#: config/tc-cris.c:934 msgid "Complicated LAPC target operand is not a multiple of two. Use LAPC.D" msgstr "" -#: config/tc-cris.c:940 +#: config/tc-cris.c:939 #, c-format msgid "" "Internal error found in md_convert_frag: offset %ld. Please report this." msgstr "" -#: config/tc-cris.c:965 +#: config/tc-cris.c:964 #, c-format msgid "internal inconsistency in %s: bdapq no symbol" msgstr "" -#: config/tc-cris.c:978 +#: config/tc-cris.c:977 #, c-format msgid "internal inconsistency in %s: bdap.w with no symbol" msgstr "" -#: config/tc-cris.c:1002 +#: config/tc-cris.c:1001 msgid "section alignment must be >= 4 bytes to check MULS/MULU safeness" msgstr "" -#: config/tc-cris.c:1011 +#: config/tc-cris.c:1010 msgid "dangerous MULS/MULU location; give it higher alignment" msgstr "" #. Bail out for compatibility mode. (It seems it can be implemented, #. perhaps with a 10-byte sequence: "move.d NNNN,$pc/$acr", "jump #. $acr", "nop"; but doesn't seem worth it at the moment.) -#: config/tc-cris.c:1052 +#: config/tc-cris.c:1051 msgid "" "Out-of-range .word offset handling is not implemented for .arch " "common_v10_v32" msgstr "" -#: config/tc-cris.c:1097 +#: config/tc-cris.c:1096 msgid ".word case-table handling failed: table too large" msgstr "" -#: config/tc-cris.c:1229 +#: config/tc-cris.c:1234 #, c-format msgid "Buggy opcode: `%s' \"%s\"\n" msgstr "" -#: config/tc-cris.c:1644 +#: config/tc-cris.c:1662 #, c-format msgid "Immediate value not in 5 bit unsigned range: %ld" msgstr "" -#: config/tc-cris.c:1660 +#: config/tc-cris.c:1678 #, c-format msgid "Immediate value not in 4 bit unsigned range: %ld" msgstr "" -#: config/tc-cris.c:1712 +#: config/tc-cris.c:1730 #, c-format msgid "Immediate value not in 6 bit range: %ld" msgstr "" -#: config/tc-cris.c:1727 +#: config/tc-cris.c:1746 #, c-format msgid "Immediate value not in 6 bit unsigned range: %ld" msgstr "" #. Others have a generic warning. -#: config/tc-cris.c:1835 +#: config/tc-cris.c:1855 #, c-format msgid "Unimplemented register `%s' specified" msgstr "" #. We've come to the end of instructions with this #. opcode, so it must be an error. -#: config/tc-cris.c:2079 +#: config/tc-cris.c:2099 msgid "Illegal operands" msgstr "" -#: config/tc-cris.c:2120 config/tc-cris.c:2160 +#: config/tc-cris.c:2140 config/tc-cris.c:2180 #, c-format msgid "Immediate value not in 8 bit range: %ld" msgstr "" -#: config/tc-cris.c:2130 config/tc-cris.c:2181 +#: config/tc-cris.c:2150 config/tc-cris.c:2201 #, c-format msgid "Immediate value not in 16 bit range: %ld" msgstr "" -#: config/tc-cris.c:2165 +#: config/tc-cris.c:2185 #, c-format msgid "Immediate value not in 8 bit signed range: %ld" msgstr "" -#: config/tc-cris.c:2170 +#: config/tc-cris.c:2190 #, c-format msgid "Immediate value not in 8 bit unsigned range: %ld" msgstr "" -#: config/tc-cris.c:2186 +#: config/tc-cris.c:2206 #, c-format msgid "Immediate value not in 16 bit signed range: %ld" msgstr "" -#: config/tc-cris.c:2191 +#: config/tc-cris.c:2211 #, c-format msgid "Immediate value not in 16 bit unsigned range: %ld" msgstr "" -#: config/tc-cris.c:2217 +#: config/tc-cris.c:2237 msgid "TLS relocation size does not match operand size" msgstr "" -#: config/tc-cris.c:2218 +#: config/tc-cris.c:2238 msgid "PIC relocation size does not match operand size" msgstr "" -#: config/tc-cris.c:3365 +#: config/tc-cris.c:3385 msgid "Calling gen_cond_branch_32 for .arch common_v10_v32\n" msgstr "" -#: config/tc-cris.c:3369 +#: config/tc-cris.c:3389 msgid "32-bit conditional branch generated" msgstr "" -#: config/tc-cris.c:3430 +#: config/tc-cris.c:3450 msgid "Complex expression not supported" msgstr "" #. FIXME: Is this function mentioned in the internals.texi manual? If #. not, add it. -#: config/tc-cris.c:3580 +#: config/tc-cris.c:3600 msgid "Bad call to md_atof () - floating point formats are not supported" msgstr "" -#: config/tc-cris.c:3621 +#: config/tc-cris.c:3641 msgid "PC-relative relocation must be trivially resolved" msgstr "" -#: config/tc-cris.c:3693 +#: config/tc-cris.c:3713 #, c-format msgid "Value not in 16 bit range: %ld" msgstr "" -#: config/tc-cris.c:3701 +#: config/tc-cris.c:3721 #, c-format msgid "Value not in 16 bit signed range: %ld" msgstr "" -#: config/tc-cris.c:3709 +#: config/tc-cris.c:3729 #, c-format msgid "Value not in 8 bit range: %ld" msgstr "" -#: config/tc-cris.c:3716 +#: config/tc-cris.c:3736 #, c-format msgid "Value not in 8 bit signed range: %ld" msgstr "" -#: config/tc-cris.c:3726 +#: config/tc-cris.c:3746 #, c-format msgid "Value not in 4 bit unsigned range: %ld" msgstr "" -#: config/tc-cris.c:3733 +#: config/tc-cris.c:3753 #, c-format msgid "Value not in 5 bit unsigned range: %ld" msgstr "" -#: config/tc-cris.c:3740 +#: config/tc-cris.c:3760 #, c-format msgid "Value not in 6 bit range: %ld" msgstr "" -#: config/tc-cris.c:3747 +#: config/tc-cris.c:3767 #, c-format msgid "Value not in 6 bit unsigned range: %ld" msgstr "" -#: config/tc-cris.c:3791 +#: config/tc-cris.c:3811 #, c-format msgid "Please use --help to see usage and options for this assembler.\n" msgstr "" -#: config/tc-cris.c:3803 +#: config/tc-cris.c:3823 msgid "--no-underscore is invalid with a.out format" msgstr "" -#: config/tc-cris.c:3815 +#: config/tc-cris.c:3835 msgid "--pic is invalid for this object format" msgstr "" -#: config/tc-cris.c:3829 +#: config/tc-cris.c:3849 #, c-format msgid "invalid <arch> in --march=<arch>: %s" msgstr "" -#: config/tc-cris.c:3938 config/tc-moxie.c:772 +#: config/tc-cris.c:3958 config/tc-moxie.c:770 msgid "" "Semantics error. This type of operand can not be relocated, it must be an " "assembly-time constant" msgstr "" -#: config/tc-cris.c:3987 config/tc-moxie.c:821 +#: config/tc-cris.c:4007 config/tc-moxie.c:819 #, c-format msgid "Cannot generate relocation type for symbol %s, code %s" msgstr "" #. The messages are formatted to line up with the generic options. -#: config/tc-cris.c:4000 +#: config/tc-cris.c:4020 #, c-format msgid "CRIS-specific options:\n" msgstr "" -#: config/tc-cris.c:4002 +#: config/tc-cris.c:4022 msgid "" " -h, -H Don't execute, print this help text. Deprecated.\n" msgstr "" -#: config/tc-cris.c:4004 +#: config/tc-cris.c:4024 msgid " -N Warn when branches are expanded to jumps.\n" msgstr "" -#: config/tc-cris.c:4006 +#: config/tc-cris.c:4026 msgid "" " --underscore User symbols are normally prepended with " "underscore.\n" msgstr "" -#: config/tc-cris.c:4008 +#: config/tc-cris.c:4028 msgid " Registers will not need any prefix.\n" msgstr "" -#: config/tc-cris.c:4010 +#: config/tc-cris.c:4030 msgid " --no-underscore User symbols do not have any prefix.\n" msgstr "" -#: config/tc-cris.c:4012 +#: config/tc-cris.c:4032 msgid " Registers will require a `$'-prefix.\n" msgstr "" -#: config/tc-cris.c:4015 +#: config/tc-cris.c:4035 msgid " --pic\t\t\tEnable generation of position-independent code.\n" msgstr "" -#: config/tc-cris.c:4018 +#: config/tc-cris.c:4038 msgid "" " --march=<arch>\t\tGenerate code for <arch>. Valid choices for <arch>\n" "\t\t\t\tare v0_v10, v10, v32 and common_v10_v32.\n" msgstr "" -#: config/tc-cris.c:4039 +#: config/tc-cris.c:4059 msgid "Invalid relocation" msgstr "" -#: config/tc-cris.c:4076 +#: config/tc-cris.c:4096 msgid "Invalid pc-relative relocation" msgstr "" -#: config/tc-cris.c:4121 +#: config/tc-cris.c:4141 #, c-format msgid "Adjusted signed .word (%ld) overflows: `switch'-statement too large." msgstr "" -#: config/tc-cris.c:4151 +#: config/tc-cris.c:4171 #, c-format msgid ".syntax %s requires command-line option `--underscore'" msgstr "" -#: config/tc-cris.c:4160 +#: config/tc-cris.c:4180 #, c-format msgid ".syntax %s requires command-line option `--no-underscore'" msgstr "" -#: config/tc-cris.c:4197 +#: config/tc-cris.c:4217 msgid "Unknown .syntax operand" msgstr "" -#: config/tc-cris.c:4207 +#: config/tc-cris.c:4227 msgid "Pseudodirective .file is only valid when generating ELF" msgstr "" -#: config/tc-cris.c:4219 +#: config/tc-cris.c:4239 msgid "Pseudodirective .loc is only valid when generating ELF" msgstr "" -#: config/tc-cris.c:4234 +#: config/tc-cris.c:4254 #, c-format msgid "internal inconsistency problem: %s called for %d bytes" msgstr "" -#: config/tc-cris.c:4386 +#: config/tc-cris.c:4406 msgid "unknown operand to .arch" msgstr "" -#: config/tc-cris.c:4395 +#: config/tc-cris.c:4415 msgid ".arch <arch> requires a matching --march=... option" msgstr "" -#: config/tc-crx.c:821 +#: config/tc-crx.c:820 #, c-format msgid "Illegal Scale - `%d'" msgstr "" -#: config/tc-crx.c:1263 +#: config/tc-crx.c:1262 #, c-format msgid "Illegal Co-processor register in Instruction `%s' " msgstr "" -#: config/tc-crx.c:1270 +#: config/tc-crx.c:1269 #, c-format msgid "Illegal Co-processor special register in Instruction `%s' " msgstr "" -#: config/tc-crx.c:1591 +#: config/tc-crx.c:1590 #, c-format msgid "Invalid DISPU4 operand value (arg %d)" msgstr "" -#: config/tc-crx.c:1594 +#: config/tc-crx.c:1593 #, c-format msgid "Invalid CST4 operand value (arg %d)" msgstr "" -#: config/tc-crx.c:1597 +#: config/tc-crx.c:1596 #, c-format msgid "Operand value is not within upper 64 KB (arg %d)" msgstr "" -#: config/tc-crx.c:1734 +#: config/tc-crx.c:1733 msgid "Invalid Register in Register List" msgstr "" -#: config/tc-crx.c:1788 +#: config/tc-crx.c:1787 #, c-format msgid "Illegal register `%s' in cop-register list" msgstr "" -#: config/tc-crx.c:1796 +#: config/tc-crx.c:1795 #, c-format msgid "Illegal register `%s' in cop-special-register list" msgstr "" -#: config/tc-crx.c:1815 +#: config/tc-crx.c:1814 #, c-format msgid "Illegal register `%s' in user register list" msgstr "" -#: config/tc-crx.c:1834 +#: config/tc-crx.c:1833 #, c-format msgid "Illegal register `%s' in register list" msgstr "" -#: config/tc-crx.c:1840 +#: config/tc-crx.c:1839 #, c-format msgid "Maximum %d bits may be set in `mask16' operand" msgstr "" -#: config/tc-crx.c:1849 +#: config/tc-crx.c:1848 #, c-format msgid "rest of line ignored; first ignored character is `%c'" msgstr "" -#: config/tc-crx.c:1857 +#: config/tc-crx.c:1856 #, c-format msgid "Illegal `mask16' operand, operation is undefined - `%s'" msgstr "" #. HI can't be specified without LO (and vise-versa). -#: config/tc-crx.c:1863 +#: config/tc-crx.c:1862 msgid "HI/LO registers should be specified together" msgstr "" -#: config/tc-crx.c:1869 +#: config/tc-crx.c:1868 msgid "HI/LO registers should be specified without additional registers" msgstr "" -#: config/tc-d10v.c:218 +#: config/tc-d10v.c:216 #, c-format msgid "" "D10V options:\n" @@ -5338,138 +5434,138 @@ msgid "" " instructions together.\n" msgstr "" -#: config/tc-d10v.c:575 +#: config/tc-d10v.c:573 msgid "operand is not an immediate" msgstr "" -#: config/tc-d10v.c:593 +#: config/tc-d10v.c:591 #, c-format msgid "operand out of range: %lu" msgstr "" -#: config/tc-d10v.c:653 +#: config/tc-d10v.c:651 msgid "Instruction must be executed in parallel with another instruction." msgstr "" -#: config/tc-d10v.c:707 config/tc-d10v.c:715 +#: config/tc-d10v.c:705 config/tc-d10v.c:713 #, c-format msgid "packing conflict: %s must dispatch sequentially" msgstr "" -#: config/tc-d10v.c:814 +#: config/tc-d10v.c:812 #, c-format msgid "resource conflict (R%d)" msgstr "" -#: config/tc-d10v.c:817 +#: config/tc-d10v.c:815 #, c-format msgid "resource conflict (A%d)" msgstr "" -#: config/tc-d10v.c:819 +#: config/tc-d10v.c:817 msgid "resource conflict (PSW)" msgstr "" -#: config/tc-d10v.c:821 +#: config/tc-d10v.c:819 msgid "resource conflict (C flag)" msgstr "" -#: config/tc-d10v.c:823 +#: config/tc-d10v.c:821 msgid "resource conflict (F flag)" msgstr "" -#: config/tc-d10v.c:973 +#: config/tc-d10v.c:971 msgid "Instruction must be executed in parallel" msgstr "" -#: config/tc-d10v.c:976 +#: config/tc-d10v.c:974 msgid "Long instructions may not be combined." msgstr "" -#: config/tc-d10v.c:1009 +#: config/tc-d10v.c:1007 msgid "One of these instructions may not be executed in parallel." msgstr "" -#: config/tc-d10v.c:1013 config/tc-d30v.c:1038 +#: config/tc-d10v.c:1011 config/tc-d30v.c:1037 msgid "Two IU instructions may not be executed in parallel" msgstr "" -#: config/tc-d10v.c:1015 config/tc-d10v.c:1023 config/tc-d10v.c:1037 -#: config/tc-d10v.c:1052 config/tc-d30v.c:1039 config/tc-d30v.c:1048 +#: config/tc-d10v.c:1013 config/tc-d10v.c:1021 config/tc-d10v.c:1035 +#: config/tc-d10v.c:1050 config/tc-d30v.c:1038 config/tc-d30v.c:1047 msgid "Swapping instruction order" msgstr "" -#: config/tc-d10v.c:1021 config/tc-d30v.c:1045 +#: config/tc-d10v.c:1019 config/tc-d30v.c:1044 msgid "Two MU instructions may not be executed in parallel" msgstr "" -#: config/tc-d10v.c:1041 config/tc-d30v.c:1065 +#: config/tc-d10v.c:1039 config/tc-d30v.c:1064 msgid "IU instruction may not be in the left container" msgstr "" -#: config/tc-d10v.c:1043 config/tc-d10v.c:1058 +#: config/tc-d10v.c:1041 config/tc-d10v.c:1056 msgid "" "Instruction in R container is squashed by flow control instruction in L " "container." msgstr "" -#: config/tc-d10v.c:1056 config/tc-d30v.c:1076 +#: config/tc-d10v.c:1054 config/tc-d30v.c:1075 msgid "MU instruction may not be in the right container" msgstr "" -#: config/tc-d10v.c:1062 config/tc-d30v.c:1088 +#: config/tc-d10v.c:1060 config/tc-d30v.c:1087 msgid "unknown execution type passed to write_2_short()" msgstr "" -#: config/tc-d10v.c:1191 config/tc-d10v.c:1366 +#: config/tc-d10v.c:1189 config/tc-d10v.c:1362 msgid "bad opcode or operands" msgstr "" -#: config/tc-d10v.c:1268 +#: config/tc-d10v.c:1264 msgid "value out of range" msgstr "" -#: config/tc-d10v.c:1342 +#: config/tc-d10v.c:1338 msgid "illegal operand - register name found where none expected" msgstr "" -#: config/tc-d10v.c:1377 +#: config/tc-d10v.c:1373 msgid "Register number must be EVEN" msgstr "" -#: config/tc-d10v.c:1380 +#: config/tc-d10v.c:1376 msgid "Unsupported use of sp" msgstr "" -#: config/tc-d10v.c:1399 +#: config/tc-d10v.c:1395 #, c-format msgid "cr%ld is a reserved control register" msgstr "" -#: config/tc-d10v.c:1574 +#: config/tc-d10v.c:1570 #, c-format msgid "line %d: rep or repi must include at least 4 instructions" msgstr "" -#: config/tc-d10v.c:1763 +#: config/tc-d10v.c:1759 msgid "can't find previous opcode " msgstr "" -#: config/tc-d10v.c:1775 +#: config/tc-d10v.c:1771 #, c-format msgid "could not assemble: %s" msgstr "" -#: config/tc-d10v.c:1790 config/tc-d10v.c:1812 config/tc-d30v.c:1747 +#: config/tc-d10v.c:1786 config/tc-d10v.c:1808 config/tc-d30v.c:1744 msgid "Unable to mix instructions as specified" msgstr "" -#: config/tc-d30v.c:150 +#: config/tc-d30v.c:149 #, c-format msgid "Register name %s conflicts with symbol of the same name" msgstr "" -#: config/tc-d30v.c:240 +#: config/tc-d30v.c:239 #, c-format msgid "" "\n" @@ -5483,221 +5579,219 @@ msgid "" "-C Opposite of -C. -c is the default.\n" msgstr "" -#: config/tc-d30v.c:368 +#: config/tc-d30v.c:367 msgid "unexpected 12-bit reloc type" msgstr "" -#: config/tc-d30v.c:375 +#: config/tc-d30v.c:374 msgid "unexpected 18-bit reloc type" msgstr "" -#: config/tc-d30v.c:626 +#: config/tc-d30v.c:625 #, c-format msgid "%s NOP inserted" msgstr "" -#: config/tc-d30v.c:627 +#: config/tc-d30v.c:626 msgid "sequential" msgstr "" -#: config/tc-d30v.c:627 +#: config/tc-d30v.c:626 msgid "parallel" msgstr "" -#: config/tc-d30v.c:1034 +#: config/tc-d30v.c:1033 msgid "Instructions may not be executed in parallel" msgstr "" -#: config/tc-d30v.c:1047 +#: config/tc-d30v.c:1046 #, c-format msgid "Executing %s in IU may not work" msgstr "" -#: config/tc-d30v.c:1054 +#: config/tc-d30v.c:1053 #, c-format msgid "Executing %s in IU may not work in parallel execution" msgstr "" -#: config/tc-d30v.c:1067 +#: config/tc-d30v.c:1066 #, c-format msgid "special left instruction `%s' kills instruction `%s' in right container" msgstr "" -#: config/tc-d30v.c:1078 +#: config/tc-d30v.c:1077 #, c-format msgid "Executing %s in reverse serial with %s may not work" msgstr "" -#: config/tc-d30v.c:1081 +#: config/tc-d30v.c:1080 #, c-format msgid "Executing %s in IU in reverse serial may not work" msgstr "" -#: config/tc-d30v.c:1271 +#: config/tc-d30v.c:1268 msgid "Odd numbered register used as target of multi-register instruction" msgstr "" -#: config/tc-d30v.c:1335 config/tc-d30v.c:1371 +#: config/tc-d30v.c:1332 config/tc-d30v.c:1368 #, c-format msgid "unknown condition code: %s" msgstr "" -#: config/tc-d30v.c:1364 +#: config/tc-d30v.c:1361 #, c-format msgid "cmpu doesn't support condition code %s" msgstr "" -#: config/tc-d30v.c:1399 +#: config/tc-d30v.c:1396 #, c-format msgid "unknown opcode: %s" msgstr "" -#: config/tc-d30v.c:1410 +#: config/tc-d30v.c:1407 #, c-format msgid "operands for opcode `%s' do not match any valid format" msgstr "" -#: config/tc-d30v.c:1625 config/tc-d30v.c:1642 +#: config/tc-d30v.c:1622 config/tc-d30v.c:1639 msgid "Cannot assemble instruction" msgstr "" -#: config/tc-d30v.c:1627 +#: config/tc-d30v.c:1624 msgid "First opcode is long. Unable to mix instructions as specified." msgstr "" -#: config/tc-d30v.c:1697 +#: config/tc-d30v.c:1694 msgid "word of NOPs added between word multiply and load" msgstr "" -#: config/tc-d30v.c:1699 +#: config/tc-d30v.c:1696 msgid "word of NOPs added between word multiply and 16-bit multiply" msgstr "" -#: config/tc-d30v.c:1731 +#: config/tc-d30v.c:1728 msgid "Instruction uses long version, so it cannot be mixed as specified" msgstr "" -#: config/tc-d30v.c:1858 +#: config/tc-d30v.c:1855 #, c-format msgid "value too large to fit in %d bits" msgstr "" -#: config/tc-d30v.c:1926 +#: config/tc-d30v.c:1923 #, c-format msgid "line %d: unable to place address of symbol '%s' into a byte" msgstr "" -#: config/tc-d30v.c:1929 +#: config/tc-d30v.c:1926 #, c-format msgid "line %d: unable to place value %lx into a byte" msgstr "" -#: config/tc-d30v.c:1937 +#: config/tc-d30v.c:1934 #, c-format msgid "line %d: unable to place address of symbol '%s' into a short" msgstr "" -#: config/tc-d30v.c:1940 +#: config/tc-d30v.c:1937 #, c-format msgid "line %d: unable to place value %lx into a short" msgstr "" -#: config/tc-d30v.c:1948 +#: config/tc-d30v.c:1945 #, c-format msgid "line %d: unable to place address of symbol '%s' into a quad" msgstr "" -#: config/tc-d30v.c:2056 +#: config/tc-d30v.c:2053 #, c-format msgid "Alignment too large: %d assumed" msgstr "" -#: config/tc-dlx.c:212 +#: config/tc-dlx.c:211 msgid "missing .proc" msgstr "" -#: config/tc-dlx.c:229 +#: config/tc-dlx.c:228 msgid ".endfunc missing for previous .proc" msgstr "" -#: config/tc-dlx.c:296 config/tc-i860.c:227 config/tc-mips.c:3354 -#: config/tc-nios2.c:2611 config/tc-nios2.c:2625 config/tc-nios2.c:2640 -#: config/tc-nios2.c:2654 +#: config/tc-dlx.c:295 config/tc-i860.c:226 config/tc-mips.c:3483 +#: config/tc-nios2.c:2419 config/tc-nios2.c:2433 config/tc-nios2.c:2448 #, c-format msgid "internal error: can't hash `%s': %s\n" msgstr "" #. Probably a memory allocation problem? Give up now. -#. Probably a memory allocation problem. Give up now. -#: config/tc-dlx.c:303 config/tc-hppa.c:8365 config/tc-nios2.c:2614 -#: config/tc-nios2.c:2628 config/tc-nios2.c:2643 config/tc-nios2.c:2657 -#: config/tc-nios2.c:2773 config/tc-or32.c:211 config/tc-sparc.c:899 +#: config/tc-dlx.c:302 config/tc-hppa.c:8359 config/tc-nios2.c:1270 +#: config/tc-nios2.c:2422 config/tc-nios2.c:2436 config/tc-nios2.c:2451 +#: config/tc-sparc.c:930 msgid "Broken assembler. No assembly attempted." msgstr "" -#: config/tc-dlx.c:333 +#: config/tc-dlx.c:332 #, c-format msgid "Bad operand for a load instruction: <%s>" msgstr "" -#: config/tc-dlx.c:447 +#: config/tc-dlx.c:446 #, c-format msgid "Bad operand for a store instruction: <%s>" msgstr "" -#: config/tc-dlx.c:627 +#: config/tc-dlx.c:626 #, c-format msgid "Expression Error for operand modifier %%hi/%%lo\n" msgstr "" -#: config/tc-dlx.c:640 config/tc-or32.c:811 +#: config/tc-dlx.c:639 #, c-format msgid "Invalid expression after %%%%\n" msgstr "" -#: config/tc-dlx.c:708 config/tc-tic4x.c:2481 +#: config/tc-dlx.c:703 config/tc-tic4x.c:2479 #, c-format msgid "Unknown opcode `%s'." msgstr "" -#: config/tc-dlx.c:720 +#: config/tc-dlx.c:712 msgid "Can not set dlx_skip_hi16_flag" msgstr "" -#: config/tc-dlx.c:734 +#: config/tc-dlx.c:726 #, c-format msgid "Missing arguments for opcode <%s>." msgstr "" -#: config/tc-dlx.c:768 +#: config/tc-dlx.c:760 #, c-format msgid "Too many operands: %s" msgstr "" -#: config/tc-dlx.c:805 +#: config/tc-dlx.c:797 #, c-format msgid "Both the_insn.HI and the_insn.LO are set : %s" msgstr "" -#: config/tc-dlx.c:875 +#: config/tc-dlx.c:867 msgid "failed regnum sanity check." msgstr "" -#: config/tc-dlx.c:888 +#: config/tc-dlx.c:880 msgid "failed general register sanity check." msgstr "" #. Types or values of args don't match. -#: config/tc-dlx.c:896 +#: config/tc-dlx.c:888 msgid "Invalid operands" msgstr "" -#: config/tc-dlx.c:1125 config/tc-or32.c:773 +#: config/tc-dlx.c:1117 #, c-format msgid "label \"$%d\" redefined" msgstr "" -#: config/tc-dlx.c:1163 +#: config/tc-dlx.c:1155 msgid "Invalid expression after # number\n" msgstr "" @@ -5714,7 +5808,7 @@ msgstr "" msgid "register is out of order" msgstr "" -#: config/tc-epiphany.c:401 config/tc-m68k.c:6041 config/tc-m68k.c:6070 +#: config/tc-epiphany.c:401 config/tc-m68k.c:6036 config/tc-m68k.c:6065 msgid "bad register list" msgstr "" @@ -5731,161 +5825,161 @@ msgstr "" msgid "ldrd/strd requires even:odd register pair" msgstr "" -#: config/tc-epiphany.c:824 config/tc-m32r.c:1789 +#: config/tc-epiphany.c:824 config/tc-m32r.c:1788 msgid "Addend to unresolved symbol not on word boundary." msgstr "" -#: config/tc-fr30.c:82 +#: config/tc-fr30.c:81 #, c-format msgid " FR30 specific command line options:\n" msgstr "" -#: config/tc-fr30.c:135 +#: config/tc-fr30.c:134 #, c-format msgid "Instruction %s not allowed in a delay slot." msgstr "" -#: config/tc-frv.c:405 +#: config/tc-frv.c:404 #, c-format msgid "Unknown cpu -mcpu=%s" msgstr "" -#: config/tc-frv.c:458 +#: config/tc-frv.c:457 #, c-format msgid "FRV specific command line options:\n" msgstr "" -#: config/tc-frv.c:459 +#: config/tc-frv.c:458 #, c-format msgid "-G n Put data <= n bytes in the small data area\n" msgstr "" -#: config/tc-frv.c:460 +#: config/tc-frv.c:459 #, c-format msgid "-mgpr-32 Mark generated file as only using 32 GPRs\n" msgstr "" -#: config/tc-frv.c:461 +#: config/tc-frv.c:460 #, c-format msgid "-mgpr-64 Mark generated file as using all 64 GPRs\n" msgstr "" -#: config/tc-frv.c:462 +#: config/tc-frv.c:461 #, c-format msgid "-mfpr-32 Mark generated file as only using 32 FPRs\n" msgstr "" -#: config/tc-frv.c:463 +#: config/tc-frv.c:462 #, c-format msgid "-mfpr-64 Mark generated file as using all 64 FPRs\n" msgstr "" -#: config/tc-frv.c:464 +#: config/tc-frv.c:463 #, c-format msgid "-msoft-float Mark generated file as using software FP\n" msgstr "" -#: config/tc-frv.c:465 +#: config/tc-frv.c:464 #, c-format msgid "-mdword Mark generated file as using a 8-byte stack alignment\n" msgstr "" -#: config/tc-frv.c:466 +#: config/tc-frv.c:465 #, c-format msgid "-mno-dword Mark generated file as using a 4-byte stack alignment\n" msgstr "" -#: config/tc-frv.c:467 +#: config/tc-frv.c:466 #, c-format msgid "" "-mdouble Mark generated file as using double precision FP insns\n" msgstr "" -#: config/tc-frv.c:468 +#: config/tc-frv.c:467 #, c-format msgid "-mmedia Mark generated file as using media insns\n" msgstr "" -#: config/tc-frv.c:469 +#: config/tc-frv.c:468 #, c-format msgid "" "-mmuladd Mark generated file as using multiply add/subtract insns\n" msgstr "" -#: config/tc-frv.c:470 +#: config/tc-frv.c:469 #, c-format msgid "-mpack Allow instructions to be packed\n" msgstr "" -#: config/tc-frv.c:471 +#: config/tc-frv.c:470 #, c-format msgid "-mno-pack Do not allow instructions to be packed\n" msgstr "" -#: config/tc-frv.c:472 +#: config/tc-frv.c:471 #, c-format msgid "" "-mpic Mark generated file as using small position independent " "code\n" msgstr "" -#: config/tc-frv.c:473 +#: config/tc-frv.c:472 #, c-format msgid "" "-mPIC Mark generated file as using large position independent " "code\n" msgstr "" -#: config/tc-frv.c:474 +#: config/tc-frv.c:473 #, c-format msgid "" "-mlibrary-pic Mark generated file as using position indepedent code for " "libraries\n" msgstr "" -#: config/tc-frv.c:475 +#: config/tc-frv.c:474 #, c-format msgid "-mfdpic Assemble for the FDPIC ABI\n" msgstr "" -#: config/tc-frv.c:476 +#: config/tc-frv.c:475 #, c-format msgid "-mnopic Disable -mpic, -mPIC, -mlibrary-pic and -mfdpic\n" msgstr "" -#: config/tc-frv.c:477 +#: config/tc-frv.c:476 #, c-format msgid "-mcpu={fr500|fr550|fr400|fr405|fr450|fr300|frv|simple|tomcat}\n" msgstr "" -#: config/tc-frv.c:478 +#: config/tc-frv.c:477 #, c-format msgid " Record the cpu type\n" msgstr "" -#: config/tc-frv.c:479 +#: config/tc-frv.c:478 #, c-format msgid "-mtomcat-stats Print out stats for tomcat workarounds\n" msgstr "" -#: config/tc-frv.c:480 +#: config/tc-frv.c:479 #, c-format msgid "-mtomcat-debug Debug tomcat workarounds\n" msgstr "" -#: config/tc-frv.c:1162 +#: config/tc-frv.c:1161 msgid "VLIW packing used for -mno-pack" msgstr "" -#: config/tc-frv.c:1172 +#: config/tc-frv.c:1171 msgid "Instruction not supported by this architecture" msgstr "" -#: config/tc-frv.c:1182 +#: config/tc-frv.c:1181 msgid "VLIW packing constraint violation" msgstr "" -#: config/tc-frv.c:1773 +#: config/tc-frv.c:1772 #, c-format msgid "Relocation %s is not safe for %s" msgstr "" @@ -6016,10 +6110,9 @@ msgstr "" #. This seems more sane than saying "too many operands". We'll #. get here only if the trailing trash starts with a comma. -#. Types or values of args don't match. -#: config/tc-h8300.c:1840 config/tc-mips.c:13043 config/tc-mips.c:13111 +#: config/tc-h8300.c:1840 config/tc-mips.c:13631 config/tc-mips.c:13699 #: config/tc-mmix.c:479 config/tc-mmix.c:491 config/tc-mmix.c:2531 -#: config/tc-mmix.c:2555 config/tc-mmix.c:2828 config/tc-or32.c:527 +#: config/tc-mmix.c:2555 config/tc-mmix.c:2828 msgid "invalid operands" msgstr "" @@ -6027,8 +6120,8 @@ msgstr "" msgid "operand/size mis-match" msgstr "" -#: config/tc-h8300.c:1971 config/tc-sh.c:2970 config/tc-sh64.c:2795 -#: config/tc-z8k.c:1226 +#: config/tc-h8300.c:1971 config/tc-sh.c:2969 config/tc-sh64.c:2794 +#: config/tc-z8k.c:1225 msgid "unknown opcode" msgstr "" @@ -6063,8 +6156,8 @@ msgstr "" msgid "Difference of symbols in different sections is not supported" msgstr "" -#: config/tc-h8300.c:2252 config/tc-mcore.c:2199 config/tc-microblaze.c:2444 -#: config/tc-pj.c:487 config/tc-sh.c:4478 config/tc-tic6x.c:4523 +#: config/tc-h8300.c:2252 config/tc-mcore.c:2198 config/tc-microblaze.c:2445 +#: config/tc-pj.c:487 config/tc-sh.c:4477 config/tc-tic6x.c:4523 #: config/tc-xc16x.c:315 #, c-format msgid "Cannot represent relocation type %s" @@ -6074,1244 +6167,1259 @@ msgstr "" #. IGNORE is used to suppress the error message. #. Variant of CHECK_FIELD for use in md_apply_fix and other places where #. the current file and line number are not valid. -#: config/tc-hppa.c:1029 config/tc-hppa.c:1043 +#: config/tc-hppa.c:1024 config/tc-hppa.c:1038 #, c-format msgid "Field out of range [%d..%d] (%d)." msgstr "" #. Simple alignment checking for FIELD against ALIGN (a power of two). #. IGNORE is used to suppress the error message. -#: config/tc-hppa.c:1057 +#: config/tc-hppa.c:1052 #, c-format msgid "Field not properly aligned [%d] (%d)." msgstr "" -#: config/tc-hppa.c:1110 +#: config/tc-hppa.c:1105 msgid "Missing .exit\n" msgstr "" -#: config/tc-hppa.c:1113 +#: config/tc-hppa.c:1108 msgid "Missing .procend\n" msgstr "" -#: config/tc-hppa.c:1298 +#: config/tc-hppa.c:1294 #, c-format msgid "Invalid field selector. Assuming F%%." msgstr "" -#: config/tc-hppa.c:1325 +#: config/tc-hppa.c:1318 msgid "Bad segment in expression." msgstr "" -#: config/tc-hppa.c:1350 +#: config/tc-hppa.c:1343 #, c-format msgid "Invalid Nullification: (%c)" msgstr "" -#: config/tc-hppa.c:1421 +#: config/tc-hppa.c:1414 msgid "Cannot handle fixup" msgstr "" -#: config/tc-hppa.c:1719 +#: config/tc-hppa.c:1712 #, c-format msgid " -Q ignored\n" msgstr "" -#: config/tc-hppa.c:1723 +#: config/tc-hppa.c:1716 #, c-format msgid " -c print a warning if a comment is found\n" msgstr "" -#: config/tc-hppa.c:1789 +#: config/tc-hppa.c:1782 #, c-format msgid "no hppa_fixup entry for fixup type 0x%x" msgstr "" -#: config/tc-hppa.c:1968 +#: config/tc-hppa.c:1961 msgid "Unknown relocation encountered in md_apply_fix." msgstr "" -#: config/tc-hppa.c:2156 config/tc-hppa.c:2181 +#: config/tc-hppa.c:2149 config/tc-hppa.c:2174 #, c-format msgid "Undefined register: '%s'." msgstr "" -#: config/tc-hppa.c:2215 +#: config/tc-hppa.c:2208 #, c-format msgid "Non-absolute symbol: '%s'." msgstr "" -#: config/tc-hppa.c:2230 +#: config/tc-hppa.c:2223 #, c-format msgid "Undefined absolute constant: '%s'." msgstr "" -#: config/tc-hppa.c:2261 config/tc-hppa.c:5728 +#: config/tc-hppa.c:2254 config/tc-hppa.c:5722 msgid "could not update architecture and machine" msgstr "" -#: config/tc-hppa.c:2299 +#: config/tc-hppa.c:2292 #, c-format msgid "Invalid FP Compare Condition: %s" msgstr "" -#: config/tc-hppa.c:2354 +#: config/tc-hppa.c:2347 #, c-format msgid "Invalid FTEST completer: %s" msgstr "" -#: config/tc-hppa.c:2420 config/tc-hppa.c:2457 +#: config/tc-hppa.c:2413 config/tc-hppa.c:2450 #, c-format msgid "Invalid FP Operand Format: %3s" msgstr "" -#: config/tc-hppa.c:2561 +#: config/tc-hppa.c:2555 msgid "Bad segment (should be absolute)." msgstr "" -#: config/tc-hppa.c:2621 +#: config/tc-hppa.c:2615 #, c-format msgid "Invalid argument location: %s\n" msgstr "" -#: config/tc-hppa.c:2650 +#: config/tc-hppa.c:2644 #, c-format msgid "Invalid argument description: %d" msgstr "" -#: config/tc-hppa.c:3479 +#: config/tc-hppa.c:3473 msgid "Invalid Indexed Load Completer." msgstr "" -#: config/tc-hppa.c:3484 +#: config/tc-hppa.c:3478 msgid "Invalid Indexed Load Completer Syntax." msgstr "" -#: config/tc-hppa.c:3518 +#: config/tc-hppa.c:3512 msgid "Invalid Short Load/Store Completer." msgstr "" -#: config/tc-hppa.c:3578 config/tc-hppa.c:3583 +#: config/tc-hppa.c:3572 config/tc-hppa.c:3577 msgid "Invalid Store Bytes Short Completer" msgstr "" -#: config/tc-hppa.c:3898 config/tc-hppa.c:3904 +#: config/tc-hppa.c:3892 config/tc-hppa.c:3898 msgid "Invalid left/right combination completer" msgstr "" -#: config/tc-hppa.c:3953 config/tc-hppa.c:3960 +#: config/tc-hppa.c:3947 config/tc-hppa.c:3954 msgid "Invalid permutation completer" msgstr "" -#: config/tc-hppa.c:4060 +#: config/tc-hppa.c:4054 #, c-format msgid "Invalid Add Condition: %s" msgstr "" -#: config/tc-hppa.c:4076 config/tc-hppa.c:4086 +#: config/tc-hppa.c:4070 config/tc-hppa.c:4080 msgid "Invalid Add and Branch Condition" msgstr "" -#: config/tc-hppa.c:4107 config/tc-hppa.c:4252 +#: config/tc-hppa.c:4101 config/tc-hppa.c:4246 msgid "Invalid Compare/Subtract Condition" msgstr "" -#: config/tc-hppa.c:4147 +#: config/tc-hppa.c:4141 #, c-format msgid "Invalid Branch On Bit Condition: %c" msgstr "" -#: config/tc-hppa.c:4150 +#: config/tc-hppa.c:4144 msgid "Missing Branch On Bit Condition" msgstr "" -#: config/tc-hppa.c:4235 +#: config/tc-hppa.c:4229 #, c-format msgid "Invalid Compare/Subtract Condition: %s" msgstr "" -#: config/tc-hppa.c:4267 +#: config/tc-hppa.c:4261 msgid "Invalid Compare and Branch Condition" msgstr "" -#: config/tc-hppa.c:4363 +#: config/tc-hppa.c:4357 msgid "Invalid Logical Instruction Condition." msgstr "" -#: config/tc-hppa.c:4425 +#: config/tc-hppa.c:4419 msgid "Invalid Shift/Extract/Deposit Condition." msgstr "" -#: config/tc-hppa.c:4542 +#: config/tc-hppa.c:4536 msgid "Invalid Unit Instruction Condition." msgstr "" -#: config/tc-hppa.c:5021 config/tc-hppa.c:5053 config/tc-hppa.c:5084 -#: config/tc-hppa.c:5114 +#: config/tc-hppa.c:5015 config/tc-hppa.c:5047 config/tc-hppa.c:5078 +#: config/tc-hppa.c:5108 msgid "Branch to unaligned address" msgstr "" -#: config/tc-hppa.c:5298 +#: config/tc-hppa.c:5292 msgid "Invalid SFU identifier" msgstr "" -#: config/tc-hppa.c:5348 +#: config/tc-hppa.c:5342 msgid "Invalid COPR identifier" msgstr "" -#: config/tc-hppa.c:5477 +#: config/tc-hppa.c:5471 msgid "Invalid Floating Point Operand Format." msgstr "" -#: config/tc-hppa.c:5597 config/tc-hppa.c:5617 config/tc-hppa.c:5637 -#: config/tc-hppa.c:5657 config/tc-hppa.c:5677 +#: config/tc-hppa.c:5591 config/tc-hppa.c:5611 config/tc-hppa.c:5631 +#: config/tc-hppa.c:5651 config/tc-hppa.c:5671 msgid "Invalid register for single precision fmpyadd or fmpysub" msgstr "" -#: config/tc-hppa.c:5745 +#: config/tc-hppa.c:5739 #, c-format msgid "Invalid operands %s" msgstr "" -#: config/tc-hppa.c:5755 +#: config/tc-hppa.c:5749 #, c-format msgid "Immediates %d and %d will give undefined behavior." msgstr "" -#: config/tc-hppa.c:5807 config/tc-hppa.c:7034 config/tc-hppa.c:7089 +#: config/tc-hppa.c:5801 config/tc-hppa.c:7028 config/tc-hppa.c:7083 msgid "Missing function name for .PROC (corrupted label chain)" msgstr "" -#: config/tc-hppa.c:5810 config/tc-hppa.c:7092 +#: config/tc-hppa.c:5804 config/tc-hppa.c:7086 msgid "Missing function name for .PROC" msgstr "" -#: config/tc-hppa.c:5869 +#: config/tc-hppa.c:5863 msgid "Argument to .BLOCK/.BLOCKZ must be between 0 and 0x3fffffff" msgstr "" -#: config/tc-hppa.c:5965 +#: config/tc-hppa.c:5959 #, c-format msgid "Invalid .CALL argument: %s" msgstr "" -#: config/tc-hppa.c:6113 +#: config/tc-hppa.c:6107 msgid ".callinfo is not within a procedure definition" msgstr "" -#: config/tc-hppa.c:6133 +#: config/tc-hppa.c:6127 #, c-format msgid "FRAME parameter must be a multiple of 8: %d\n" msgstr "" -#: config/tc-hppa.c:6152 +#: config/tc-hppa.c:6146 msgid "Value for ENTRY_GR must be in the range 3..18\n" msgstr "" -#: config/tc-hppa.c:6164 +#: config/tc-hppa.c:6158 msgid "Value for ENTRY_FR must be in the range 12..21\n" msgstr "" -#: config/tc-hppa.c:6174 +#: config/tc-hppa.c:6168 msgid "Value for ENTRY_SR must be 3\n" msgstr "" -#: config/tc-hppa.c:6230 +#: config/tc-hppa.c:6224 #, c-format msgid "Invalid .CALLINFO argument: %s" msgstr "" -#: config/tc-hppa.c:6340 +#: config/tc-hppa.c:6334 msgid "The .ENTER pseudo-op is not supported" msgstr "" -#: config/tc-hppa.c:6356 +#: config/tc-hppa.c:6350 msgid "Misplaced .entry. Ignored." msgstr "" -#: config/tc-hppa.c:6360 +#: config/tc-hppa.c:6354 msgid "Missing .callinfo." msgstr "" -#: config/tc-hppa.c:6424 +#: config/tc-hppa.c:6418 msgid ".REG expression must be a register" msgstr "" -#: config/tc-hppa.c:6440 +#: config/tc-hppa.c:6434 msgid "bad or irreducible absolute expression; zero assumed" msgstr "" -#: config/tc-hppa.c:6451 +#: config/tc-hppa.c:6445 msgid ".REG must use a label" msgstr "" -#: config/tc-hppa.c:6453 +#: config/tc-hppa.c:6447 msgid ".EQU must use a label" msgstr "" -#: config/tc-hppa.c:6515 +#: config/tc-hppa.c:6509 #, c-format msgid "Symbol '%s' could not be created." msgstr "" -#: config/tc-hppa.c:6519 +#: config/tc-hppa.c:6513 msgid "No memory for symbol name." msgstr "" -#: config/tc-hppa.c:6569 +#: config/tc-hppa.c:6563 msgid ".EXIT must appear within a procedure" msgstr "" -#: config/tc-hppa.c:6573 +#: config/tc-hppa.c:6567 msgid "Missing .callinfo" msgstr "" -#: config/tc-hppa.c:6577 +#: config/tc-hppa.c:6571 msgid "No .ENTRY for this .EXIT" msgstr "" -#: config/tc-hppa.c:6617 +#: config/tc-hppa.c:6611 #, c-format msgid "Using ENTRY rather than CODE in export directive for %s" msgstr "" -#: config/tc-hppa.c:6740 +#: config/tc-hppa.c:6734 #, c-format msgid "Undefined .EXPORT/.IMPORT argument (ignored): %s" msgstr "" -#: config/tc-hppa.c:6764 +#: config/tc-hppa.c:6758 #, c-format msgid "Cannot define export symbol: %s\n" msgstr "" -#: config/tc-hppa.c:6861 +#: config/tc-hppa.c:6855 msgid "Missing label name on .LABEL" msgstr "" -#: config/tc-hppa.c:6866 +#: config/tc-hppa.c:6860 msgid "extra .LABEL arguments ignored." msgstr "" -#: config/tc-hppa.c:6882 +#: config/tc-hppa.c:6876 msgid "The .LEAVE pseudo-op is not supported" msgstr "" -#: config/tc-hppa.c:6920 +#: config/tc-hppa.c:6914 msgid "Unrecognized .LEVEL argument\n" msgstr "" -#: config/tc-hppa.c:6954 +#: config/tc-hppa.c:6948 #, c-format msgid "Cannot define static symbol: %s\n" msgstr "" -#: config/tc-hppa.c:6988 +#: config/tc-hppa.c:6982 msgid "Nested procedures" msgstr "" -#: config/tc-hppa.c:6998 +#: config/tc-hppa.c:6992 msgid "Cannot allocate unwind descriptor\n" msgstr "" -#: config/tc-hppa.c:7096 +#: config/tc-hppa.c:7090 msgid "misplaced .procend" msgstr "" -#: config/tc-hppa.c:7099 +#: config/tc-hppa.c:7093 msgid "Missing .callinfo for this procedure" msgstr "" -#: config/tc-hppa.c:7102 +#: config/tc-hppa.c:7096 msgid "Missing .EXIT for a .ENTRY" msgstr "" -#: config/tc-hppa.c:7139 +#: config/tc-hppa.c:7133 msgid "Not in a space.\n" msgstr "" -#: config/tc-hppa.c:7142 +#: config/tc-hppa.c:7136 msgid "Not in a subspace.\n" msgstr "" -#: config/tc-hppa.c:7231 +#: config/tc-hppa.c:7225 msgid "Invalid .SPACE argument" msgstr "" -#: config/tc-hppa.c:7277 +#: config/tc-hppa.c:7271 msgid "Can't change spaces within a procedure definition. Ignored" msgstr "" -#: config/tc-hppa.c:7405 +#: config/tc-hppa.c:7399 #, c-format msgid "Undefined space: '%s' Assuming space number = 0." msgstr "" -#: config/tc-hppa.c:7428 +#: config/tc-hppa.c:7422 msgid "Must be in a space before changing or declaring subspaces.\n" msgstr "" -#: config/tc-hppa.c:7432 +#: config/tc-hppa.c:7426 msgid "Can't change subspaces within a procedure definition. Ignored" msgstr "" -#: config/tc-hppa.c:7468 +#: config/tc-hppa.c:7462 msgid "Parameters of an existing subspace can't be modified" msgstr "" -#: config/tc-hppa.c:7520 +#: config/tc-hppa.c:7514 msgid "Alignment must be a power of 2" msgstr "" -#: config/tc-hppa.c:7567 +#: config/tc-hppa.c:7561 msgid "FIRST not supported as a .SUBSPACE argument" msgstr "" -#: config/tc-hppa.c:7569 +#: config/tc-hppa.c:7563 msgid "Invalid .SUBSPACE argument" msgstr "" -#: config/tc-hppa.c:7758 +#: config/tc-hppa.c:7752 #, c-format msgid "Internal error: Unable to find containing space for %s." msgstr "" -#: config/tc-hppa.c:7796 +#: config/tc-hppa.c:7790 #, c-format msgid "Out of memory: could not allocate new space chain entry: %s\n" msgstr "" -#: config/tc-hppa.c:7884 +#: config/tc-hppa.c:7878 #, c-format msgid "Out of memory: could not allocate new subspace chain entry: %s\n" msgstr "" -#: config/tc-hppa.c:8329 +#: config/tc-hppa.c:8323 msgid "-R option not supported on this target." msgstr "" -#: config/tc-hppa.c:8346 config/tc-sparc.c:854 config/tc-sparc.c:891 +#: config/tc-hppa.c:8340 config/tc-sparc.c:885 config/tc-sparc.c:922 #, c-format msgid "Internal error: can't hash `%s': %s\n" msgstr "" -#: config/tc-hppa.c:8355 config/tc-i860.c:236 +#: config/tc-hppa.c:8349 config/tc-i860.c:235 #, c-format msgid "internal error: losing opcode: `%s' \"%s\"\n" msgstr "" -#: config/tc-i370.c:419 config/tc-ppc.c:1218 config/tc-s390.c:432 -#: config/tc-s390.c:439 +#: config/tc-i370.c:418 config/tc-ppc.c:1219 config/tc-s390.c:431 +#: config/tc-s390.c:438 #, c-format msgid "invalid switch -m%s" msgstr "" -#: config/tc-i370.c:516 config/tc-s390.c:519 +#: config/tc-i370.c:515 config/tc-s390.c:518 #, c-format msgid "Internal assembler error for instruction %s" msgstr "" -#: config/tc-i370.c:535 +#: config/tc-i370.c:534 #, c-format msgid "Internal assembler error for macro %s" msgstr "" -#: config/tc-i370.c:630 config/tc-ppc.c:1995 +#: config/tc-i370.c:629 config/tc-ppc.c:2014 msgid "identifier+constant@got means identifier@got+constant" msgstr "" -#: config/tc-i370.c:684 config/tc-m68k.c:8079 config/tc-ppc.c:2083 +#: config/tc-i370.c:683 config/tc-m68k.c:8074 #, c-format msgid "%s relocations do not fit in %d bytes\n" msgstr "" -#: config/tc-i370.c:926 config/tc-i370.c:966 +#: config/tc-i370.c:925 config/tc-i370.c:965 msgid "unsupported DC type" msgstr "" -#: config/tc-i370.c:938 config/tc-i370.c:948 config/tc-i370.c:1530 -#: config/tc-i370.c:1541 +#: config/tc-i370.c:937 config/tc-i370.c:947 config/tc-i370.c:1529 +#: config/tc-i370.c:1540 msgid "missing end-quote" msgstr "" -#: config/tc-i370.c:996 +#: config/tc-i370.c:995 msgid "unsupported alignment" msgstr "" -#: config/tc-i370.c:1003 +#: config/tc-i370.c:1002 msgid "this DS form not yet supported" msgstr "" -#: config/tc-i370.c:1046 config/tc-m32r.c:1493 config/tc-microblaze.c:191 +#: config/tc-i370.c:1045 config/tc-m32r.c:1492 config/tc-microblaze.c:191 msgid "Expected comma after symbol-name: rest of line ignored." msgstr "" -#: config/tc-i370.c:1069 config/tc-m32r.c:1517 config/tc-microblaze.c:213 -#: config/tc-ppc.c:2170 config/tc-ppc.c:3653 config/tc-ppc.c:3696 -#: config/tc-ppc.c:5280 +#: config/tc-i370.c:1068 config/tc-m32r.c:1516 config/tc-microblaze.c:213 +#: config/tc-ppc.c:2175 config/tc-ppc.c:3661 config/tc-ppc.c:3704 +#: config/tc-ppc.c:5288 msgid "ignoring bad alignment" msgstr "" -#: config/tc-i370.c:1080 config/tc-m32r.c:1544 config/tc-microblaze.c:224 +#: config/tc-i370.c:1079 config/tc-m32r.c:1543 config/tc-microblaze.c:224 #, c-format msgid "Ignoring attempt to re-define symbol `%s'." msgstr "" -#: config/tc-i370.c:1088 config/tc-microblaze.c:232 +#: config/tc-i370.c:1087 config/tc-microblaze.c:232 #, c-format msgid "Length of .lcomm \"%s\" is already %ld. Not changed to %ld." msgstr "" -#: config/tc-i370.c:1107 config/tc-m32r.c:1529 config/tc-microblaze.c:248 -#: config/tc-v850.c:384 +#: config/tc-i370.c:1106 config/tc-m32r.c:1528 config/tc-microblaze.c:248 +#: config/tc-v850.c:381 msgid "Common alignment not a power of 2" msgstr "" -#: config/tc-i370.c:1245 +#: config/tc-i370.c:1244 msgid "Missing or bad .using directive" msgstr "" -#: config/tc-i370.c:1290 +#: config/tc-i370.c:1289 msgid "Literal Pool Overflow" msgstr "" -#: config/tc-i370.c:1588 +#: config/tc-i370.c:1587 msgid "expression not a constant" msgstr "" -#: config/tc-i370.c:1595 +#: config/tc-i370.c:1594 msgid "Unknown/unsupported address literal type" msgstr "" -#: config/tc-i370.c:1618 +#: config/tc-i370.c:1617 #, c-format msgid ".ltorg without prior .using in section %s" msgstr "" -#: config/tc-i370.c:1622 +#: config/tc-i370.c:1621 #, c-format msgid ".ltorg in section %s paired to .using in section %s" msgstr "" -#: config/tc-i370.c:1645 +#: config/tc-i370.c:1644 #, c-format msgid "bad alignment of %d bytes in literal pool" msgstr "" -#: config/tc-i370.c:1669 +#: config/tc-i370.c:1668 msgid "bad literal size\n" msgstr "" -#: config/tc-i370.c:1743 +#: config/tc-i370.c:1742 msgid ".using: base address expression illegal or too complex" msgstr "" -#: config/tc-i370.c:1778 config/tc-i370.c:1787 +#: config/tc-i370.c:1777 config/tc-i370.c:1786 #, c-format msgid "droping register %d in section %s does not match using register %d" msgstr "" -#: config/tc-i370.c:1791 +#: config/tc-i370.c:1790 #, c-format msgid "droping register %d in section %s previously used in section %s" msgstr "" -#: config/tc-i370.c:1847 config/tc-ppc.c:3490 +#: config/tc-i370.c:1846 config/tc-ppc.c:3493 msgid "wrong number of operands" msgstr "" -#: config/tc-i370.c:1928 config/tc-mn10200.c:899 config/tc-mn10300.c:1253 -#: config/tc-s390.c:1608 config/tc-v850.c:2313 +#: config/tc-i370.c:1927 config/tc-mn10200.c:899 config/tc-mn10300.c:1253 +#: config/tc-s390.c:1607 config/tc-v850.c:2316 #, c-format msgid "Unrecognized opcode: `%s'" msgstr "" -#: config/tc-i370.c:2071 +#: config/tc-i370.c:2070 msgid "not using any base register" msgstr "" -#: config/tc-i370.c:2101 +#: config/tc-i370.c:2100 #, c-format msgid "expecting a register for operand %d" msgstr "" #. Not used --- don't have any 8 byte instructions. -#: config/tc-i370.c:2222 +#: config/tc-i370.c:2221 msgid "Internal Error: bad instruction length" msgstr "" -#: config/tc-i386.c:2077 +#: config/tc-i386.c:2101 #, c-format msgid "%s shortened to %s" msgstr "" -#: config/tc-i386.c:2163 +#: config/tc-i386.c:2187 msgid "same type of prefix used twice" msgstr "" -#: config/tc-i386.c:2190 +#: config/tc-i386.c:2214 #, c-format msgid "64bit mode not supported on `%s'." msgstr "" -#: config/tc-i386.c:2199 +#: config/tc-i386.c:2223 #, c-format msgid "32bit mode not supported on `%s'." msgstr "" -#: config/tc-i386.c:2239 +#: config/tc-i386.c:2263 msgid "bad argument to syntax directive." msgstr "" -#: config/tc-i386.c:2302 +#: config/tc-i386.c:2326 #, c-format msgid "bad argument to %s_check directive." msgstr "" -#: config/tc-i386.c:2306 +#: config/tc-i386.c:2330 #, c-format msgid "missing argument for %s_check directive" msgstr "" -#: config/tc-i386.c:2341 +#: config/tc-i386.c:2365 #, c-format msgid "`%s' is not supported on `%s'" msgstr "" -#: config/tc-i386.c:2415 +#: config/tc-i386.c:2439 #, c-format msgid "no such architecture: `%s'" msgstr "" -#: config/tc-i386.c:2420 +#: config/tc-i386.c:2444 msgid "missing cpu architecture" msgstr "" -#: config/tc-i386.c:2434 +#: config/tc-i386.c:2458 #, c-format msgid "no such architecture modifier: `%s'" msgstr "" -#: config/tc-i386.c:2449 config/tc-i386.c:2472 +#: config/tc-i386.c:2473 config/tc-i386.c:2496 msgid "Intel L1OM is 64bit ELF only" msgstr "" -#: config/tc-i386.c:2456 config/tc-i386.c:2479 +#: config/tc-i386.c:2480 config/tc-i386.c:2503 msgid "Intel K1OM is 64bit ELF only" msgstr "" -#: config/tc-i386.c:2490 config/tc-i386.c:9976 +#: config/tc-i386.c:2514 config/tc-i386.c:10086 msgid "unknown architecture" msgstr "" -#: config/tc-i386.c:2524 config/tc-i386.c:2546 +#: config/tc-i386.c:2548 config/tc-i386.c:2570 #, c-format msgid "can't hash %s: %s" msgstr "" -#: config/tc-i386.c:2839 +#: config/tc-i386.c:2864 msgid "there are no pc-relative size relocations" msgstr "" -#: config/tc-i386.c:2849 +#: config/tc-i386.c:2876 #, c-format msgid "unknown relocation (%u)" msgstr "" -#: config/tc-i386.c:2851 +#: config/tc-i386.c:2878 #, c-format msgid "%u-byte relocation cannot be applied to %u-byte field" msgstr "" -#: config/tc-i386.c:2855 +#: config/tc-i386.c:2882 msgid "non-pc-relative relocation for pc-relative field" msgstr "" -#: config/tc-i386.c:2860 +#: config/tc-i386.c:2887 msgid "relocated field and relocation type differ in signedness" msgstr "" -#: config/tc-i386.c:2869 +#: config/tc-i386.c:2896 msgid "there are no unsigned pc-relative relocations" msgstr "" -#: config/tc-i386.c:2879 +#: config/tc-i386.c:2906 #, c-format msgid "cannot do %u byte pc-relative relocation" msgstr "" -#: config/tc-i386.c:2896 +#: config/tc-i386.c:2923 #, c-format msgid "cannot do %s %u byte relocation" msgstr "" -#: config/tc-i386.c:3352 +#: config/tc-i386.c:3373 #, c-format msgid "can't use register '%s%s' as operand %d in '%s'." msgstr "" -#: config/tc-i386.c:3391 config/tc-i386.c:3528 +#: config/tc-i386.c:3412 config/tc-i386.c:3549 #, c-format msgid "invalid instruction `%s' after `%s'" msgstr "" -#: config/tc-i386.c:3397 +#: config/tc-i386.c:3418 #, c-format msgid "missing `lock' with `%s'" msgstr "" -#: config/tc-i386.c:3404 +#: config/tc-i386.c:3425 #, c-format msgid "instruction `%s' after `xacquire' not allowed" msgstr "" -#: config/tc-i386.c:3411 +#: config/tc-i386.c:3432 #, c-format msgid "memory destination needed for instruction `%s' after `xrelease'" msgstr "" -#: config/tc-i386.c:3502 +#: config/tc-i386.c:3523 #, c-format msgid "SSE instruction `%s' is used" msgstr "" -#: config/tc-i386.c:3516 config/tc-i386.c:5263 +#: config/tc-i386.c:3537 config/tc-i386.c:5297 #, c-format msgid "ambiguous operand size for `%s'" msgstr "" -#: config/tc-i386.c:3541 +#: config/tc-i386.c:3562 msgid "expecting lockable instruction after `lock'" msgstr "" -#: config/tc-i386.c:3551 +#: config/tc-i386.c:3572 msgid "expecting valid branch instruction after `bnd'" msgstr "" -#: config/tc-i386.c:3556 +#: config/tc-i386.c:3577 msgid "32-bit address isn't allowed in 64-bit MPX instructions." msgstr "" #. UnixWare fsub no args is alias for fsubp, fadd -> faddp, etc. -#: config/tc-i386.c:3611 +#: config/tc-i386.c:3632 #, c-format msgid "translating to `%sp'" msgstr "" -#: config/tc-i386.c:3669 +#: config/tc-i386.c:3639 +#, c-format +msgid "instruction `%s' isn't supported in 16-bit mode." +msgstr "" + +#: config/tc-i386.c:3699 #, c-format msgid "can't encode register '%s%s' in an instruction requiring REX prefix." msgstr "" -#: config/tc-i386.c:3709 config/tc-i386.c:3850 +#: config/tc-i386.c:3739 config/tc-i386.c:3880 #, c-format msgid "no such instruction: `%s'" msgstr "" -#: config/tc-i386.c:3720 config/tc-i386.c:3883 +#: config/tc-i386.c:3750 config/tc-i386.c:3913 #, c-format msgid "invalid character %s in mnemonic" msgstr "" -#: config/tc-i386.c:3727 +#: config/tc-i386.c:3757 msgid "expecting prefix; got nothing" msgstr "" -#: config/tc-i386.c:3729 +#: config/tc-i386.c:3759 msgid "expecting mnemonic; got nothing" msgstr "" -#: config/tc-i386.c:3744 config/tc-i386.c:3901 +#: config/tc-i386.c:3774 config/tc-i386.c:3931 #, c-format msgid "`%s' is only supported in 64-bit mode" msgstr "" -#: config/tc-i386.c:3745 config/tc-i386.c:3900 +#: config/tc-i386.c:3775 config/tc-i386.c:3930 #, c-format msgid "`%s' is not supported in 64-bit mode" msgstr "" -#: config/tc-i386.c:3757 +#: config/tc-i386.c:3787 #, c-format msgid "redundant %s prefix" msgstr "" -#: config/tc-i386.c:3907 +#: config/tc-i386.c:3937 #, c-format msgid "`%s' is not supported on `%s%s'" msgstr "" -#: config/tc-i386.c:3918 +#: config/tc-i386.c:3948 msgid "use .code16 to ensure correct addressing mode" msgstr "" -#: config/tc-i386.c:3942 +#: config/tc-i386.c:3972 #, c-format msgid "invalid character %s before operand %d" msgstr "" -#: config/tc-i386.c:3956 +#: config/tc-i386.c:3986 #, c-format msgid "unbalanced parenthesis in operand %d." msgstr "" -#: config/tc-i386.c:3959 +#: config/tc-i386.c:3989 #, c-format msgid "unbalanced brackets in operand %d." msgstr "" -#: config/tc-i386.c:3968 +#: config/tc-i386.c:3998 #, c-format msgid "invalid character %s in operand %d" msgstr "" -#: config/tc-i386.c:3996 +#: config/tc-i386.c:4026 #, c-format msgid "spurious operands; (%d operands/instruction max)" msgstr "" -#: config/tc-i386.c:4019 +#: config/tc-i386.c:4049 msgid "expecting operand after ','; got nothing" msgstr "" -#: config/tc-i386.c:4024 +#: config/tc-i386.c:4054 msgid "expecting operand before ','; got nothing" msgstr "" -#: config/tc-i386.c:4394 +#: config/tc-i386.c:4424 msgid "mask, index, and destination registers should be distinct" msgstr "" -#: config/tc-i386.c:4409 +#: config/tc-i386.c:4439 msgid "index and destination registers should be distinct" msgstr "" -#: config/tc-i386.c:4923 +#: config/tc-i386.c:4957 msgid "operand size mismatch" msgstr "" -#: config/tc-i386.c:4926 +#: config/tc-i386.c:4960 msgid "operand type mismatch" msgstr "" -#: config/tc-i386.c:4929 +#: config/tc-i386.c:4963 msgid "register type mismatch" msgstr "" -#: config/tc-i386.c:4932 +#: config/tc-i386.c:4966 msgid "number of operands mismatch" msgstr "" -#: config/tc-i386.c:4935 +#: config/tc-i386.c:4969 msgid "invalid instruction suffix" msgstr "" -#: config/tc-i386.c:4938 +#: config/tc-i386.c:4972 msgid "constant doesn't fit in 4 bits" msgstr "" -#: config/tc-i386.c:4941 +#: config/tc-i386.c:4975 msgid "only supported with old gcc" msgstr "" -#: config/tc-i386.c:4944 +#: config/tc-i386.c:4978 msgid "unsupported with Intel mnemonic" msgstr "" -#: config/tc-i386.c:4947 +#: config/tc-i386.c:4981 msgid "unsupported syntax" msgstr "" -#: config/tc-i386.c:4950 +#: config/tc-i386.c:4984 #, c-format msgid "unsupported instruction `%s'" msgstr "" -#: config/tc-i386.c:4954 +#: config/tc-i386.c:4988 msgid "invalid VSIB address" msgstr "" -#: config/tc-i386.c:4957 +#: config/tc-i386.c:4991 msgid "mask, index, and destination registers must be distinct" msgstr "" -#: config/tc-i386.c:4960 +#: config/tc-i386.c:4994 msgid "unsupported vector index register" msgstr "" -#: config/tc-i386.c:4963 +#: config/tc-i386.c:4997 msgid "unsupported broadcast" msgstr "" -#: config/tc-i386.c:4966 +#: config/tc-i386.c:5000 msgid "broadcast not on source memory operand" msgstr "" -#: config/tc-i386.c:4969 +#: config/tc-i386.c:5003 msgid "broadcast is needed for operand of such type" msgstr "" -#: config/tc-i386.c:4972 +#: config/tc-i386.c:5006 msgid "unsupported masking" msgstr "" -#: config/tc-i386.c:4975 +#: config/tc-i386.c:5009 msgid "mask not on destination operand" msgstr "" -#: config/tc-i386.c:4978 +#: config/tc-i386.c:5012 msgid "default mask isn't allowed" msgstr "" -#: config/tc-i386.c:4981 +#: config/tc-i386.c:5015 msgid "unsupported static rounding/sae" msgstr "" -#: config/tc-i386.c:4985 +#: config/tc-i386.c:5019 msgid "RC/SAE operand must precede immediate operands" msgstr "" -#: config/tc-i386.c:4987 +#: config/tc-i386.c:5021 msgid "RC/SAE operand must follow immediate operands" msgstr "" -#: config/tc-i386.c:4990 config/tc-metag.c:4788 config/tc-metag.c:5529 +#: config/tc-i386.c:5024 config/tc-metag.c:4788 config/tc-metag.c:5529 #: config/tc-metag.c:5551 msgid "invalid register operand" msgstr "" -#: config/tc-i386.c:4993 +#: config/tc-i386.c:5027 #, c-format msgid "%s for `%s'" msgstr "" -#: config/tc-i386.c:5004 +#: config/tc-i386.c:5038 #, c-format msgid "indirect %s without `*'" msgstr "" #. Warn them that a data or address size prefix doesn't #. affect assembly of the next line of code. -#: config/tc-i386.c:5012 +#: config/tc-i386.c:5046 #, c-format msgid "stand-alone `%s' prefix" msgstr "" -#: config/tc-i386.c:5046 config/tc-i386.c:5062 +#: config/tc-i386.c:5080 config/tc-i386.c:5096 #, c-format msgid "`%s' operand %d must use `%ses' segment" msgstr "" #. We have to know the operand size for crc32. -#: config/tc-i386.c:5116 +#: config/tc-i386.c:5150 #, c-format msgid "ambiguous memory operand size for `%s`" msgstr "" -#: config/tc-i386.c:5236 +#: config/tc-i386.c:5270 msgid "" "no instruction mnemonic suffix given and no register operands; can't size " "instruction" msgstr "" -#: config/tc-i386.c:5378 config/tc-i386.c:5452 config/tc-i386.c:5563 +#: config/tc-i386.c:5412 config/tc-i386.c:5486 config/tc-i386.c:5597 #, c-format msgid "using `%s%s' instead of `%s%s' due to `%c' suffix" msgstr "" -#: config/tc-i386.c:5405 config/tc-i386.c:5429 config/tc-i386.c:5494 -#: config/tc-i386.c:5539 +#: config/tc-i386.c:5439 config/tc-i386.c:5463 config/tc-i386.c:5528 +#: config/tc-i386.c:5573 #, c-format msgid "`%s%s' not allowed with `%s%c'" msgstr "" -#: config/tc-i386.c:5446 config/tc-i386.c:5472 config/tc-i386.c:5518 -#: config/tc-i386.c:5557 +#: config/tc-i386.c:5480 config/tc-i386.c:5506 config/tc-i386.c:5552 +#: config/tc-i386.c:5591 #, c-format msgid "incorrect register `%s%s' used with `%c' suffix" msgstr "" -#: config/tc-i386.c:5626 +#: config/tc-i386.c:5660 msgid "no instruction mnemonic suffix given; can't determine immediate size" msgstr "" -#: config/tc-i386.c:5662 +#: config/tc-i386.c:5696 #, c-format msgid "the last operand of `%s' must be `%s%s'" msgstr "" -#: config/tc-i386.c:5665 +#: config/tc-i386.c:5699 #, c-format msgid "the first operand of `%s' must be `%s%s'" msgstr "" -#: config/tc-i386.c:5814 +#: config/tc-i386.c:5848 #, c-format msgid "you can't `pop %scs'" msgstr "" #. Reversed arguments on faddp, fsubp, etc. -#: config/tc-i386.c:5843 +#: config/tc-i386.c:5877 #, c-format msgid "translating to `%s %s%s,%s%s'" msgstr "" #. Extraneous `l' suffix on fp insn. -#: config/tc-i386.c:5850 +#: config/tc-i386.c:5884 #, c-format msgid "translating to `%s %s%s'" msgstr "" -#: config/tc-i386.c:5878 +#: config/tc-i386.c:5912 #, c-format msgid "segment override on `%s' is ineffectual" msgstr "" -#: config/tc-i386.c:6694 config/tc-i386.c:6801 config/tc-i386.c:6858 +#: config/tc-i386.c:6728 config/tc-i386.c:6835 config/tc-i386.c:6892 msgid "skipping prefixes on this instruction" msgstr "" -#: config/tc-i386.c:6878 +#: config/tc-i386.c:6912 msgid "16-bit jump out of range" msgstr "" -#: config/tc-i386.c:6887 +#: config/tc-i386.c:6921 #, c-format msgid "can't handle non absolute segment in `%s'" msgstr "" -#: config/tc-i386.c:7515 config/tc-i386.c:7618 +#: config/tc-i386.c:7555 config/tc-i386.c:7658 #, c-format msgid "@%s reloc is not supported with %d-bit output format" msgstr "" -#: config/tc-i386.c:7667 +#: config/tc-i386.c:7709 #, c-format msgid "missing or invalid expression `%s'" msgstr "" -#: config/tc-i386.c:7747 +#: config/tc-i386.c:7795 #, c-format msgid "Unsupported broadcast: `%s'" msgstr "" -#: config/tc-i386.c:7762 +#: config/tc-i386.c:7810 #, c-format msgid "`%s' can't be used for write mask" msgstr "" -#: config/tc-i386.c:7785 +#: config/tc-i386.c:7833 #, c-format msgid "invalid write mask `%s'" msgstr "" -#: config/tc-i386.c:7807 config/tc-i386.c:8439 +#: config/tc-i386.c:7855 config/tc-i386.c:8487 #, c-format msgid "duplicated `%s'" msgstr "" -#: config/tc-i386.c:7817 +#: config/tc-i386.c:7865 #, c-format msgid "invalid zeroing-masking `%s'" msgstr "" -#: config/tc-i386.c:7830 +#: config/tc-i386.c:7878 #, c-format msgid "missing `}' in `%s'" msgstr "" #. We don't know this one. -#: config/tc-i386.c:7838 +#: config/tc-i386.c:7886 #, c-format msgid "unknown vector operation: `%s'" msgstr "" -#: config/tc-i386.c:7858 +#: config/tc-i386.c:7906 #, c-format msgid "at most %d immediate operands are allowed" msgstr "" -#: config/tc-i386.c:7892 config/tc-i386.c:8141 +#: config/tc-i386.c:7940 config/tc-i386.c:8189 #, c-format msgid "junk `%s' after expression" msgstr "" -#: config/tc-i386.c:7913 +#: config/tc-i386.c:7961 #, c-format msgid "missing or invalid immediate expression `%s'" msgstr "" -#: config/tc-i386.c:7936 config/tc-i386.c:8231 +#: config/tc-i386.c:7984 config/tc-i386.c:8279 #, c-format msgid "unimplemented segment %s in operand" msgstr "" -#: config/tc-i386.c:7943 +#: config/tc-i386.c:7991 #, c-format msgid "illegal immediate register operand %s" msgstr "" -#: config/tc-i386.c:7991 +#: config/tc-i386.c:8039 #, c-format msgid "expecting scale factor of 1, 2, 4, or 8: got `%s'" msgstr "" -#: config/tc-i386.c:8000 +#: config/tc-i386.c:8048 #, c-format msgid "scale factor of %d without an index register" msgstr "" -#: config/tc-i386.c:8022 +#: config/tc-i386.c:8070 #, c-format msgid "at most %d displacement operands are allowed" msgstr "" -#: config/tc-i386.c:8197 +#: config/tc-i386.c:8245 #, c-format msgid "missing or invalid displacement expression `%s'" msgstr "" -#: config/tc-i386.c:8214 +#: config/tc-i386.c:8262 #, c-format msgid "0x%lx out range of signed 32bit displacement" msgstr "" -#: config/tc-i386.c:8354 +#: config/tc-i386.c:8402 #, c-format msgid "`%s' is not valid here (expected `%c%s%s%c')" msgstr "" -#: config/tc-i386.c:8366 +#: config/tc-i386.c:8414 #, c-format msgid "`%s' is not a valid %s expression" msgstr "" -#: config/tc-i386.c:8452 +#: config/tc-i386.c:8500 #, c-format msgid "Missing '}': '%s'" msgstr "" -#: config/tc-i386.c:8458 +#: config/tc-i386.c:8506 #, c-format msgid "Junk after '}': '%s'" msgstr "" -#: config/tc-i386.c:8543 +#: config/tc-i386.c:8591 #, c-format msgid "bad memory operand `%s'" msgstr "" -#: config/tc-i386.c:8567 +#: config/tc-i386.c:8615 #, c-format msgid "junk `%s' after register" msgstr "" -#: config/tc-i386.c:8580 config/tc-i386.c:8714 config/tc-i386.c:8758 +#: config/tc-i386.c:8628 config/tc-i386.c:8762 config/tc-i386.c:8806 #, c-format msgid "bad register name `%s'" msgstr "" -#: config/tc-i386.c:8588 +#: config/tc-i386.c:8636 msgid "immediate operand illegal with absolute jump" msgstr "" -#: config/tc-i386.c:8616 +#: config/tc-i386.c:8664 #, c-format msgid "too many memory references for `%s'" msgstr "" -#: config/tc-i386.c:8703 +#: config/tc-i386.c:8751 #, c-format msgid "expecting `,' or `)' after index register in `%s'" msgstr "" -#: config/tc-i386.c:8731 +#: config/tc-i386.c:8779 #, c-format msgid "expecting `)' after scale factor in `%s'" msgstr "" -#: config/tc-i386.c:8739 +#: config/tc-i386.c:8787 #, c-format msgid "expecting index register or scale factor after `,'; got '%c'" msgstr "" -#: config/tc-i386.c:8747 +#: config/tc-i386.c:8795 #, c-format msgid "expecting `,' or `)' after base register in `%s'" msgstr "" #. It's not a memory operand; argh! -#: config/tc-i386.c:8794 +#: config/tc-i386.c:8842 #, c-format msgid "invalid char %s beginning operand %d `%s'" msgstr "" -#: config/tc-i386.c:8984 +#: config/tc-i386.c:9032 msgid "long jump required" msgstr "" -#: config/tc-i386.c:9039 +#: config/tc-i386.c:9087 msgid "jump target out of range" msgstr "" -#: config/tc-i386.c:9579 +#: config/tc-i386.c:9650 msgid "no compiled in support for x86_64" msgstr "" -#: config/tc-i386.c:9599 +#: config/tc-i386.c:9670 msgid "no compiled in support for 32bit x86_64" msgstr "" -#: config/tc-i386.c:9603 +#: config/tc-i386.c:9674 msgid "32bit x86_64 is only supported for ELF" msgstr "" -#: config/tc-i386.c:9633 config/tc-i386.c:9689 +#: config/tc-i386.c:9704 config/tc-i386.c:9760 #, c-format msgid "invalid -march= option: `%s'" msgstr "" -#: config/tc-i386.c:9698 config/tc-i386.c:9710 +#: config/tc-i386.c:9769 config/tc-i386.c:9781 #, c-format msgid "invalid -mtune= option: `%s'" msgstr "" -#: config/tc-i386.c:9719 +#: config/tc-i386.c:9790 #, c-format msgid "invalid -mmnemonic= option: `%s'" msgstr "" -#: config/tc-i386.c:9728 +#: config/tc-i386.c:9799 #, c-format msgid "invalid -msyntax= option: `%s'" msgstr "" -#: config/tc-i386.c:9755 +#: config/tc-i386.c:9826 #, c-format msgid "invalid -msse-check= option: `%s'" msgstr "" -#: config/tc-i386.c:9766 +#: config/tc-i386.c:9837 #, c-format msgid "invalid -moperand-check= option: `%s'" msgstr "" -#: config/tc-i386.c:9775 +#: config/tc-i386.c:9846 #, c-format msgid "invalid -mavxscalar= option: `%s'" msgstr "" -#: config/tc-i386.c:9790 +#: config/tc-i386.c:9861 #, c-format msgid "invalid -mevexlig= option: `%s'" msgstr "" -#: config/tc-i386.c:9799 +#: config/tc-i386.c:9874 +#, c-format +msgid "invalid -mevexrcig= option: `%s'" +msgstr "" + +#: config/tc-i386.c:9883 #, c-format msgid "invalid -mevexwig= option: `%s'" msgstr "" -#: config/tc-i386.c:9891 +#: config/tc-i386.c:9898 +#, c-format +msgid "invalid -momit-lock-prefix= option: `%s'" +msgstr "" + +#: config/tc-i386.c:9990 #, c-format msgid "" " -Q ignored\n" @@ -7319,34 +7427,34 @@ msgid "" " -k ignored\n" msgstr "" -#: config/tc-i386.c:9896 +#: config/tc-i386.c:9995 #, c-format msgid "" " -n Do not optimize code alignment\n" " -q quieten some warnings\n" msgstr "" -#: config/tc-i386.c:9900 +#: config/tc-i386.c:9999 #, c-format msgid " -s ignored\n" msgstr "" -#: config/tc-i386.c:9905 +#: config/tc-i386.c:10004 #, c-format msgid " --32/--64/--x32 generate 32bit/64bit/x32 code\n" msgstr "" -#: config/tc-i386.c:9909 +#: config/tc-i386.c:10008 #, c-format msgid " --divide do not treat `/' as a comment character\n" msgstr "" -#: config/tc-i386.c:9912 +#: config/tc-i386.c:10011 #, c-format msgid " --divide ignored\n" msgstr "" -#: config/tc-i386.c:9915 +#: config/tc-i386.c:10014 #, c-format msgid "" " -march=CPU[,+EXTENSION...]\n" @@ -7354,36 +7462,36 @@ msgid "" "of:\n" msgstr "" -#: config/tc-i386.c:9919 +#: config/tc-i386.c:10018 #, c-format msgid " EXTENSION is combination of:\n" msgstr "" -#: config/tc-i386.c:9922 +#: config/tc-i386.c:10021 #, c-format msgid " -mtune=CPU optimize for CPU, CPU is one of:\n" msgstr "" -#: config/tc-i386.c:9925 +#: config/tc-i386.c:10024 #, c-format msgid " -msse2avx encode SSE instructions with VEX prefix\n" msgstr "" -#: config/tc-i386.c:9927 +#: config/tc-i386.c:10026 #, c-format msgid "" " -msse-check=[none|error|warning]\n" " check SSE instructions\n" msgstr "" -#: config/tc-i386.c:9930 +#: config/tc-i386.c:10029 #, c-format msgid "" " -moperand-check=[none|error|warning]\n" " check operand combinations for validity\n" msgstr "" -#: config/tc-i386.c:9933 +#: config/tc-i386.c:10032 #, c-format msgid "" " -mavxscalar=[128|256] encode scalar AVX instructions with specific " @@ -7391,7 +7499,7 @@ msgid "" " length\n" msgstr "" -#: config/tc-i386.c:9936 +#: config/tc-i386.c:10035 #, c-format msgid "" " -mevexlig=[128|256|512] encode scalar EVEX instructions with specific " @@ -7399,7 +7507,7 @@ msgid "" " length\n" msgstr "" -#: config/tc-i386.c:9939 +#: config/tc-i386.c:10038 #, c-format msgid "" " -mevexwig=[0|1] encode EVEX instructions with specific EVEX.W " @@ -7407,144 +7515,165 @@ msgid "" " for EVEX.W bit ignored instructions\n" msgstr "" -#: config/tc-i386.c:9942 +#: config/tc-i386.c:10041 +#, c-format +msgid "" +" -mevexrcig=[rne|rd|ru|rz]\n" +" encode EVEX instructions with specific EVEX.RC " +"value\n" +" for SAE-only ignored instructions\n" +msgstr "" + +#: config/tc-i386.c:10045 #, c-format msgid " -mmnemonic=[att|intel] use AT&T/Intel mnemonic\n" msgstr "" -#: config/tc-i386.c:9944 +#: config/tc-i386.c:10047 #, c-format msgid " -msyntax=[att|intel] use AT&T/Intel syntax\n" msgstr "" -#: config/tc-i386.c:9946 +#: config/tc-i386.c:10049 #, c-format msgid " -mindex-reg support pseudo index registers\n" msgstr "" -#: config/tc-i386.c:9948 +#: config/tc-i386.c:10051 #, c-format msgid " -mnaked-reg don't require `%%' prefix for registers\n" msgstr "" -#: config/tc-i386.c:9950 +#: config/tc-i386.c:10053 #, c-format msgid " -mold-gcc support old (<= 2.8.1) versions of gcc\n" msgstr "" -#: config/tc-i386.c:9952 +#: config/tc-i386.c:10055 #, c-format msgid " -madd-bnd-prefix add BND prefix for all valid branches\n" msgstr "" -#: config/tc-i386.c:10026 +#: config/tc-i386.c:10058 +#, c-format +msgid " -mbig-obj generate big object files\n" +msgstr "" + +#: config/tc-i386.c:10061 +#, c-format +msgid "" +" -momit-lock-prefix=[no|yes]\n" +" strip all lock prefixes\n" +msgstr "" + +#: config/tc-i386.c:10139 msgid "Intel L1OM is 64bit only" msgstr "" -#: config/tc-i386.c:10032 +#: config/tc-i386.c:10145 msgid "Intel K1OM is 64bit only" msgstr "" -#: config/tc-i386.c:10213 +#: config/tc-i386.c:10326 msgid "symbol size computation overflow" msgstr "" -#: config/tc-i386.c:10277 +#: config/tc-i386.c:10390 #, c-format msgid "can not do %d byte pc-relative relocation" msgstr "" -#: config/tc-i386.c:10298 +#: config/tc-i386.c:10411 #, c-format msgid "can not do %d byte relocation" msgstr "" -#: config/tc-i386.c:10366 +#: config/tc-i386.c:10479 #, c-format msgid "cannot represent relocation type %s in x32 mode" msgstr "" -#: config/tc-i386.c:10402 config/tc-s390.c:2479 +#: config/tc-i386.c:10515 config/tc-s390.c:2478 #, c-format msgid "cannot represent relocation type %s" msgstr "" -#: config/tc-i386.c:10519 +#: config/tc-i386.c:10632 msgid "bad .section directive: want a,l,w,x,M,S,G,T in string" msgstr "" -#: config/tc-i386.c:10522 +#: config/tc-i386.c:10635 msgid "bad .section directive: want a,w,x,M,S,G,T in string" msgstr "" -#: config/tc-i386.c:10541 +#: config/tc-i386.c:10654 msgid ".largecomm supported only in 64bit mode, producing .comm" msgstr "" -#: config/tc-i860.c:122 +#: config/tc-i860.c:121 msgid "Directive .dual available only with -mintel-syntax option" msgstr "" -#: config/tc-i860.c:132 +#: config/tc-i860.c:131 msgid "Directive .enddual available only with -mintel-syntax option" msgstr "" -#: config/tc-i860.c:145 +#: config/tc-i860.c:144 msgid "Directive .atmp available only with -mintel-syntax option" msgstr "" -#: config/tc-i860.c:167 config/tc-i860.c:171 +#: config/tc-i860.c:166 config/tc-i860.c:170 msgid "Unknown temporary pseudo register" msgstr "" -#: config/tc-i860.c:247 +#: config/tc-i860.c:246 msgid "Defective assembler. No assembly attempted." msgstr "" -#: config/tc-i860.c:393 config/tc-i860.c:939 config/tc-m68k.c:3918 -#: config/tc-m68k.c:3950 config/tc-sparc.c:2897 +#: config/tc-i860.c:392 config/tc-i860.c:938 config/tc-m68k.c:3916 +#: config/tc-m68k.c:3948 config/tc-sparc.c:2978 msgid "failed sanity check." msgstr "" -#: config/tc-i860.c:400 +#: config/tc-i860.c:399 #, c-format msgid "Expanded opcode after delayed branch: `%s'" msgstr "" -#: config/tc-i860.c:404 +#: config/tc-i860.c:403 #, c-format msgid "Expanded opcode in dual mode: `%s'" msgstr "" -#: config/tc-i860.c:408 +#: config/tc-i860.c:407 #, c-format msgid "An instruction was expanded (%s)" msgstr "" -#: config/tc-i860.c:675 +#: config/tc-i860.c:674 msgid "Pipelined instruction: fsrc1 = fdest" msgstr "" -#: config/tc-i860.c:878 config/tc-i860.c:885 config/tc-i860.c:892 +#: config/tc-i860.c:877 config/tc-i860.c:884 config/tc-i860.c:891 msgid "Assembler does not yet support PIC" msgstr "" -#: config/tc-i860.c:956 +#: config/tc-i860.c:955 #, c-format msgid "Illegal operands for %s" msgstr "" -#: config/tc-i860.c:973 +#: config/tc-i860.c:972 #, c-format msgid "'d.%s' must be 8-byte aligned" msgstr "" -#: config/tc-i860.c:981 +#: config/tc-i860.c:980 #, c-format msgid "Prefix 'd.' invalid for instruction `%s'" msgstr "" -#: config/tc-i860.c:1134 +#: config/tc-i860.c:1133 #, c-format msgid "" " -EL\t\t\t generate code for little endian mode (default)\n" @@ -7555,127 +7684,127 @@ msgid "" msgstr "" #. SVR4 compatibility flags. -#: config/tc-i860.c:1142 +#: config/tc-i860.c:1141 #, c-format msgid "" " -V\t\t\t print assembler version number\n" " -Qy, -Qn\t\t ignored\n" msgstr "" -#: config/tc-i860.c:1205 +#: config/tc-i860.c:1204 msgid "This immediate requires 0 MOD 2 alignment" msgstr "" -#: config/tc-i860.c:1208 +#: config/tc-i860.c:1207 msgid "This immediate requires 0 MOD 4 alignment" msgstr "" -#: config/tc-i860.c:1211 +#: config/tc-i860.c:1210 msgid "This immediate requires 0 MOD 8 alignment" msgstr "" -#: config/tc-i860.c:1214 +#: config/tc-i860.c:1213 msgid "This immediate requires 0 MOD 16 alignment" msgstr "" -#: config/tc-i860.c:1309 +#: config/tc-i860.c:1308 msgid "5-bit immediate too large" msgstr "" -#: config/tc-i860.c:1312 +#: config/tc-i860.c:1311 msgid "5-bit field must be absolute" msgstr "" -#: config/tc-i860.c:1357 config/tc-i860.c:1380 +#: config/tc-i860.c:1356 config/tc-i860.c:1379 msgid "A branch offset requires 0 MOD 4 alignment" msgstr "" -#: config/tc-i860.c:1401 +#: config/tc-i860.c:1400 #, c-format msgid "Unrecognized fix-up (0x%08lx)" msgstr "" -#: config/tc-i960.c:486 +#: config/tc-i960.c:483 #, c-format msgid "Hashing returned \"%s\"." msgstr "" -#: config/tc-i960.c:582 config/tc-i960.c:1112 +#: config/tc-i960.c:579 config/tc-i960.c:1109 msgid "expression syntax error" msgstr "" -#: config/tc-i960.c:618 +#: config/tc-i960.c:615 msgid "attempt to branch into different segment" msgstr "" -#: config/tc-i960.c:622 +#: config/tc-i960.c:619 #, c-format msgid "target of %s instruction must be a label" msgstr "" -#: config/tc-i960.c:732 +#: config/tc-i960.c:729 msgid "unaligned register" msgstr "" -#: config/tc-i960.c:754 +#: config/tc-i960.c:751 msgid "no such sfr in this architecture" msgstr "" -#: config/tc-i960.c:792 +#: config/tc-i960.c:789 msgid "illegal literal" msgstr "" -#: config/tc-i960.c:942 +#: config/tc-i960.c:939 msgid "invalid index register" msgstr "" -#: config/tc-i960.c:965 +#: config/tc-i960.c:962 msgid "invalid scale factor" msgstr "" -#: config/tc-i960.c:1189 +#: config/tc-i960.c:1186 msgid "architecture of opcode conflicts with that of earlier instruction(s)" msgstr "" -#: config/tc-i960.c:1423 config/tc-xtensa.c:11519 +#: config/tc-i960.c:1420 config/tc-xtensa.c:12074 msgid "too many operands" msgstr "" #. We never moved: there was no opcode either! -#: config/tc-i960.c:1471 +#: config/tc-i960.c:1468 msgid "missing opcode" msgstr "" -#: config/tc-i960.c:1611 +#: config/tc-i960.c:1608 msgid "branch prediction invalid on this opcode" msgstr "" -#: config/tc-i960.c:1649 +#: config/tc-i960.c:1646 #, c-format msgid "invalid opcode, \"%s\"." msgstr "" -#: config/tc-i960.c:1651 +#: config/tc-i960.c:1648 #, c-format msgid "improper number of operands. expecting %d, got %d" msgstr "" -#: config/tc-i960.c:1751 +#: config/tc-i960.c:1748 #, c-format msgid "Fixup of %ld too large for field width of %d" msgstr "" -#: config/tc-i960.c:1861 +#: config/tc-i960.c:1858 #, c-format msgid "invalid architecture %s" msgstr "" -#: config/tc-i960.c:1881 +#: config/tc-i960.c:1878 #, c-format msgid "I960 options:\n" msgstr "" -#: config/tc-i960.c:1884 +#: config/tc-i960.c:1881 #, c-format msgid "" "\n" @@ -7687,56 +7816,56 @@ msgid "" "\t\t\tlong displacements\n" msgstr "" -#: config/tc-i960.c:2146 +#: config/tc-i960.c:2143 msgid "should have 1 or 2 operands" msgstr "" -#: config/tc-i960.c:2154 config/tc-i960.c:2169 +#: config/tc-i960.c:2151 config/tc-i960.c:2166 #, c-format msgid "Redefining leafproc %s" msgstr "" -#: config/tc-i960.c:2199 +#: config/tc-i960.c:2196 msgid "should have two operands" msgstr "" -#: config/tc-i960.c:2209 +#: config/tc-i960.c:2206 msgid "'entry_num' must be absolute number in [0,31]" msgstr "" -#: config/tc-i960.c:2217 +#: config/tc-i960.c:2214 #, c-format msgid "Redefining entrynum for sysproc %s" msgstr "" #. Should not happen: see block comment above. -#: config/tc-i960.c:2317 +#: config/tc-i960.c:2314 #, c-format msgid "Trying to 'bal' to %s" msgstr "" -#: config/tc-i960.c:2327 +#: config/tc-i960.c:2324 msgid "Looks like a proc, but can't tell what kind.\n" msgstr "" -#: config/tc-i960.c:2346 +#: config/tc-i960.c:2343 msgid "big endian mode is not supported" msgstr "" -#: config/tc-i960.c:2348 +#: config/tc-i960.c:2345 #, c-format msgid "ignoring unrecognized .endian type `%s'" msgstr "" -#: config/tc-i960.c:2393 +#: config/tc-i960.c:2390 msgid "can't use COBR format with external label" msgstr "" -#: config/tc-i960.c:2568 +#: config/tc-i960.c:2565 msgid "option --link-relax is only supported in b.out format" msgstr "" -#: config/tc-i960.c:2595 +#: config/tc-i960.c:2592 #, c-format msgid "No 'bal' entry point for leafproc %s" msgstr "" @@ -7757,7 +7886,7 @@ msgstr "" msgid "Unwind directive not followed by an instruction." msgstr "" -#: config/tc-ia64.c:1025 config/tc-ia64.c:7648 +#: config/tc-ia64.c:1025 config/tc-ia64.c:7649 msgid "qualifying predicate not followed by instruction" msgstr "" @@ -8078,271 +8207,271 @@ msgstr "" msgid "Second operand to .prologue must be the first of %d general registers" msgstr "" -#: config/tc-ia64.c:4499 +#: config/tc-ia64.c:4500 #, c-format msgid "`%s' was not defined within procedure" msgstr "" -#: config/tc-ia64.c:4537 +#: config/tc-ia64.c:4538 msgid "Empty argument of .endp" msgstr "" -#: config/tc-ia64.c:4551 +#: config/tc-ia64.c:4552 #, c-format msgid "`%s' was not specified with previous .proc" msgstr "" -#: config/tc-ia64.c:4566 +#: config/tc-ia64.c:4567 #, c-format msgid "`%s' should be an operand to this .endp" msgstr "" -#: config/tc-ia64.c:4607 config/tc-ia64.c:4945 config/tc-ia64.c:5252 +#: config/tc-ia64.c:4608 config/tc-ia64.c:4946 config/tc-ia64.c:5253 msgid "Comma expected" msgstr "" -#: config/tc-ia64.c:4648 +#: config/tc-ia64.c:4649 msgid "Expected '['" msgstr "" -#: config/tc-ia64.c:4657 config/tc-ia64.c:7783 +#: config/tc-ia64.c:4658 config/tc-ia64.c:7784 msgid "Expected ']'" msgstr "" -#: config/tc-ia64.c:4662 +#: config/tc-ia64.c:4663 msgid "Number of elements must be positive" msgstr "" -#: config/tc-ia64.c:4673 +#: config/tc-ia64.c:4674 #, c-format msgid "Used more than the declared %d rotating registers" msgstr "" -#: config/tc-ia64.c:4681 +#: config/tc-ia64.c:4682 msgid "Used more than the available 96 rotating registers" msgstr "" -#: config/tc-ia64.c:4688 +#: config/tc-ia64.c:4689 msgid "Used more than the available 48 rotating registers" msgstr "" -#: config/tc-ia64.c:4716 +#: config/tc-ia64.c:4717 #, c-format msgid "Attempt to redefine register set `%s'" msgstr "" -#: config/tc-ia64.c:4782 +#: config/tc-ia64.c:4783 #, c-format msgid "Unknown psr option `%s'" msgstr "" -#: config/tc-ia64.c:4830 +#: config/tc-ia64.c:4831 msgid "Missing section name" msgstr "" -#: config/tc-ia64.c:4840 +#: config/tc-ia64.c:4841 msgid "Comma expected after section name" msgstr "" -#: config/tc-ia64.c:4851 +#: config/tc-ia64.c:4852 msgid "Creating sections with .xdataN/.xrealN/.xstringZ is deprecated." msgstr "" -#: config/tc-ia64.c:4940 +#: config/tc-ia64.c:4941 msgid "Register name expected" msgstr "" -#: config/tc-ia64.c:4953 +#: config/tc-ia64.c:4954 msgid "Register value annotation ignored" msgstr "" -#: config/tc-ia64.c:4992 +#: config/tc-ia64.c:4993 msgid "Directive invalid within a bundle" msgstr "" -#: config/tc-ia64.c:5083 +#: config/tc-ia64.c:5084 msgid "Missing predicate relation type" msgstr "" -#: config/tc-ia64.c:5089 +#: config/tc-ia64.c:5090 msgid "Unrecognized predicate relation type" msgstr "" -#: config/tc-ia64.c:5135 +#: config/tc-ia64.c:5136 msgid "Bad register range" msgstr "" -#: config/tc-ia64.c:5144 config/tc-ia64.c:7728 +#: config/tc-ia64.c:5145 config/tc-ia64.c:7729 msgid "Predicate register expected" msgstr "" -#: config/tc-ia64.c:5149 +#: config/tc-ia64.c:5150 msgid "Duplicate predicate register ignored" msgstr "" -#: config/tc-ia64.c:5165 +#: config/tc-ia64.c:5166 msgid "Predicate source and target required" msgstr "" -#: config/tc-ia64.c:5167 config/tc-ia64.c:5179 +#: config/tc-ia64.c:5168 config/tc-ia64.c:5180 msgid "Use of p0 is not valid in this context" msgstr "" -#: config/tc-ia64.c:5174 +#: config/tc-ia64.c:5175 msgid "At least two PR arguments expected" msgstr "" -#: config/tc-ia64.c:5188 +#: config/tc-ia64.c:5189 msgid "At least one PR argument expected" msgstr "" -#: config/tc-ia64.c:5223 +#: config/tc-ia64.c:5224 #, c-format msgid "Inserting \"%s\" into entry hint table failed: %s" msgstr "" #. FIXME -- need 62-bit relocation type -#: config/tc-ia64.c:5702 +#: config/tc-ia64.c:5703 msgid "62-bit relocation not yet implemented" msgstr "" #. XXX technically, this is wrong: we should not be issuing warning #. messages until we're sure this instruction pattern is going to #. be used! -#: config/tc-ia64.c:5788 +#: config/tc-ia64.c:5789 msgid "lower 16 bits of mask ignored" msgstr "" -#: config/tc-ia64.c:6017 +#: config/tc-ia64.c:6018 msgid "stride must be a multiple of 64; lower 6 bits ignored" msgstr "" -#: config/tc-ia64.c:6135 +#: config/tc-ia64.c:6136 msgid "Expected separator `='" msgstr "" -#: config/tc-ia64.c:6169 +#: config/tc-ia64.c:6170 msgid "Duplicate equal sign (=) in instruction" msgstr "" -#: config/tc-ia64.c:6176 +#: config/tc-ia64.c:6177 #, c-format msgid "Illegal operand separator `%c'" msgstr "" -#: config/tc-ia64.c:6291 +#: config/tc-ia64.c:6292 #, c-format msgid "Operand %u of `%s' should be %s" msgstr "" -#: config/tc-ia64.c:6295 +#: config/tc-ia64.c:6296 msgid "Wrong number of output operands" msgstr "" -#: config/tc-ia64.c:6297 +#: config/tc-ia64.c:6298 msgid "Wrong number of input operands" msgstr "" -#: config/tc-ia64.c:6299 +#: config/tc-ia64.c:6300 msgid "Operand mismatch" msgstr "" -#: config/tc-ia64.c:6381 +#: config/tc-ia64.c:6382 #, c-format msgid "Invalid use of `%c%d' as output operand" msgstr "" -#: config/tc-ia64.c:6384 +#: config/tc-ia64.c:6385 #, c-format msgid "Invalid use of `r%d' as base update address operand" msgstr "" -#: config/tc-ia64.c:6408 +#: config/tc-ia64.c:6409 #, c-format msgid "Invalid duplicate use of `%c%d'" msgstr "" -#: config/tc-ia64.c:6415 +#: config/tc-ia64.c:6416 #, c-format msgid "Invalid simultaneous use of `f%d' and `f%d'" msgstr "" -#: config/tc-ia64.c:6421 +#: config/tc-ia64.c:6422 #, c-format msgid "Dangerous simultaneous use of `f%d' and `f%d'" msgstr "" -#: config/tc-ia64.c:6465 +#: config/tc-ia64.c:6466 msgid "Value truncated to 62 bits" msgstr "" -#: config/tc-ia64.c:6533 +#: config/tc-ia64.c:6534 #, c-format msgid "Bad operand value: %s" msgstr "" #. Give an error if a frag containing code is not aligned to a 16 byte #. boundary. -#: config/tc-ia64.c:6608 config/tc-ia64.h:177 +#: config/tc-ia64.c:6609 config/tc-ia64.h:177 msgid "instruction address is not a multiple of 16" msgstr "" -#: config/tc-ia64.c:6676 +#: config/tc-ia64.c:6677 #, c-format msgid "`%s' must be last in bundle" msgstr "" -#: config/tc-ia64.c:6708 +#: config/tc-ia64.c:6709 #, c-format msgid "Internal error: don't know how to force %s to end of instruction group" msgstr "" -#: config/tc-ia64.c:6721 +#: config/tc-ia64.c:6722 #, c-format msgid "`%s' must be last in instruction group" msgstr "" -#: config/tc-ia64.c:6751 +#: config/tc-ia64.c:6752 msgid "Label must be first in a bundle" msgstr "" -#: config/tc-ia64.c:6828 +#: config/tc-ia64.c:6829 msgid "hint in B unit may be treated as nop" msgstr "" -#: config/tc-ia64.c:6839 +#: config/tc-ia64.c:6840 msgid "hint in B unit can't be used" msgstr "" -#: config/tc-ia64.c:6853 +#: config/tc-ia64.c:6854 msgid "emit_one_bundle: unexpected dynamic op" msgstr "" -#: config/tc-ia64.c:6978 +#: config/tc-ia64.c:6979 #, c-format msgid "`%s' does not fit into %s template" msgstr "" -#: config/tc-ia64.c:6993 +#: config/tc-ia64.c:6994 #, c-format msgid "`%s' does not fit into bundle" msgstr "" -#: config/tc-ia64.c:7005 +#: config/tc-ia64.c:7006 #, c-format msgid "`%s' can't go in %s of %s template" msgstr "" -#: config/tc-ia64.c:7011 +#: config/tc-ia64.c:7012 msgid "Missing '}' at end of file" msgstr "" -#: config/tc-ia64.c:7158 +#: config/tc-ia64.c:7159 #, c-format msgid "Unrecognized option '-x%s'" msgstr "" -#: config/tc-ia64.c:7185 +#: config/tc-ia64.c:7186 msgid "" "IA-64 options:\n" " --mconstant-gp\t mark output file as using the constant-GP model\n" @@ -8362,7 +8491,7 @@ msgid "" msgstr "" #. Note for translators: "automagically" can be translated as "automatically" here. -#: config/tc-ia64.c:7202 +#: config/tc-ia64.c:7203 msgid "" " -xauto\t\t automagically remove dependency violations (default)\n" " -xnone\t\t turn off dependency violation checking\n" @@ -8373,315 +8502,315 @@ msgid "" "\t\t\t dependency violation checking\n" msgstr "" -#: config/tc-ia64.c:7217 +#: config/tc-ia64.c:7218 msgid "--gstabs is not supported for ia64" msgstr "" -#: config/tc-ia64.c:7455 +#: config/tc-ia64.c:7456 #, c-format msgid "ia64.md_begin: can't hash `%s': %s" msgstr "" -#: config/tc-ia64.c:7519 +#: config/tc-ia64.c:7520 #, c-format msgid "Inserting \"%s\" into constant hash table failed: %s" msgstr "" -#: config/tc-ia64.c:7531 config/tc-tilegx.c:263 +#: config/tc-ia64.c:7532 config/tc-tilegx.c:263 msgid "Could not set architecture and machine" msgstr "" -#: config/tc-ia64.c:7663 +#: config/tc-ia64.c:7664 msgid "Explicit stops are ignored in auto mode" msgstr "" -#: config/tc-ia64.c:7672 +#: config/tc-ia64.c:7673 msgid "Found '{' when manual bundling is already turned on" msgstr "" -#: config/tc-ia64.c:7685 +#: config/tc-ia64.c:7686 msgid "Found '{' after explicit switch to automatic mode" msgstr "" -#: config/tc-ia64.c:7691 +#: config/tc-ia64.c:7692 msgid "Found '}' when manual bundling is off" msgstr "" -#: config/tc-ia64.c:7718 +#: config/tc-ia64.c:7719 msgid "Expected ')'" msgstr "" -#: config/tc-ia64.c:7723 +#: config/tc-ia64.c:7724 msgid "Qualifying predicate expected" msgstr "" -#: config/tc-ia64.c:7742 +#: config/tc-ia64.c:7743 msgid "Tag must come before qualifying predicate." msgstr "" -#: config/tc-ia64.c:7772 +#: config/tc-ia64.c:7773 msgid "Expected ':'" msgstr "" -#: config/tc-ia64.c:7788 +#: config/tc-ia64.c:7789 msgid "Tag name expected" msgstr "" -#: config/tc-ia64.c:7890 +#: config/tc-ia64.c:7891 msgid "Rotating register index must be a non-negative constant" msgstr "" -#: config/tc-ia64.c:7895 +#: config/tc-ia64.c:7896 #, c-format msgid "Index out of range 0..%u" msgstr "" -#: config/tc-ia64.c:7907 +#: config/tc-ia64.c:7908 msgid "Indirect register index must be a general register" msgstr "" -#: config/tc-ia64.c:7916 +#: config/tc-ia64.c:7917 msgid "Index can only be applied to rotating or indirect registers" msgstr "" -#: config/tc-ia64.c:7952 config/tc-xstormy16.c:146 +#: config/tc-ia64.c:7953 config/tc-xstormy16.c:145 msgid "Expected '('" msgstr "" -#: config/tc-ia64.c:7960 config/tc-pdp11.c:448 config/tc-pdp11.c:512 -#: config/tc-pdp11.c:546 config/tc-tilegx.c:1046 config/tc-tilepro.c:938 -#: config/tc-xstormy16.c:155 +#: config/tc-ia64.c:7961 config/tc-pdp11.c:447 config/tc-pdp11.c:511 +#: config/tc-pdp11.c:545 config/tc-tilegx.c:1046 config/tc-tilepro.c:938 +#: config/tc-xstormy16.c:154 msgid "Missing ')'" msgstr "" -#: config/tc-ia64.c:7978 config/tc-xstormy16.c:162 +#: config/tc-ia64.c:7979 config/tc-xstormy16.c:161 msgid "Not a symbolic expression" msgstr "" -#: config/tc-ia64.c:7983 config/tc-ia64.c:7997 +#: config/tc-ia64.c:7984 config/tc-ia64.c:7998 msgid "Illegal combination of relocation functions" msgstr "" -#: config/tc-ia64.c:8086 +#: config/tc-ia64.c:8087 msgid "No current frame" msgstr "" -#: config/tc-ia64.c:8088 +#: config/tc-ia64.c:8089 #, c-format msgid "Register number out of range 0..%u" msgstr "" -#: config/tc-ia64.c:8126 +#: config/tc-ia64.c:8127 msgid "Standalone `#' is illegal" msgstr "" -#: config/tc-ia64.c:8129 +#: config/tc-ia64.c:8130 msgid "Redundant `#' suffix operators" msgstr "" -#: config/tc-ia64.c:8287 +#: config/tc-ia64.c:8288 #, c-format msgid "Unhandled dependency %s for %s (%s), note %d" msgstr "" -#: config/tc-ia64.c:9599 +#: config/tc-ia64.c:9600 #, c-format msgid "Unrecognized dependency specifier %d\n" msgstr "" -#: config/tc-ia64.c:10475 +#: config/tc-ia64.c:10476 msgid "Only the first path encountering the conflict is reported" msgstr "" -#: config/tc-ia64.c:10477 +#: config/tc-ia64.c:10478 msgid "This is the location of the conflicting usage" msgstr "" -#: config/tc-ia64.c:10738 +#: config/tc-ia64.c:10739 #, c-format msgid "Unknown opcode `%s'" msgstr "" -#: config/tc-ia64.c:10816 +#: config/tc-ia64.c:10817 #, c-format msgid "AR %d can only be accessed by %c-unit" msgstr "" -#: config/tc-ia64.c:10828 +#: config/tc-ia64.c:10829 msgid "hint.b may be treated as nop" msgstr "" -#: config/tc-ia64.c:10831 +#: config/tc-ia64.c:10832 msgid "hint.b shouldn't be used" msgstr "" -#: config/tc-ia64.c:10870 +#: config/tc-ia64.c:10871 #, c-format msgid "`%s' cannot be predicated" msgstr "" -#: config/tc-ia64.c:10942 +#: config/tc-ia64.c:10943 msgid "Closing bracket missing" msgstr "" -#: config/tc-ia64.c:10951 +#: config/tc-ia64.c:10952 msgid "Index must be a general register" msgstr "" -#: config/tc-ia64.c:11116 +#: config/tc-ia64.c:11117 #, c-format msgid "Unsupported fixup size %d" msgstr "" #. This should be an error, but since previously there wasn't any #. diagnostic here, don't make it fail because of this for now. -#: config/tc-ia64.c:11388 +#: config/tc-ia64.c:11389 #, c-format msgid "Cannot express %s%d%s relocation" msgstr "" -#: config/tc-ia64.c:11407 +#: config/tc-ia64.c:11408 msgid "No addend allowed in @fptr() relocation" msgstr "" -#: config/tc-ia64.c:11446 +#: config/tc-ia64.c:11447 msgid "integer operand out of range" msgstr "" -#: config/tc-ia64.c:11513 +#: config/tc-ia64.c:11514 #, c-format msgid "%s must have a constant value" msgstr "" -#: config/tc-ia64.c:11533 +#: config/tc-ia64.c:11534 msgid "cannot resolve @slotcount parameter" msgstr "" -#: config/tc-ia64.c:11566 +#: config/tc-ia64.c:11567 msgid "invalid @slotcount value" msgstr "" -#: config/tc-ia64.c:11603 config/tc-z8k.c:1371 +#: config/tc-ia64.c:11604 config/tc-z8k.c:1370 #, c-format msgid "Cannot represent %s relocation in object file" msgstr "" -#: config/tc-ia64.c:11714 +#: config/tc-ia64.c:11715 msgid "Can't add stop bit to mark end of instruction group" msgstr "" -#: config/tc-ia64.c:11824 read.c:2540 read.c:3234 read.c:3571 stabs.c:469 +#: config/tc-ia64.c:11825 read.c:2544 read.c:3238 read.c:3575 stabs.c:468 #, c-format msgid "expected comma after \"%s\"" msgstr "" -#: config/tc-ia64.c:11866 +#: config/tc-ia64.c:11867 #, c-format msgid "`%s' is already the alias of %s `%s'" msgstr "" -#: config/tc-ia64.c:11876 +#: config/tc-ia64.c:11877 #, c-format msgid "%s `%s' already has an alias `%s'" msgstr "" -#: config/tc-ia64.c:11887 +#: config/tc-ia64.c:11888 #, c-format msgid "inserting \"%s\" into %s alias hash table failed: %s" msgstr "" -#: config/tc-ia64.c:11895 +#: config/tc-ia64.c:11896 #, c-format msgid "inserting \"%s\" into %s name hash table failed: %s" msgstr "" -#: config/tc-ia64.c:11921 +#: config/tc-ia64.c:11922 #, c-format msgid "symbol `%s' aliased to `%s' is not used" msgstr "" -#: config/tc-ia64.c:11944 +#: config/tc-ia64.c:11945 #, c-format msgid "section `%s' aliased to `%s' is not used" msgstr "" -#: config/tc-ip2k.c:158 +#: config/tc-ip2k.c:157 #, c-format msgid "IP2K specific command line options:\n" msgstr "" -#: config/tc-ip2k.c:159 +#: config/tc-ip2k.c:158 #, c-format msgid " -mip2022 restrict to IP2022 insns \n" msgstr "" -#: config/tc-ip2k.c:160 +#: config/tc-ip2k.c:159 #, c-format msgid " -mip2022ext permit extended IP2022 insn\n" msgstr "" -#: config/tc-iq2000.c:364 +#: config/tc-iq2000.c:363 #, c-format msgid "the yielding instruction %s may not be in a delay slot." msgstr "" -#: config/tc-iq2000.c:372 +#: config/tc-iq2000.c:371 #, c-format msgid "Register number (R%ld) for double word access must be even." msgstr "" -#: config/tc-iq2000.c:381 config/tc-iq2000.c:386 config/tc-iq2000.c:391 -#: config/tc-iq2000.c:408 config/tc-mt.c:244 config/tc-mt.c:249 +#: config/tc-iq2000.c:380 config/tc-iq2000.c:385 config/tc-iq2000.c:390 +#: config/tc-iq2000.c:407 config/tc-mt.c:244 config/tc-mt.c:249 #, c-format msgid "operand references R%ld of previous load." msgstr "" -#: config/tc-iq2000.c:396 +#: config/tc-iq2000.c:395 msgid "instruction implicitly accesses R31 of previous load." msgstr "" -#: config/tc-iq2000.c:651 config/tc-mep.c:2008 +#: config/tc-iq2000.c:650 config/tc-mep.c:2007 msgid "Unmatched high relocation" msgstr "" -#: config/tc-iq2000.c:829 config/tc-mips.c:17570 config/tc-score.c:5815 +#: config/tc-iq2000.c:828 config/tc-mips.c:18314 config/tc-score.c:5815 msgid ".end not in text section" msgstr "" -#: config/tc-iq2000.c:833 config/tc-score.c:5818 +#: config/tc-iq2000.c:832 config/tc-score.c:5818 msgid ".end directive without a preceding .ent directive." msgstr "" -#: config/tc-iq2000.c:842 config/tc-score.c:5826 +#: config/tc-iq2000.c:841 config/tc-score.c:5826 msgid ".end symbol does not match .ent symbol." msgstr "" -#: config/tc-iq2000.c:845 config/tc-mips.c:17590 config/tc-score.c:5831 +#: config/tc-iq2000.c:844 config/tc-mips.c:18334 config/tc-score.c:5831 msgid ".end directive missing or unknown symbol" msgstr "" -#: config/tc-iq2000.c:863 +#: config/tc-iq2000.c:862 msgid "Expected simple number." msgstr "" -#: config/tc-iq2000.c:892 config/tc-mips.c:17495 config/tc-score.c:5667 +#: config/tc-iq2000.c:891 config/tc-mips.c:18239 config/tc-score.c:5667 #, c-format msgid " *input_line_pointer == '%c' 0x%02x\n" msgstr "" -#: config/tc-iq2000.c:894 +#: config/tc-iq2000.c:893 msgid "Invalid number" msgstr "" -#: config/tc-iq2000.c:928 config/tc-score.c:5705 +#: config/tc-iq2000.c:927 config/tc-score.c:5705 msgid ".ent or .aent not in text section." msgstr "" -#: config/tc-iq2000.c:931 +#: config/tc-iq2000.c:930 msgid "missing `.end'" msgstr "" -#: config/tc-lm32.c:236 config/tc-moxie.c:579 config/tc-nios2.c:283 +#: config/tc-lm32.c:236 config/tc-moxie.c:579 config/tc-nios2.c:274 msgid "bad call to md_atof" msgstr "" @@ -8691,241 +8820,241 @@ msgid " M32C specific command line options:\n" msgstr "" #. Pretend that we do not recognise this option. -#: config/tc-m32r.c:331 +#: config/tc-m32r.c:330 msgid "Unrecognised option: -hidden" msgstr "" -#: config/tc-m32r.c:358 config/tc-sparc.c:619 +#: config/tc-m32r.c:357 config/tc-sparc.c:648 msgid "Unrecognized option following -K" msgstr "" -#: config/tc-m32r.c:373 +#: config/tc-m32r.c:372 #, c-format msgid " M32R specific command line options:\n" msgstr "" -#: config/tc-m32r.c:375 +#: config/tc-m32r.c:374 #, c-format msgid "" " -m32r disable support for the m32rx instruction set\n" msgstr "" -#: config/tc-m32r.c:377 +#: config/tc-m32r.c:376 #, c-format msgid " -m32rx support the extended m32rx instruction set\n" msgstr "" -#: config/tc-m32r.c:379 +#: config/tc-m32r.c:378 #, c-format msgid " -m32r2 support the extended m32r2 instruction set\n" msgstr "" -#: config/tc-m32r.c:381 +#: config/tc-m32r.c:380 #, c-format msgid " -EL,-little produce little endian code and data\n" msgstr "" -#: config/tc-m32r.c:383 +#: config/tc-m32r.c:382 #, c-format msgid " -EB,-big produce big endian code and data\n" msgstr "" -#: config/tc-m32r.c:385 +#: config/tc-m32r.c:384 #, c-format msgid " -parallel try to combine instructions in parallel\n" msgstr "" -#: config/tc-m32r.c:387 +#: config/tc-m32r.c:386 #, c-format msgid " -no-parallel disable -parallel\n" msgstr "" -#: config/tc-m32r.c:389 +#: config/tc-m32r.c:388 #, c-format msgid "" " -no-bitinst disallow the M32R2's extended bit-field " "instructions\n" msgstr "" -#: config/tc-m32r.c:391 +#: config/tc-m32r.c:390 #, c-format msgid " -O try to optimize code. Implies -parallel\n" msgstr "" -#: config/tc-m32r.c:394 +#: config/tc-m32r.c:393 #, c-format msgid "" " -warn-explicit-parallel-conflicts warn when parallel instructions\n" msgstr "" -#: config/tc-m32r.c:396 +#: config/tc-m32r.c:395 #, c-format msgid " might violate contraints\n" msgstr "" -#: config/tc-m32r.c:398 +#: config/tc-m32r.c:397 #, c-format msgid " -no-warn-explicit-parallel-conflicts do not warn when parallel\n" msgstr "" -#: config/tc-m32r.c:400 +#: config/tc-m32r.c:399 #, c-format msgid "" " instructions might violate " "contraints\n" msgstr "" -#: config/tc-m32r.c:402 +#: config/tc-m32r.c:401 #, c-format msgid "" " -Wp synonym for -warn-explicit-parallel-conflicts\n" msgstr "" -#: config/tc-m32r.c:404 +#: config/tc-m32r.c:403 #, c-format msgid "" " -Wnp synonym for -no-warn-explicit-parallel-conflicts\n" msgstr "" -#: config/tc-m32r.c:406 +#: config/tc-m32r.c:405 #, c-format msgid "" " -ignore-parallel-conflicts do not check parallel instructions\n" msgstr "" -#: config/tc-m32r.c:408 +#: config/tc-m32r.c:407 #, c-format msgid " for constraint violations\n" msgstr "" -#: config/tc-m32r.c:410 +#: config/tc-m32r.c:409 #, c-format msgid "" " -no-ignore-parallel-conflicts check parallel instructions for\n" msgstr "" -#: config/tc-m32r.c:412 +#: config/tc-m32r.c:411 #, c-format msgid " constraint violations\n" msgstr "" -#: config/tc-m32r.c:414 +#: config/tc-m32r.c:413 #, c-format msgid " -Ip synonym for -ignore-parallel-conflicts\n" msgstr "" -#: config/tc-m32r.c:416 +#: config/tc-m32r.c:415 #, c-format msgid " -nIp synonym for -no-ignore-parallel-conflicts\n" msgstr "" -#: config/tc-m32r.c:419 +#: config/tc-m32r.c:418 #, c-format msgid "" " -warn-unmatched-high warn when an (s)high reloc has no matching low " "reloc\n" msgstr "" -#: config/tc-m32r.c:421 +#: config/tc-m32r.c:420 #, c-format msgid " -no-warn-unmatched-high do not warn about missing low relocs\n" msgstr "" -#: config/tc-m32r.c:423 +#: config/tc-m32r.c:422 #, c-format msgid " -Wuh synonym for -warn-unmatched-high\n" msgstr "" -#: config/tc-m32r.c:425 +#: config/tc-m32r.c:424 #, c-format msgid " -Wnuh synonym for -no-warn-unmatched-high\n" msgstr "" -#: config/tc-m32r.c:428 +#: config/tc-m32r.c:427 #, c-format msgid " -KPIC generate PIC\n" msgstr "" -#: config/tc-m32r.c:850 +#: config/tc-m32r.c:849 msgid "instructions write to the same destination register." msgstr "" -#: config/tc-m32r.c:858 +#: config/tc-m32r.c:857 msgid "Instructions do not use parallel execution pipelines." msgstr "" -#: config/tc-m32r.c:866 +#: config/tc-m32r.c:865 msgid "Instructions share the same execution pipeline" msgstr "" -#: config/tc-m32r.c:931 config/tc-m32r.c:1045 +#: config/tc-m32r.c:930 config/tc-m32r.c:1044 #, c-format msgid "not a 16 bit instruction '%s'" msgstr "" -#: config/tc-m32r.c:943 config/tc-m32r.c:1057 config/tc-m32r.c:1241 +#: config/tc-m32r.c:942 config/tc-m32r.c:1056 config/tc-m32r.c:1240 #, c-format msgid "instruction '%s' is for the M32R2 only" msgstr "" -#: config/tc-m32r.c:956 config/tc-m32r.c:1070 config/tc-m32r.c:1254 +#: config/tc-m32r.c:955 config/tc-m32r.c:1069 config/tc-m32r.c:1253 #, c-format msgid "unknown instruction '%s'" msgstr "" -#: config/tc-m32r.c:965 config/tc-m32r.c:1077 config/tc-m32r.c:1261 +#: config/tc-m32r.c:964 config/tc-m32r.c:1076 config/tc-m32r.c:1260 #, c-format msgid "instruction '%s' is for the M32RX only" msgstr "" -#: config/tc-m32r.c:974 config/tc-m32r.c:1086 +#: config/tc-m32r.c:973 config/tc-m32r.c:1085 #, c-format msgid "instruction '%s' cannot be executed in parallel." msgstr "" -#: config/tc-m32r.c:1029 config/tc-m32r.c:1111 config/tc-m32r.c:1318 +#: config/tc-m32r.c:1028 config/tc-m32r.c:1110 config/tc-m32r.c:1317 msgid "internal error: lookup/get operands failed" msgstr "" -#: config/tc-m32r.c:1096 +#: config/tc-m32r.c:1095 #, c-format msgid "'%s': only the NOP instruction can be issued in parallel on the m32r" msgstr "" -#: config/tc-m32r.c:1125 +#: config/tc-m32r.c:1124 #, c-format msgid "" "%s: output of 1st instruction is the same as an input to 2nd instruction - " "is this intentional ?" msgstr "" -#: config/tc-m32r.c:1129 +#: config/tc-m32r.c:1128 #, c-format msgid "" "%s: output of 2nd instruction is the same as an input to 1st instruction - " "is this intentional ?" msgstr "" -#: config/tc-m32r.c:1503 +#: config/tc-m32r.c:1502 #, c-format msgid ".SCOMMon length (%ld.) <0! Ignored." msgstr "" -#: config/tc-m32r.c:1553 +#: config/tc-m32r.c:1552 #, c-format msgid "Length of .scomm \"%s\" is already %ld. Not changed to %ld." msgstr "" -#: config/tc-m32r.c:1930 config/tc-m32r.c:1983 config/tc-nds32.c:4060 -#: config/tc-nds32.c:4092 config/tc-sh.c:775 config/tc-sh.c:2455 +#: config/tc-m32r.c:1929 config/tc-m32r.c:1982 config/tc-nds32.c:4150 +#: config/tc-nds32.c:4186 config/tc-sh.c:774 config/tc-sh.c:2454 msgid "Invalid PIC expression." msgstr "" -#: config/tc-m32r.c:2074 +#: config/tc-m32r.c:2073 msgid "Unmatched high/shigh reloc" msgstr "" -#: config/tc-m68hc11.c:418 +#: config/tc-m68hc11.c:416 #, c-format msgid "" "Motorola 68HC11/68HC12/68HCS12 options:\n" @@ -8948,76 +9077,76 @@ msgid "" " (used for testing)\n" msgstr "" -#: config/tc-m68hc11.c:466 config/tc-xgate.c:285 +#: config/tc-m68hc11.c:464 config/tc-xgate.c:284 #, c-format msgid "Default target `%s' is not supported." msgstr "" #. Dump the opcode statistics table. -#: config/tc-m68hc11.c:484 +#: config/tc-m68hc11.c:482 #, c-format msgid "Name # Modes Min ops Max ops Modes mask # Used\n" msgstr "" -#: config/tc-m68hc11.c:563 +#: config/tc-m68hc11.c:561 #, c-format msgid "Option `%s' is not recognized." msgstr "" -#: config/tc-m68hc11.c:753 +#: config/tc-m68hc11.c:751 msgid "imm3" msgstr "" -#: config/tc-m68hc11.c:761 +#: config/tc-m68hc11.c:759 msgid "RD" msgstr "" -#: config/tc-m68hc11.c:769 +#: config/tc-m68hc11.c:767 msgid "RD,RS" msgstr "" -#: config/tc-m68hc11.c:777 +#: config/tc-m68hc11.c:775 msgid "RI, #imm4" msgstr "" -#: config/tc-m68hc11.c:809 +#: config/tc-m68hc11.c:807 msgid "RD, (RI,#offs5)" msgstr "" -#: config/tc-m68hc11.c:861 +#: config/tc-m68hc11.c:859 msgid "#<imm8>" msgstr "" -#: config/tc-m68hc11.c:870 +#: config/tc-m68hc11.c:868 msgid "#<imm16>" msgstr "" -#: config/tc-m68hc11.c:879 config/tc-m68hc11.c:888 +#: config/tc-m68hc11.c:877 config/tc-m68hc11.c:886 msgid "<imm8>,X" msgstr "" -#: config/tc-m68hc11.c:915 +#: config/tc-m68hc11.c:913 msgid "*<abs8>" msgstr "" -#: config/tc-m68hc11.c:927 +#: config/tc-m68hc11.c:925 msgid "#<mask>" msgstr "" -#: config/tc-m68hc11.c:937 +#: config/tc-m68hc11.c:935 #, c-format msgid "symbol%d" msgstr "" -#: config/tc-m68hc11.c:939 +#: config/tc-m68hc11.c:937 msgid "<abs>" msgstr "" -#: config/tc-m68hc11.c:958 +#: config/tc-m68hc11.c:956 msgid "<label>" msgstr "" -#: config/tc-m68hc11.c:974 +#: config/tc-m68hc11.c:972 #, c-format msgid "" "# Example of `%s' instructions\n" @@ -9025,687 +9154,683 @@ msgid "" "_start:\n" msgstr "" -#: config/tc-m68hc11.c:1021 +#: config/tc-m68hc11.c:1019 #, c-format msgid "Instruction `%s' is not recognized." msgstr "" -#: config/tc-m68hc11.c:1026 +#: config/tc-m68hc11.c:1024 #, c-format msgid "Instruction formats for `%s':" msgstr "" -#: config/tc-m68hc11.c:1178 +#: config/tc-m68hc11.c:1176 #, c-format msgid "Immediate operand is not allowed for operand %d." msgstr "" -#: config/tc-m68hc11.c:1222 +#: config/tc-m68hc11.c:1220 msgid "Indirect indexed addressing is not valid for 68HC11." msgstr "" -#: config/tc-m68hc11.c:1242 +#: config/tc-m68hc11.c:1240 msgid "Spurious `,' or bad indirect register addressing mode." msgstr "" -#: config/tc-m68hc11.c:1264 +#: config/tc-m68hc11.c:1262 msgid "Missing second register or offset for indexed-indirect mode." msgstr "" -#: config/tc-m68hc11.c:1274 +#: config/tc-m68hc11.c:1272 msgid "Missing second register for indexed-indirect mode." msgstr "" -#: config/tc-m68hc11.c:1290 +#: config/tc-m68hc11.c:1288 msgid "Missing `]' to close indexed-indirect mode." msgstr "" -#: config/tc-m68hc11.c:1335 config/tc-m68hc11.c:2965 config/tc-m68hc11.c:3077 -#: config/tc-m68hc11.c:3151 config/tc-m68hc11.c:3335 config/tc-m68hc11.c:3406 +#: config/tc-m68hc11.c:1333 config/tc-m68hc11.c:2963 config/tc-m68hc11.c:3075 +#: config/tc-m68hc11.c:3149 config/tc-m68hc11.c:3333 config/tc-m68hc11.c:3404 msgid "Illegal operand." msgstr "" #. Looks like OP_R_R. -#: config/tc-m68hc11.c:1340 config/tc-m68hc11.c:2970 config/tc-m68hc11.c:3082 -#: config/tc-m68hc11.c:3156 config/tc-m68hc11.c:3262 config/tc-m68hc11.c:3314 -#: config/tc-m68hc11.c:3322 config/tc-m68hc11.c:3340 +#: config/tc-m68hc11.c:1338 config/tc-m68hc11.c:2968 config/tc-m68hc11.c:3080 +#: config/tc-m68hc11.c:3154 config/tc-m68hc11.c:3260 config/tc-m68hc11.c:3312 +#: config/tc-m68hc11.c:3320 config/tc-m68hc11.c:3338 msgid "Missing operand." msgstr "" -#: config/tc-m68hc11.c:1393 +#: config/tc-m68hc11.c:1391 msgid "Pre-increment mode is not valid for 68HC11" msgstr "" -#: config/tc-m68hc11.c:1406 +#: config/tc-m68hc11.c:1404 msgid "Wrong register in register indirect mode." msgstr "" -#: config/tc-m68hc11.c:1414 +#: config/tc-m68hc11.c:1412 msgid "Missing `]' to close register indirect operand." msgstr "" -#: config/tc-m68hc11.c:1434 +#: config/tc-m68hc11.c:1432 msgid "Post-decrement mode is not valid for 68HC11." msgstr "" -#: config/tc-m68hc11.c:1442 +#: config/tc-m68hc11.c:1440 msgid "Post-increment mode is not valid for 68HC11." msgstr "" -#: config/tc-m68hc11.c:1460 +#: config/tc-m68hc11.c:1458 msgid "Invalid indexed indirect mode." msgstr "" -#: config/tc-m68hc11.c:1584 +#: config/tc-m68hc11.c:1582 #, c-format msgid "Trap id `%ld' is out of range." msgstr "" -#: config/tc-m68hc11.c:1588 +#: config/tc-m68hc11.c:1586 msgid "Trap id must be within [0x30..0x39] or [0x40..0xff]." msgstr "" -#: config/tc-m68hc11.c:1595 config/tc-m68hc11.c:1746 +#: config/tc-m68hc11.c:1593 config/tc-m68hc11.c:1744 #, c-format msgid "Operand out of 8-bit range: `%ld'." msgstr "" -#: config/tc-m68hc11.c:1602 +#: config/tc-m68hc11.c:1600 msgid "The trap id must be a constant." msgstr "" -#: config/tc-m68hc11.c:1634 config/tc-m68hc11.c:1789 config/tc-xgate.c:1342 +#: config/tc-m68hc11.c:1632 config/tc-m68hc11.c:1787 config/tc-xgate.c:1341 #, c-format msgid "Operand `%x' not recognized in fixup8." msgstr "" -#: config/tc-m68hc11.c:1651 config/tc-m68hc11.c:1699 +#: config/tc-m68hc11.c:1649 config/tc-m68hc11.c:1697 #, c-format msgid "Operand out of 16-bit range: `%ld'." msgstr "" -#: config/tc-m68hc11.c:1682 config/tc-m68hc11.c:1713 +#: config/tc-m68hc11.c:1680 config/tc-m68hc11.c:1711 #, c-format msgid "Operand `%x' not recognized in fixup16." msgstr "" -#: config/tc-m68hc11.c:1806 +#: config/tc-m68hc11.c:1804 #, c-format msgid "Unexpected branch conversion with `%x'" msgstr "" -#: config/tc-m68hc11.c:1892 config/tc-m68hc11.c:2024 +#: config/tc-m68hc11.c:1890 config/tc-m68hc11.c:2022 #, c-format msgid "Operand out of range for a relative branch: `%ld'" msgstr "" -#: config/tc-m68hc11.c:1992 +#: config/tc-m68hc11.c:1990 msgid "Invalid register for dbcc/tbcc instruction." msgstr "" -#: config/tc-m68hc11.c:2080 +#: config/tc-m68hc11.c:2078 #, c-format msgid "Increment/decrement value is out of range: `%ld'." msgstr "" -#: config/tc-m68hc11.c:2092 +#: config/tc-m68hc11.c:2090 msgid "Expecting a register." msgstr "" -#: config/tc-m68hc11.c:2107 +#: config/tc-m68hc11.c:2105 msgid "Invalid register for post/pre increment." msgstr "" -#: config/tc-m68hc11.c:2137 +#: config/tc-m68hc11.c:2135 msgid "Invalid register." msgstr "" -#: config/tc-m68hc11.c:2144 +#: config/tc-m68hc11.c:2142 #, c-format msgid "Offset out of 16-bit range: %ld." msgstr "" -#: config/tc-m68hc11.c:2150 +#: config/tc-m68hc11.c:2148 #, c-format msgid "Offset out of 5-bit range for movw/movb insn: %ld." msgstr "" -#: config/tc-m68hc11.c:2275 +#: config/tc-m68hc11.c:2273 msgid "Expecting register D for indexed indirect mode." msgstr "" -#: config/tc-m68hc11.c:2277 +#: config/tc-m68hc11.c:2275 msgid "Indexed indirect mode is not allowed for movb/movw." msgstr "" -#: config/tc-m68hc11.c:2294 +#: config/tc-m68hc11.c:2292 msgid "Invalid accumulator register." msgstr "" -#: config/tc-m68hc11.c:2319 +#: config/tc-m68hc11.c:2317 msgid "Invalid indexed register." msgstr "" -#: config/tc-m68hc11.c:2329 +#: config/tc-m68hc11.c:2327 msgid "Addressing mode not implemented yet." msgstr "" -#: config/tc-m68hc11.c:2343 +#: config/tc-m68hc11.c:2341 msgid "Invalid source register for this instruction, use 'tfr'." msgstr "" -#: config/tc-m68hc11.c:2345 +#: config/tc-m68hc11.c:2343 msgid "Invalid source register." msgstr "" -#: config/tc-m68hc11.c:2350 +#: config/tc-m68hc11.c:2348 msgid "Invalid destination register for this instruction, use 'tfr'." msgstr "" -#: config/tc-m68hc11.c:2352 +#: config/tc-m68hc11.c:2350 msgid "Invalid destination register." msgstr "" -#: config/tc-m68hc11.c:2527 +#: config/tc-m68hc11.c:2525 msgid "Invalid indexed register, expecting register X." msgstr "" -#: config/tc-m68hc11.c:2529 +#: config/tc-m68hc11.c:2527 msgid "Invalid indexed register, expecting register Y." msgstr "" -#: config/tc-m68hc11.c:2848 +#: config/tc-m68hc11.c:2846 msgid "No instruction or missing opcode." msgstr "" -#: config/tc-m68hc11.c:2858 config/tc-m68hc11.c:3536 +#: config/tc-m68hc11.c:2856 config/tc-m68hc11.c:3534 #, c-format msgid "Opcode `%s' is not recognized." msgstr "" -#: config/tc-m68hc11.c:2907 config/tc-m68hc11.c:3456 config/tc-m68hc11.c:3558 +#: config/tc-m68hc11.c:2905 config/tc-m68hc11.c:3454 config/tc-m68hc11.c:3556 #, c-format msgid "Garbage at end of instruction: `%s'." msgstr "" -#: config/tc-m68hc11.c:3444 +#: config/tc-m68hc11.c:3442 #, c-format msgid "Failed to find a valid mode for `%s'." msgstr "" -#: config/tc-m68hc11.c:3468 config/tc-m68hc11.c:3686 config/tc-m68hc11.c:3692 +#: config/tc-m68hc11.c:3466 config/tc-m68hc11.c:3684 config/tc-m68hc11.c:3690 #, c-format msgid "Invalid operand for `%s'" msgstr "" -#: config/tc-m68hc11.c:3744 +#: config/tc-m68hc11.c:3742 #, c-format msgid "Invalid mode: %s\n" msgstr "" -#: config/tc-m68hc11.c:3804 +#: config/tc-m68hc11.c:3802 msgid "bad .relax format" msgstr "" -#: config/tc-m68hc11.c:3848 config/tc-xgate.c:633 +#: config/tc-m68hc11.c:3846 config/tc-xgate.c:632 #, c-format msgid "Relocation %d is not supported by object file format." msgstr "" -#: config/tc-m68hc11.c:4125 +#: config/tc-m68hc11.c:4123 msgid "bra or bsr with undefined symbol." msgstr "" -#: config/tc-m68hc11.c:4226 config/tc-m68hc11.c:4283 +#: config/tc-m68hc11.c:4224 config/tc-m68hc11.c:4281 #, c-format msgid "Subtype %d is not recognized." msgstr "" -#: config/tc-m68hc11.c:4341 config/tc-xgate.c:666 +#: config/tc-m68hc11.c:4339 config/tc-xgate.c:665 msgid "Expression too complex." msgstr "" -#: config/tc-m68hc11.c:4372 config/tc-xgate.c:711 config/tc-xgate.c:720 +#: config/tc-m68hc11.c:4370 config/tc-xgate.c:710 config/tc-xgate.c:719 msgid "Value out of 16-bit range." msgstr "" -#: config/tc-m68hc11.c:4394 +#: config/tc-m68hc11.c:4392 #, c-format msgid "Value %ld too large for 8-bit PC-relative branch." msgstr "" -#: config/tc-m68hc11.c:4404 config/tc-xgate.c:677 +#: config/tc-m68hc11.c:4402 config/tc-xgate.c:676 #, c-format msgid "Value %ld too large for 9-bit PC-relative branch." msgstr "" -#: config/tc-m68hc11.c:4413 config/tc-xgate.c:694 +#: config/tc-m68hc11.c:4411 config/tc-xgate.c:693 #, c-format msgid "Value %ld too large for 10-bit PC-relative branch." msgstr "" -#: config/tc-m68hc11.c:4421 +#: config/tc-m68hc11.c:4419 #, c-format msgid "Auto increment/decrement offset '%ld' is out of range." msgstr "" -#: config/tc-m68hc11.c:4434 +#: config/tc-m68hc11.c:4432 #, c-format msgid "Offset out of 5-bit range for movw/movb insn: %ld" msgstr "" -#: config/tc-m68hc11.c:4445 +#: config/tc-m68hc11.c:4443 #, c-format msgid "Offset out of 9-bit range for movw/movb insn: %ld" msgstr "" -#: config/tc-m68hc11.c:4457 +#: config/tc-m68hc11.c:4455 #, c-format msgid "Offset out of 16-bit range for movw/movb insn: %ld" msgstr "" -#: config/tc-m68hc11.c:4474 config/tc-xgate.c:755 +#: config/tc-m68hc11.c:4472 config/tc-xgate.c:754 #, c-format msgid "Line %d: unknown relocation type: 0x%x." msgstr "" -#: config/tc-m68hc11.c:4499 +#: config/tc-m68hc11.c:4497 msgid "Invalid directive" msgstr "" -#: config/tc-m68k.c:1167 +#: config/tc-m68k.c:1165 #, c-format msgid "Can not do %d byte pc-relative relocation" msgstr "" -#: config/tc-m68k.c:1169 +#: config/tc-m68k.c:1167 #, c-format msgid "Can not do %d byte pc-relative pic relocation" msgstr "" -#: config/tc-m68k.c:1174 +#: config/tc-m68k.c:1172 #, c-format msgid "Can not do %d byte relocation" msgstr "" -#: config/tc-m68k.c:1176 +#: config/tc-m68k.c:1174 #, c-format msgid "Can not do %d byte pic relocation" msgstr "" -#: config/tc-m68k.c:1256 +#: config/tc-m68k.c:1254 #, c-format msgid "Unable to produce reloc against symbol '%s'" msgstr "" -#: config/tc-m68k.c:1315 config/tc-vax.c:2363 +#: config/tc-m68k.c:1313 config/tc-vax.c:2367 #, c-format msgid "Cannot make %s relocation PC relative" msgstr "" -#: config/tc-m68k.c:1431 config/tc-vax.c:1873 +#: config/tc-m68k.c:1429 config/tc-vax.c:1877 msgid "No operator" msgstr "" -#: config/tc-m68k.c:1461 config/tc-vax.c:1889 +#: config/tc-m68k.c:1459 config/tc-vax.c:1893 msgid "Unknown operator" msgstr "" -#: config/tc-m68k.c:2364 +#: config/tc-m68k.c:2362 msgid "invalid instruction for this architecture; needs " msgstr "" -#: config/tc-m68k.c:2372 +#: config/tc-m68k.c:2370 msgid "hardware divide" msgstr "" -#: config/tc-m68k.c:2394 config/tc-m68k.c:2398 config/tc-m68k.c:2402 +#: config/tc-m68k.c:2392 config/tc-m68k.c:2396 config/tc-m68k.c:2400 msgid "or higher" msgstr "" -#: config/tc-m68k.c:2455 +#: config/tc-m68k.c:2453 msgid "operands mismatch" msgstr "" -#: config/tc-m68k.c:2519 config/tc-m68k.c:2525 config/tc-m68k.c:2531 +#: config/tc-m68k.c:2517 config/tc-m68k.c:2523 config/tc-m68k.c:2529 #: config/tc-mmix.c:2493 config/tc-mmix.c:2517 msgid "operand out of range" msgstr "" -#: config/tc-m68k.c:2588 +#: config/tc-m68k.c:2586 #, c-format msgid "Bignum too big for %c format; truncated" msgstr "" -#: config/tc-m68k.c:2665 +#: config/tc-m68k.c:2663 msgid "displacement too large for this architecture; needs 68020 or higher" msgstr "" -#: config/tc-m68k.c:2776 +#: config/tc-m68k.c:2774 msgid "" "scale factor invalid on this architecture; needs cpu32 or 68020 or higher" msgstr "" -#: config/tc-m68k.c:2781 +#: config/tc-m68k.c:2779 msgid "invalid index size for coldfire" msgstr "" -#: config/tc-m68k.c:2834 +#: config/tc-m68k.c:2832 msgid "Forcing byte displacement" msgstr "" -#: config/tc-m68k.c:2836 +#: config/tc-m68k.c:2834 msgid "byte displacement out of range" msgstr "" -#: config/tc-m68k.c:2884 config/tc-m68k.c:2922 +#: config/tc-m68k.c:2882 config/tc-m68k.c:2920 msgid "invalid operand mode for this architecture; needs 68020 or higher" msgstr "" -#: config/tc-m68k.c:2908 config/tc-m68k.c:2942 +#: config/tc-m68k.c:2906 config/tc-m68k.c:2940 msgid ":b not permitted; defaulting to :w" msgstr "" -#: config/tc-m68k.c:3019 +#: config/tc-m68k.c:3017 msgid "unsupported byte value; use a different suffix" msgstr "" -#: config/tc-m68k.c:3034 +#: config/tc-m68k.c:3032 msgid "unknown/incorrect operand" msgstr "" -#: config/tc-m68k.c:3077 config/tc-m68k.c:3085 config/tc-m68k.c:3092 -#: config/tc-m68k.c:3099 +#: config/tc-m68k.c:3075 config/tc-m68k.c:3083 config/tc-m68k.c:3090 +#: config/tc-m68k.c:3097 msgid "out of range" msgstr "" -#: config/tc-m68k.c:3172 +#: config/tc-m68k.c:3170 msgid "Can't use long branches on this architecture" msgstr "" -#: config/tc-m68k.c:3278 +#: config/tc-m68k.c:3276 msgid "Expression out of range, using 0" msgstr "" -#: config/tc-m68k.c:3479 config/tc-m68k.c:3495 +#: config/tc-m68k.c:3477 config/tc-m68k.c:3493 msgid "Floating point register in register list" msgstr "" -#: config/tc-m68k.c:3485 +#: config/tc-m68k.c:3483 msgid "Wrong register in floating-point reglist" msgstr "" -#: config/tc-m68k.c:3501 +#: config/tc-m68k.c:3499 msgid "incorrect register in reglist" msgstr "" -#: config/tc-m68k.c:3507 +#: config/tc-m68k.c:3505 msgid "wrong register in floating-point reglist" msgstr "" #. ERROR. -#: config/tc-m68k.c:3980 +#: config/tc-m68k.c:3978 msgid "Extra )" msgstr "" #. ERROR. -#: config/tc-m68k.c:3991 +#: config/tc-m68k.c:3989 msgid "Missing )" msgstr "" -#: config/tc-m68k.c:4008 +#: config/tc-m68k.c:4006 msgid "Missing operand" msgstr "" -#: config/tc-m68k.c:4333 +#: config/tc-m68k.c:4331 #, c-format msgid "unrecognized default cpu `%s'" msgstr "" -#: config/tc-m68k.c:4387 +#: config/tc-m68k.c:4385 #, c-format msgid "%s -- statement `%s' ignored" msgstr "" -#: config/tc-m68k.c:4436 +#: config/tc-m68k.c:4434 #, c-format msgid "Don't know how to figure width of %c in md_assemble()" msgstr "" -#: config/tc-m68k.c:4605 +#: config/tc-m68k.c:4604 #, c-format msgid "Internal Error: Can't allocate m68k_sorted_opcodes of size %d" msgstr "" -#: config/tc-m68k.c:4670 config/tc-m68k.c:4709 +#: config/tc-m68k.c:4669 config/tc-m68k.c:4708 #, c-format msgid "Internal Error: Can't find %s in hash table" msgstr "" -#: config/tc-m68k.c:4673 config/tc-m68k.c:4712 +#: config/tc-m68k.c:4672 config/tc-m68k.c:4711 #, c-format msgid "Internal Error: Can't hash %s: %s" msgstr "" -#: config/tc-m68k.c:4837 +#: config/tc-m68k.c:4836 #, c-format msgid "text label `%s' aligned to odd boundary" msgstr "" -#: config/tc-m68k.c:5009 +#: config/tc-m68k.c:5008 #, c-format msgid "value %ld out of range" msgstr "" -#: config/tc-m68k.c:5023 +#: config/tc-m68k.c:5022 msgid "invalid byte branch offset" msgstr "" -#: config/tc-m68k.c:5060 +#: config/tc-m68k.c:5059 msgid "short branch with zero offset: use :w" msgstr "" -#: config/tc-m68k.c:5104 +#: config/tc-m68k.c:5103 msgid "Conversion of PC relative BSR to absolute JSR" msgstr "" -#: config/tc-m68k.c:5115 +#: config/tc-m68k.c:5114 msgid "Conversion of PC relative branch to absolute jump" msgstr "" -#: config/tc-m68k.c:5132 config/tc-m68k.c:5193 +#: config/tc-m68k.c:5131 config/tc-m68k.c:5188 msgid "Conversion of PC relative conditional branch to absolute jump" msgstr "" -#: config/tc-m68k.c:5173 -msgid "Conversion of DBcc to absolute jump" -msgstr "" - -#: config/tc-m68k.c:5258 +#: config/tc-m68k.c:5253 msgid "Conversion of PC relative displacement to absolute" msgstr "" -#: config/tc-m68k.c:5471 +#: config/tc-m68k.c:5466 msgid "Tried to convert PC relative branch to absolute jump" msgstr "" -#: config/tc-m68k.c:5516 config/tc-m68k.c:5527 config/tc-m68k.c:5571 +#: config/tc-m68k.c:5511 config/tc-m68k.c:5522 config/tc-m68k.c:5566 msgid "expression out of range: defaulting to 1" msgstr "" -#: config/tc-m68k.c:5563 +#: config/tc-m68k.c:5558 msgid "expression out of range: defaulting to 0" msgstr "" -#: config/tc-m68k.c:5604 config/tc-m68k.c:5616 +#: config/tc-m68k.c:5599 config/tc-m68k.c:5611 #, c-format msgid "Can't deal with expression; defaulting to %ld" msgstr "" -#: config/tc-m68k.c:5630 +#: config/tc-m68k.c:5625 msgid "expression doesn't fit in BYTE" msgstr "" -#: config/tc-m68k.c:5634 +#: config/tc-m68k.c:5629 msgid "expression doesn't fit in WORD" msgstr "" -#: config/tc-m68k.c:5721 +#: config/tc-m68k.c:5716 #, c-format msgid "%s: unrecognized processor name" msgstr "" -#: config/tc-m68k.c:5782 +#: config/tc-m68k.c:5777 msgid "bad coprocessor id" msgstr "" -#: config/tc-m68k.c:5788 +#: config/tc-m68k.c:5783 msgid "unrecognized fopt option" msgstr "" -#: config/tc-m68k.c:5921 +#: config/tc-m68k.c:5916 #, c-format msgid "option `%s' may not be negated" msgstr "" -#: config/tc-m68k.c:5932 +#: config/tc-m68k.c:5927 #, c-format msgid "option `%s' not recognized" msgstr "" -#: config/tc-m68k.c:5961 +#: config/tc-m68k.c:5956 msgid "bad format of OPT NEST=depth" msgstr "" -#: config/tc-m68k.c:6017 +#: config/tc-m68k.c:6012 msgid "missing label" msgstr "" -#: config/tc-m68k.c:6043 +#: config/tc-m68k.c:6038 #, c-format msgid "bad register list: %s" msgstr "" -#: config/tc-m68k.c:6141 +#: config/tc-m68k.c:6136 msgid "restore without save" msgstr "" -#: config/tc-m68k.c:6295 config/tc-m68k.c:6665 +#: config/tc-m68k.c:6290 config/tc-m68k.c:6660 msgid "syntax error in structured control directive" msgstr "" -#: config/tc-m68k.c:6340 +#: config/tc-m68k.c:6335 msgid "missing condition code in structured control directive" msgstr "" -#: config/tc-m68k.c:6411 +#: config/tc-m68k.c:6406 #, c-format msgid "" "Condition <%c%c> in structured control directive can not be encoded correctly" msgstr "" -#: config/tc-m68k.c:6707 +#: config/tc-m68k.c:6702 msgid "missing then" msgstr "" -#: config/tc-m68k.c:6788 +#: config/tc-m68k.c:6783 msgid "else without matching if" msgstr "" -#: config/tc-m68k.c:6821 +#: config/tc-m68k.c:6816 msgid "endi without matching if" msgstr "" -#: config/tc-m68k.c:6861 +#: config/tc-m68k.c:6856 msgid "break outside of structured loop" msgstr "" -#: config/tc-m68k.c:6899 +#: config/tc-m68k.c:6894 msgid "next outside of structured loop" msgstr "" -#: config/tc-m68k.c:6950 +#: config/tc-m68k.c:6945 msgid "missing =" msgstr "" -#: config/tc-m68k.c:6988 +#: config/tc-m68k.c:6983 msgid "missing to or downto" msgstr "" -#: config/tc-m68k.c:7024 config/tc-m68k.c:7058 config/tc-m68k.c:7272 +#: config/tc-m68k.c:7019 config/tc-m68k.c:7053 config/tc-m68k.c:7267 msgid "missing do" msgstr "" -#: config/tc-m68k.c:7159 +#: config/tc-m68k.c:7154 msgid "endf without for" msgstr "" -#: config/tc-m68k.c:7213 +#: config/tc-m68k.c:7208 msgid "until without repeat" msgstr "" -#: config/tc-m68k.c:7307 +#: config/tc-m68k.c:7302 msgid "endw without while" msgstr "" -#: config/tc-m68k.c:7340 config/tc-m68k.c:7368 +#: config/tc-m68k.c:7335 config/tc-m68k.c:7363 msgid "already assembled instructions" msgstr "" -#: config/tc-m68k.c:7445 +#: config/tc-m68k.c:7440 #, c-format msgid "`%s' is deprecated, use `%s'" msgstr "" -#: config/tc-m68k.c:7464 +#: config/tc-m68k.c:7459 #, c-format msgid "cpu `%s' unrecognized" msgstr "" -#: config/tc-m68k.c:7483 +#: config/tc-m68k.c:7478 #, c-format msgid "architecture `%s' unrecognized" msgstr "" -#: config/tc-m68k.c:7504 +#: config/tc-m68k.c:7499 #, c-format msgid "extension `%s' unrecognized" msgstr "" -#: config/tc-m68k.c:7623 +#: config/tc-m68k.c:7618 #, c-format msgid "option `-A%s' is deprecated: use `-%s'" msgstr "" -#: config/tc-m68k.c:7656 +#: config/tc-m68k.c:7651 msgid "architecture features both enabled and disabled" msgstr "" -#: config/tc-m68k.c:7683 +#: config/tc-m68k.c:7678 msgid "selected processor does not have all features of selected architecture" msgstr "" -#: config/tc-m68k.c:7692 +#: config/tc-m68k.c:7687 msgid "m68k and cf features both selected" msgstr "" -#: config/tc-m68k.c:7704 +#: config/tc-m68k.c:7699 msgid "68040 and 68851 specified; mmu instructions may assemble incorrectly" msgstr "" -#: config/tc-m68k.c:7736 +#: config/tc-m68k.c:7731 #, c-format msgid "" "-march=<arch>\t\tset architecture\n" "-mcpu=<cpu>\t\tset cpu [default %s]\n" msgstr "" -#: config/tc-m68k.c:7741 +#: config/tc-m68k.c:7736 #, c-format msgid "-m[no-]%-16s enable/disable%s architecture extension\n" msgstr "" -#: config/tc-m68k.c:7747 +#: config/tc-m68k.c:7742 #, c-format msgid "" "-l\t\t\tuse 1 word for refs to undefined symbols [default 2]\n" @@ -9721,199 +9846,199 @@ msgid "" "--disp-size-default-32\tdisplacement with unknown size is 32 bits (default)\n" msgstr "" -#: config/tc-m68k.c:7761 +#: config/tc-m68k.c:7756 #, c-format msgid "Architecture variants are: " msgstr "" -#: config/tc-m68k.c:7770 +#: config/tc-m68k.c:7765 #, c-format msgid "Processor variants are: " msgstr "" -#: config/tc-m68k.c:7777 config/tc-xtensa.c:6241 +#: config/tc-m68k.c:7772 config/tc-xtensa.c:6267 #, c-format msgid "\n" msgstr "" -#: config/tc-m68k.c:7808 +#: config/tc-m68k.c:7803 #, c-format msgid "Error %s in %s\n" msgstr "" -#: config/tc-m68k.c:7812 +#: config/tc-m68k.c:7807 #, c-format msgid "Opcode(%d.%s): " msgstr "" -#: config/tc-m68k.c:7970 +#: config/tc-m68k.c:7965 msgid "Not a defined coldfire architecture" msgstr "" -#: config/tc-m68k.c:8146 +#: config/tc-m68k.c:8141 #, c-format msgid "Adjusted signed .word (%#lx) overflows: `switch'-statement too large." msgstr "" -#: config/tc-mcore.c:521 config/tc-microblaze.c:506 config/tc-microblaze.c:534 +#: config/tc-mcore.c:520 config/tc-microblaze.c:506 config/tc-microblaze.c:534 #: config/tc-microblaze.c:571 config/tc-microblaze.c:583 #, c-format msgid "register expected, but saw '%.6s'" msgstr "" -#: config/tc-mcore.c:603 +#: config/tc-mcore.c:602 #, c-format msgid "control register expected, but saw '%.6s'" msgstr "" -#: config/tc-mcore.c:639 +#: config/tc-mcore.c:638 msgid "bad/missing psr specifier" msgstr "" -#: config/tc-mcore.c:689 +#: config/tc-mcore.c:688 msgid "more than 65K literal pools" msgstr "" -#: config/tc-mcore.c:743 +#: config/tc-mcore.c:742 msgid "missing ']'" msgstr "" -#: config/tc-mcore.c:782 +#: config/tc-mcore.c:781 msgid "operand must be a constant" msgstr "" -#: config/tc-mcore.c:784 +#: config/tc-mcore.c:783 #, c-format msgid "operand must be absolute in range %u..%u, not %ld" msgstr "" -#: config/tc-mcore.c:819 +#: config/tc-mcore.c:818 msgid "operand must be a multiple of 4" msgstr "" -#: config/tc-mcore.c:826 +#: config/tc-mcore.c:825 msgid "operand must be a multiple of 2" msgstr "" -#: config/tc-mcore.c:840 config/tc-mcore.c:1356 config/tc-mcore.c:1410 +#: config/tc-mcore.c:839 config/tc-mcore.c:1355 config/tc-mcore.c:1409 msgid "base register expected" msgstr "" -#: config/tc-mcore.c:888 config/tc-microblaze.c:927 -#: config/tc-microblaze.c:1059 config/tc-microblaze.c:1091 -#: config/tc-microblaze.c:1544 config/tc-microblaze.c:1610 -#: config/tc-microblaze.c:1683 config/tc-microblaze.c:2095 -#: config/tc-microblaze.c:2141 +#: config/tc-mcore.c:887 config/tc-microblaze.c:928 +#: config/tc-microblaze.c:1060 config/tc-microblaze.c:1092 +#: config/tc-microblaze.c:1545 config/tc-microblaze.c:1611 +#: config/tc-microblaze.c:1684 config/tc-microblaze.c:2096 +#: config/tc-microblaze.c:2142 #, c-format msgid "unknown opcode \"%s\"" msgstr "" -#: config/tc-mcore.c:931 +#: config/tc-mcore.c:930 msgid "invalid register: r15 illegal" msgstr "" -#: config/tc-mcore.c:980 config/tc-mcore.c:1561 +#: config/tc-mcore.c:979 config/tc-mcore.c:1560 msgid "M340 specific opcode used when assembling for M210" msgstr "" -#: config/tc-mcore.c:998 config/tc-mcore.c:1038 config/tc-mcore.c:1057 -#: config/tc-mcore.c:1076 config/tc-mcore.c:1104 config/tc-mcore.c:1133 -#: config/tc-mcore.c:1170 config/tc-mcore.c:1205 config/tc-mcore.c:1224 -#: config/tc-mcore.c:1243 config/tc-mcore.c:1277 config/tc-mcore.c:1302 -#: config/tc-mcore.c:1359 config/tc-mcore.c:1413 config/tc-mcore.c:1449 -#: config/tc-mcore.c:1508 config/tc-mcore.c:1530 config/tc-mcore.c:1553 +#: config/tc-mcore.c:997 config/tc-mcore.c:1037 config/tc-mcore.c:1056 +#: config/tc-mcore.c:1075 config/tc-mcore.c:1103 config/tc-mcore.c:1132 +#: config/tc-mcore.c:1169 config/tc-mcore.c:1204 config/tc-mcore.c:1223 +#: config/tc-mcore.c:1242 config/tc-mcore.c:1276 config/tc-mcore.c:1301 +#: config/tc-mcore.c:1358 config/tc-mcore.c:1412 config/tc-mcore.c:1448 +#: config/tc-mcore.c:1507 config/tc-mcore.c:1529 config/tc-mcore.c:1552 msgid "second operand missing" msgstr "" -#: config/tc-mcore.c:1014 +#: config/tc-mcore.c:1013 msgid "destination register must be r1" msgstr "" -#: config/tc-mcore.c:1035 +#: config/tc-mcore.c:1034 msgid "source register must be r1" msgstr "" -#: config/tc-mcore.c:1099 config/tc-mcore.c:1156 +#: config/tc-mcore.c:1098 config/tc-mcore.c:1155 msgid "immediate is not a power of two" msgstr "" -#: config/tc-mcore.c:1127 +#: config/tc-mcore.c:1126 msgid "translating bgeni to movi" msgstr "" -#: config/tc-mcore.c:1164 +#: config/tc-mcore.c:1163 msgid "translating mgeni to movi" msgstr "" -#: config/tc-mcore.c:1196 +#: config/tc-mcore.c:1195 msgid "translating bmaski to movi" msgstr "" -#: config/tc-mcore.c:1272 +#: config/tc-mcore.c:1271 #, c-format msgid "displacement too large (%d)" msgstr "" -#: config/tc-mcore.c:1286 +#: config/tc-mcore.c:1285 msgid "Invalid register: r0 and r15 illegal" msgstr "" -#: config/tc-mcore.c:1317 +#: config/tc-mcore.c:1316 msgid "bad starting register: r0 and r15 invalid" msgstr "" -#: config/tc-mcore.c:1330 +#: config/tc-mcore.c:1329 msgid "ending register must be r15" msgstr "" -#: config/tc-mcore.c:1350 +#: config/tc-mcore.c:1349 msgid "bad base register: must be r0" msgstr "" -#: config/tc-mcore.c:1368 +#: config/tc-mcore.c:1367 msgid "first register must be r4" msgstr "" -#: config/tc-mcore.c:1379 +#: config/tc-mcore.c:1378 msgid "last register must be r7" msgstr "" -#: config/tc-mcore.c:1416 +#: config/tc-mcore.c:1415 msgid "reg-reg expected" msgstr "" -#: config/tc-mcore.c:1527 +#: config/tc-mcore.c:1526 msgid "second operand must be 1" msgstr "" -#: config/tc-mcore.c:1548 +#: config/tc-mcore.c:1547 msgid "zero used as immediate value" msgstr "" -#: config/tc-mcore.c:1575 +#: config/tc-mcore.c:1574 msgid "duplicated psr bit specifier" msgstr "" -#: config/tc-mcore.c:1581 +#: config/tc-mcore.c:1580 msgid "`af' must appear alone" msgstr "" -#: config/tc-mcore.c:1588 config/tc-microblaze.c:1721 +#: config/tc-mcore.c:1587 config/tc-microblaze.c:1722 #, c-format msgid "unimplemented opcode \"%s\"" msgstr "" -#: config/tc-mcore.c:1597 config/tc-microblaze.c:1730 +#: config/tc-mcore.c:1596 config/tc-microblaze.c:1731 #, c-format msgid "ignoring operands: %s " msgstr "" -#: config/tc-mcore.c:1667 +#: config/tc-mcore.c:1666 #, c-format msgid "unrecognised cpu type '%s'" msgstr "" -#: config/tc-mcore.c:1685 +#: config/tc-mcore.c:1684 #, c-format msgid "" "MCORE specific options:\n" @@ -9924,56 +10049,56 @@ msgid "" " -EL assemble for a little endian system\n" msgstr "" -#: config/tc-mcore.c:1703 config/tc-microblaze.c:1841 +#: config/tc-mcore.c:1702 config/tc-microblaze.c:1842 msgid "failed sanity check: short_jump" msgstr "" -#: config/tc-mcore.c:1713 config/tc-microblaze.c:1851 +#: config/tc-mcore.c:1712 config/tc-microblaze.c:1852 msgid "failed sanity check: long_jump" msgstr "" -#: config/tc-mcore.c:1739 +#: config/tc-mcore.c:1738 #, c-format msgid "odd displacement at %x" msgstr "" #. Variable not in small data read only segment accessed #. using small data read only anchor. -#: config/tc-mcore.c:1921 config/tc-microblaze.c:1957 -#: config/tc-microblaze.c:2254 config/tc-microblaze.c:2277 +#: config/tc-mcore.c:1920 config/tc-microblaze.c:1958 +#: config/tc-microblaze.c:2255 config/tc-microblaze.c:2278 msgid "unknown" msgstr "" -#: config/tc-mcore.c:1948 +#: config/tc-mcore.c:1947 #, c-format msgid "odd distance branch (0x%lx bytes)" msgstr "" -#: config/tc-mcore.c:1952 +#: config/tc-mcore.c:1951 #, c-format msgid "pcrel for branch to %s too far (0x%lx)" msgstr "" -#: config/tc-mcore.c:1972 +#: config/tc-mcore.c:1971 #, c-format msgid "pcrel for lrw/jmpi/jsri to %s too far (0x%lx)" msgstr "" -#: config/tc-mcore.c:1984 +#: config/tc-mcore.c:1983 #, c-format msgid "pcrel for loopt too far (0x%lx)" msgstr "" -#: config/tc-mcore.c:2180 config/tc-microblaze.c:2421 config/tc-tic30.c:1382 +#: config/tc-mcore.c:2179 config/tc-microblaze.c:2422 config/tc-tic30.c:1381 #, c-format msgid "Can not do %d byte %srelocation" msgstr "" -#: config/tc-mcore.c:2182 config/tc-microblaze.c:2423 +#: config/tc-mcore.c:2181 config/tc-microblaze.c:2424 msgid "pc-relative" msgstr "" -#: config/tc-mep.c:341 +#: config/tc-mep.c:340 #, c-format msgid "" "MeP specific command line options:\n" @@ -9991,93 +10116,93 @@ msgid "" " if only disabling -m options are given, only those are disabled.\n" msgstr "" -#: config/tc-mep.c:410 +#: config/tc-mep.c:409 msgid "$hi and $lo are disabled when MUL and DIV are off" msgstr "" -#: config/tc-mep.c:417 +#: config/tc-mep.c:416 msgid "$mb0, $me0, $mb1, and $me1 are disabled when COP is off" msgstr "" -#: config/tc-mep.c:422 +#: config/tc-mep.c:421 msgid "$dbg and $depc are disabled when DEBUG is off" msgstr "" -#: config/tc-mep.c:613 +#: config/tc-mep.c:612 msgid "core and copro insn lengths must total 32 bits." msgstr "" -#: config/tc-mep.c:616 config/tc-mep.c:753 +#: config/tc-mep.c:615 config/tc-mep.c:752 msgid "vliw group must consist of 1 core and 1 copro insn." msgstr "" -#: config/tc-mep.c:750 +#: config/tc-mep.c:749 msgid "core and copro insn lengths must total 64 bits." msgstr "" -#: config/tc-mep.c:982 +#: config/tc-mep.c:981 #, c-format msgid "cannot pack %s with a 16-bit insn" msgstr "" -#: config/tc-mep.c:1000 +#: config/tc-mep.c:999 #, c-format msgid "cannot pack %s and %s together with a 16-bit insn" msgstr "" -#: config/tc-mep.c:1006 +#: config/tc-mep.c:1005 msgid "too many IVC2 insns to pack with a 16-bit core insn" msgstr "" -#: config/tc-mep.c:1021 +#: config/tc-mep.c:1020 #, c-format msgid "cannot pack %s into slot P1" msgstr "" -#: config/tc-mep.c:1027 +#: config/tc-mep.c:1026 msgid "too many IVC2 insns to pack with a 32-bit core insn" msgstr "" -#: config/tc-mep.c:1045 +#: config/tc-mep.c:1044 #, c-format msgid "unable to pack %s by itself?" msgstr "" -#: config/tc-mep.c:1075 +#: config/tc-mep.c:1074 #, c-format msgid "cannot pack %s and %s together" msgstr "" -#: config/tc-mep.c:1081 +#: config/tc-mep.c:1080 msgid "too many IVC2 insns to pack together" msgstr "" #. There are no insns in the queue and a plus is present. #. This is a syntax error. Let's not tolerate this. #. We can relax this later if necessary. -#: config/tc-mep.c:1318 +#: config/tc-mep.c:1317 msgid "Invalid use of parallelization operator." msgstr "" -#: config/tc-mep.c:1364 +#: config/tc-mep.c:1363 msgid "Leading plus sign not allowed in core mode" msgstr "" -#: config/tc-mep.c:1892 +#: config/tc-mep.c:1891 #, c-format msgid "Don't know how to relocate plain operands of type %s" msgstr "" -#: config/tc-mep.c:1902 +#: config/tc-mep.c:1901 #, c-format msgid "Perhaps you are missing %%tpoff()?" msgstr "" -#: config/tc-mep.c:2089 +#: config/tc-mep.c:2088 msgid "bad .section directive: want a,v,w,x,M,S in string" msgstr "" -#: config/tc-mep.c:2147 +#: config/tc-mep.c:2146 msgid ".vliw unavailable when VLIW is disabled." msgstr "" @@ -10465,7 +10590,7 @@ msgstr "" msgid "cannot assemble FPU instruction, FPU option not set: %s" msgstr "" -#: config/tc-metag.c:6738 config/tc-nds32.c:5356 +#: config/tc-metag.c:6738 config/tc-nds32.c:6010 msgid "Bad call to md_atof()" msgstr "" @@ -10484,743 +10609,810 @@ msgstr "" msgid "operand must be absolute in range %d..%d, not %d" msgstr "" -#: config/tc-microblaze.c:941 config/tc-microblaze.c:948 -#: config/tc-microblaze.c:955 config/tc-microblaze.c:988 -#: config/tc-microblaze.c:995 config/tc-microblaze.c:1001 -#: config/tc-microblaze.c:1114 config/tc-microblaze.c:1121 -#: config/tc-microblaze.c:1127 config/tc-microblaze.c:1158 -#: config/tc-microblaze.c:1165 config/tc-microblaze.c:1185 -#: config/tc-microblaze.c:1192 config/tc-microblaze.c:1212 -#: config/tc-microblaze.c:1219 config/tc-microblaze.c:1237 -#: config/tc-microblaze.c:1244 config/tc-microblaze.c:1266 -#: config/tc-microblaze.c:1273 config/tc-microblaze.c:1291 -#: config/tc-microblaze.c:1303 config/tc-microblaze.c:1321 -#: config/tc-microblaze.c:1338 config/tc-microblaze.c:1345 -#: config/tc-microblaze.c:1391 config/tc-microblaze.c:1398 -#: config/tc-microblaze.c:1444 config/tc-microblaze.c:1451 -#: config/tc-microblaze.c:1473 config/tc-microblaze.c:1480 -#: config/tc-microblaze.c:1500 config/tc-microblaze.c:1506 -#: config/tc-microblaze.c:1566 config/tc-microblaze.c:1572 -#: config/tc-microblaze.c:1632 config/tc-microblaze.c:1706 +#: config/tc-microblaze.c:942 config/tc-microblaze.c:949 +#: config/tc-microblaze.c:956 config/tc-microblaze.c:989 +#: config/tc-microblaze.c:996 config/tc-microblaze.c:1002 +#: config/tc-microblaze.c:1115 config/tc-microblaze.c:1122 +#: config/tc-microblaze.c:1128 config/tc-microblaze.c:1159 +#: config/tc-microblaze.c:1166 config/tc-microblaze.c:1186 +#: config/tc-microblaze.c:1193 config/tc-microblaze.c:1213 +#: config/tc-microblaze.c:1220 config/tc-microblaze.c:1238 +#: config/tc-microblaze.c:1245 config/tc-microblaze.c:1267 +#: config/tc-microblaze.c:1274 config/tc-microblaze.c:1292 +#: config/tc-microblaze.c:1304 config/tc-microblaze.c:1322 +#: config/tc-microblaze.c:1339 config/tc-microblaze.c:1346 +#: config/tc-microblaze.c:1392 config/tc-microblaze.c:1399 +#: config/tc-microblaze.c:1445 config/tc-microblaze.c:1452 +#: config/tc-microblaze.c:1474 config/tc-microblaze.c:1481 +#: config/tc-microblaze.c:1501 config/tc-microblaze.c:1507 +#: config/tc-microblaze.c:1567 config/tc-microblaze.c:1573 +#: config/tc-microblaze.c:1633 config/tc-microblaze.c:1707 msgid "Error in statement syntax" msgstr "" -#: config/tc-microblaze.c:961 config/tc-microblaze.c:963 -#: config/tc-microblaze.c:965 config/tc-microblaze.c:1005 -#: config/tc-microblaze.c:1007 config/tc-microblaze.c:1131 -#: config/tc-microblaze.c:1133 config/tc-microblaze.c:1171 -#: config/tc-microblaze.c:1173 config/tc-microblaze.c:1198 -#: config/tc-microblaze.c:1200 config/tc-microblaze.c:1225 -#: config/tc-microblaze.c:1248 config/tc-microblaze.c:1279 -#: config/tc-microblaze.c:1309 config/tc-microblaze.c:1327 -#: config/tc-microblaze.c:1457 config/tc-microblaze.c:1459 -#: config/tc-microblaze.c:1486 config/tc-microblaze.c:1488 -#: config/tc-microblaze.c:1510 config/tc-microblaze.c:1576 -#: config/tc-microblaze.c:1638 +#: config/tc-microblaze.c:962 config/tc-microblaze.c:964 +#: config/tc-microblaze.c:966 config/tc-microblaze.c:1006 +#: config/tc-microblaze.c:1008 config/tc-microblaze.c:1132 +#: config/tc-microblaze.c:1134 config/tc-microblaze.c:1172 +#: config/tc-microblaze.c:1174 config/tc-microblaze.c:1199 +#: config/tc-microblaze.c:1201 config/tc-microblaze.c:1226 +#: config/tc-microblaze.c:1249 config/tc-microblaze.c:1280 +#: config/tc-microblaze.c:1310 config/tc-microblaze.c:1328 +#: config/tc-microblaze.c:1458 config/tc-microblaze.c:1460 +#: config/tc-microblaze.c:1487 config/tc-microblaze.c:1489 +#: config/tc-microblaze.c:1511 config/tc-microblaze.c:1577 +#: config/tc-microblaze.c:1639 msgid "Cannot use special register with this instruction" msgstr "" -#: config/tc-microblaze.c:1015 +#: config/tc-microblaze.c:1016 msgid "lmi pseudo instruction should not use a label in imm field" msgstr "" -#: config/tc-microblaze.c:1017 +#: config/tc-microblaze.c:1018 msgid "smi pseudo instruction should not use a label in imm field" msgstr "" -#: config/tc-microblaze.c:1136 +#: config/tc-microblaze.c:1137 msgid "Symbol used as immediate for shift instruction" msgstr "" -#: config/tc-microblaze.c:1145 +#: config/tc-microblaze.c:1146 #, c-format msgid "Shift value > 32. using <value %% 32>" msgstr "" -#: config/tc-microblaze.c:1251 +#: config/tc-microblaze.c:1252 msgid "Symbol used as immediate value for msrset/msrclr instructions" msgstr "" -#: config/tc-microblaze.c:1380 config/tc-microblaze.c:1433 +#: config/tc-microblaze.c:1381 config/tc-microblaze.c:1434 msgid "invalid value for special purpose register" msgstr "" -#: config/tc-microblaze.c:1646 +#: config/tc-microblaze.c:1647 msgid "An IMM instruction should not be present in the .s file" msgstr "" -#: config/tc-microblaze.c:1708 +#: config/tc-microblaze.c:1709 msgid "Symbol used as immediate for mbar instruction" msgstr "" -#: config/tc-microblaze.c:1714 +#: config/tc-microblaze.c:1715 #, c-format msgid "Immediate value for mbar > 32. using <value %% 32>" msgstr "" -#: config/tc-microblaze.c:1791 +#: config/tc-microblaze.c:1792 msgid "Bad call to MD_NTOF()" msgstr "" -#: config/tc-microblaze.c:2048 +#: config/tc-microblaze.c:2049 #, c-format msgid "pcrel for branch to %s too far (0x%x)" msgstr "" #. We know the abs value: Should never happen. -#: config/tc-microblaze.c:2202 +#: config/tc-microblaze.c:2203 msgid "Absolute PC-relative value in relaxation code. Assembler error....." msgstr "" #. Cannot have a PC-relative branch to a diff segment. -#: config/tc-microblaze.c:2216 +#: config/tc-microblaze.c:2217 #, c-format msgid "PC relative branch to label %s which is not in the instruction space" msgstr "" -#: config/tc-microblaze.c:2257 +#: config/tc-microblaze.c:2258 msgid "" "Variable is accessed using small data read only anchor, but it is not in the " "small data read only section" msgstr "" -#: config/tc-microblaze.c:2280 +#: config/tc-microblaze.c:2281 msgid "" "Variable is accessed using small data read write anchor, but it is not in " "the small data read write section" msgstr "" -#: config/tc-microblaze.c:2289 +#: config/tc-microblaze.c:2290 msgid "Incorrect fr_opcode value in frag. Internal error....." msgstr "" #. We know the abs value: Should never happen. -#: config/tc-microblaze.c:2296 +#: config/tc-microblaze.c:2297 msgid "Absolute value in relaxation code. Assembler error....." msgstr "" -#: config/tc-microblaze.c:2519 config/tc-mn10300.c:1069 config/tc-sh.c:802 -#: config/tc-z80.c:694 read.c:4413 +#: config/tc-microblaze.c:2518 config/tc-mn10300.c:1069 config/tc-sh.c:801 +#: config/tc-z80.c:694 read.c:4463 #, c-format msgid "unsupported BFD relocation size %u" msgstr "" -#: config/tc-mips.c:1903 +#: config/tc-mips.c:2021 #, c-format msgid "the %d-bit %s architecture does not support the `%s' extension" msgstr "" -#: config/tc-mips.c:1906 +#: config/tc-mips.c:2024 #, c-format msgid "the `%s' extension requires %s%d revision %d or greater" msgstr "" -#: config/tc-mips.c:1914 +#: config/tc-mips.c:2033 +#, c-format +msgid "the `%s' extension was removed in %s%d revision %d" +msgstr "" + +#: config/tc-mips.c:2042 #, c-format msgid "the `%s' extension requires 64-bit FPRs" msgstr "" -#: config/tc-mips.c:2732 config/tc-mips.c:14935 +#: config/tc-mips.c:2861 config/tc-mips.c:15503 #, c-format msgid "unrecognized register name `%s'" msgstr "" -#: config/tc-mips.c:2958 +#: config/tc-mips.c:3087 msgid "invalid register range" msgstr "" -#: config/tc-mips.c:2986 +#: config/tc-mips.c:3115 msgid "vector element must be constant" msgstr "" -#: config/tc-mips.c:2996 +#: config/tc-mips.c:3125 msgid "missing `]'" msgstr "" -#: config/tc-mips.c:3192 +#: config/tc-mips.c:3321 #, c-format msgid "internal: bad mips opcode (mask error): %s %s" msgstr "" -#: config/tc-mips.c:3219 +#: config/tc-mips.c:3348 #, c-format msgid "internal: unknown operand type: %s %s" msgstr "" -#: config/tc-mips.c:3244 +#: config/tc-mips.c:3373 #, c-format msgid "internal: bad mips opcode (bits 0x%08lx doubly defined): %s %s" msgstr "" -#: config/tc-mips.c:3252 +#: config/tc-mips.c:3381 #, c-format msgid "internal: bad mips opcode (bits 0x%08lx undefined): %s %s" msgstr "" -#: config/tc-mips.c:3259 +#: config/tc-mips.c:3388 #, c-format msgid "internal: bad mips opcode (bits 0x%08lx defined): %s %s" msgstr "" -#: config/tc-mips.c:3303 +#: config/tc-mips.c:3432 #, c-format msgid "internal error: bad microMIPS opcode (incorrect length: %u): %s %s" msgstr "" -#: config/tc-mips.c:3311 +#: config/tc-mips.c:3440 #, c-format msgid "internal error: bad microMIPS opcode (opcode/length mismatch): %s %s" msgstr "" -#: config/tc-mips.c:3337 +#: config/tc-mips.c:3466 msgid "-G may not be used in position-independent code" msgstr "" #. Probably a memory allocation problem? Give up now. -#: config/tc-mips.c:3357 config/tc-mips.c:3448 +#: config/tc-mips.c:3486 config/tc-mips.c:3577 msgid "broken assembler, no assembly attempted" msgstr "" -#: config/tc-mips.c:3387 config/tc-mips.c:3416 +#: config/tc-mips.c:3516 config/tc-mips.c:3545 #, c-format msgid "internal: can't hash `%s': %s" msgstr "" -#: config/tc-mips.c:3623 +#: config/tc-mips.c:3728 +#, c-format +msgid ".gnu_attribute %d,%d is incompatible with `%s'" +msgstr "" + +#: config/tc-mips.c:3735 +#, c-format +msgid ".gnu_attribute %d,%d requires `%s'" +msgstr "" + +#: config/tc-mips.c:3796 +#, c-format +msgid ".gnu_attribute %d,%d is no longer supported" +msgstr "" + +#: config/tc-mips.c:3801 +#, c-format +msgid ".gnu_attribute %d,%d is not a recognized floating-point ABI" +msgstr "" + +#: config/tc-mips.c:3814 +msgid "`gp=64' used with a 32-bit processor" +msgstr "" + +#: config/tc-mips.c:3817 +msgid "`gp=32' used with a 64-bit ABI" +msgstr "" + +#: config/tc-mips.c:3820 +msgid "`gp=64' used with a 32-bit ABI" +msgstr "" + +#: config/tc-mips.c:3827 +msgid "`fp=xx' used with a cpu lacking ldc1/sdc1 instructions" +msgstr "" + +#: config/tc-mips.c:3829 +msgid "`fp=xx' cannot be used with `singlefloat'" +msgstr "" + +#: config/tc-mips.c:3833 +msgid "`fp=64' used with a 32-bit fpu" +msgstr "" + +#: config/tc-mips.c:3837 +msgid "`fp=64' used with a 32-bit ABI" +msgstr "" + +#: config/tc-mips.c:3842 +msgid "`fp=32' used with a 64-bit ABI" +msgstr "" + +#: config/tc-mips.c:3844 +msgid "`fp=32' used with a MIPS R6 cpu" +msgstr "" + +#: config/tc-mips.c:3847 +msgid "Unknown size of floating point registers" +msgstr "" + +#: config/tc-mips.c:3852 +msgid "`nooddspreg` cannot be used with a 64-bit ABI" +msgstr "" + +#: config/tc-mips.c:3855 +msgid "`mips16' cannot be used with `micromips'" +msgstr "" + +#: config/tc-mips.c:3859 +#, c-format +msgid "`%s' can not be used with `%s'" +msgstr "" + +#: config/tc-mips.c:3864 +#, c-format +msgid "branch relaxation is not supported in `%s'" +msgstr "" + +#: config/tc-mips.c:3944 +msgid "trap exception not supported at ISA 1" +msgstr "" + +#: config/tc-mips.c:3957 config/tc-mips.c:16377 +#, c-format +msgid "`%s' does not support legacy NaN" +msgstr "" + +#: config/tc-mips.c:4004 #, c-format msgid "returned from mips_ip(%s) insn_opcode = 0x%x\n" msgstr "" -#: config/tc-mips.c:4285 +#: config/tc-mips.c:4689 #, c-format msgid "operand %d out of range" msgstr "" -#: config/tc-mips.c:4293 +#: config/tc-mips.c:4697 #, c-format msgid "operand %d must be constant" msgstr "" -#: config/tc-mips.c:4337 read.c:4215 read.c:5100 write.c:266 write.c:1009 +#: config/tc-mips.c:4741 read.c:4241 read.c:5146 write.c:264 write.c:1008 msgid "register value used as expression" msgstr "" -#: config/tc-mips.c:4350 +#: config/tc-mips.c:4754 #, c-format msgid "operand %d must be an immediate expression" msgstr "" -#: config/tc-mips.c:4465 +#: config/tc-mips.c:4873 config/tc-mips.c:4875 #, c-format msgid "float register should be even, was %d" msgstr "" -#: config/tc-mips.c:4477 +#: config/tc-mips.c:4888 #, c-format msgid "condition code register should be even for %s, was %d" msgstr "" -#: config/tc-mips.c:4482 +#: config/tc-mips.c:4893 #, c-format msgid "condition code register should be 0 or 4 for %s, was %d" msgstr "" -#: config/tc-mips.c:4791 +#: config/tc-mips.c:5202 msgid "invalid performance register" msgstr "" -#: config/tc-mips.c:5075 +#: config/tc-mips.c:5298 +msgid "the source register must not be $0" +msgstr "" + +#: config/tc-mips.c:5538 msgid "missing frame size" msgstr "" -#: config/tc-mips.c:5080 +#: config/tc-mips.c:5543 msgid "frame size specified twice" msgstr "" -#: config/tc-mips.c:5085 +#: config/tc-mips.c:5548 msgid "invalid frame size" msgstr "" -#: config/tc-mips.c:5123 +#: config/tc-mips.c:5586 #, c-format msgid "operand %d must be an immediate" msgstr "" -#: config/tc-mips.c:5138 +#: config/tc-mips.c:5601 msgid "invalid element selector" msgstr "" -#: config/tc-mips.c:5151 +#: config/tc-mips.c:5614 #, c-format msgid "operand %d must be scalar" msgstr "" -#: config/tc-mips.c:5292 +#: config/tc-mips.c:5774 msgid "floating-point expression required" msgstr "" -#: config/tc-mips.c:5389 +#: config/tc-mips.c:5874 #, c-format msgid "cannot use `%s' in this section" msgstr "" -#: config/tc-mips.c:5524 +#: config/tc-mips.c:6018 msgid "used $at without \".set noat\"" msgstr "" -#: config/tc-mips.c:5526 +#: config/tc-mips.c:6020 #, c-format msgid "used $%u with \".set at=$%u\"" msgstr "" -#: config/tc-mips.c:6511 +#: config/tc-mips.c:7013 #, c-format msgid "wrong size instruction in a %u-bit branch delay slot" msgstr "" -#: config/tc-mips.c:6529 config/tc-mips.c:6539 +#: config/tc-mips.c:7031 config/tc-mips.c:7041 #, c-format msgid "jump to misaligned address (0x%lx)" msgstr "" -#: config/tc-mips.c:6554 config/tc-mips.c:7945 +#: config/tc-mips.c:7056 config/tc-mips.c:7076 config/tc-mips.c:7093 +#: config/tc-mips.c:8505 #, c-format msgid "branch to misaligned address (0x%lx)" msgstr "" -#: config/tc-mips.c:6560 config/tc-mips.c:7948 +#: config/tc-mips.c:7062 config/tc-mips.c:7080 config/tc-mips.c:7097 +#: config/tc-mips.c:8508 #, c-format msgid "branch address range overflow (0x%lx)" msgstr "" -#: config/tc-mips.c:6764 config/tc-mips.c:17083 +#: config/tc-mips.c:7300 config/tc-mips.c:17726 msgid "extended instruction in delay slot" msgstr "" -#: config/tc-mips.c:7191 +#: config/tc-mips.c:7727 msgid "source and destination must be different" msgstr "" -#: config/tc-mips.c:7194 +#: config/tc-mips.c:7730 msgid "a destination register must be supplied" msgstr "" -#: config/tc-mips.c:7199 +#: config/tc-mips.c:7735 msgid "the source register must not be $31" msgstr "" -#: config/tc-mips.c:7416 config/tc-mips.c:13202 +#: config/tc-mips.c:7973 config/tc-mips.c:13790 msgid "invalid unextended operand value" msgstr "" -#: config/tc-mips.c:7529 +#: config/tc-mips.c:8086 #, c-format msgid "opcode not supported on this processor: %s (%s)" msgstr "" -#: config/tc-mips.c:7608 +#: config/tc-mips.c:8165 msgid "opcode not supported in the `insn32' mode" msgstr "" -#: config/tc-mips.c:7611 +#: config/tc-mips.c:8168 #, c-format msgid "unrecognized %d-bit version of microMIPS opcode" msgstr "" -#: config/tc-mips.c:7695 +#: config/tc-mips.c:8252 msgid "" "macro instruction expanded into multiple instructions in a branch delay slot" msgstr "" -#: config/tc-mips.c:7698 +#: config/tc-mips.c:8255 msgid "macro instruction expanded into multiple instructions" msgstr "" -#: config/tc-mips.c:7702 +#: config/tc-mips.c:8259 msgid "" "macro instruction expanded into a wrong size instruction in a 16-bit branch " "delay slot" msgstr "" -#: config/tc-mips.c:7704 +#: config/tc-mips.c:8261 msgid "" "macro instruction expanded into a wrong size instruction in a 32-bit branch " "delay slot" msgstr "" -#: config/tc-mips.c:8146 +#: config/tc-mips.c:8706 msgid "operand overflow" msgstr "" -#: config/tc-mips.c:8165 config/tc-mips.c:8749 config/tc-mips.c:12690 +#: config/tc-mips.c:8725 config/tc-mips.c:9309 config/tc-mips.c:13278 msgid "macro used $at after \".set noat\"" msgstr "" -#: config/tc-mips.c:8313 config/tc-mips.c:11039 config/tc-mips.c:11694 +#: config/tc-mips.c:8873 config/tc-mips.c:11623 config/tc-mips.c:12282 #, c-format msgid "number (0x%s) larger than 32 bits" msgstr "" -#: config/tc-mips.c:8333 +#: config/tc-mips.c:8893 msgid "number larger than 64 bits" msgstr "" -#: config/tc-mips.c:8627 config/tc-mips.c:8655 config/tc-mips.c:8693 -#: config/tc-mips.c:8738 config/tc-mips.c:11274 config/tc-mips.c:11313 -#: config/tc-mips.c:11352 config/tc-mips.c:11790 config/tc-mips.c:11842 +#: config/tc-mips.c:9187 config/tc-mips.c:9215 config/tc-mips.c:9253 +#: config/tc-mips.c:9298 config/tc-mips.c:11858 config/tc-mips.c:11897 +#: config/tc-mips.c:11936 config/tc-mips.c:12378 config/tc-mips.c:12430 msgid "PIC code offset overflow (max 16 signed bits)" msgstr "" -#: config/tc-mips.c:9266 +#: config/tc-mips.c:9826 #, c-format msgid "BALIGN immediate not 0, 1, 2 or 3 (%lu)" msgstr "" #. result is always true -#: config/tc-mips.c:9360 +#: config/tc-mips.c:9920 #, c-format msgid "branch %s is always true" msgstr "" -#: config/tc-mips.c:9576 config/tc-mips.c:9686 +#: config/tc-mips.c:10136 config/tc-mips.c:10246 msgid "divide by zero" msgstr "" -#: config/tc-mips.c:9774 +#: config/tc-mips.c:10334 msgid "dla used to load 32-bit register" msgstr "" -#: config/tc-mips.c:9777 +#: config/tc-mips.c:10337 msgid "la used to load 64-bit address" msgstr "" -#: config/tc-mips.c:9885 config/tc-z80.c:726 +#: config/tc-mips.c:10445 config/tc-z80.c:726 msgid "offset too large" msgstr "" -#: config/tc-mips.c:10059 config/tc-mips.c:10337 +#: config/tc-mips.c:10619 config/tc-mips.c:10897 msgid "PIC code offset overflow (max 32 signed bits)" msgstr "" -#: config/tc-mips.c:10407 config/tc-mips.c:10483 +#: config/tc-mips.c:10967 config/tc-mips.c:11043 #, c-format msgid "opcode not supported in the `insn32' mode `%s'" msgstr "" -#: config/tc-mips.c:10435 +#: config/tc-mips.c:10995 msgid "MIPS PIC call to register other than $25" msgstr "" -#: config/tc-mips.c:10451 config/tc-mips.c:10462 config/tc-mips.c:10595 -#: config/tc-mips.c:10606 +#: config/tc-mips.c:11011 config/tc-mips.c:11022 config/tc-mips.c:11155 +#: config/tc-mips.c:11166 msgid "no .cprestore pseudo-op used in PIC code" msgstr "" -#: config/tc-mips.c:10456 config/tc-mips.c:10600 +#: config/tc-mips.c:11016 config/tc-mips.c:11160 msgid "no .frame pseudo-op used in PIC code" msgstr "" -#: config/tc-mips.c:10621 +#: config/tc-mips.c:11181 msgid "non-PIC jump used in PIC library" msgstr "" -#: config/tc-mips.c:12248 +#: config/tc-mips.c:12108 +#, c-format +msgid "Unable to generate `%s' compliant code without mthc1" +msgstr "" + +#: config/tc-mips.c:12836 #, c-format msgid "instruction %s: result is always false" msgstr "" -#: config/tc-mips.c:12401 +#: config/tc-mips.c:12989 #, c-format msgid "instruction %s: result is always true" msgstr "" #. FIXME: Check if this is one of the itbl macros, since they #. are added dynamically. -#: config/tc-mips.c:12686 +#: config/tc-mips.c:13274 #, c-format msgid "macro %s not implemented yet" msgstr "" -#: config/tc-mips.c:13027 config/tc-mips.c:13089 config/tc-mips.c:13102 +#: config/tc-mips.c:13615 config/tc-mips.c:13677 config/tc-mips.c:13690 #: config/tc-score.c:2691 config/tc-score.c:2737 msgid "unrecognized opcode" msgstr "" -#: config/tc-mips.c:13212 +#: config/tc-mips.c:13800 msgid "extended operand requested but not required" msgstr "" -#: config/tc-mips.c:13221 +#: config/tc-mips.c:13809 msgid "operand value out of range for instruction" msgstr "" -#: config/tc-mips.c:13316 +#: config/tc-mips.c:13906 #, c-format msgid "relocation %s isn't supported by the current ABI" msgstr "" -#: config/tc-mips.c:13372 +#: config/tc-mips.c:13962 msgid "unclosed '('" msgstr "" -#: config/tc-mips.c:13438 +#: config/tc-mips.c:14028 #, c-format msgid "a different %s was already specified, is now %s" msgstr "" -#: config/tc-mips.c:13581 +#: config/tc-mips.c:14195 msgid "-mmicromips cannot be used with -mips16" msgstr "" -#: config/tc-mips.c:13596 +#: config/tc-mips.c:14210 msgid "-mips16 cannot be used with -micromips" msgstr "" -#: config/tc-mips.c:13739 config/tc-mips.c:13785 +#: config/tc-mips.c:14353 config/tc-mips.c:14411 msgid "no compiled in support for 64 bit object file format" msgstr "" -#: config/tc-mips.c:13792 +#: config/tc-mips.c:14418 #, c-format msgid "invalid abi -mabi=%s" msgstr "" -#: config/tc-mips.c:13832 +#: config/tc-mips.c:14458 #, c-format msgid "invalid NaN setting -mnan=%s" msgstr "" -#: config/tc-mips.c:13881 +#: config/tc-mips.c:14492 msgid "-G not supported in this configuration" msgstr "" -#: config/tc-mips.c:13907 +#: config/tc-mips.c:14518 #, c-format msgid "-%s conflicts with the other architecture options, which imply -%s" msgstr "" -#: config/tc-mips.c:13923 +#: config/tc-mips.c:14534 #, c-format msgid "-march=%s is not compatible with the selected ABI" msgstr "" -#: config/tc-mips.c:13942 -msgid "-mgp64 used with a 32-bit processor" -msgstr "" - -#: config/tc-mips.c:13944 -msgid "-mgp32 used with a 64-bit ABI" -msgstr "" - -#: config/tc-mips.c:13946 -msgid "-mgp64 used with a 32-bit ABI" -msgstr "" - -#: config/tc-mips.c:13984 -msgid "-mfp64 used with a 32-bit fpu" -msgstr "" - -#: config/tc-mips.c:13987 -msgid "-mfp64 used with a 32-bit ABI" +#: config/tc-mips.c:14818 +msgid "PC-relative reference to a different section" msgstr "" -#: config/tc-mips.c:13991 -msgid "-mfp32 used with a 64-bit ABI" -msgstr "" - -#: config/tc-mips.c:14005 -msgid "trap exception not supported at ISA 1" -msgstr "" - -#: config/tc-mips.c:14069 -msgid "PC relative MIPS16 instruction references a different section" -msgstr "" - -#: config/tc-mips.c:14334 +#: config/tc-mips.c:14888 msgid "TLS relocation against a constant" msgstr "" -#: config/tc-mips.c:14411 +#: config/tc-mips.c:14965 msgid "unsupported constant in relocation" msgstr "" -#: config/tc-mips.c:14450 +#: config/tc-mips.c:15006 config/tc-mips.c:15037 #, c-format msgid "branch to misaligned address (%lx)" msgstr "" -#: config/tc-mips.c:14592 +#: config/tc-mips.c:15014 config/tc-mips.c:15023 +#, c-format +msgid "PC-relative access to misaligned address (%lx)" +msgstr "" + +#: config/tc-mips.c:15179 #, c-format msgid "alignment too large, %d assumed" msgstr "" -#: config/tc-mips.c:14595 +#: config/tc-mips.c:15182 msgid "alignment negative, 0 assumed" msgstr "" -#: config/tc-mips.c:14831 +#: config/tc-mips.c:15418 #, c-format msgid "%s: no such section" msgstr "" -#: config/tc-mips.c:14880 +#: config/tc-mips.c:15467 #, c-format msgid ".option pic%d not supported" msgstr "" -#: config/tc-mips.c:14885 config/tc-mips.c:15171 +#: config/tc-mips.c:15472 config/tc-mips.c:15783 msgid "-G may not be used with SVR4 PIC code" msgstr "" -#: config/tc-mips.c:14891 +#: config/tc-mips.c:15478 #, c-format msgid "unrecognized option \"%s\"" msgstr "" -#: config/tc-mips.c:14952 -msgid "`noreorder' must be set before `nomacro'" -msgstr "" - -#: config/tc-mips.c:14978 +#: config/tc-mips.c:15565 #, c-format -msgid "%s isa does not support 64-bit registers" +msgid "unknown architecture %s" msgstr "" -#: config/tc-mips.c:14989 +#: config/tc-mips.c:15578 config/tc-mips.c:15734 #, c-format -msgid "%s isa does not support 64-bit floating point registers" +msgid "unknown ISA level %s" msgstr "" -#: config/tc-mips.c:15005 -msgid "`mips16' cannot be used with `micromips'" +#: config/tc-mips.c:15586 +#, c-format +msgid "unknown ISA or architecture %s" msgstr "" -#: config/tc-mips.c:15014 -msgid "`micromips' cannot be used with `mips16'" +#: config/tc-mips.c:15644 +msgid "`noreorder' must be set before `nomacro'" msgstr "" -#: config/tc-mips.c:15043 -#, c-format -msgid "unknown architecture %s" +#: config/tc-mips.c:15673 +msgid ".set pop with no .set push" msgstr "" -#: config/tc-mips.c:15056 config/tc-mips.c:15093 +#: config/tc-mips.c:15689 #, c-format -msgid "unknown ISA level %s" +msgid "tried to set unrecognized symbol: %s\n" msgstr "" -#: config/tc-mips.c:15064 +#: config/tc-mips.c:15761 #, c-format -msgid "unknown ISA or architecture %s" +msgid ".module used with unrecognized symbol: %s\n" msgstr "" -#: config/tc-mips.c:15125 -msgid ".set pop with no .set push" -msgstr "" - -#: config/tc-mips.c:15154 -#, c-format -msgid "tried to set unrecognized symbol: %s\n" +#: config/tc-mips.c:15767 +msgid ".module is not permitted after generating code" msgstr "" -#: config/tc-mips.c:15213 config/tc-mips.c:15290 config/tc-mips.c:15393 -#: config/tc-mips.c:15421 config/tc-mips.c:15468 +#: config/tc-mips.c:15827 config/tc-mips.c:15906 config/tc-mips.c:16011 +#: config/tc-mips.c:16041 config/tc-mips.c:16090 #, c-format msgid "%s not supported in MIPS16 mode" msgstr "" -#: config/tc-mips.c:15220 +#: config/tc-mips.c:15834 msgid ".cpload not in noreorder section" msgstr "" -#: config/tc-mips.c:15299 config/tc-mips.c:15318 +#: config/tc-mips.c:15915 config/tc-mips.c:15934 msgid "missing argument separator ',' for .cpsetup" msgstr "" -#: config/tc-mips.c:15511 +#: config/tc-mips.c:16133 #, c-format msgid "unsupported use of %s" msgstr "" -#: config/tc-mips.c:15602 +#: config/tc-mips.c:16224 msgid "unsupported use of .gpword" msgstr "" -#: config/tc-mips.c:15640 +#: config/tc-mips.c:16262 msgid "unsupported use of .gpdword" msgstr "" -#: config/tc-mips.c:15672 +#: config/tc-mips.c:16294 msgid "unsupported use of .ehword" msgstr "" -#: config/tc-mips.c:15747 +#: config/tc-mips.c:16381 msgid "bad .nan directive" msgstr "" -#: config/tc-mips.c:15796 +#: config/tc-mips.c:16430 #, c-format msgid "ignoring attempt to redefine symbol %s" msgstr "" -#: config/tc-mips.c:15811 ecoff.c:3377 +#: config/tc-mips.c:16445 ecoff.c:3375 msgid "bad .weakext directive" msgstr "" -#: config/tc-mips.c:16019 +#: config/tc-mips.c:16653 msgid "unsupported PC relative reference to different section" msgstr "" -#: config/tc-mips.c:16128 config/tc-xtensa.c:1583 config/tc-xtensa.c:1859 +#: config/tc-mips.c:16762 config/tc-xtensa.c:1605 config/tc-xtensa.c:1881 msgid "unsupported relocation" msgstr "" -#: config/tc-mips.c:16641 config/tc-mips.c:16904 +#: config/tc-mips.c:17284 config/tc-mips.c:17547 msgid "relaxed out-of-range branch into a jump" msgstr "" -#: config/tc-mips.c:17454 -msgid "missing .end at end of assembly" -msgstr "" - -#: config/tc-mips.c:17469 config/tc-score.c:5641 +#: config/tc-mips.c:18213 config/tc-score.c:5641 msgid "expected simple number" msgstr "" -#: config/tc-mips.c:17497 config/tc-score.c:5668 +#: config/tc-mips.c:18241 config/tc-score.c:5668 msgid "invalid number" msgstr "" -#: config/tc-mips.c:17574 ecoff.c:3004 +#: config/tc-mips.c:18318 ecoff.c:3002 msgid ".end directive without a preceding .ent directive" msgstr "" -#: config/tc-mips.c:17583 +#: config/tc-mips.c:18327 msgid ".end symbol does not match .ent symbol" msgstr "" -#: config/tc-mips.c:17660 +#: config/tc-mips.c:18404 msgid ".ent or .aent not in text section" msgstr "" -#: config/tc-mips.c:17663 config/tc-score.c:5707 +#: config/tc-mips.c:18407 config/tc-score.c:5707 msgid "missing .end" msgstr "" -#: config/tc-mips.c:17746 +#: config/tc-mips.c:18490 msgid ".mask/.fmask outside of .ent" msgstr "" -#: config/tc-mips.c:17753 +#: config/tc-mips.c:18497 msgid "bad .mask/.fmask directive" msgstr "" -#: config/tc-mips.c:18024 +#: config/tc-mips.c:18778 #, c-format msgid "bad value (%s) for %s" msgstr "" -#: config/tc-mips.c:18088 +#: config/tc-mips.c:18842 #, c-format msgid "" "MIPS options:\n" @@ -11231,7 +11423,7 @@ msgid "" "\t\t\timplicitly with the gp register [default 8]\n" msgstr "" -#: config/tc-mips.c:18095 +#: config/tc-mips.c:18849 #, c-format msgid "" "-mips1\t\t\tgenerate MIPS ISA I instructions\n" @@ -11241,12 +11433,18 @@ msgid "" "-mips5 generate MIPS ISA V instructions\n" "-mips32 generate MIPS32 ISA instructions\n" "-mips32r2 generate MIPS32 release 2 ISA instructions\n" +"-mips32r3 generate MIPS32 release 3 ISA instructions\n" +"-mips32r5 generate MIPS32 release 5 ISA instructions\n" +"-mips32r6 generate MIPS32 release 6 ISA instructions\n" "-mips64 generate MIPS64 ISA instructions\n" "-mips64r2 generate MIPS64 release 2 ISA instructions\n" +"-mips64r3 generate MIPS64 release 3 ISA instructions\n" +"-mips64r5 generate MIPS64 release 5 ISA instructions\n" +"-mips64r6 generate MIPS64 release 6 ISA instructions\n" "-march=CPU/-mtune=CPU\tgenerate code/schedule for CPU, where CPU is one of:\n" msgstr "" -#: config/tc-mips.c:18114 +#: config/tc-mips.c:18874 #, c-format msgid "" "-mCPU\t\t\tequivalent to -march=CPU -mtune=CPU. Deprecated.\n" @@ -11254,77 +11452,84 @@ msgid "" "\t\t\tFor -mCPU and -no-mCPU, CPU must be one of:\n" msgstr "" -#: config/tc-mips.c:18127 +#: config/tc-mips.c:18887 #, c-format msgid "" "-mips16\t\t\tgenerate mips16 instructions\n" "-no-mips16\t\tdo not generate mips16 instructions\n" msgstr "" -#: config/tc-mips.c:18130 +#: config/tc-mips.c:18890 #, c-format msgid "" "-mmicromips\t\tgenerate microMIPS instructions\n" "-mno-micromips\t\tdo not generate microMIPS instructions\n" msgstr "" -#: config/tc-mips.c:18133 +#: config/tc-mips.c:18893 #, c-format msgid "" "-msmartmips\t\tgenerate smartmips instructions\n" "-mno-smartmips\t\tdo not generate smartmips instructions\n" msgstr "" -#: config/tc-mips.c:18136 +#: config/tc-mips.c:18896 #, c-format msgid "" "-mdsp\t\t\tgenerate DSP instructions\n" "-mno-dsp\t\tdo not generate DSP instructions\n" msgstr "" -#: config/tc-mips.c:18139 +#: config/tc-mips.c:18899 #, c-format msgid "" "-mdspr2\t\t\tgenerate DSP R2 instructions\n" "-mno-dspr2\t\tdo not generate DSP R2 instructions\n" msgstr "" -#: config/tc-mips.c:18142 +#: config/tc-mips.c:18902 #, c-format msgid "" "-mmt\t\t\tgenerate MT instructions\n" "-mno-mt\t\t\tdo not generate MT instructions\n" msgstr "" -#: config/tc-mips.c:18145 +#: config/tc-mips.c:18905 #, c-format msgid "" "-mmcu\t\t\tgenerate MCU instructions\n" "-mno-mcu\t\tdo not generate MCU instructions\n" msgstr "" -#: config/tc-mips.c:18148 +#: config/tc-mips.c:18908 #, c-format msgid "" "-mmsa\t\t\tgenerate MSA instructions\n" "-mno-msa\t\tdo not generate MSA instructions\n" msgstr "" -#: config/tc-mips.c:18151 +#: config/tc-mips.c:18911 +#, c-format +msgid "" +"-mxpa\t\t\tgenerate eXtended Physical Address (XPA) instructions\n" +"-mno-xpa\t\tdo not generate eXtended Physical Address (XPA) instructions\n" +msgstr "" + +#: config/tc-mips.c:18914 #, c-format msgid "" "-mvirt\t\t\tgenerate Virtualization instructions\n" "-mno-virt\t\tdo not generate Virtualization instructions\n" msgstr "" -#: config/tc-mips.c:18154 +#: config/tc-mips.c:18917 #, c-format msgid "" "-minsn32\t\tonly generate 32-bit microMIPS instructions\n" "-mno-insn32\t\tgenerate all microMIPS instructions\n" msgstr "" -#: config/tc-mips.c:18157 +#: config/tc-mips.c:18920 #, c-format msgid "" "-mfix-loongson2f-jump\twork around Loongson2F JUMP instructions\n" @@ -11342,7 +11547,7 @@ msgid "" "--break, --no-trap\tbreak exception on div by 0 and mult overflow\n" msgstr "" -#: config/tc-mips.c:18171 +#: config/tc-mips.c:18934 #, c-format msgid "" "-mhard-float\t\tallow floating-point instructions\n" @@ -11354,7 +11559,7 @@ msgid "" "-mnan=ENCODING\t\tselect an IEEE 754 NaN encoding convention, either of:\n" msgstr "" -#: config/tc-mips.c:18187 +#: config/tc-mips.c:18950 #, c-format msgid "" "-KPIC, -call_shared\tgenerate SVR4 position independent code\n" @@ -11368,7 +11573,7 @@ msgid "" "-mabi=ABI\t\tcreate ABI conformant object file for:\n" msgstr "" -#: config/tc-mips.c:18208 +#: config/tc-mips.c:18971 #, c-format msgid "" "-32\t\t\tcreate o32 ABI object file (default)\n" @@ -11376,6 +11581,10 @@ msgid "" "-64\t\t\tcreate 64 ABI object file\n" msgstr "" +#: config/tc-mips.c:19054 +msgid "missing .end at end of assembly" +msgstr "" + #: config/tc-mmix.c:700 #, c-format msgid " MMIX-specific command line options:\n" @@ -11449,8 +11658,8 @@ msgstr "" msgid "specified location wasn't TETRA-aligned" msgstr "" -#: config/tc-mmix.c:971 config/tc-mmix.c:986 config/tc-mmix.c:4205 -#: config/tc-mmix.c:4221 +#: config/tc-mmix.c:971 config/tc-mmix.c:986 config/tc-mmix.c:4215 +#: config/tc-mmix.c:4231 msgid "unaligned data at an absolute location is not supported" msgstr "" @@ -11572,58 +11781,58 @@ msgstr "" msgid "LOC to section unknown or indeterminable at first pass" msgstr "" -#: config/tc-mmix.c:3725 +#: config/tc-mmix.c:3734 msgid "GREG expression too complicated" msgstr "" -#: config/tc-mmix.c:3740 +#: config/tc-mmix.c:3749 msgid "internal: GREG expression not resolved to section" msgstr "" -#: config/tc-mmix.c:3789 +#: config/tc-mmix.c:3798 msgid "register section has contents\n" msgstr "" -#: config/tc-mmix.c:3916 +#: config/tc-mmix.c:3925 msgid "section change from within a BSPEC/ESPEC pair is not supported" msgstr "" -#: config/tc-mmix.c:3937 +#: config/tc-mmix.c:3946 msgid "directive LOC from within a BSPEC/ESPEC pair is not supported" msgstr "" -#: config/tc-mmix.c:3947 +#: config/tc-mmix.c:3956 msgid "invalid LOC expression" msgstr "" -#: config/tc-mmix.c:3992 config/tc-mmix.c:4019 +#: config/tc-mmix.c:4001 config/tc-mmix.c:4028 msgid "LOC expression stepping backwards is not supported" msgstr "" #. We will only get here in rare cases involving #NO_APP, #. where the unterminated string is not recognized by the #. preformatting pass. -#: config/tc-mmix.c:4128 config/tc-mmix.c:4286 config/tc-z80.c:1725 +#: config/tc-mmix.c:4138 config/tc-mmix.c:4296 config/tc-z80.c:1725 msgid "unterminated string" msgstr "" -#: config/tc-mmix.c:4145 +#: config/tc-mmix.c:4155 msgid "BYTE expression not a pure number" msgstr "" #. Note that mmixal does not allow negative numbers in #. BYTE sequences, so neither should we. -#: config/tc-mmix.c:4154 +#: config/tc-mmix.c:4164 msgid "BYTE expression not in the range 0..255" msgstr "" -#: config/tc-mmix.c:4203 config/tc-mmix.c:4219 +#: config/tc-mmix.c:4213 config/tc-mmix.c:4229 msgid "data item with alignment larger than location" msgstr "" #. Since integer_constant is local to expr.c, we have to make this a #. macro. FIXME: Do it cleaner. -#: config/tc-mmix.h:105 +#: config/tc-mmix.h:104 msgid "`&' serial number operator is not supported" msgstr "" @@ -11634,7 +11843,7 @@ msgid "" "none yet\n" msgstr "" -#: config/tc-mn10300.c:443 +#: config/tc-mn10300.c:442 #, c-format msgid "" "MN10300 assembler options:\n" @@ -11701,48 +11910,43 @@ msgstr "" msgid "Something forgot to clean up\n" msgstr "" -#: config/tc-moxie.c:637 +#: config/tc-moxie.c:635 #, c-format msgid "" " -EB assemble for a big endian system (default)\n" " -EL assemble for a little endian system\n" msgstr "" -#: config/tc-moxie.c:697 +#: config/tc-moxie.c:695 msgid "pcrel too far BFD_RELOC_MOXIE_10" msgstr "" -#: config/tc-msp430.c:978 +#: config/tc-msp430.c:515 msgid ".profiler pseudo requires at least two operands." msgstr "" -#: config/tc-msp430.c:1037 +#: config/tc-msp430.c:574 msgid "unknown profiling flag - ignored." msgstr "" -#: config/tc-msp430.c:1053 +#: config/tc-msp430.c:590 msgid "ambiguous flags combination - '.profiler' directive ignored." msgstr "" -#: config/tc-msp430.c:1063 +#: config/tc-msp430.c:600 msgid "profiling in absolute section?" msgstr "" -#: config/tc-msp430.c:1164 +#: config/tc-msp430.c:763 msgid "MCU option requires a name\n" msgstr "" -#: config/tc-msp430.c:1176 -#, c-format -msgid "redefinition of mcu type '%s' to '%s'" -msgstr "" - -#: config/tc-msp430.c:1193 +#: config/tc-msp430.c:796 #, c-format msgid "unrecognised argument to -mcpu option '%s'" msgstr "" -#: config/tc-msp430.c:1333 +#: config/tc-msp430.c:945 #, c-format msgid "" "MSP430 options:\n" @@ -11750,307 +11954,324 @@ msgid "" " -mcpu={430|430x|430xv2} - select microcontroller architecture\n" msgstr "" -#: config/tc-msp430.c:1337 +#: config/tc-msp430.c:949 #, c-format msgid "" " -mQ - enable relaxation at assembly time. DANGEROUS!\n" " -mP - enable polymorph instructions\n" msgstr "" -#: config/tc-msp430.c:1340 +#: config/tc-msp430.c:952 #, c-format msgid " -ml - enable large code model\n" msgstr "" -#: config/tc-msp430.c:1342 +#: config/tc-msp430.c:954 +#, c-format +msgid " -mN - do not insert NOPs after changing interrupts (default)\n" +msgstr "" + +#: config/tc-msp430.c:956 +#, c-format +msgid " -mn - insert a NOP after changing interrupts\n" +msgstr "" + +#: config/tc-msp430.c:958 #, c-format -msgid " -mN - disable generation of NOP after changing interrupts\n" +msgid " -mY - do not warn about missing NOPs after changing interrupts\n" msgstr "" -#: config/tc-msp430.c:1344 +#: config/tc-msp430.c:960 #, c-format -msgid " -mn - enable generation of NOP after changing interrupts\n" +msgid " -my - warn about missing NOPs after changing interrupts (default)\n" msgstr "" -#: config/tc-msp430.c:1346 +#: config/tc-msp430.c:962 #, c-format msgid " -md - Force copying of data from ROM to RAM at startup\n" msgstr "" -#: config/tc-msp430.c:1518 config/tc-msp430.c:1692 config/tc-msp430.c:1799 +#: config/tc-msp430.c:1137 config/tc-msp430.c:1316 config/tc-msp430.c:1425 #, c-format msgid "value 0x%x out of extended range." msgstr "" -#: config/tc-msp430.c:1524 +#: config/tc-msp430.c:1143 #, c-format msgid "value %d out of range. Use #lo() or #hi()" msgstr "" -#: config/tc-msp430.c:1615 +#: config/tc-msp430.c:1221 +msgid "error: unsupported #foo() directive used on symbol" +msgstr "" + +#: config/tc-msp430.c:1238 #, c-format msgid "unknown expression in operand %s. use #llo() #lhi() #hlo() #hhi() " msgstr "" -#: config/tc-msp430.c:1666 +#: config/tc-msp430.c:1289 #, c-format msgid "Registers cannot be used within immediate expression [%s]" msgstr "" -#: config/tc-msp430.c:1668 +#: config/tc-msp430.c:1291 #, c-format msgid "unknown operand %s" msgstr "" -#: config/tc-msp430.c:1698 config/tc-msp430.c:1805 +#: config/tc-msp430.c:1322 config/tc-msp430.c:1431 #, c-format msgid "value out of range: 0x%x" msgstr "" -#: config/tc-msp430.c:1709 +#: config/tc-msp430.c:1333 #, c-format msgid "Registers cannot be used within absolute expression [%s]" msgstr "" -#: config/tc-msp430.c:1711 config/tc-msp430.c:1826 +#: config/tc-msp430.c:1335 config/tc-msp430.c:1452 #, c-format msgid "unknown expression in operand %s" msgstr "" -#: config/tc-msp430.c:1725 +#: config/tc-msp430.c:1349 #, c-format msgid "unknown addressing mode %s" msgstr "" -#: config/tc-msp430.c:1733 +#: config/tc-msp430.c:1357 #, c-format msgid "Bad register name %s" msgstr "" -#: config/tc-msp430.c:1744 +#: config/tc-msp430.c:1368 msgid "cannot use indirect addressing with the PC" msgstr "" -#: config/tc-msp430.c:1763 +#: config/tc-msp430.c:1388 msgid "')' required" msgstr "" -#: config/tc-msp430.c:1775 +#: config/tc-msp430.c:1400 #, c-format msgid "unknown operator %s. Did you mean X(Rn) or #[hl][hl][oi](CONST) ?" msgstr "" -#: config/tc-msp430.c:1782 +#: config/tc-msp430.c:1407 msgid "r2 should not be used in indexed addressing mode" msgstr "" -#: config/tc-msp430.c:1824 +#: config/tc-msp430.c:1450 #, c-format msgid "Registers cannot be used as a prefix of indexed expression [%s]" msgstr "" #. Unreachable. -#: config/tc-msp430.c:1858 +#: config/tc-msp430.c:1485 #, c-format msgid "unknown addressing mode for operand %s" msgstr "" -#: config/tc-msp430.c:1889 +#: config/tc-msp430.c:1517 #, c-format msgid "Internal bug. Try to use 0(r%d) instead of @r%d" msgstr "" -#: config/tc-msp430.c:1899 +#: config/tc-msp430.c:1527 msgid "this addressing mode is not applicable for destination operand" msgstr "" -#: config/tc-msp430.c:1931 config/tc-msp430.c:2066 config/tc-msp430.c:2103 -#: config/tc-msp430.c:2133 config/tc-msp430.c:2715 config/tc-msp430.c:2793 -#: config/tc-msp430.c:2933 +#: config/tc-msp430.c:1558 config/tc-msp430.c:1693 config/tc-msp430.c:1730 +#: config/tc-msp430.c:1760 config/tc-msp430.c:2375 config/tc-msp430.c:2453 +#: config/tc-msp430.c:2593 #, c-format msgid "expected register as second argument of %s" msgstr "" -#: config/tc-msp430.c:1970 config/tc-msp430.c:2036 +#: config/tc-msp430.c:1597 config/tc-msp430.c:1663 #, c-format msgid "index value too big for %s" msgstr "" -#: config/tc-msp430.c:1987 config/tc-msp430.c:2053 config/tc-msp430.c:2160 +#: config/tc-msp430.c:1614 config/tc-msp430.c:1680 config/tc-msp430.c:1787 #, c-format msgid "unexpected addressing mode for %s" msgstr "" -#: config/tc-msp430.c:2073 config/tc-msp430.c:2110 config/tc-msp430.c:2140 +#: config/tc-msp430.c:1700 config/tc-msp430.c:1737 config/tc-msp430.c:1767 #, c-format msgid "constant generator destination register found in %s" msgstr "" -#: config/tc-msp430.c:2117 config/tc-msp430.c:2147 +#: config/tc-msp430.c:1744 config/tc-msp430.c:1774 #, c-format msgid "constant generator source register found in %s" msgstr "" -#: config/tc-msp430.c:2229 +#: config/tc-msp430.c:1859 msgid "no size modifier after period, .w assumed" msgstr "" -#: config/tc-msp430.c:2233 +#: config/tc-msp430.c:1863 #, c-format msgid "unrecognised instruction size modifier .%c" msgstr "" -#: config/tc-msp430.c:2247 +#: config/tc-msp430.c:1877 #, c-format msgid "junk found after instruction: %s.%s" msgstr "" -#: config/tc-msp430.c:2267 +#: config/tc-msp430.c:1897 #, c-format msgid "instruction %s.a does not exist" msgstr "" -#: config/tc-msp430.c:2281 +#: config/tc-msp430.c:1911 #, c-format msgid "instruction %s requires %d operand(s)" msgstr "" -#: config/tc-msp430.c:2297 +#: config/tc-msp430.c:1927 #, c-format msgid "instruction %s requires MSP430X mcu" msgstr "" -#: config/tc-msp430.c:2317 +#: config/tc-msp430.c:1947 #, c-format msgid "unable to repeat %s insn" msgstr "" -#. NOP -#: config/tc-msp430.c:2351 config/tc-msp430.c:2436 config/tc-msp430.c:3193 -#, c-format -msgid "a NOP instruction has been inserted after %s" +#: config/tc-msp430.c:1968 config/tc-msp430.c:2020 config/tc-msp430.c:2745 +msgid "NOP inserted between two instructions that change interrupt state" +msgstr "" + +#: config/tc-msp430.c:1970 config/tc-msp430.c:2022 config/tc-msp430.c:2747 +msgid "" +"a NOP might be needed here because of successive changes in interrupt state" msgstr "" -#: config/tc-msp430.c:2377 config/tc-msp430.c:2477 config/tc-msp430.c:3091 -#: config/tc-msp430.c:3255 +#: config/tc-msp430.c:2051 config/tc-msp430.c:2137 config/tc-msp430.c:2780 +#: config/tc-msp430.c:2929 msgid "repeat instruction used with non-register mode instruction" msgstr "" -#: config/tc-msp430.c:2466 config/tc-msp430.c:2800 config/tc-msp430.c:2840 -#: config/tc-msp430.c:3225 +#: config/tc-msp430.c:2126 config/tc-msp430.c:2460 config/tc-msp430.c:2500 +#: config/tc-msp430.c:2899 #, c-format msgid "%s: attempt to rotate the PC register" msgstr "" -#: config/tc-msp430.c:2702 config/tc-msp430.c:2773 +#: config/tc-msp430.c:2362 config/tc-msp430.c:2433 #, c-format msgid "expected #n as first argument of %s" msgstr "" -#: config/tc-msp430.c:2708 config/tc-msp430.c:2779 +#: config/tc-msp430.c:2368 config/tc-msp430.c:2439 #, c-format msgid "expected constant expression for first argument of %s" msgstr "" -#: config/tc-msp430.c:2734 +#: config/tc-msp430.c:2394 msgid "Too many registers popped" msgstr "" -#: config/tc-msp430.c:2744 +#: config/tc-msp430.c:2404 msgid "Cannot use POPM to restore the SR register" msgstr "" -#: config/tc-msp430.c:2764 config/tc-msp430.c:2826 config/tc-msp430.c:2885 +#: config/tc-msp430.c:2424 config/tc-msp430.c:2486 config/tc-msp430.c:2545 #, c-format msgid "repeat count cannot be used with %s" msgstr "" -#: config/tc-msp430.c:2786 +#: config/tc-msp430.c:2446 #, c-format msgid "expected first argument of %s to be in the range 1-4" msgstr "" -#: config/tc-msp430.c:2833 +#: config/tc-msp430.c:2493 #, c-format msgid "expected register as argument of %s" msgstr "" -#: config/tc-msp430.c:2903 +#: config/tc-msp430.c:2563 #, c-format msgid "expected value of first argument of %s to fit into 20-bits" msgstr "" -#: config/tc-msp430.c:2922 +#: config/tc-msp430.c:2582 #, c-format msgid "expected register name or constant as first argument of %s" msgstr "" -#: config/tc-msp430.c:3011 +#: config/tc-msp430.c:2671 msgid "expected constant value as argument to RPT" msgstr "" -#: config/tc-msp430.c:3017 +#: config/tc-msp430.c:2677 msgid "expected constant in the range 2..16" msgstr "" -#: config/tc-msp430.c:3032 +#: config/tc-msp430.c:2692 msgid "PC used as an argument to RPT" msgstr "" -#: config/tc-msp430.c:3038 +#: config/tc-msp430.c:2698 msgid "expected constant or register name as argument to RPT insn" msgstr "" -#: config/tc-msp430.c:3045 +#: config/tc-msp430.c:2705 msgid "Illegal emulated instruction " msgstr "" -#: config/tc-msp430.c:3243 +#: config/tc-msp430.c:2917 #, c-format msgid "%s instruction does not accept a .b suffix" msgstr "" -#: config/tc-msp430.c:3348 +#: config/tc-msp430.c:3022 #, c-format msgid "Even number required. Rounded to %d" msgstr "" -#: config/tc-msp430.c:3359 +#: config/tc-msp430.c:3033 #, c-format msgid "Wrong displacement %d" msgstr "" -#: config/tc-msp430.c:3381 +#: config/tc-msp430.c:3055 msgid "instruction requires label sans '$'" msgstr "" -#: config/tc-msp430.c:3385 +#: config/tc-msp430.c:3059 msgid "instruction requires label or value in range -511:512" msgstr "" -#: config/tc-msp430.c:3391 config/tc-msp430.c:3440 config/tc-msp430.c:3483 +#: config/tc-msp430.c:3065 config/tc-msp430.c:3114 config/tc-msp430.c:3157 msgid "instruction requires label" msgstr "" -#: config/tc-msp430.c:3399 config/tc-msp430.c:3446 +#: config/tc-msp430.c:3073 config/tc-msp430.c:3120 msgid "polymorphs are not enabled. Use -mP option to enable." msgstr "" -#: config/tc-msp430.c:3487 +#: config/tc-msp430.c:3161 msgid "Illegal instruction or not implemented opcode." msgstr "" -#: config/tc-msp430.c:4025 +#: config/tc-msp430.c:3706 #, c-format msgid "internal inconsistency problem in %s: insn %04lx" msgstr "" -#: config/tc-msp430.c:4067 config/tc-msp430.c:4099 +#: config/tc-msp430.c:3748 config/tc-msp430.c:3780 #, c-format msgid "internal inconsistency problem in %s: ext. insn %04lx" msgstr "" -#: config/tc-msp430.c:4111 +#: config/tc-msp430.c:3792 #, c-format msgid "internal inconsistency problem in %s: %lx" msgstr "" @@ -12121,20 +12342,20 @@ msgstr "" msgid "md_estimate_size_before_relax\n" msgstr "" -#: config/tc-nds32.c:1929 +#: config/tc-nds32.c:1944 msgid "" "<arch name>\t Assemble for architecture <arch name>\n" "\t\t\t <arch name> could be\n" "\t\t\t v3, v3j, v3m, v3f, v3s, v2, v2j, v2f, v2s" msgstr "" -#: config/tc-nds32.c:1933 +#: config/tc-nds32.c:1948 msgid "" "<baseline>\t Assemble for baseline <baseline>\n" "\t\t\t <baseline> could be v2, v3, v3m" msgstr "" -#: config/tc-nds32.c:1936 +#: config/tc-nds32.c:1951 msgid "" "<freg>\t Specify a FPU configuration\n" "\t\t\t <freg>\n" @@ -12144,75 +12365,75 @@ msgid "" "\t\t\t 3: 32 SP / 32 DP registers" msgstr "" -#: config/tc-nds32.c:1942 +#: config/tc-nds32.c:1957 msgid "" "<abi>\t Specify a abi version\n" "\t\t\t <abi> could be v1, v2, v2fp, v2fpp" msgstr "" -#: config/tc-nds32.c:1973 +#: config/tc-nds32.c:1988 msgid "Multiply instructions support" msgstr "" -#: config/tc-nds32.c:1974 +#: config/tc-nds32.c:1989 msgid "Divide instructions support" msgstr "" -#: config/tc-nds32.c:1975 +#: config/tc-nds32.c:1990 msgid "16-bit extension" msgstr "" -#: config/tc-nds32.c:1976 +#: config/tc-nds32.c:1991 msgid "d0/d1 registers" msgstr "" -#: config/tc-nds32.c:1977 +#: config/tc-nds32.c:1992 msgid "Performance extension" msgstr "" -#: config/tc-nds32.c:1978 +#: config/tc-nds32.c:1993 msgid "Performance extension 2" msgstr "" -#: config/tc-nds32.c:1979 +#: config/tc-nds32.c:1994 msgid "String extension" msgstr "" -#: config/tc-nds32.c:1980 +#: config/tc-nds32.c:1995 msgid "Reduced Register configuration (GPR16) option" msgstr "" -#: config/tc-nds32.c:1981 +#: config/tc-nds32.c:1996 msgid "AUDIO ISA extension" msgstr "" -#: config/tc-nds32.c:1982 +#: config/tc-nds32.c:1997 msgid "FPU SP extension" msgstr "" -#: config/tc-nds32.c:1983 +#: config/tc-nds32.c:1998 msgid "FPU DP extension" msgstr "" -#: config/tc-nds32.c:1984 +#: config/tc-nds32.c:1999 msgid "FPU fused-multiply-add instructions" msgstr "" -#: config/tc-nds32.c:2021 +#: config/tc-nds32.c:2036 #, c-format msgid "" "\n" " NDS32-specific assembler options:\n" msgstr "" -#: config/tc-nds32.c:2022 +#: config/tc-nds32.c:2037 #, c-format msgid "" " -O1,\t\t\t Optimize for performance\n" " -Os\t\t\t Optimize for space\n" msgstr "" -#: config/tc-nds32.c:2025 +#: config/tc-nds32.c:2040 #, c-format msgid "" " -EL, -mel or -little Produce little endian output\n" @@ -12223,333 +12444,347 @@ msgid "" " -mno-all-relax\t Suppress all relaxation for this file\n" msgstr "" -#: config/tc-nds32.c:2036 +#: config/tc-nds32.c:2051 #, c-format msgid " -m%s%s\n" msgstr "" -#: config/tc-nds32.c:2043 +#: config/tc-nds32.c:2058 #, c-format msgid " -m[no-]%-17sEnable/Disable %s\n" msgstr "" -#: config/tc-nds32.c:2047 +#: config/tc-nds32.c:2062 #, c-format msgid " -mall-ext\t\t Turn on all extensions and instructions support\n" msgstr "" -#: config/tc-nds32.c:2329 +#: config/tc-nds32.c:2366 #, c-format msgid "need PIC qualifier with symbol. '%s'" msgstr "" -#: config/tc-nds32.c:2363 +#: config/tc-nds32.c:2401 #, c-format msgid "Operand is not a constant. `%s'" msgstr "" -#: config/tc-nds32.c:2431 +#: config/tc-nds32.c:2489 #, c-format msgid "needs @GOT or @GOTOFF. %s" msgstr "" -#: config/tc-nds32.c:2891 +#: config/tc-nds32.c:2968 #, c-format msgid "Duplicated pseudo-opcode %s." msgstr "" -#: config/tc-nds32.c:2941 +#: config/tc-nds32.c:3018 #, c-format msgid "Too many argument. `%s'" msgstr "" #. Logic here rejects the input arch name. -#: config/tc-nds32.c:3002 +#: config/tc-nds32.c:3079 #, c-format msgid "unknown arch name `%s'\n" msgstr "" #. Logic here rejects the input baseline. -#: config/tc-nds32.c:3021 +#: config/tc-nds32.c:3098 #, c-format msgid "unknown baseline `%s'\n" msgstr "" #. Logic here rejects the input FPU configuration. -#: config/tc-nds32.c:3044 +#: config/tc-nds32.c:3121 #, c-format msgid "unknown FPU configuration `%s'\n" msgstr "" #. Logic here rejects the input abi version. -#: config/tc-nds32.c:3068 +#: config/tc-nds32.c:3145 #, c-format msgid "unknown ABI version`%s'\n" msgstr "" -#: config/tc-nds32.c:3670 +#: config/tc-nds32.c:3750 #, c-format msgid "Different arguments of .vec_size are found, previous %d, current %d" msgstr "" -#: config/tc-nds32.c:3675 +#: config/tc-nds32.c:3755 #, c-format msgid "Argument of .vec_size is expected 4 or 16, actual: %d." msgstr "" -#: config/tc-nds32.c:3679 +#: config/tc-nds32.c:3759 msgid "Argument of .vec_size is not a constant." msgstr "" -#: config/tc-nds32.c:4166 +#: config/tc-nds32.c:4293 #, c-format msgid "Don't know how to handle this field. %s" msgstr "" -#: config/tc-nds32.c:4460 +#: config/tc-nds32.c:4458 #, c-format msgid "instruction %s requires enabling performance extension" msgstr "" -#: config/tc-nds32.c:4468 +#: config/tc-nds32.c:4466 #, c-format msgid "instruction %s requires enabling performance extension II" msgstr "" -#: config/tc-nds32.c:4476 +#: config/tc-nds32.c:4474 #, c-format msgid "instruction %s requires enabling AUDIO extension" msgstr "" -#: config/tc-nds32.c:4484 +#: config/tc-nds32.c:4482 #, c-format msgid "instruction %s requires enabling STRING extension" msgstr "" -#: config/tc-nds32.c:4493 +#: config/tc-nds32.c:4491 #, c-format msgid "instruction %s requires enabling DIV & DX_REGS extension" msgstr "" -#: config/tc-nds32.c:4504 +#: config/tc-nds32.c:4502 #, c-format msgid "instruction %s requires enabling FPU extension" msgstr "" -#: config/tc-nds32.c:4512 +#: config/tc-nds32.c:4510 #, c-format msgid "instruction %s requires enabling FPU_SP extension" msgstr "" -#: config/tc-nds32.c:4524 config/tc-nds32.c:4544 +#: config/tc-nds32.c:4522 config/tc-nds32.c:4542 #, c-format msgid "instruction %s requires enabling FPU_MAC extension" msgstr "" -#: config/tc-nds32.c:4532 +#: config/tc-nds32.c:4530 #, c-format msgid "instruction %s requires enabling FPU_DP extension" msgstr "" -#: config/tc-nds32.c:4554 +#: config/tc-nds32.c:4552 #, c-format msgid "instruction %s requires enabling DX_REGS extension" msgstr "" -#: config/tc-nds32.c:4651 +#: config/tc-nds32.c:4743 +#, c-format +msgid "relax hint unrecognized instruction: line %d." +msgstr "" + +#: config/tc-nds32.c:4784 +#, c-format +msgid "Can not find match relax hint. line : %d" +msgstr "" + +#: config/tc-nds32.c:4963 +#, c-format +msgid "Internal error: Relax hint error. %s: %x" +msgstr "" + +#: config/tc-nds32.c:5034 +#, c-format +msgid "Internal error: Range error. %s" +msgstr "" + +#: config/tc-nds32.c:5116 #, c-format msgid "Not support instrcution %s in the baseline." msgstr "" -#: config/tc-nds32.c:4703 +#: config/tc-nds32.c:5169 #, c-format msgid "Unrecognized opcode, %s." msgstr "" -#: config/tc-nds32.c:4706 +#: config/tc-nds32.c:5172 #, c-format msgid "Incorrect syntax, %s." msgstr "" -#: config/tc-nds32.c:4709 +#: config/tc-nds32.c:5175 #, c-format msgid "Unrecognized operand, %s." msgstr "" -#: config/tc-nds32.c:4712 +#: config/tc-nds32.c:5178 #, c-format msgid "Operand out of range, %s." msgstr "" -#: config/tc-nds32.c:4715 +#: config/tc-nds32.c:5181 #, c-format msgid "Prohibited register used for reduced-register, %s." msgstr "" -#: config/tc-nds32.c:4718 +#: config/tc-nds32.c:5184 #, c-format msgid "Junk at end of line, %s." msgstr "" -#: config/tc-nds32.c:5160 +#: config/tc-nds32.c:5783 msgid "Addend to unresolved symbol is not on word boundary." msgstr "" #. Should never here. -#: config/tc-nds32.c:5625 +#: config/tc-nds32.c:6285 msgid "Used FPU instructions requires enabling FPU extension" msgstr "" -#: config/tc-nds32.c:5798 +#: config/tc-nds32.c:6475 #, c-format msgid "Internal error: Unknown fixup type %d (`%s')" msgstr "" -#: config/tc-nios2.c:477 +#: config/tc-nds32.c:6568 +msgid "need PIC qualifier with symbol." +msgstr "" + +#: config/tc-nios2.c:429 msgid "expecting opcode string in self test mode" msgstr "" -#: config/tc-nios2.c:479 +#: config/tc-nios2.c:431 #, c-format msgid "assembly 0x%08x, expected %s" msgstr "" -#: config/tc-nios2.c:853 +#: config/tc-nios2.c:805 msgid "branch offset out of range\n" msgstr "" -#: config/tc-nios2.c:854 +#: config/tc-nios2.c:806 msgid "branch relaxation failed\n" msgstr "" -#: config/tc-nios2.c:937 +#: config/tc-nios2.c:891 msgid "expecting conditional branch for relaxation\n" msgstr "" -#: config/tc-nios2.c:1045 +#: config/tc-nios2.c:1006 msgid "error checking for overflow - broken assembler" msgstr "" -#: config/tc-nios2.c:1061 +#: config/tc-nios2.c:1022 #, c-format msgid "immediate value 0x%x truncated to 0x%x" msgstr "" -#: config/tc-nios2.c:1087 +#: config/tc-nios2.c:1049 #, c-format msgid "call target address 0x%08x out of range 0x%08x to 0x%08x" msgstr "" -#: config/tc-nios2.c:1092 +#: config/tc-nios2.c:1054 #, c-format msgid "branch offset %d out of range %d to %d" msgstr "" -#: config/tc-nios2.c:1097 +#: config/tc-nios2.c:1059 #, c-format msgid "%s offset %d out of range %d to %d" msgstr "" -#: config/tc-nios2.c:1102 +#: config/tc-nios2.c:1064 #, c-format msgid "immediate value %d out of range %d to %d" msgstr "" -#: config/tc-nios2.c:1107 config/tc-nios2.c:1112 +#: config/tc-nios2.c:1069 config/tc-nios2.c:1074 #, c-format msgid "immediate value %u out of range %u to %u" msgstr "" -#: config/tc-nios2.c:1117 +#: config/tc-nios2.c:1079 #, c-format msgid "custom instruction opcode %u out of range %u to %u" msgstr "" -#: config/tc-nios2.c:1122 +#: config/tc-nios2.c:1084 msgid "overflow in immediate argument" msgstr "" -#: config/tc-nios2.c:1181 +#: config/tc-nios2.c:1143 msgid "cannot create 64-bit relocation" msgstr "" -#: config/tc-nios2.c:1344 -msgid "can't create relocation" -msgstr "" - -#: config/tc-nios2.c:1457 config/tc-nios2.c:1462 config/tc-nios2.c:1467 -#: config/tc-nios2.c:1489 config/tc-nios2.c:1494 config/tc-nios2.c:1519 -#: config/tc-nios2.c:1524 config/tc-nios2.c:1549 config/tc-nios2.c:1554 -#: config/tc-nios2.c:1628 config/tc-nios2.c:1651 config/tc-nios2.c:1656 -#: config/tc-nios2.c:1675 config/tc-nios2.c:1680 config/tc-nios2.c:1697 -#: config/tc-nios2.c:1704 config/tc-nios2.c:1721 config/tc-nios2.c:1726 -#: config/tc-nios2.c:1754 config/tc-nios2.c:1759 config/tc-nios2.c:1764 -#: config/tc-nios2.c:1812 config/tc-nios2.c:1817 config/tc-nios2.c:1835 +#: config/tc-nios2.c:1268 #, c-format -msgid "unknown register %s" +msgid "internal error: broken opcode descriptor for `%s %s'\n" msgstr "" -#: config/tc-nios2.c:1593 -#, c-format -msgid "unknown base register %s" +#: config/tc-nios2.c:1317 +msgid "can't create relocation" msgstr "" -#: config/tc-nios2.c:1699 -msgid "ipending control register (ctl4) is read-only\n" +#: config/tc-nios2.c:1348 +#, c-format +msgid "unknown register %s" msgstr "" -#: config/tc-nios2.c:1923 +#: config/tc-nios2.c:1356 msgid "expecting control register" msgstr "" -#: config/tc-nios2.c:1931 +#: config/tc-nios2.c:1358 msgid "illegal use of control register" msgstr "" -#: config/tc-nios2.c:1936 -msgid "illegal use of coprocessor register\n" +#: config/tc-nios2.c:1360 +msgid "illegal use of coprocessor register" msgstr "" -#: config/tc-nios2.c:1961 +#: config/tc-nios2.c:1362 +#, c-format +msgid "invalid register %s" +msgstr "" + +#: config/tc-nios2.c:1370 msgid "" "Register at (r1) can sometimes be corrupted by assembler optimizations.\n" "Use .set noat to turn off those optimizations (and this warning)." msgstr "" -#: config/tc-nios2.c:1969 +#: config/tc-nios2.c:1375 msgid "" "The debugger will corrupt bt (r25).\n" "If you don't need to debug this code use .set nobreak to turn off this " "warning." msgstr "" -#: config/tc-nios2.c:1977 +#: config/tc-nios2.c:1379 msgid "" "The debugger will corrupt sstatus/ba (r30).\n" "If you don't need to debug this code use .set nobreak to turn off this " "warning." msgstr "" -#: config/tc-nios2.c:1997 config/tc-nios2.c:2006 +#: config/tc-nios2.c:1790 config/tc-nios2.c:1798 #, c-format msgid "badly formed expression near %s" msgstr "" -#: config/tc-nios2.c:2041 -#, c-format -msgid "expecting %c near %s" -msgstr "" - -#: config/tc-nios2.c:2064 config/tc-nios2.c:2089 config/tc-xtensa.c:2033 +#: config/tc-nios2.c:1855 config/tc-nios2.c:1882 config/tc-xtensa.c:2055 msgid "too many arguments" msgstr "" -#: config/tc-nios2.c:2104 config/tc-xtensa.c:1967 -msgid "missing argument" +#: config/tc-nios2.c:1871 +#, c-format +msgid "expecting %c near %s" msgstr "" #. we cannot recover from this. -#: config/tc-nios2.c:2232 +#: config/tc-nios2.c:2018 #, c-format msgid "unrecognized pseudo-instruction %s" msgstr "" @@ -12559,211 +12794,206 @@ msgstr "" #. However this function (actually the output_* functions) should not #. have been called in the first place once an illegal instruction had #. been encountered. -#: config/tc-nios2.c:2289 +#: config/tc-nios2.c:2075 msgid "Invalid instruction encountered, cannot recover. No assembly attempted." msgstr "" -#: config/tc-nios2.c:2770 -#, c-format -msgid "internal error: %s is not a valid argument syntax\n" -msgstr "" - #. Unrecognised instruction - error. -#: config/tc-nios2.c:2778 +#: config/tc-nios2.c:2560 #, c-format msgid "unrecognised instruction %s" msgstr "" -#: config/tc-nios2.c:2898 +#: config/tc-nios2.c:2680 #, c-format msgid "can't represent relocation type %s" msgstr "" -#: config/tc-nios2.c:2991 +#: config/tc-nios2.c:2773 msgid "Bad .section directive: want a,s,w,x,M,S,G,T in string" msgstr "" -#: config/tc-nios2.c:3019 +#: config/tc-nios2.c:2799 #, c-format msgid "Illegal operands: %%tls_ldo in %d-byte data field" msgstr "" -#: config/tc-nios2.c:3031 config/tc-nios2.c:3049 config/tc-nios2.c:3056 +#: config/tc-nios2.c:2811 config/tc-nios2.c:2829 config/tc-nios2.c:2836 #, c-format msgid "Illegal operands: %%tls_ldo requires arguments in ()" msgstr "" -#: config/tc-nios2.c:3063 +#: config/tc-nios2.c:2843 #, c-format msgid "Illegal operands: garbage after %%tls_ldo()" msgstr "" -#: config/tc-ns32k.c:439 +#: config/tc-ns32k.c:437 msgid "Invalid syntax in PC-relative addressing mode" msgstr "" -#: config/tc-ns32k.c:463 +#: config/tc-ns32k.c:461 msgid "Invalid syntax in External addressing mode" msgstr "" -#: config/tc-ns32k.c:544 +#: config/tc-ns32k.c:542 msgid "Invalid syntax in Memory Relative addressing mode" msgstr "" -#: config/tc-ns32k.c:611 +#: config/tc-ns32k.c:609 msgid "Invalid scaled-indexed mode, use (b,w,d,q)" msgstr "" -#: config/tc-ns32k.c:616 +#: config/tc-ns32k.c:614 msgid "Syntax in scaled-indexed mode, use [Rn:m] where n=[0..7] m={b,w,d,q}" msgstr "" -#: config/tc-ns32k.c:621 +#: config/tc-ns32k.c:619 msgid "Scaled-indexed addressing mode combined with scaled-index" msgstr "" -#: config/tc-ns32k.c:632 +#: config/tc-ns32k.c:630 msgid "Invalid or illegal addressing mode combined with scaled-index" msgstr "" -#: config/tc-ns32k.c:755 +#: config/tc-ns32k.c:753 msgid "Premature end of suffix -- Defaulting to d" msgstr "" -#: config/tc-ns32k.c:768 +#: config/tc-ns32k.c:766 msgid "Bad suffix after ':' use {b|w|d} Defaulting to d" msgstr "" -#: config/tc-ns32k.c:813 +#: config/tc-ns32k.c:811 msgid "Very short instr to option, ie you can't do it on a NULLstr" msgstr "" -#: config/tc-ns32k.c:863 +#: config/tc-ns32k.c:861 msgid "No such entry in list. (cpu/mmu register)" msgstr "" -#: config/tc-ns32k.c:920 +#: config/tc-ns32k.c:918 msgid "Internal consistency error. check ns32k-opcode.h" msgstr "" -#: config/tc-ns32k.c:944 +#: config/tc-ns32k.c:942 msgid "Address of immediate operand" msgstr "" -#: config/tc-ns32k.c:945 +#: config/tc-ns32k.c:943 msgid "Invalid immediate write operand." msgstr "" -#: config/tc-ns32k.c:1075 +#: config/tc-ns32k.c:1073 msgid "Bad opcode-table-option, check in file ns32k-opcode.h" msgstr "" -#: config/tc-ns32k.c:1108 +#: config/tc-ns32k.c:1106 msgid "No such opcode" msgstr "" -#: config/tc-ns32k.c:1183 +#: config/tc-ns32k.c:1181 msgid "Bad suffix, defaulting to d" msgstr "" -#: config/tc-ns32k.c:1210 +#: config/tc-ns32k.c:1208 msgid "Too many operands passed to instruction" msgstr "" #. Check error in default. -#: config/tc-ns32k.c:1222 +#: config/tc-ns32k.c:1220 msgid "Wrong numbers of operands in default, check ns32k-opcodes.h" msgstr "" -#: config/tc-ns32k.c:1225 +#: config/tc-ns32k.c:1223 msgid "Wrong number of operands" msgstr "" -#: config/tc-ns32k.c:1298 +#: config/tc-ns32k.c:1296 #, c-format msgid "Can not do %d byte pc-relative relocation for storage type %d" msgstr "" -#: config/tc-ns32k.c:1301 +#: config/tc-ns32k.c:1299 #, c-format msgid "Can not do %d byte relocation for storage type %d" msgstr "" -#: config/tc-ns32k.c:1393 +#: config/tc-ns32k.c:1391 #, c-format msgid "value of %ld out of byte displacement range." msgstr "" -#: config/tc-ns32k.c:1403 +#: config/tc-ns32k.c:1401 #, c-format msgid "value of %ld out of word displacement range." msgstr "" -#: config/tc-ns32k.c:1418 +#: config/tc-ns32k.c:1416 #, c-format msgid "value of %ld out of double word displacement range." msgstr "" -#: config/tc-ns32k.c:1439 +#: config/tc-ns32k.c:1437 #, c-format msgid "Internal logic error. line %d, file \"%s\"" msgstr "" -#: config/tc-ns32k.c:1487 +#: config/tc-ns32k.c:1485 #, c-format msgid "Internal logic error. line %d, file \"%s\"" msgstr "" -#: config/tc-ns32k.c:1588 +#: config/tc-ns32k.c:1586 msgid "Bit field out of range" msgstr "" -#: config/tc-ns32k.c:1688 +#: config/tc-ns32k.c:1686 msgid "iif convert internal pcrel/binary" msgstr "" -#: config/tc-ns32k.c:1705 +#: config/tc-ns32k.c:1703 msgid "Bignum too big for long" msgstr "" -#: config/tc-ns32k.c:1782 +#: config/tc-ns32k.c:1780 msgid "iif convert internal pcrel/pointer" msgstr "" -#: config/tc-ns32k.c:1787 +#: config/tc-ns32k.c:1785 msgid "Internal logic error in iif.iifP[n].type" msgstr "" #. We cant relax this case. -#: config/tc-ns32k.c:1823 +#: config/tc-ns32k.c:1821 msgid "Can't relax difference" msgstr "" -#: config/tc-ns32k.c:1864 +#: config/tc-ns32k.c:1862 msgid "Displacement too large for :d" msgstr "" -#: config/tc-ns32k.c:1877 +#: config/tc-ns32k.c:1875 msgid "Internal logic error in iif.iifP[].type" msgstr "" #. Fatal. -#: config/tc-ns32k.c:1909 +#: config/tc-ns32k.c:1907 #, c-format msgid "Can't hash %s: %s" msgstr "" -#: config/tc-ns32k.c:2145 +#: config/tc-ns32k.c:2143 #, c-format msgid "invalid architecture option -m%s, ignored" msgstr "" -#: config/tc-ns32k.c:2158 +#: config/tc-ns32k.c:2156 #, c-format msgid "invalid default displacement size \"%s\". Defaulting to %d." msgstr "" -#: config/tc-ns32k.c:2174 +#: config/tc-ns32k.c:2172 #, c-format msgid "" "NS32K options:\n" @@ -12771,128 +13001,91 @@ msgid "" "--disp-size-default=<1|2|4>\n" msgstr "" -#: config/tc-ns32k.c:2249 +#: config/tc-ns32k.c:2248 #, c-format msgid "Cannot find relocation type for symbol %s, code %d" msgstr "" -#: config/tc-or32.c:361 -#, c-format -msgid "unknown opcode1: `%s'" -msgstr "" - -#: config/tc-or32.c:367 -#, c-format -msgid "unknown opcode2 `%s'." -msgstr "" - -#: config/tc-or32.c:403 -#, c-format -msgid "instruction not allowed: %s" -msgstr "" - -#: config/tc-or32.c:406 -#, c-format -msgid "too many operands: %s" -msgstr "" - -#: config/tc-or32.c:490 -msgid "call/jmp target out of range (1)" -msgstr "" - -#: config/tc-or32.c:612 -msgid "call/jmp target out of range (2)" -msgstr "" - -#: config/tc-or32.c:631 -#, c-format -msgid "bad relocation type: 0x%02x" -msgstr "" - -#: config/tc-or32.c:823 -msgid "invalid register in & expression" -msgstr "" - -#: config/tc-pdp11.c:339 config/tc-pdp11.c:357 config/tc-pdp11.c:382 -#: config/tc-pdp11.c:388 config/tc-pdp11.c:401 +#: config/tc-pdp11.c:338 config/tc-pdp11.c:356 config/tc-pdp11.c:381 +#: config/tc-pdp11.c:387 config/tc-pdp11.c:400 msgid "Bad register name" msgstr "" -#: config/tc-pdp11.c:420 config/tc-pdp11.c:484 config/tc-pdp11.c:495 +#: config/tc-pdp11.c:419 config/tc-pdp11.c:483 config/tc-pdp11.c:494 msgid "Error in expression" msgstr "" -#: config/tc-pdp11.c:492 +#: config/tc-pdp11.c:491 msgid "Low order bits truncated in immediate float operand" msgstr "" -#: config/tc-pdp11.c:611 +#: config/tc-pdp11.c:610 msgid "Float AC not legal as integer operand" msgstr "" -#: config/tc-pdp11.c:631 +#: config/tc-pdp11.c:630 msgid "General register not legal as float operand" msgstr "" -#: config/tc-pdp11.c:664 +#: config/tc-pdp11.c:663 msgid "No instruction found" msgstr "" -#: config/tc-pdp11.c:674 config/tc-z80.c:1924 config/tc-z80.c:1937 +#: config/tc-pdp11.c:673 config/tc-z80.c:1924 config/tc-z80.c:1937 #, c-format msgid "Unknown instruction '%s'" msgstr "" -#: config/tc-pdp11.c:680 +#: config/tc-pdp11.c:679 #, c-format msgid "Unsupported instruction set extension: %s" msgstr "" -#: config/tc-pdp11.c:716 +#: config/tc-pdp11.c:715 msgid "operand is not an absolute constant" msgstr "" -#: config/tc-pdp11.c:724 +#: config/tc-pdp11.c:723 msgid "3-bit immediate out of range" msgstr "" -#: config/tc-pdp11.c:731 +#: config/tc-pdp11.c:730 msgid "6-bit immediate out of range" msgstr "" -#: config/tc-pdp11.c:738 +#: config/tc-pdp11.c:737 msgid "8-bit immediate out of range" msgstr "" -#: config/tc-pdp11.c:755 config/tc-pdp11.c:948 +#: config/tc-pdp11.c:754 config/tc-pdp11.c:947 msgid "Symbol expected" msgstr "" -#: config/tc-pdp11.c:760 +#: config/tc-pdp11.c:759 msgid "8-bit displacement out of range" msgstr "" -#: config/tc-pdp11.c:802 config/tc-pdp11.c:823 config/tc-pdp11.c:840 -#: config/tc-pdp11.c:861 config/tc-pdp11.c:878 config/tc-pdp11.c:899 -#: config/tc-pdp11.c:918 config/tc-pdp11.c:939 +#: config/tc-pdp11.c:801 config/tc-pdp11.c:822 config/tc-pdp11.c:839 +#: config/tc-pdp11.c:860 config/tc-pdp11.c:877 config/tc-pdp11.c:898 +#: config/tc-pdp11.c:917 config/tc-pdp11.c:938 msgid "Missing ','" msgstr "" -#: config/tc-pdp11.c:953 +#: config/tc-pdp11.c:952 msgid "6-bit displacement out of range" msgstr "" -#: config/tc-pdp11.c:974 config/tc-tilegx.c:1215 config/tc-tilepro.c:1101 -#: config/tc-vax.c:1944 +#: config/tc-pdp11.c:973 config/tc-tilegx.c:1215 config/tc-tilepro.c:1101 +#: config/tc-vax.c:1948 msgid "Too many operands" msgstr "" -#: config/tc-pdp11.c:1424 +#: config/tc-pdp11.c:1423 #, c-format msgid "Can not represent %s relocation in this object file format" msgstr "" -#: config/tc-pj.c:65 config/tc-pj.c:74 +#: config/tc-pj.c:64 config/tc-pj.c:73 msgid "confusing relocation expressions" msgstr "" @@ -12912,37 +13105,37 @@ msgid "" "-big\t\t\tgenerate big endian code\n" msgstr "" -#: config/tc-pj.c:380 config/tc-sh.c:4147 config/tc-sh.c:4154 -#: config/tc-sh.c:4161 config/tc-sh.c:4168 +#: config/tc-pj.c:380 config/tc-sh.c:4146 config/tc-sh.c:4153 +#: config/tc-sh.c:4160 config/tc-sh.c:4167 msgid "pcrel too far" msgstr "" -#: config/tc-pj.h:38 +#: config/tc-pj.h:39 msgid "convert_frag\n" msgstr "" -#: config/tc-pj.h:39 +#: config/tc-pj.h:40 msgid "estimate size\n" msgstr "" -#: config/tc-ppc.c:1100 config/tc-ppc.c:1157 config/tc-ppc.c:1195 +#: config/tc-ppc.c:1101 config/tc-ppc.c:1158 config/tc-ppc.c:1196 msgid "the use of -mvle requires big endian." msgstr "" -#: config/tc-ppc.c:1138 config/tc-ppc.c:1159 +#: config/tc-ppc.c:1139 config/tc-ppc.c:1160 msgid "the use of -mvle requires -a32." msgstr "" -#: config/tc-ppc.c:1140 +#: config/tc-ppc.c:1141 #, c-format msgid "%s unsupported" msgstr "" -#: config/tc-ppc.c:1249 +#: config/tc-ppc.c:1250 msgid "--nops needs a numeric argument" msgstr "" -#: config/tc-ppc.c:1263 +#: config/tc-ppc.c:1267 #, c-format msgid "" "PowerPC options:\n" @@ -12964,7 +13157,7 @@ msgid "" "-m750cl generate code for PowerPC 750cl\n" msgstr "" -#: config/tc-ppc.c:1281 +#: config/tc-ppc.c:1285 #, c-format msgid "" "-mppc64, -m620 generate code for PowerPC 620/625/630\n" @@ -12984,7 +13177,7 @@ msgid "" "-many generate code for any architecture (PWR/PWRX/PPC)\n" msgstr "" -#: config/tc-ppc.c:1295 +#: config/tc-ppc.c:1299 #, c-format msgid "" "-maltivec generate code for AltiVec\n" @@ -13003,7 +13196,7 @@ msgid "" "-mno-regnames Do not allow symbolic names for registers\n" msgstr "" -#: config/tc-ppc.c:1311 +#: config/tc-ppc.c:1315 #, c-format msgid "" "-mrelocatable support for GCC's -mrelocatble option\n" @@ -13020,503 +13213,546 @@ msgid "" "-Qy, -Qn ignored\n" msgstr "" -#: config/tc-ppc.c:1325 +#: config/tc-ppc.c:1329 #, c-format msgid "" "-nops=count when aligning, more than COUNT nops uses a branch\n" +"-ppc476-workaround warn if emitting data to code sections\n" msgstr "" -#: config/tc-ppc.c:1351 +#: config/tc-ppc.c:1356 #, c-format msgid "unknown default cpu = %s, os = %s" msgstr "" -#: config/tc-ppc.c:1379 +#: config/tc-ppc.c:1384 msgid "neither Power nor PowerPC opcodes were selected." msgstr "" -#: config/tc-ppc.c:1439 +#: config/tc-ppc.c:1444 #, c-format msgid "mask trims opcode bits for %s" msgstr "" -#: config/tc-ppc.c:1448 +#: config/tc-ppc.c:1453 #, c-format msgid "operand index error for %s" msgstr "" -#: config/tc-ppc.c:1464 +#: config/tc-ppc.c:1469 #, c-format msgid "operand %d overlap in %s" msgstr "" -#: config/tc-ppc.c:1516 +#: config/tc-ppc.c:1521 #, c-format msgid "powerpc_operands[%d].bitm invalid" msgstr "" -#: config/tc-ppc.c:1523 +#: config/tc-ppc.c:1528 #, c-format msgid "powerpc_operands[%d] duplicates powerpc_operands[%d]" msgstr "" -#: config/tc-ppc.c:1552 config/tc-ppc.c:1604 +#: config/tc-ppc.c:1557 config/tc-ppc.c:1609 #, c-format msgid "major opcode is not sorted for %s" msgstr "" -#: config/tc-ppc.c:1568 config/tc-ppc.c:1621 +#: config/tc-ppc.c:1573 config/tc-ppc.c:1626 #, c-format msgid "duplicate instruction %s" msgstr "" -#: config/tc-ppc.c:1645 +#: config/tc-ppc.c:1650 #, c-format msgid "duplicate macro %s" msgstr "" -#: config/tc-ppc.c:2015 +#: config/tc-ppc.c:2034 msgid "symbol+offset not supported for got tls" msgstr "" -#: config/tc-ppc.c:2148 config/tc-ppc.c:5256 +#: config/tc-ppc.c:2111 config/tc-ppc.c:3598 config/tc-ppc.c:7005 +msgid "data in executable section" +msgstr "" + +#: config/tc-ppc.c:2153 config/tc-ppc.c:5264 msgid "expected comma after symbol-name: rest of line ignored." msgstr "" -#: config/tc-ppc.c:2181 config/tc-ppc.c:5292 +#: config/tc-ppc.c:2186 config/tc-ppc.c:5300 #, c-format msgid "ignoring attempt to re-define symbol `%s'." msgstr "" -#: config/tc-ppc.c:2189 +#: config/tc-ppc.c:2194 #, c-format msgid "length of .lcomm \"%s\" is already %ld. Not changed to %ld." msgstr "" -#: config/tc-ppc.c:2207 +#: config/tc-ppc.c:2212 msgid "common alignment not a power of 2" msgstr "" -#: config/tc-ppc.c:2249 +#: config/tc-ppc.c:2254 #, c-format msgid "expected comma after name `%s' in .localentry directive" msgstr "" -#: config/tc-ppc.c:2259 +#: config/tc-ppc.c:2264 msgid "missing expression in .localentry directive" msgstr "" -#: config/tc-ppc.c:2273 +#: config/tc-ppc.c:2278 #, c-format msgid ".localentry expression for `%s' is not a valid power of 2" msgstr "" -#: config/tc-ppc.c:2287 +#: config/tc-ppc.c:2292 #, c-format msgid ".localentry expression for `%s' does not evaluate to a constant" msgstr "" -#: config/tc-ppc.c:2302 +#: config/tc-ppc.c:2307 msgid "missing expression in .abiversion directive" msgstr "" -#: config/tc-ppc.c:2311 +#: config/tc-ppc.c:2316 msgid ".abiversion expression does not evaluate to a constant" msgstr "" -#: config/tc-ppc.c:2364 +#: config/tc-ppc.c:2368 msgid "relocation cannot be done when using -mrelocatable" msgstr "" -#: config/tc-ppc.c:2414 +#: config/tc-ppc.c:2418 msgid "TOC section size exceeds 64k" msgstr "" -#: config/tc-ppc.c:2510 +#: config/tc-ppc.c:2514 #, c-format msgid "syntax error: invalid toc specifier `%s'" msgstr "" -#: config/tc-ppc.c:2524 +#: config/tc-ppc.c:2528 #, c-format msgid "syntax error: expected `]', found `%c'" msgstr "" -#: config/tc-ppc.c:2650 +#: config/tc-ppc.c:2654 #, c-format msgid "unrecognized opcode: `%s'" msgstr "" -#: config/tc-ppc.c:2833 +#: config/tc-ppc.c:2837 msgid "[tocv] symbol is not a toc symbol" msgstr "" -#: config/tc-ppc.c:2844 +#: config/tc-ppc.c:2848 msgid "unimplemented toc32 expression modifier" msgstr "" -#: config/tc-ppc.c:2849 +#: config/tc-ppc.c:2853 msgid "unimplemented toc64 expression modifier" msgstr "" -#: config/tc-ppc.c:2853 +#: config/tc-ppc.c:2857 #, c-format msgid "Unexpected return value [%d] from parse_toc_entry!\n" msgstr "" -#: config/tc-ppc.c:3059 +#: config/tc-ppc.c:3063 #, c-format msgid "@tls may not be used with \"%s\" operands" msgstr "" -#: config/tc-ppc.c:3062 +#: config/tc-ppc.c:3066 msgid "@tls may only be used in last operand" msgstr "" -#: config/tc-ppc.c:3238 +#: config/tc-ppc.c:3191 +#, c-format +msgid "assuming %s on symbol" +msgstr "" + +#: config/tc-ppc.c:3294 msgid "unsupported relocation for DS offset field" msgstr "" -#: config/tc-ppc.c:3341 +#: config/tc-ppc.c:3336 #, c-format msgid "syntax error; end of line, expected `%c'" msgstr "" -#: config/tc-ppc.c:3343 +#: config/tc-ppc.c:3338 #, c-format msgid "syntax error; found `%c', expected `%c'" msgstr "" -#: config/tc-ppc.c:3404 config/tc-ppc.c:6380 +#: config/tc-ppc.c:3404 config/tc-ppc.c:6388 msgid "instruction address is not a multiple of 4" msgstr "" -#: config/tc-ppc.c:3628 +#: config/tc-ppc.c:3636 msgid "missing size" msgstr "" -#: config/tc-ppc.c:3637 +#: config/tc-ppc.c:3645 msgid "negative size" msgstr "" -#: config/tc-ppc.c:3669 +#: config/tc-ppc.c:3677 msgid "missing real symbol name" msgstr "" -#: config/tc-ppc.c:3709 +#: config/tc-ppc.c:3717 msgid "attempt to redefine symbol" msgstr "" -#: config/tc-ppc.c:3974 +#: config/tc-ppc.c:3982 #, c-format msgid "no known dwarf XCOFF section for flag 0x%08x\n" msgstr "" -#: config/tc-ppc.c:3987 +#: config/tc-ppc.c:3995 #, c-format msgid "label %s was not defined in this dwarf section" msgstr "" -#: config/tc-ppc.c:4103 +#: config/tc-ppc.c:4111 msgid "the XCOFF file format does not support arbitrary sections" msgstr "" -#: config/tc-ppc.c:4176 +#: config/tc-ppc.c:4184 msgid ".ref outside .csect" msgstr "" -#: config/tc-ppc.c:4198 config/tc-ppc.c:4400 +#: config/tc-ppc.c:4206 config/tc-ppc.c:4408 msgid "missing symbol name" msgstr "" -#: config/tc-ppc.c:4229 +#: config/tc-ppc.c:4237 msgid "missing rename string" msgstr "" -#: config/tc-ppc.c:4259 config/tc-ppc.c:4801 read.c:3447 +#: config/tc-ppc.c:4267 config/tc-ppc.c:4809 read.c:3451 msgid "missing value" msgstr "" -#: config/tc-ppc.c:4277 +#: config/tc-ppc.c:4285 msgid "illegal .stabx expression; zero assumed" msgstr "" -#: config/tc-ppc.c:4309 +#: config/tc-ppc.c:4317 msgid "missing class" msgstr "" -#: config/tc-ppc.c:4318 +#: config/tc-ppc.c:4326 msgid "missing type" msgstr "" -#: config/tc-ppc.c:4345 +#: config/tc-ppc.c:4353 msgid ".stabx of storage class stsym must be within .bs/.es" msgstr "" -#: config/tc-ppc.c:4588 +#: config/tc-ppc.c:4596 msgid "nested .bs blocks" msgstr "" -#: config/tc-ppc.c:4620 +#: config/tc-ppc.c:4628 msgid ".es without preceding .bs" msgstr "" -#: config/tc-ppc.c:4793 +#: config/tc-ppc.c:4801 msgid "non-constant byte count" msgstr "" -#: config/tc-ppc.c:4867 +#: config/tc-ppc.c:4875 msgid ".tc not in .toc section" msgstr "" -#: config/tc-ppc.c:4886 +#: config/tc-ppc.c:4894 msgid ".tc with no label" msgstr "" -#: config/tc-ppc.c:4979 config/tc-s390.c:1857 +#: config/tc-ppc.c:4987 config/tc-s390.c:1856 msgid ".machine stack overflow" msgstr "" -#: config/tc-ppc.c:4986 config/tc-s390.c:1864 +#: config/tc-ppc.c:4994 config/tc-s390.c:1863 msgid ".machine stack underflow" msgstr "" -#: config/tc-ppc.c:4993 config/tc-s390.c:1871 config/tc-s390.c:1947 +#: config/tc-ppc.c:5001 config/tc-s390.c:1870 config/tc-s390.c:1946 #, c-format msgid "invalid machine `%s'" msgstr "" -#: config/tc-ppc.c:5025 +#: config/tc-ppc.c:5033 msgid "no previous section to return to, ignored." msgstr "" -#: config/tc-ppc.c:5301 +#: config/tc-ppc.c:5309 #, c-format msgid "length of .comm \"%s\" is already %ld. Not changed to %ld." msgstr "" #. Section Contents #. unknown -#: config/tc-ppc.c:5431 +#: config/tc-ppc.c:5439 msgid "unsupported section attribute -- 'a'" msgstr "" -#: config/tc-ppc.c:5615 +#: config/tc-ppc.c:5623 msgid "bad symbol suffix" msgstr "" -#: config/tc-ppc.c:5708 +#: config/tc-ppc.c:5716 msgid "unrecognized symbol suffix" msgstr "" -#: config/tc-ppc.c:5797 +#: config/tc-ppc.c:5805 msgid "two .function pseudo-ops with no intervening .ef" msgstr "" -#: config/tc-ppc.c:5810 +#: config/tc-ppc.c:5818 msgid ".ef with no preceding .function" msgstr "" -#: config/tc-ppc.c:5939 +#: config/tc-ppc.c:5947 #, c-format msgid "warning: symbol %s has no csect" msgstr "" -#: config/tc-ppc.c:6201 +#: config/tc-ppc.c:6209 msgid "symbol in .toc does not match any .tc" msgstr "" -#: config/tc-ppc.c:6835 +#: config/tc-ppc.c:6843 #, c-format msgid "unsupported relocation against %s" msgstr "" -#: config/tc-ppc.c:6979 +#: config/tc-ppc.c:6988 #, c-format msgid "Gas failure, reloc value %d\n" msgstr "" -#: config/tc-ppc.c:7052 +#: config/tc-ppc.c:7071 #, c-format msgid "cannot emit PC relative %s relocation against %s" msgstr "" -#: config/tc-ppc.c:7059 +#: config/tc-ppc.c:7078 msgid "unable to resolve expression" msgstr "" -#: config/tc-rl78.c:226 config/tc-rx.c:863 +#: config/tc-rl78.c:214 +msgid "16-bit relocation used in 8-bit operand" +msgstr "" + +#: config/tc-rl78.c:218 +msgid "8-bit relocation used in 16-bit operand" +msgstr "" + +#: config/tc-rl78.c:244 config/tc-rx.c:862 #, c-format msgid "Value %d doesn't fit in unsigned %d-bit field" msgstr "" -#: config/tc-rl78.c:232 config/tc-rx.c:869 +#: config/tc-rl78.c:250 config/tc-rx.c:868 #, c-format msgid "Value %d doesn't fit in signed %d-bit field" msgstr "" -#: config/tc-rl78.c:364 +#: config/tc-rl78.c:329 +#, c-format +msgid " RL78 specific command line options:\n" +msgstr "" + +#: config/tc-rl78.c:330 +#, c-format +msgid " --mg10 Enable support for G10 variant\n" +msgstr "" + +#: config/tc-rl78.c:331 +#, c-format +msgid " --m32bit-doubles [default]\n" +msgstr "" + +#: config/tc-rl78.c:332 config/tc-rx.c:187 +#, c-format +msgid " --m64bit-doubles\n" +msgstr "" + +#: config/tc-rl78.c:405 #, c-format msgid "%%%s() must be outermost term in expression" msgstr "" -#: config/tc-rl78.c:591 config/tc-rx.c:2192 +#: config/tc-rl78.c:633 config/tc-rx.c:2190 #, c-format msgid "unsupported constant size %d\n" msgstr "" -#: config/tc-rl78.c:604 +#: config/tc-rl78.c:646 #, c-format msgid "%%hi16/%%lo16 only applies to .short or .hword" msgstr "" -#: config/tc-rl78.c:609 +#: config/tc-rl78.c:651 #, c-format msgid "%%hi8 only applies to .byte" msgstr "" -#: config/tc-rl78.c:619 config/tc-rx.c:2199 +#: config/tc-rl78.c:661 config/tc-rx.c:2197 msgid "difference of two symbols only supported with .long, .short, or .byte" msgstr "" -#: config/tc-rl78.c:855 config/tc-rx.c:2389 +#: config/tc-rl78.c:1146 config/tc-rx.c:2124 +#, c-format +msgid "bad frag at %p : fix %ld addr %ld %ld \n" +msgstr "" + +#: config/tc-rl78.c:1338 +#, c-format +msgid "value of %ld too large for 8-bit branch" +msgstr "" + +#: config/tc-rl78.c:1348 +#, c-format +msgid "value of %ld too large for 16-bit branch" +msgstr "" + +#: config/tc-rl78.c:1397 config/tc-rx.c:2387 #, c-format msgid "Unknown reloc in md_apply_fix: %s" msgstr "" -#: config/tc-rx.c:173 +#: config/tc-rx.c:172 #, c-format msgid "unrecognised RX CPU type %s" msgstr "" -#: config/tc-rx.c:184 +#: config/tc-rx.c:183 #, c-format msgid " RX specific command line options:\n" msgstr "" -#: config/tc-rx.c:185 +#: config/tc-rx.c:184 #, c-format msgid " --mbig-endian-data\n" msgstr "" -#: config/tc-rx.c:186 +#: config/tc-rx.c:185 #, c-format msgid " --mlittle-endian-data [default]\n" msgstr "" -#: config/tc-rx.c:187 +#: config/tc-rx.c:186 #, c-format msgid " --m32bit-doubles [default]\n" msgstr "" #: config/tc-rx.c:188 #, c-format -msgid " --m64bit-doubles\n" -msgstr "" - -#: config/tc-rx.c:189 -#, c-format msgid " --muse-conventional-section-names\n" msgstr "" -#: config/tc-rx.c:190 +#: config/tc-rx.c:189 #, c-format msgid " --muse-renesas-section-names [default]\n" msgstr "" -#: config/tc-rx.c:191 +#: config/tc-rx.c:190 #, c-format msgid " --msmall-data-limit\n" msgstr "" -#: config/tc-rx.c:192 +#: config/tc-rx.c:191 #, c-format msgid " --mrelax\n" msgstr "" -#: config/tc-rx.c:193 +#: config/tc-rx.c:192 #, c-format msgid " --mpid\n" msgstr "" -#: config/tc-rx.c:194 +#: config/tc-rx.c:193 #, c-format msgid " --mint-register=<value>\n" msgstr "" -#: config/tc-rx.c:195 +#: config/tc-rx.c:194 #, c-format msgid " --mcpu=<rx100|rx200|rx600|rx610>\n" msgstr "" -#: config/tc-rx.c:275 +#: config/tc-rx.c:274 msgid "no filename following .INCLUDE pseudo-op" msgstr "" -#: config/tc-rx.c:378 +#: config/tc-rx.c:377 #, c-format msgid "unable to locate include file: %s" msgstr "" -#: config/tc-rx.c:429 +#: config/tc-rx.c:428 #, c-format msgid "unrecognised alignment value in .SECTION directive: %s" msgstr "" -#: config/tc-rx.c:446 +#: config/tc-rx.c:445 #, c-format msgid "unknown parameter following .SECTION directive: %s" msgstr "" -#: config/tc-rx.c:535 +#: config/tc-rx.c:534 msgid "expecting either ON or OFF after .list" msgstr "" -#: config/tc-rx.c:571 +#: config/tc-rx.c:570 #, c-format msgid "The \".%s\" pseudo-op is not implemented\n" msgstr "" -#: config/tc-rx.c:1069 +#: config/tc-rx.c:1068 msgid "The .DEFINE pseudo-op is not implemented" msgstr "" -#: config/tc-rx.c:1071 +#: config/tc-rx.c:1070 msgid "The .MACRO pseudo-op is not implemented" msgstr "" -#: config/tc-rx.c:1073 +#: config/tc-rx.c:1072 msgid "The .BTEQU pseudo-op is not implemented." msgstr "" -#: config/tc-rx.c:2057 +#: config/tc-rx.c:2056 msgid "invalid immediate size" msgstr "" -#: config/tc-rx.c:2076 +#: config/tc-rx.c:2075 msgid "invalid immediate field position" msgstr "" -#: config/tc-rx.c:2125 -#, c-format -msgid "bad frag at %p : fix %ld addr %ld %ld \n" -msgstr "" - -#: config/tc-rx.c:2243 +#: config/tc-rx.c:2241 #, c-format msgid "jump not 3..10 bytes away (is %d)" msgstr "" -#: config/tc-s390.c:338 config/tc-sparc.c:297 +#: config/tc-s390.c:337 config/tc-sparc.c:325 msgid "Invalid default architecture, broken assembler." msgstr "" -#: config/tc-s390.c:451 config/tc-sparc.c:508 +#: config/tc-s390.c:450 config/tc-sparc.c:536 #, c-format msgid "invalid architecture -A%s" msgstr "" -#: config/tc-s390.c:474 +#: config/tc-s390.c:473 #, c-format msgid "" " S390 options:\n" @@ -13527,136 +13763,136 @@ msgid "" " -m64 Set file format to 64 bit format\n" msgstr "" -#: config/tc-s390.c:481 +#: config/tc-s390.c:480 #, c-format msgid "" " -V print assembler version number\n" " -Qy, -Qn ignored\n" msgstr "" -#: config/tc-s390.c:546 +#: config/tc-s390.c:545 msgid "The 64 bit file format is used without esame instructions." msgstr "" -#: config/tc-s390.c:562 +#: config/tc-s390.c:561 #, c-format msgid "Internal assembler error for instruction format %s" msgstr "" -#: config/tc-s390.c:608 +#: config/tc-s390.c:607 #, c-format msgid "operand out of range (%s not between %ld and %ld)" msgstr "" -#: config/tc-s390.c:790 +#: config/tc-s390.c:789 #, c-format msgid "identifier+constant@%s means identifier@%s+constant" msgstr "" -#: config/tc-s390.c:871 +#: config/tc-s390.c:870 msgid "Can't handle O_big in s390_exp_compare" msgstr "" -#: config/tc-s390.c:952 +#: config/tc-s390.c:951 msgid "Invalid suffix for literal pool entry" msgstr "" -#: config/tc-s390.c:1009 +#: config/tc-s390.c:1008 msgid "Big number is too big" msgstr "" -#: config/tc-s390.c:1156 +#: config/tc-s390.c:1155 msgid "relocation not applicable" msgstr "" -#: config/tc-s390.c:1273 +#: config/tc-s390.c:1272 msgid "index register specified but zero" msgstr "" -#: config/tc-s390.c:1277 +#: config/tc-s390.c:1276 msgid "base register specified but zero" msgstr "" -#: config/tc-s390.c:1281 +#: config/tc-s390.c:1280 msgid "odd numbered general purpose register specified as register pair" msgstr "" -#: config/tc-s390.c:1289 +#: config/tc-s390.c:1288 msgid "" "invalid floating point register pair. Valid fp register pair operands are " "0, 1, 4, 5, 8, 9, 12 or 13." msgstr "" -#: config/tc-s390.c:1378 +#: config/tc-s390.c:1377 msgid "invalid operand suffix" msgstr "" -#: config/tc-s390.c:1401 +#: config/tc-s390.c:1400 msgid "syntax error; missing '(' after displacement" msgstr "" -#: config/tc-s390.c:1417 config/tc-s390.c:1461 config/tc-s390.c:1491 +#: config/tc-s390.c:1416 config/tc-s390.c:1460 config/tc-s390.c:1490 msgid "syntax error; expected ," msgstr "" -#: config/tc-s390.c:1449 +#: config/tc-s390.c:1448 msgid "syntax error; missing ')' after base register" msgstr "" -#: config/tc-s390.c:1478 +#: config/tc-s390.c:1477 msgid "syntax error; ')' not allowed here" msgstr "" -#: config/tc-s390.c:1613 +#: config/tc-s390.c:1612 #, c-format msgid "Opcode %s not available in this mode" msgstr "" -#: config/tc-s390.c:1668 config/tc-s390.c:1691 config/tc-s390.c:1704 +#: config/tc-s390.c:1667 config/tc-s390.c:1690 config/tc-s390.c:1703 msgid "Invalid .insn format\n" msgstr "" -#: config/tc-s390.c:1676 +#: config/tc-s390.c:1675 #, c-format msgid "Unrecognized opcode format: `%s'" msgstr "" -#: config/tc-s390.c:1707 +#: config/tc-s390.c:1706 msgid "second operand of .insn not a constant\n" msgstr "" -#: config/tc-s390.c:1710 +#: config/tc-s390.c:1709 msgid "missing comma after insn constant\n" msgstr "" -#: config/tc-s390.c:1923 +#: config/tc-s390.c:1922 msgid ".machinemode stack overflow" msgstr "" -#: config/tc-s390.c:1930 +#: config/tc-s390.c:1929 msgid ".machinemode stack underflow" msgstr "" -#: config/tc-s390.c:2145 +#: config/tc-s390.c:2144 #, c-format msgid "cannot emit relocation %s against subsy symbol %s" msgstr "" -#: config/tc-s390.c:2249 +#: config/tc-s390.c:2248 msgid "unsupported relocation type" msgstr "" -#: config/tc-s390.c:2304 +#: config/tc-s390.c:2303 #, c-format msgid "cannot emit PC relative %s relocation%s%s" msgstr "" -#: config/tc-s390.c:2443 +#: config/tc-s390.c:2442 #, c-format msgid "Gas failure, reloc type %s\n" msgstr "" -#: config/tc-s390.c:2445 +#: config/tc-s390.c:2444 #, c-format msgid "Gas failure, reloc type #%i\n" msgstr "" @@ -13883,12 +14119,12 @@ msgstr "" msgid "BSS length (%d) < 0 ignored" msgstr "" -#: config/tc-score.c:6143 read.c:2408 +#: config/tc-score.c:6143 read.c:2412 #, c-format msgid "error setting flags for \".sbss\": %s" msgstr "" -#: config/tc-score.c:6157 config/tc-sparc.c:3939 +#: config/tc-score.c:6157 config/tc-sparc.c:4022 msgid "missing alignment" msgstr "" @@ -13897,7 +14133,7 @@ msgstr "" msgid "alignment too large; %d assumed" msgstr "" -#: config/tc-score.c:6199 read.c:2469 +#: config/tc-score.c:6199 read.c:2473 msgid "alignment negative; 0 assumed" msgstr "" @@ -14024,205 +14260,205 @@ msgstr "" msgid " -V \t\tSunplus release version \n" msgstr "" -#: config/tc-sh.c:64 +#: config/tc-sh.c:62 msgid "directive .big encountered when option -big required" msgstr "" -#: config/tc-sh.c:74 +#: config/tc-sh.c:72 msgid "directive .little encountered when option -little required" msgstr "" -#: config/tc-sh.c:1423 +#: config/tc-sh.c:1422 msgid "illegal double indirection" msgstr "" -#: config/tc-sh.c:1432 +#: config/tc-sh.c:1431 msgid "illegal register after @-" msgstr "" -#: config/tc-sh.c:1448 +#: config/tc-sh.c:1447 msgid "must be @(r0,...)" msgstr "" -#: config/tc-sh.c:1472 +#: config/tc-sh.c:1471 msgid "syntax error in @(r0,...)" msgstr "" -#: config/tc-sh.c:1477 +#: config/tc-sh.c:1476 msgid "syntax error in @(r0...)" msgstr "" -#: config/tc-sh.c:1522 +#: config/tc-sh.c:1521 msgid "Deprecated syntax." msgstr "" -#: config/tc-sh.c:1534 config/tc-sh.c:1539 +#: config/tc-sh.c:1533 config/tc-sh.c:1538 msgid "syntax error in @(disp,[Rn, gbr, pc])" msgstr "" -#: config/tc-sh.c:1544 +#: config/tc-sh.c:1543 msgid "expecting )" msgstr "" -#: config/tc-sh.c:1552 +#: config/tc-sh.c:1551 msgid "illegal register after @" msgstr "" -#: config/tc-sh.c:2193 +#: config/tc-sh.c:2192 #, c-format msgid "unhandled %d\n" msgstr "" -#: config/tc-sh.c:2403 +#: config/tc-sh.c:2402 #, c-format msgid "Invalid register: 'r%d'" msgstr "" -#: config/tc-sh.c:2513 +#: config/tc-sh.c:2512 #, c-format msgid "failed for %d\n" msgstr "" -#: config/tc-sh.c:2519 +#: config/tc-sh.c:2518 msgid "misplaced PIC operand" msgstr "" -#: config/tc-sh.c:2630 config/tc-sh.c:3029 +#: config/tc-sh.c:2629 config/tc-sh.c:3028 msgid "invalid operands for opcode" msgstr "" -#: config/tc-sh.c:2635 +#: config/tc-sh.c:2634 msgid "insn can't be combined with parallel processing insn" msgstr "" -#: config/tc-sh.c:2642 config/tc-sh.c:2653 config/tc-sh.c:2685 +#: config/tc-sh.c:2641 config/tc-sh.c:2652 config/tc-sh.c:2684 msgid "multiple movx specifications" msgstr "" -#: config/tc-sh.c:2647 config/tc-sh.c:2669 config/tc-sh.c:2708 +#: config/tc-sh.c:2646 config/tc-sh.c:2668 config/tc-sh.c:2707 msgid "multiple movy specifications" msgstr "" -#: config/tc-sh.c:2656 config/tc-sh.c:2689 +#: config/tc-sh.c:2655 config/tc-sh.c:2688 msgid "invalid movx address register" msgstr "" -#: config/tc-sh.c:2658 +#: config/tc-sh.c:2657 msgid "insn cannot be combined with non-nopy" msgstr "" -#: config/tc-sh.c:2672 config/tc-sh.c:2728 +#: config/tc-sh.c:2671 config/tc-sh.c:2727 msgid "invalid movy address register" msgstr "" -#: config/tc-sh.c:2674 +#: config/tc-sh.c:2673 msgid "insn cannot be combined with non-nopx" msgstr "" -#: config/tc-sh.c:2687 +#: config/tc-sh.c:2686 msgid "previous movy requires nopx" msgstr "" -#: config/tc-sh.c:2695 config/tc-sh.c:2700 +#: config/tc-sh.c:2694 config/tc-sh.c:2699 msgid "invalid movx dsp register" msgstr "" -#: config/tc-sh.c:2710 +#: config/tc-sh.c:2709 msgid "previous movx requires nopy" msgstr "" -#: config/tc-sh.c:2719 config/tc-sh.c:2724 +#: config/tc-sh.c:2718 config/tc-sh.c:2723 msgid "invalid movy dsp register" msgstr "" -#: config/tc-sh.c:2734 +#: config/tc-sh.c:2733 msgid "dsp immediate shift value not constant" msgstr "" -#: config/tc-sh.c:2748 config/tc-sh.c:2774 +#: config/tc-sh.c:2747 config/tc-sh.c:2773 msgid "multiple parallel processing specifications" msgstr "" -#: config/tc-sh.c:2767 +#: config/tc-sh.c:2766 msgid "multiple condition specifications" msgstr "" -#: config/tc-sh.c:2805 +#: config/tc-sh.c:2804 msgid "insn cannot be combined with pmuls" msgstr "" -#: config/tc-sh.c:2821 +#: config/tc-sh.c:2820 msgid "bad combined pmuls output operand" msgstr "" -#: config/tc-sh.c:2831 +#: config/tc-sh.c:2830 msgid "destination register is same for parallel insns" msgstr "" -#: config/tc-sh.c:2840 +#: config/tc-sh.c:2839 msgid "condition not followed by conditionalizable insn" msgstr "" -#: config/tc-sh.c:2850 +#: config/tc-sh.c:2849 msgid "unrecognized characters at end of parallel processing insn" msgstr "" -#: config/tc-sh.c:2966 +#: config/tc-sh.c:2965 msgid "opcode not valid for this cpu variant" msgstr "" -#: config/tc-sh.c:2999 +#: config/tc-sh.c:2998 msgid "Delayed branches not available on SH1" msgstr "" -#: config/tc-sh.c:3034 +#: config/tc-sh.c:3033 #, c-format msgid "excess operands: '%s'" msgstr "" -#: config/tc-sh.c:3111 +#: config/tc-sh.c:3110 msgid ".uses pseudo-op seen when not relaxing" msgstr "" -#: config/tc-sh.c:3117 +#: config/tc-sh.c:3116 msgid "bad .uses format" msgstr "" -#: config/tc-sh.c:3228 +#: config/tc-sh.c:3227 msgid "Invalid combination: --isa=SHcompact with --isa=SHmedia" msgstr "" -#: config/tc-sh.c:3234 +#: config/tc-sh.c:3233 msgid "Invalid combination: --isa=SHmedia with --isa=SHcompact" msgstr "" -#: config/tc-sh.c:3236 +#: config/tc-sh.c:3235 msgid "Invalid combination: --abi=64 with --isa=SHcompact" msgstr "" -#: config/tc-sh.c:3268 +#: config/tc-sh.c:3267 #, c-format msgid "Invalid argument to --isa option: %s" msgstr "" -#: config/tc-sh.c:3277 +#: config/tc-sh.c:3276 msgid "Invalid combination: --abi=32 with --abi=64" msgstr "" -#: config/tc-sh.c:3283 +#: config/tc-sh.c:3282 msgid "Invalid combination: --abi=64 with --abi=32" msgstr "" -#: config/tc-sh.c:3285 +#: config/tc-sh.c:3284 msgid "Invalid combination: --isa=SHcompact with --abi=64" msgstr "" -#: config/tc-sh.c:3289 +#: config/tc-sh.c:3288 #, c-format msgid "Invalid argument to --abi option: %s" msgstr "" -#: config/tc-sh.c:3329 +#: config/tc-sh.c:3328 #, c-format msgid "" "SH options:\n" @@ -14239,7 +14475,7 @@ msgid "" " | fp" msgstr "" -#: config/tc-sh.c:3355 +#: config/tc-sh.c:3354 #, c-format msgid "" "--isa=[shmedia\t\tset as the default instruction set for SH64\n" @@ -14248,7 +14484,7 @@ msgid "" " | SHcompact]\n" msgstr "" -#: config/tc-sh.c:3360 +#: config/tc-sh.c:3359 #, c-format msgid "" "--abi=[32|64]\t\tset size of expanded SHmedia operands and object\n" @@ -14262,279 +14498,279 @@ msgid "" "\t\t\tto 32 bits only\n" msgstr "" -#: config/tc-sh.c:3372 +#: config/tc-sh.c:3371 #, c-format msgid "--fdpic\t\t\tgenerate an FDPIC object file\n" msgstr "" -#: config/tc-sh.c:3463 +#: config/tc-sh.c:3462 msgid ".uses does not refer to a local symbol in the same section" msgstr "" -#: config/tc-sh.c:3482 +#: config/tc-sh.c:3481 msgid "can't find fixup pointed to by .uses" msgstr "" -#: config/tc-sh.c:3502 +#: config/tc-sh.c:3501 msgid ".uses target does not refer to a local symbol in the same section" msgstr "" -#: config/tc-sh.c:3579 +#: config/tc-sh.c:3578 msgid "displacement overflows 12-bit field" msgstr "" -#: config/tc-sh.c:3582 +#: config/tc-sh.c:3581 #, c-format msgid "displacement to defined symbol %s overflows 12-bit field" msgstr "" -#: config/tc-sh.c:3586 +#: config/tc-sh.c:3585 #, c-format msgid "displacement to undefined symbol %s overflows 12-bit field" msgstr "" -#: config/tc-sh.c:3659 +#: config/tc-sh.c:3658 msgid "displacement overflows 8-bit field" msgstr "" -#: config/tc-sh.c:3662 +#: config/tc-sh.c:3661 #, c-format msgid "displacement to defined symbol %s overflows 8-bit field" msgstr "" -#: config/tc-sh.c:3666 +#: config/tc-sh.c:3665 #, c-format msgid "displacement to undefined symbol %s overflows 8-bit field " msgstr "" -#: config/tc-sh.c:3683 +#: config/tc-sh.c:3682 #, c-format msgid "overflow in branch to %s; converted into longer instruction sequence" msgstr "" -#: config/tc-sh.c:3748 config/tc-sh.c:3795 config/tc-sparc.c:4446 -#: config/tc-sparc.c:4470 +#: config/tc-sh.c:3747 config/tc-sh.c:3794 config/tc-sparc.c:4524 +#: config/tc-sparc.c:4548 msgid "misaligned data" msgstr "" -#: config/tc-sh.c:4124 +#: config/tc-sh.c:4123 msgid "offset to unaligned destination" msgstr "" -#: config/tc-sh.c:4129 +#: config/tc-sh.c:4128 msgid "negative offset" msgstr "" -#: config/tc-sh.c:4280 +#: config/tc-sh.c:4279 msgid "misaligned offset" msgstr "" -#: config/tc-sh64.c:568 +#: config/tc-sh64.c:567 msgid "This operand must be constant at assembly time" msgstr "" -#: config/tc-sh64.c:681 +#: config/tc-sh64.c:680 msgid "Invalid operand expression" msgstr "" -#: config/tc-sh64.c:773 config/tc-sh64.c:877 +#: config/tc-sh64.c:772 config/tc-sh64.c:876 msgid "PTB operand is a SHmedia symbol" msgstr "" -#: config/tc-sh64.c:776 config/tc-sh64.c:874 +#: config/tc-sh64.c:775 config/tc-sh64.c:873 msgid "PTA operand is a SHcompact symbol" msgstr "" -#: config/tc-sh64.c:792 +#: config/tc-sh64.c:791 msgid "invalid expression in operand" msgstr "" -#: config/tc-sh64.c:1483 +#: config/tc-sh64.c:1482 #, c-format msgid "invalid operand, not a 5-bit unsigned value: %d" msgstr "" -#: config/tc-sh64.c:1488 +#: config/tc-sh64.c:1487 #, c-format msgid "invalid operand, not a 6-bit signed value: %d" msgstr "" -#: config/tc-sh64.c:1493 +#: config/tc-sh64.c:1492 #, c-format msgid "invalid operand, not a 6-bit unsigned value: %d" msgstr "" -#: config/tc-sh64.c:1498 config/tc-sh64.c:1510 +#: config/tc-sh64.c:1497 config/tc-sh64.c:1509 #, c-format msgid "invalid operand, not a 11-bit signed value: %d" msgstr "" -#: config/tc-sh64.c:1500 +#: config/tc-sh64.c:1499 #, c-format msgid "invalid operand, not a multiple of 32: %d" msgstr "" -#: config/tc-sh64.c:1505 +#: config/tc-sh64.c:1504 #, c-format msgid "invalid operand, not a 10-bit signed value: %d" msgstr "" -#: config/tc-sh64.c:1512 +#: config/tc-sh64.c:1511 #, c-format msgid "invalid operand, not an even value: %d" msgstr "" -#: config/tc-sh64.c:1517 +#: config/tc-sh64.c:1516 #, c-format msgid "invalid operand, not a 12-bit signed value: %d" msgstr "" -#: config/tc-sh64.c:1519 +#: config/tc-sh64.c:1518 #, c-format msgid "invalid operand, not a multiple of 4: %d" msgstr "" -#: config/tc-sh64.c:1524 +#: config/tc-sh64.c:1523 #, c-format msgid "invalid operand, not a 13-bit signed value: %d" msgstr "" -#: config/tc-sh64.c:1526 +#: config/tc-sh64.c:1525 #, c-format msgid "invalid operand, not a multiple of 8: %d" msgstr "" -#: config/tc-sh64.c:1531 +#: config/tc-sh64.c:1530 #, c-format msgid "invalid operand, not a 16-bit signed value: %d" msgstr "" -#: config/tc-sh64.c:1536 +#: config/tc-sh64.c:1535 #, c-format msgid "invalid operand, not a 16-bit unsigned value: %d" msgstr "" -#: config/tc-sh64.c:1542 +#: config/tc-sh64.c:1541 msgid "operand out of range for PT, PTA and PTB" msgstr "" -#: config/tc-sh64.c:1544 +#: config/tc-sh64.c:1543 #, c-format msgid "operand not a multiple of 4 for PT, PTA or PTB: %d" msgstr "" -#: config/tc-sh64.c:2064 +#: config/tc-sh64.c:2063 #, c-format msgid "MOVI operand is not a 32-bit signed value: 0x%8x%08x" msgstr "" -#: config/tc-sh64.c:2421 config/tc-sh64.c:2584 config/tc-sh64.c:2599 +#: config/tc-sh64.c:2420 config/tc-sh64.c:2583 config/tc-sh64.c:2598 msgid "invalid PIC reference" msgstr "" -#: config/tc-sh64.c:2478 +#: config/tc-sh64.c:2477 msgid "can't find opcode" msgstr "" -#: config/tc-sh64.c:2681 config/tc-sh64.c:2721 +#: config/tc-sh64.c:2680 config/tc-sh64.c:2720 msgid "invalid operand: expression in PT target" msgstr "" -#: config/tc-sh64.c:2812 +#: config/tc-sh64.c:2811 #, c-format msgid "invalid operands to %s" msgstr "" -#: config/tc-sh64.c:2818 +#: config/tc-sh64.c:2817 #, c-format msgid "excess operands to %s" msgstr "" -#: config/tc-sh64.c:2863 +#: config/tc-sh64.c:2862 #, c-format msgid "The `.mode %s' directive is not valid with this architecture" msgstr "" -#: config/tc-sh64.c:2871 +#: config/tc-sh64.c:2870 #, c-format msgid "Invalid argument to .mode: %s" msgstr "" -#: config/tc-sh64.c:2901 +#: config/tc-sh64.c:2900 #, c-format msgid "The `.abi %s' directive is not valid with this architecture" msgstr "" -#: config/tc-sh64.c:2907 +#: config/tc-sh64.c:2906 msgid "`.abi 64' but command-line options do not specify 64-bit ABI" msgstr "" -#: config/tc-sh64.c:2912 +#: config/tc-sh64.c:2911 msgid "`.abi 32' but command-line options do not specify 32-bit ABI" msgstr "" -#: config/tc-sh64.c:2915 +#: config/tc-sh64.c:2914 #, c-format msgid "Invalid argument to .abi: %s" msgstr "" -#: config/tc-sh64.c:2970 +#: config/tc-sh64.c:2969 msgid "-no-mix is invalid without specifying SHcompact or SHmedia" msgstr "" -#: config/tc-sh64.c:2975 +#: config/tc-sh64.c:2974 msgid "-shcompact-const-crange is invalid without SHcompact" msgstr "" -#: config/tc-sh64.c:2978 +#: config/tc-sh64.c:2977 msgid "-expand-pt32 only valid with -abi=64" msgstr "" -#: config/tc-sh64.c:2981 +#: config/tc-sh64.c:2980 msgid "-no-expand only valid with SHcompact or SHmedia" msgstr "" -#: config/tc-sh64.c:2984 +#: config/tc-sh64.c:2983 msgid "-expand-pt32 invalid together with -no-expand" msgstr "" -#: config/tc-sh64.c:3198 +#: config/tc-sh64.c:3197 msgid "" "SHmedia code not allowed in same section as constants and SHcompact code" msgstr "" -#: config/tc-sh64.c:3216 +#: config/tc-sh64.c:3215 msgid "No segment info for current section" msgstr "" -#: config/tc-sh64.c:3255 +#: config/tc-sh64.c:3254 msgid "duplicate datalabel operator ignored" msgstr "" -#: config/tc-sh64.c:3325 +#: config/tc-sh64.c:3324 msgid "Invalid DataLabel expression" msgstr "" -#: config/tc-sparc.c:301 config/tc-sparc.c:514 +#: config/tc-sparc.c:329 config/tc-sparc.c:542 msgid "Bad opcode table, broken assembler." msgstr "" -#: config/tc-sparc.c:506 +#: config/tc-sparc.c:534 #, c-format msgid "invalid architecture -xarch=%s" msgstr "" -#: config/tc-sparc.c:578 +#: config/tc-sparc.c:607 #, c-format msgid "No compiled in support for %d bit object file format" msgstr "" -#: config/tc-sparc.c:659 +#: config/tc-sparc.c:688 #, c-format msgid "SPARC options:\n" msgstr "" -#: config/tc-sparc.c:688 +#: config/tc-sparc.c:717 #, c-format msgid "" "\n" @@ -14546,24 +14782,24 @@ msgid "" "-no-relax\t\tavoid changing any jumps and branches\n" msgstr "" -#: config/tc-sparc.c:696 +#: config/tc-sparc.c:725 #, c-format msgid "-k\t\t\tgenerate PIC\n" msgstr "" -#: config/tc-sparc.c:700 +#: config/tc-sparc.c:729 #, c-format msgid "" "-32\t\t\tcreate 32 bit object file\n" "-64\t\t\tcreate 64 bit object file\n" msgstr "" -#: config/tc-sparc.c:703 +#: config/tc-sparc.c:732 #, c-format msgid "\t\t\t[default is %d]\n" msgstr "" -#: config/tc-sparc.c:705 +#: config/tc-sparc.c:734 #, c-format msgid "" "-TSO\t\t\tuse Total Store Ordering\n" @@ -14571,12 +14807,12 @@ msgid "" "-RMO\t\t\tuse Relaxed Memory Ordering\n" msgstr "" -#: config/tc-sparc.c:709 +#: config/tc-sparc.c:738 #, c-format msgid "\t\t\t[default is %s]\n" msgstr "" -#: config/tc-sparc.c:711 +#: config/tc-sparc.c:740 #, c-format msgid "" "-KPIC\t\t\tgenerate PIC\n" @@ -14590,7 +14826,7 @@ msgid "" "-s\t\t\tignored\n" msgstr "" -#: config/tc-sparc.c:723 +#: config/tc-sparc.c:752 #, c-format msgid "" "-EL\t\t\tgenerate code for a little endian machine\n" @@ -14599,349 +14835,353 @@ msgid "" " instructions and little endian data.\n" msgstr "" -#: config/tc-sparc.c:862 +#: config/tc-sparc.c:893 #, c-format msgid "Internal error: losing opcode: `%s' \"%s\"\n" msgstr "" -#: config/tc-sparc.c:881 +#: config/tc-sparc.c:912 #, c-format msgid "Internal error: can't find opcode `%s' for `%s'\n" msgstr "" -#: config/tc-sparc.c:1027 +#: config/tc-sparc.c:1074 msgid "Support for 64-bit arithmetic not compiled in." msgstr "" -#: config/tc-sparc.c:1073 +#: config/tc-sparc.c:1120 msgid "set: number not in 0..4294967295 range" msgstr "" -#: config/tc-sparc.c:1080 +#: config/tc-sparc.c:1127 msgid "set: number not in -2147483648..4294967295 range" msgstr "" -#: config/tc-sparc.c:1139 +#: config/tc-sparc.c:1186 msgid "setsw: number not in -2147483648..4294967295 range" msgstr "" -#: config/tc-sparc.c:1187 +#: config/tc-sparc.c:1234 msgid "setx: temporary register same as destination register" msgstr "" -#: config/tc-sparc.c:1258 +#: config/tc-sparc.c:1305 msgid "setx: illegal temporary register g0" msgstr "" -#: config/tc-sparc.c:1355 +#: config/tc-sparc.c:1402 msgid "FP branch in delay slot" msgstr "" -#: config/tc-sparc.c:1370 +#: config/tc-sparc.c:1417 msgid "FP branch preceded by FP instruction; NOP inserted" msgstr "" -#: config/tc-sparc.c:1410 +#: config/tc-sparc.c:1457 msgid "failed special case insn sanity check" msgstr "" -#: config/tc-sparc.c:1562 +#: config/tc-sparc.c:1628 msgid ": invalid membar mask name" msgstr "" -#: config/tc-sparc.c:1578 +#: config/tc-sparc.c:1644 msgid ": invalid membar mask expression" msgstr "" -#: config/tc-sparc.c:1583 +#: config/tc-sparc.c:1649 msgid ": invalid membar mask number" msgstr "" -#: config/tc-sparc.c:1598 +#: config/tc-sparc.c:1664 msgid ": invalid siam mode expression" msgstr "" -#: config/tc-sparc.c:1603 +#: config/tc-sparc.c:1669 msgid ": invalid siam mode number" msgstr "" -#: config/tc-sparc.c:1619 +#: config/tc-sparc.c:1685 msgid ": invalid prefetch function name" msgstr "" -#: config/tc-sparc.c:1627 +#: config/tc-sparc.c:1693 msgid ": invalid prefetch function expression" msgstr "" -#: config/tc-sparc.c:1632 +#: config/tc-sparc.c:1698 msgid ": invalid prefetch function number" msgstr "" -#: config/tc-sparc.c:1660 config/tc-sparc.c:1672 +#: config/tc-sparc.c:1726 config/tc-sparc.c:1738 msgid ": unrecognizable privileged register" msgstr "" -#: config/tc-sparc.c:1696 config/tc-sparc.c:1708 +#: config/tc-sparc.c:1762 config/tc-sparc.c:1774 msgid ": unrecognizable hyperprivileged register" msgstr "" -#: config/tc-sparc.c:1732 config/tc-sparc.c:1757 +#: config/tc-sparc.c:1798 config/tc-sparc.c:1823 msgid ": unrecognizable v9a or v9b ancillary state register" msgstr "" -#: config/tc-sparc.c:1737 +#: config/tc-sparc.c:1803 msgid ": rd on write only ancillary state register" msgstr "" #. %sys_tick and %sys_tick_cmpr are v9bnotv9a -#: config/tc-sparc.c:1745 +#: config/tc-sparc.c:1811 msgid ": unrecognizable v9a ancillary state register" msgstr "" -#: config/tc-sparc.c:1781 +#: config/tc-sparc.c:1847 msgid ": asr number must be between 16 and 31" msgstr "" -#: config/tc-sparc.c:1789 +#: config/tc-sparc.c:1855 msgid ": asr number must be between 0 and 31" msgstr "" -#: config/tc-sparc.c:1799 +#: config/tc-sparc.c:1865 #, c-format msgid ": expecting %asrN" msgstr "" -#: config/tc-sparc.c:1841 +#: config/tc-sparc.c:1907 msgid ": crypto immediate must be between 0 and 31" msgstr "" -#: config/tc-sparc.c:1850 +#: config/tc-sparc.c:1916 msgid ": expecting crypto immediate" msgstr "" -#: config/tc-sparc.c:2032 config/tc-sparc.c:2070 config/tc-sparc.c:2502 -#: config/tc-sparc.c:2538 +#: config/tc-sparc.c:2098 config/tc-sparc.c:2136 config/tc-sparc.c:2577 +#: config/tc-sparc.c:2613 #, c-format msgid "Illegal operands: %%%s requires arguments in ()" msgstr "" -#: config/tc-sparc.c:2038 +#: config/tc-sparc.c:2104 #, c-format msgid "" "Illegal operands: %%%s cannot be used together with other relocs in the insn " "()" msgstr "" -#: config/tc-sparc.c:2049 +#: config/tc-sparc.c:2115 #, c-format msgid "Illegal operands: %%%s can be only used with call __tls_get_addr" msgstr "" -#: config/tc-sparc.c:2256 +#: config/tc-sparc.c:2322 msgid "detected global register use not covered by .register pseudo-op" msgstr "" -#: config/tc-sparc.c:2331 +#: config/tc-sparc.c:2398 msgid ": There are only 64 f registers; [0-63]" msgstr "" -#: config/tc-sparc.c:2333 config/tc-sparc.c:2351 +#: config/tc-sparc.c:2400 config/tc-sparc.c:2418 msgid ": There are only 32 f registers; [0-31]" msgstr "" -#: config/tc-sparc.c:2343 +#: config/tc-sparc.c:2410 msgid ": There are only 32 single precision f registers; [0-31]" msgstr "" -#: config/tc-sparc.c:2550 +#: config/tc-sparc.c:2431 +msgid ": Instruction requires frs2 and frsd must be the same register" +msgstr "" + +#: config/tc-sparc.c:2625 #, c-format msgid "" "Illegal operands: Can't do arithmetics other than + and - involving %%%s()" msgstr "" -#: config/tc-sparc.c:2667 +#: config/tc-sparc.c:2742 #, c-format msgid "Illegal operands: Can't add non-constant expression to %%%s()" msgstr "" -#: config/tc-sparc.c:2677 +#: config/tc-sparc.c:2752 #, c-format msgid "" "Illegal operands: Can't do arithmetics involving %%%s() of a relocatable " "symbol" msgstr "" -#: config/tc-sparc.c:2695 +#: config/tc-sparc.c:2770 msgid ": PC-relative operand can't be a constant" msgstr "" -#: config/tc-sparc.c:2702 +#: config/tc-sparc.c:2777 msgid ": TLS operand can't be a constant" msgstr "" -#: config/tc-sparc.c:2728 +#: config/tc-sparc.c:2803 msgid ": Immediate value in cbcond is out of range." msgstr "" -#: config/tc-sparc.c:2755 +#: config/tc-sparc.c:2830 msgid ": invalid ASI name" msgstr "" -#: config/tc-sparc.c:2763 +#: config/tc-sparc.c:2838 msgid ": invalid ASI expression" msgstr "" -#: config/tc-sparc.c:2768 +#: config/tc-sparc.c:2843 msgid ": invalid ASI number" msgstr "" -#: config/tc-sparc.c:2865 +#: config/tc-sparc.c:2946 msgid "OPF immediate operand out of range (0-0x1ff)" msgstr "" -#: config/tc-sparc.c:2870 +#: config/tc-sparc.c:2951 msgid "non-immediate OPF operand, ignored" msgstr "" -#: config/tc-sparc.c:2889 +#: config/tc-sparc.c:2970 msgid ": invalid cpreg name" msgstr "" -#: config/tc-sparc.c:2918 +#: config/tc-sparc.c:2999 #, c-format msgid "Illegal operands%s" msgstr "" -#: config/tc-sparc.c:2957 +#: config/tc-sparc.c:3039 #, c-format msgid "architecture bumped from \"%s\" to \"%s\" on \"%s\"" msgstr "" -#: config/tc-sparc.c:2993 +#: config/tc-sparc.c:3076 #, c-format msgid "Architecture mismatch on \"%s\"." msgstr "" -#: config/tc-sparc.c:2994 +#: config/tc-sparc.c:3077 #, c-format msgid " (Requires %s; requested architecture is %s.)" msgstr "" -#: config/tc-sparc.c:3006 +#: config/tc-sparc.c:3089 #, c-format msgid "Hardware capability \"%s\" not enabled for \"%s\"." msgstr "" -#: config/tc-sparc.c:3404 config/tc-sparc.c:3411 config/tc-sparc.c:3418 -#: config/tc-sparc.c:3425 config/tc-sparc.c:3432 config/tc-sparc.c:3441 -#: config/tc-sparc.c:3453 config/tc-sparc.c:3464 config/tc-sparc.c:3486 -#: config/tc-sparc.c:3510 write.c:1160 +#: config/tc-sparc.c:3487 config/tc-sparc.c:3494 config/tc-sparc.c:3501 +#: config/tc-sparc.c:3508 config/tc-sparc.c:3515 config/tc-sparc.c:3524 +#: config/tc-sparc.c:3536 config/tc-sparc.c:3547 config/tc-sparc.c:3569 +#: config/tc-sparc.c:3593 write.c:1159 msgid "relocation overflow" msgstr "" -#: config/tc-sparc.c:3565 +#: config/tc-sparc.c:3648 #, c-format msgid "bad or unhandled relocation type: 0x%02x" msgstr "" -#: config/tc-sparc.c:3901 +#: config/tc-sparc.c:3984 msgid "Expected comma after name" msgstr "" -#: config/tc-sparc.c:3910 +#: config/tc-sparc.c:3993 #, c-format msgid "BSS length (%d.) <0! Ignored." msgstr "" -#: config/tc-sparc.c:3922 +#: config/tc-sparc.c:4005 msgid "bad .reserve segment -- expected BSS segment" msgstr "" -#: config/tc-sparc.c:3950 +#: config/tc-sparc.c:4033 #, c-format msgid "alignment too large; assuming %d" msgstr "" -#: config/tc-sparc.c:3956 config/tc-sparc.c:4106 +#: config/tc-sparc.c:4039 config/tc-sparc.c:4189 msgid "negative alignment" msgstr "" -#: config/tc-sparc.c:3966 config/tc-sparc.c:4128 read.c:1482 read.c:2481 +#: config/tc-sparc.c:4049 config/tc-sparc.c:4211 read.c:1486 read.c:2485 msgid "alignment not a power of 2" msgstr "" -#: config/tc-sparc.c:4019 +#: config/tc-sparc.c:4102 #, c-format msgid "Ignoring attempt to re-define symbol %s" msgstr "" -#: config/tc-sparc.c:4043 config/tc-v850.c:284 +#: config/tc-sparc.c:4126 config/tc-v850.c:281 msgid "Expected comma after symbol-name" msgstr "" -#: config/tc-sparc.c:4053 +#: config/tc-sparc.c:4136 #, c-format msgid ".COMMon length (%lu) out of range ignored" msgstr "" -#: config/tc-sparc.c:4086 +#: config/tc-sparc.c:4169 msgid "Expected comma after common length" msgstr "" -#: config/tc-sparc.c:4100 +#: config/tc-sparc.c:4183 #, c-format msgid "alignment too large; assuming %ld" msgstr "" -#: config/tc-sparc.c:4243 +#: config/tc-sparc.c:4326 msgid "Unknown segment type" msgstr "" -#: config/tc-sparc.c:4318 config/tc-sparc.c:4328 +#: config/tc-sparc.c:4396 config/tc-sparc.c:4406 #, c-format msgid "register syntax is .register %%g[2367],{#scratch|symbolname|#ignore}" msgstr "" -#: config/tc-sparc.c:4346 +#: config/tc-sparc.c:4424 msgid "redefinition of global register" msgstr "" -#: config/tc-sparc.c:4357 +#: config/tc-sparc.c:4435 #, c-format msgid "Register symbol %s already defined." msgstr "" -#: config/tc-sparc.c:4561 +#: config/tc-sparc.c:4639 #, c-format msgid "Illegal operands: %%r_plt in %d-byte data field" msgstr "" -#: config/tc-sparc.c:4571 +#: config/tc-sparc.c:4649 #, c-format msgid "Illegal operands: %%r_tls_dtpoff in %d-byte data field" msgstr "" -#: config/tc-sparc.c:4608 config/tc-vax.c:3312 +#: config/tc-sparc.c:4686 config/tc-vax.c:3315 #, c-format msgid "Illegal operands: Only %%r_%s%d allowed in %d-byte data fields" msgstr "" -#: config/tc-sparc.c:4616 config/tc-sparc.c:4647 config/tc-sparc.c:4656 -#: config/tc-vax.c:3320 config/tc-vax.c:3351 config/tc-vax.c:3360 +#: config/tc-sparc.c:4694 config/tc-sparc.c:4725 config/tc-sparc.c:4734 +#: config/tc-vax.c:3323 config/tc-vax.c:3354 config/tc-vax.c:3363 #, c-format msgid "Illegal operands: %%r_%s%d requires arguments in ()" msgstr "" -#: config/tc-sparc.c:4665 config/tc-vax.c:3369 +#: config/tc-sparc.c:4743 config/tc-vax.c:3372 #, c-format msgid "Illegal operands: garbage after %%r_%s%d()" msgstr "" -#: config/tc-sparc.h:65 +#: config/tc-sparc.h:63 msgid "sparc convert_frag\n" msgstr "" -#: config/tc-sparc.h:67 config/tc-z80.h:53 +#: config/tc-sparc.h:65 config/tc-z80.h:53 msgid "estimate_size_before_relax called" msgstr "" @@ -15026,410 +15266,410 @@ msgstr "" msgid "spu convert_frag\n" msgstr "" -#: config/tc-tic30.c:37 +#: config/tc-tic30.c:36 msgid "first" msgstr "" -#: config/tc-tic30.c:37 +#: config/tc-tic30.c:36 msgid "second" msgstr "" -#: config/tc-tic30.c:37 +#: config/tc-tic30.c:36 msgid "third" msgstr "" -#: config/tc-tic30.c:37 +#: config/tc-tic30.c:36 msgid "fourth" msgstr "" -#: config/tc-tic30.c:37 +#: config/tc-tic30.c:36 msgid "fifth" msgstr "" -#: config/tc-tic30.c:483 +#: config/tc-tic30.c:482 msgid "More than one AR register found in indirect reference" msgstr "" -#: config/tc-tic30.c:488 +#: config/tc-tic30.c:487 msgid "Illegal AR register in indirect reference" msgstr "" -#: config/tc-tic30.c:508 +#: config/tc-tic30.c:507 msgid "More than one displacement found in indirect reference" msgstr "" -#: config/tc-tic30.c:516 +#: config/tc-tic30.c:515 msgid "Invalid displacement in indirect reference" msgstr "" -#: config/tc-tic30.c:533 +#: config/tc-tic30.c:532 msgid "AR register not found in indirect reference" msgstr "" #. Maybe an implied displacement of 1 again. -#: config/tc-tic30.c:549 +#: config/tc-tic30.c:548 msgid "required displacement wasn't given in indirect reference" msgstr "" -#: config/tc-tic30.c:555 +#: config/tc-tic30.c:554 msgid "illegal indirect reference" msgstr "" -#: config/tc-tic30.c:561 +#: config/tc-tic30.c:560 msgid "displacement must be an unsigned 8-bit number" msgstr "" -#: config/tc-tic30.c:747 config/tc-tic30.c:1494 +#: config/tc-tic30.c:746 config/tc-tic30.c:1493 #, c-format msgid "Invalid character %s before %s operand" msgstr "" -#: config/tc-tic30.c:766 config/tc-tic30.c:1509 +#: config/tc-tic30.c:765 config/tc-tic30.c:1508 #, c-format msgid "Unbalanced parenthesis in %s operand." msgstr "" -#: config/tc-tic30.c:782 config/tc-tic30.c:1519 +#: config/tc-tic30.c:781 config/tc-tic30.c:1518 #, c-format msgid "Invalid character %s in %s operand" msgstr "" -#: config/tc-tic30.c:801 config/tc-tic30.c:1536 +#: config/tc-tic30.c:800 config/tc-tic30.c:1535 #, c-format msgid "Spurious operands; (%d operands/instruction max)" msgstr "" #. Just skip it, if it's \n complain. -#: config/tc-tic30.c:819 config/tc-tic30.c:835 config/tc-tic30.c:1553 -#: config/tc-tic30.c:1569 +#: config/tc-tic30.c:818 config/tc-tic30.c:834 config/tc-tic30.c:1552 +#: config/tc-tic30.c:1568 msgid "Expecting operand after ','; got nothing" msgstr "" -#: config/tc-tic30.c:824 config/tc-tic30.c:1558 +#: config/tc-tic30.c:823 config/tc-tic30.c:1557 msgid "Expecting operand before ','; got nothing" msgstr "" -#: config/tc-tic30.c:862 +#: config/tc-tic30.c:861 msgid "incorrect number of operands given in the first instruction" msgstr "" -#: config/tc-tic30.c:868 +#: config/tc-tic30.c:867 msgid "incorrect number of operands given in the second instruction" msgstr "" -#: config/tc-tic30.c:889 +#: config/tc-tic30.c:888 #, c-format msgid "%s instruction, operand %d doesn't match" msgstr "" #. Shouldn't get here. -#: config/tc-tic30.c:913 config/tc-tic30.c:920 +#: config/tc-tic30.c:912 config/tc-tic30.c:919 msgid "incorrect format for multiply parallel instruction" msgstr "" -#: config/tc-tic30.c:927 +#: config/tc-tic30.c:926 msgid "destination for multiply can only be R0 or R1" msgstr "" -#: config/tc-tic30.c:934 +#: config/tc-tic30.c:933 msgid "destination for add/subtract can only be R2 or R3" msgstr "" -#: config/tc-tic30.c:1001 +#: config/tc-tic30.c:1000 msgid "loading the same register in parallel operation" msgstr "" -#: config/tc-tic30.c:1383 +#: config/tc-tic30.c:1382 msgid "pc-relative " msgstr "" -#: config/tc-tic30.c:1444 +#: config/tc-tic30.c:1443 #, c-format msgid "Invalid character %s in opcode" msgstr "" -#: config/tc-tic30.c:1474 +#: config/tc-tic30.c:1473 #, c-format msgid "Unknown TMS320C30 instruction: %s" msgstr "" -#: config/tc-tic30.c:1594 +#: config/tc-tic30.c:1593 msgid "Incorrect number of operands given" msgstr "" -#: config/tc-tic30.c:1627 +#: config/tc-tic30.c:1626 #, c-format msgid "The %s operand doesn't match" msgstr "" #. Shouldn't make it to this stage. -#: config/tc-tic30.c:1652 config/tc-tic30.c:1664 +#: config/tc-tic30.c:1651 config/tc-tic30.c:1663 msgid "Incompatible first and second operands in instruction" msgstr "" -#: config/tc-tic30.c:1778 +#: config/tc-tic30.c:1777 msgid "invalid short form floating point immediate operand" msgstr "" -#: config/tc-tic30.c:1788 +#: config/tc-tic30.c:1787 msgid "rounding down first operand float to unsigned int" msgstr "" -#: config/tc-tic30.c:1790 +#: config/tc-tic30.c:1789 msgid "only lower 16-bits of first operand are used" msgstr "" -#: config/tc-tic30.c:1800 +#: config/tc-tic30.c:1799 msgid "rounding down first operand float to signed int" msgstr "" -#: config/tc-tic30.c:1805 config/tc-tic30.c:1876 +#: config/tc-tic30.c:1804 config/tc-tic30.c:1875 msgid "first operand is too large for 16-bit signed int" msgstr "" -#: config/tc-tic30.c:1870 +#: config/tc-tic30.c:1869 msgid "first operand is floating point" msgstr "" #. Shouldn't get here. -#: config/tc-tic30.c:1901 +#: config/tc-tic30.c:1900 msgid "interrupt vector for trap instruction out of range" msgstr "" -#: config/tc-tic30.c:1946 +#: config/tc-tic30.c:1945 msgid "LDP instruction needs a 24-bit operand" msgstr "" -#: config/tc-tic30.c:1970 +#: config/tc-tic30.c:1969 msgid "first operand is too large for a 24-bit displacement" msgstr "" -#: config/tc-tic4x.c:393 +#: config/tc-tic4x.c:391 msgid "Nan, using zero." msgstr "" -#: config/tc-tic4x.c:515 +#: config/tc-tic4x.c:513 #, c-format msgid "Cannot represent exponent in %d bits" msgstr "" -#: config/tc-tic4x.c:598 config/tc-tic4x.c:608 +#: config/tc-tic4x.c:596 config/tc-tic4x.c:606 msgid "Invalid floating point number" msgstr "" -#: config/tc-tic4x.c:728 +#: config/tc-tic4x.c:726 msgid "Comma expected\n" msgstr "" -#: config/tc-tic4x.c:768 config/tc-tic54x.c:479 +#: config/tc-tic4x.c:766 config/tc-tic54x.c:478 msgid ".bss size argument missing\n" msgstr "" -#: config/tc-tic4x.c:776 +#: config/tc-tic4x.c:774 #, c-format msgid ".bss size %ld < 0!" msgstr "" -#: config/tc-tic4x.c:910 +#: config/tc-tic4x.c:908 msgid "Non-constant symbols not allowed\n" msgstr "" -#: config/tc-tic4x.c:941 +#: config/tc-tic4x.c:939 msgid "Symbol missing\n" msgstr "" #. Get terminator. #. Skip null symbol terminator. -#: config/tc-tic4x.c:987 +#: config/tc-tic4x.c:985 msgid ".sect: subsection name ignored" msgstr "" -#: config/tc-tic4x.c:1015 config/tc-tic4x.c:1115 config/tc-tic54x.c:1441 +#: config/tc-tic4x.c:1013 config/tc-tic4x.c:1113 config/tc-tic54x.c:1440 #, c-format msgid "Error setting flags for \"%s\": %s" msgstr "" -#: config/tc-tic4x.c:1046 +#: config/tc-tic4x.c:1044 msgid ".set syntax invalid\n" msgstr "" -#: config/tc-tic4x.c:1104 +#: config/tc-tic4x.c:1102 msgid ".usect: non-zero alignment flag ignored" msgstr "" -#: config/tc-tic4x.c:1135 +#: config/tc-tic4x.c:1133 #, c-format msgid "This assembler does not support processor generation %ld" msgstr "" -#: config/tc-tic4x.c:1139 +#: config/tc-tic4x.c:1137 msgid "Changing processor generation on fly not supported..." msgstr "" -#: config/tc-tic4x.c:1438 +#: config/tc-tic4x.c:1436 msgid "Auxiliary register AR0--AR7 required for indirect" msgstr "" -#: config/tc-tic4x.c:1452 +#: config/tc-tic4x.c:1450 #, c-format msgid "Bad displacement %d (require 0--255)\n" msgstr "" -#: config/tc-tic4x.c:1470 +#: config/tc-tic4x.c:1468 msgid "Index register IR0,IR1 required for displacement" msgstr "" -#: config/tc-tic4x.c:1539 +#: config/tc-tic4x.c:1537 msgid "Expecting a register name" msgstr "" -#: config/tc-tic4x.c:1551 config/tc-tic4x.c:1574 config/tc-tic4x.c:1643 +#: config/tc-tic4x.c:1549 config/tc-tic4x.c:1572 config/tc-tic4x.c:1641 msgid "Number too large" msgstr "" -#: config/tc-tic4x.c:1591 +#: config/tc-tic4x.c:1589 msgid "Expecting a constant value" msgstr "" -#: config/tc-tic4x.c:1598 +#: config/tc-tic4x.c:1596 #, c-format msgid "Bad direct addressing construct %s" msgstr "" -#: config/tc-tic4x.c:1602 +#: config/tc-tic4x.c:1600 #, c-format msgid "Direct value of %ld is not suitable" msgstr "" -#: config/tc-tic4x.c:1626 +#: config/tc-tic4x.c:1624 msgid "Unknown indirect addressing mode" msgstr "" -#: config/tc-tic4x.c:1723 +#: config/tc-tic4x.c:1721 #, c-format msgid "Immediate value of %ld is too large for ldf" msgstr "" -#: config/tc-tic4x.c:1763 +#: config/tc-tic4x.c:1761 msgid "Destination register must be ARn" msgstr "" -#: config/tc-tic4x.c:1782 config/tc-tic4x.c:2155 config/tc-tic4x.c:2214 +#: config/tc-tic4x.c:1780 config/tc-tic4x.c:2153 config/tc-tic4x.c:2212 #, c-format msgid "Immediate value of %ld is too large" msgstr "" -#: config/tc-tic4x.c:1811 config/tc-tic4x.c:2016 +#: config/tc-tic4x.c:1809 config/tc-tic4x.c:2014 msgid "Invalid indirect addressing mode" msgstr "" -#: config/tc-tic4x.c:1835 config/tc-tic4x.c:1875 config/tc-tic4x.c:2066 -#: config/tc-tic4x.c:2088 +#: config/tc-tic4x.c:1833 config/tc-tic4x.c:1873 config/tc-tic4x.c:2064 +#: config/tc-tic4x.c:2086 msgid "Register must be Rn" msgstr "" -#: config/tc-tic4x.c:1889 config/tc-tic4x.c:1959 config/tc-tic4x.c:1973 +#: config/tc-tic4x.c:1887 config/tc-tic4x.c:1957 config/tc-tic4x.c:1971 msgid "Register must be R0--R7" msgstr "" -#: config/tc-tic4x.c:1913 config/tc-tic4x.c:1941 +#: config/tc-tic4x.c:1911 config/tc-tic4x.c:1939 #, c-format msgid "Invalid indirect addressing mode displacement %d" msgstr "" -#: config/tc-tic4x.c:1987 +#: config/tc-tic4x.c:1985 msgid "Destination register must be R2 or R3" msgstr "" -#: config/tc-tic4x.c:2001 +#: config/tc-tic4x.c:1999 msgid "Destination register must be R0 or R1" msgstr "" -#: config/tc-tic4x.c:2038 +#: config/tc-tic4x.c:2036 #, c-format msgid "Displacement value of %ld is too large" msgstr "" -#: config/tc-tic4x.c:2099 config/tc-tic4x.c:2230 +#: config/tc-tic4x.c:2097 config/tc-tic4x.c:2228 msgid "Floating point number not valid in expression" msgstr "" -#: config/tc-tic4x.c:2113 +#: config/tc-tic4x.c:2111 #, c-format msgid "Signed immediate value %ld too large" msgstr "" -#: config/tc-tic4x.c:2176 +#: config/tc-tic4x.c:2174 #, c-format msgid "Unsigned immediate value %ld too large" msgstr "" -#: config/tc-tic4x.c:2244 +#: config/tc-tic4x.c:2242 #, c-format msgid "Immediate value %ld too large" msgstr "" -#: config/tc-tic4x.c:2263 config/tc-tic4x.c:2291 +#: config/tc-tic4x.c:2261 config/tc-tic4x.c:2289 msgid "Register must be ivtp or tvtp" msgstr "" -#: config/tc-tic4x.c:2277 +#: config/tc-tic4x.c:2275 msgid "Register must be address register" msgstr "" -#: config/tc-tic4x.c:2350 +#: config/tc-tic4x.c:2348 msgid "Source and destination register should not be equal" msgstr "" -#: config/tc-tic4x.c:2365 +#: config/tc-tic4x.c:2363 msgid "Equal parallell destination registers, one result will be discarded" msgstr "" -#: config/tc-tic4x.c:2406 +#: config/tc-tic4x.c:2404 msgid "Too many operands scanned" msgstr "" -#: config/tc-tic4x.c:2436 +#: config/tc-tic4x.c:2434 msgid "Parallel opcode cannot contain more than two instructions" msgstr "" -#: config/tc-tic4x.c:2509 +#: config/tc-tic4x.c:2507 #, c-format msgid "Invalid operands for %s" msgstr "" -#: config/tc-tic4x.c:2512 +#: config/tc-tic4x.c:2510 #, c-format msgid "Invalid instruction %s" msgstr "" -#: config/tc-tic4x.c:2661 +#: config/tc-tic4x.c:2659 #, c-format msgid "Bad relocation type: 0x%02x" msgstr "" -#: config/tc-tic4x.c:2719 +#: config/tc-tic4x.c:2717 #, c-format msgid "Unsupported processor generation %d" msgstr "" -#: config/tc-tic4x.c:2727 +#: config/tc-tic4x.c:2725 msgid "Option -b is depreciated, please use -mbig" msgstr "" -#: config/tc-tic4x.c:2733 +#: config/tc-tic4x.c:2731 msgid "Option -p is depreciated, please use -mmemparm" msgstr "" -#: config/tc-tic4x.c:2739 +#: config/tc-tic4x.c:2737 msgid "Option -r is depreciated, please use -mregparm" msgstr "" -#: config/tc-tic4x.c:2745 +#: config/tc-tic4x.c:2743 msgid "Option -s is depreciated, please use -msmall" msgstr "" -#: config/tc-tic4x.c:2773 +#: config/tc-tic4x.c:2771 #, c-format msgid "" "\n" @@ -15455,508 +15695,503 @@ msgid "" " -menhanced enable enhanced opcode support\n" msgstr "" -#: config/tc-tic4x.c:2818 +#: config/tc-tic4x.c:2816 #, c-format msgid "Label \"$%d\" redefined" msgstr "" -#: config/tc-tic4x.c:3028 +#: config/tc-tic4x.c:3026 #, c-format msgid "Reloc %d not supported by object file format" msgstr "" #. Only word (et al.), align, or conditionals are allowed within #. .struct/.union. -#: config/tc-tic54x.c:220 +#: config/tc-tic54x.c:219 msgid "pseudo-op illegal within .struct/.union" msgstr "" -#: config/tc-tic54x.c:234 +#: config/tc-tic54x.c:233 #, c-format msgid "C54x-specific command line options:\n" msgstr "" -#: config/tc-tic54x.c:235 +#: config/tc-tic54x.c:234 #, c-format msgid "-mfar-mode | -mf Use extended addressing\n" msgstr "" -#: config/tc-tic54x.c:236 +#: config/tc-tic54x.c:235 #, c-format msgid "-mcpu=<CPU version> Specify the CPU version\n" msgstr "" -#: config/tc-tic54x.c:237 +#: config/tc-tic54x.c:236 #, c-format msgid "-merrors-to-file <filename>\n" msgstr "" -#: config/tc-tic54x.c:238 +#: config/tc-tic54x.c:237 #, c-format msgid "-me <filename> Redirect errors to a file\n" msgstr "" -#: config/tc-tic54x.c:350 +#: config/tc-tic54x.c:349 msgid "Comma and symbol expected for '.asg STRING, SYMBOL'" msgstr "" -#: config/tc-tic54x.c:359 +#: config/tc-tic54x.c:358 msgid "symbols assigned with .asg must begin with a letter" msgstr "" -#: config/tc-tic54x.c:403 +#: config/tc-tic54x.c:402 msgid "Unterminated string after absolute expression" msgstr "" -#: config/tc-tic54x.c:411 +#: config/tc-tic54x.c:410 msgid "Comma and symbol expected for '.eval EXPR, SYMBOL'" msgstr "" -#: config/tc-tic54x.c:423 +#: config/tc-tic54x.c:422 msgid "symbols assigned with .eval must begin with a letter" msgstr "" -#: config/tc-tic54x.c:488 +#: config/tc-tic54x.c:487 #, c-format msgid ".bss size %d < 0!" msgstr "" -#: config/tc-tic54x.c:677 +#: config/tc-tic54x.c:676 msgid "Offset on nested structures is ignored" msgstr "" -#: config/tc-tic54x.c:727 +#: config/tc-tic54x.c:726 #, c-format msgid ".end%s without preceding .%s" msgstr "" -#: config/tc-tic54x.c:793 +#: config/tc-tic54x.c:792 #, c-format msgid "Unrecognized struct/union tag '%s'" msgstr "" -#: config/tc-tic54x.c:795 +#: config/tc-tic54x.c:794 msgid ".tag requires a structure tag" msgstr "" -#: config/tc-tic54x.c:801 +#: config/tc-tic54x.c:800 msgid "Label required for .tag" msgstr "" -#: config/tc-tic54x.c:820 +#: config/tc-tic54x.c:819 #, c-format msgid ".tag target '%s' undefined" msgstr "" -#: config/tc-tic54x.c:882 +#: config/tc-tic54x.c:881 #, c-format msgid ".field count '%d' out of range (1 <= X <= 32)" msgstr "" -#: config/tc-tic54x.c:910 +#: config/tc-tic54x.c:909 #, c-format msgid "Unrecognized field type '%c'" msgstr "" -#: config/tc-tic54x.c:1033 +#: config/tc-tic54x.c:1032 msgid "Overflow in expression, truncated to 8 bits" msgstr "" -#: config/tc-tic54x.c:1038 +#: config/tc-tic54x.c:1037 msgid "Overflow in expression, truncated to 16 bits" msgstr "" #. Disallow .byte with a non constant expression that will #. require relocation. -#: config/tc-tic54x.c:1046 +#: config/tc-tic54x.c:1045 msgid "Relocatable values require at least WORD storage" msgstr "" -#: config/tc-tic54x.c:1107 +#: config/tc-tic54x.c:1106 msgid "Use of .def/.ref is deprecated. Use .global instead" msgstr "" -#: config/tc-tic54x.c:1300 +#: config/tc-tic54x.c:1299 msgid ".space/.bes repeat count is negative, ignored" msgstr "" -#: config/tc-tic54x.c:1305 +#: config/tc-tic54x.c:1304 msgid ".space/.bes repeat count is zero, ignored" msgstr "" -#: config/tc-tic54x.c:1382 +#: config/tc-tic54x.c:1381 msgid "Missing size argument" msgstr "" -#: config/tc-tic54x.c:1516 +#: config/tc-tic54x.c:1515 msgid "CPU version has already been set" msgstr "" -#: config/tc-tic54x.c:1520 +#: config/tc-tic54x.c:1519 #, c-format msgid "Unrecognized version '%s'" msgstr "" -#: config/tc-tic54x.c:1526 +#: config/tc-tic54x.c:1525 msgid "Changing of CPU version on the fly not supported" msgstr "" -#: config/tc-tic54x.c:1657 +#: config/tc-tic54x.c:1656 msgid "p2align not supported on this target" msgstr "" -#: config/tc-tic54x.c:1669 +#: config/tc-tic54x.c:1668 msgid "Argument to .even ignored" msgstr "" -#: config/tc-tic54x.c:1715 +#: config/tc-tic54x.c:1714 msgid "Invalid field size, must be from 1 to 32" msgstr "" -#: config/tc-tic54x.c:1728 +#: config/tc-tic54x.c:1727 msgid "field size must be 16 when value is relocatable" msgstr "" -#: config/tc-tic54x.c:1743 +#: config/tc-tic54x.c:1742 msgid "field value truncated" msgstr "" -#: config/tc-tic54x.c:1850 config/tc-tic54x.c:2156 +#: config/tc-tic54x.c:1849 config/tc-tic54x.c:2155 #, c-format msgid "Unrecognized section '%s'" msgstr "" -#: config/tc-tic54x.c:1859 +#: config/tc-tic54x.c:1858 msgid "Current section is unitialized, section name required for .clink" msgstr "" -#: config/tc-tic54x.c:2066 +#: config/tc-tic54x.c:2065 msgid "ENDLOOP without corresponding LOOP" msgstr "" -#: config/tc-tic54x.c:2107 +#: config/tc-tic54x.c:2106 msgid "Mixing of normal and extended addressing not supported" msgstr "" -#: config/tc-tic54x.c:2113 +#: config/tc-tic54x.c:2112 msgid "Extended addressing not supported on the specified CPU" msgstr "" -#: config/tc-tic54x.c:2162 +#: config/tc-tic54x.c:2161 msgid ".sblock may be used for initialized sections only" msgstr "" -#: config/tc-tic54x.c:2192 +#: config/tc-tic54x.c:2191 msgid "Symbol missing for .set/.equ" msgstr "" -#: config/tc-tic54x.c:2248 +#: config/tc-tic54x.c:2247 msgid ".var may only be used within a macro definition" msgstr "" -#: config/tc-tic54x.c:2256 +#: config/tc-tic54x.c:2255 msgid "Substitution symbols must begin with a letter" msgstr "" -#: config/tc-tic54x.c:2349 +#: config/tc-tic54x.c:2348 #, c-format msgid "can't open macro library file '%s' for reading: %s" msgstr "" -#: config/tc-tic54x.c:2356 +#: config/tc-tic54x.c:2355 #, c-format msgid "File '%s' not in macro archive format" msgstr "" -#: config/tc-tic54x.c:2486 +#: config/tc-tic54x.c:2485 #, c-format msgid "Bad COFF version '%s'" msgstr "" -#: config/tc-tic54x.c:2495 +#: config/tc-tic54x.c:2494 #, c-format msgid "Bad CPU version '%s'" msgstr "" -#: config/tc-tic54x.c:2508 config/tc-tic54x.c:2511 +#: config/tc-tic54x.c:2507 config/tc-tic54x.c:2510 #, c-format msgid "Can't redirect stderr to the file '%s'" msgstr "" -#: config/tc-tic54x.c:2626 +#: config/tc-tic54x.c:2625 #, c-format msgid "Undefined substitution symbol '%s'" msgstr "" -#: config/tc-tic54x.c:3128 +#: config/tc-tic54x.c:3127 #, c-format msgid "Unbalanced parenthesis in operand %d" msgstr "" -#: config/tc-tic54x.c:3159 config/tc-tic54x.c:3167 +#: config/tc-tic54x.c:3158 config/tc-tic54x.c:3166 msgid "Expecting operand after ','" msgstr "" -#: config/tc-tic54x.c:3178 +#: config/tc-tic54x.c:3177 msgid "Extra junk on line" msgstr "" -#: config/tc-tic54x.c:3215 +#: config/tc-tic54x.c:3214 msgid "Badly formed address expression" msgstr "" -#: config/tc-tic54x.c:3468 +#: config/tc-tic54x.c:3467 #, c-format msgid "Invalid dmad syntax '%s'" msgstr "" -#: config/tc-tic54x.c:3532 +#: config/tc-tic54x.c:3531 #, c-format msgid "" "Use the .mmregs directive to use memory-mapped register names such as '%s'" msgstr "" -#: config/tc-tic54x.c:3583 +#: config/tc-tic54x.c:3582 msgid "Address mode *+ARx is write-only. Results of reading are undefined." msgstr "" -#: config/tc-tic54x.c:3603 +#: config/tc-tic54x.c:3602 #, c-format msgid "Unrecognized indirect address format \"%s\"" msgstr "" -#: config/tc-tic54x.c:3641 +#: config/tc-tic54x.c:3640 #, c-format msgid "Operand '%s' out of range (%d <= x <= %d)" msgstr "" -#: config/tc-tic54x.c:3661 +#: config/tc-tic54x.c:3660 msgid "Error in relocation handling" msgstr "" -#: config/tc-tic54x.c:3680 config/tc-tic54x.c:3742 config/tc-tic54x.c:3770 +#: config/tc-tic54x.c:3679 config/tc-tic54x.c:3741 config/tc-tic54x.c:3769 #, c-format msgid "Unrecognized condition code \"%s\"" msgstr "" -#: config/tc-tic54x.c:3697 +#: config/tc-tic54x.c:3696 #, c-format msgid "Condition \"%s\" does not match preceding group" msgstr "" -#: config/tc-tic54x.c:3705 +#: config/tc-tic54x.c:3704 #, c-format msgid "" "Condition \"%s\" uses a different accumulator from a preceding condition" msgstr "" -#: config/tc-tic54x.c:3712 +#: config/tc-tic54x.c:3711 msgid "Only one comparison conditional allowed" msgstr "" -#: config/tc-tic54x.c:3717 +#: config/tc-tic54x.c:3716 msgid "Only one overflow conditional allowed" msgstr "" -#: config/tc-tic54x.c:3725 +#: config/tc-tic54x.c:3724 #, c-format msgid "Duplicate %s conditional" msgstr "" -#: config/tc-tic54x.c:3756 +#: config/tc-tic54x.c:3755 msgid "Invalid auxiliary register (use AR0-AR7)" msgstr "" -#: config/tc-tic54x.c:3787 +#: config/tc-tic54x.c:3786 msgid "lk addressing modes are invalid for memory-mapped register addressing" msgstr "" -#: config/tc-tic54x.c:3795 +#: config/tc-tic54x.c:3794 msgid "" "Address mode *+ARx is not allowed in memory-mapped register addressing. " "Resulting behavior is undefined." msgstr "" -#: config/tc-tic54x.c:3821 +#: config/tc-tic54x.c:3820 msgid "" "Destination accumulator for each part of this parallel instruction must be " "different" msgstr "" -#: config/tc-tic54x.c:3870 +#: config/tc-tic54x.c:3869 #, c-format msgid "Memory mapped register \"%s\" out of range" msgstr "" -#: config/tc-tic54x.c:3909 +#: config/tc-tic54x.c:3908 msgid "Invalid operand (use 1, 2, or 3)" msgstr "" -#: config/tc-tic54x.c:3934 +#: config/tc-tic54x.c:3933 msgid "A status register or status bit name is required" msgstr "" -#: config/tc-tic54x.c:3944 +#: config/tc-tic54x.c:3943 #, c-format msgid "Unrecognized status bit \"%s\"" msgstr "" -#: config/tc-tic54x.c:3967 +#: config/tc-tic54x.c:3966 #, c-format msgid "Invalid status register \"%s\"" msgstr "" -#: config/tc-tic54x.c:3979 +#: config/tc-tic54x.c:3978 #, c-format msgid "Operand \"%s\" out of range (use 1 or 2)" msgstr "" -#: config/tc-tic54x.c:4182 +#: config/tc-tic54x.c:4181 #, c-format msgid "Unrecognized instruction \"%s\"" msgstr "" -#: config/tc-tic54x.c:4211 +#: config/tc-tic54x.c:4210 #, c-format msgid "Unrecognized operand list '%s' for instruction '%s'" msgstr "" -#: config/tc-tic54x.c:4240 +#: config/tc-tic54x.c:4239 #, c-format msgid "Unrecognized parallel instruction \"%s\"" msgstr "" -#: config/tc-tic54x.c:4289 +#: config/tc-tic54x.c:4288 #, c-format msgid "Invalid operand (s) for parallel instruction \"%s\"" msgstr "" -#: config/tc-tic54x.c:4292 +#: config/tc-tic54x.c:4291 #, c-format msgid "Unrecognized parallel instruction combination \"%s || %s\"" msgstr "" -#: config/tc-tic54x.c:4519 +#: config/tc-tic54x.c:4518 #, c-format msgid "%s symbol recursion stopped at second appearance of '%s'" msgstr "" -#: config/tc-tic54x.c:4559 +#: config/tc-tic54x.c:4558 msgid "Unrecognized substitution symbol function" msgstr "" -#: config/tc-tic54x.c:4564 +#: config/tc-tic54x.c:4563 msgid "Missing '(' after substitution symbol function" msgstr "" -#: config/tc-tic54x.c:4578 +#: config/tc-tic54x.c:4577 msgid "Expecting second argument" msgstr "" -#: config/tc-tic54x.c:4591 config/tc-tic54x.c:4641 +#: config/tc-tic54x.c:4590 config/tc-tic54x.c:4640 msgid "Extra junk in function call, expecting ')'" msgstr "" -#: config/tc-tic54x.c:4617 +#: config/tc-tic54x.c:4616 msgid "Function expects two arguments" msgstr "" -#: config/tc-tic54x.c:4630 +#: config/tc-tic54x.c:4629 msgid "Expecting character constant argument" msgstr "" -#: config/tc-tic54x.c:4636 +#: config/tc-tic54x.c:4635 msgid "Both arguments must be substitution symbols" msgstr "" -#: config/tc-tic54x.c:4689 +#: config/tc-tic54x.c:4688 #, c-format msgid "Invalid subscript (use 1 to %d)" msgstr "" -#: config/tc-tic54x.c:4699 +#: config/tc-tic54x.c:4698 #, c-format msgid "Invalid length (use 0 to %d" msgstr "" -#: config/tc-tic54x.c:4709 +#: config/tc-tic54x.c:4708 msgid "Missing ')' in subscripted substitution symbol expression" msgstr "" -#: config/tc-tic54x.c:4729 +#: config/tc-tic54x.c:4728 msgid "Missing forced substitution terminator ':'" msgstr "" -#: config/tc-tic54x.c:4883 +#: config/tc-tic54x.c:4882 #, c-format msgid "" "Instruction does not fit in available delay slots (%d-word insn, %d slots " "left)" msgstr "" -#: config/tc-tic54x.c:4924 +#: config/tc-tic54x.c:4923 #, c-format msgid "Unrecognized parallel instruction '%s'" msgstr "" -#: config/tc-tic54x.c:4936 +#: config/tc-tic54x.c:4935 #, c-format msgid "Instruction '%s' requires an LP cpu version" msgstr "" -#: config/tc-tic54x.c:4943 +#: config/tc-tic54x.c:4942 #, c-format msgid "Instruction '%s' requires far mode addressing" msgstr "" -#: config/tc-tic54x.c:4955 +#: config/tc-tic54x.c:4954 #, c-format msgid "" "Instruction does not fit in available delay slots (%d-word insn, %d slots " "left). Resulting behavior is undefined." msgstr "" -#: config/tc-tic54x.c:4965 +#: config/tc-tic54x.c:4964 msgid "" "Instructions which cause PC discontinuity are not allowed in a delay slot. " "Resulting behavior is undefined." msgstr "" -#: config/tc-tic54x.c:4976 +#: config/tc-tic54x.c:4975 #, c-format msgid "'%s' is not repeatable. Resulting behavior is undefined." msgstr "" -#: config/tc-tic54x.c:4980 +#: config/tc-tic54x.c:4979 msgid "" "Instructions using long offset modifiers or absolute addresses are not " "repeatable. Resulting behavior is undefined." msgstr "" -#: config/tc-tic54x.c:5132 +#: config/tc-tic54x.c:5130 #, c-format msgid "Unsupported relocation size %d" msgstr "" -#: config/tc-tic54x.c:5263 +#: config/tc-tic54x.c:5261 msgid "non-absolute value used with .space/.bes" msgstr "" -#: config/tc-tic54x.c:5267 +#: config/tc-tic54x.c:5265 #, c-format msgid "negative value ignored in %s" msgstr "" -#: config/tc-tic54x.c:5355 +#: config/tc-tic54x.c:5353 #, c-format msgid "attempt to .space/.bes backwards? (%ld)" msgstr "" -#: config/tc-tic54x.c:5387 -#, c-format -msgid "Invalid label '%s'" -msgstr "" - #: config/tc-tic6x.c:232 #, c-format msgid "unknown architecture '%s'" @@ -16048,145 +16283,145 @@ msgstr "" msgid "expected symbol" msgstr "" -#: config/tc-tic6x.c:591 +#: config/tc-tic6x.c:592 #, c-format msgid "invalid length for .scomm directive" msgstr "" -#: config/tc-tic6x.c:605 +#: config/tc-tic6x.c:606 msgid "alignment is not a positive number" msgstr "" -#: config/tc-tic6x.c:617 +#: config/tc-tic6x.c:618 msgid "alignment is not a power of 2" msgstr "" -#: config/tc-tic6x.c:632 +#: config/tc-tic6x.c:633 #, c-format msgid "attempt to re-define symbol `%s'" msgstr "" -#: config/tc-tic6x.c:641 +#: config/tc-tic6x.c:642 #, c-format msgid "attempt to redefine `%s' with a different length" msgstr "" -#: config/tc-tic6x.c:843 +#: config/tc-tic6x.c:844 msgid "multiple '||' on same line" msgstr "" -#: config/tc-tic6x.c:846 +#: config/tc-tic6x.c:847 msgid "'||' after predicate" msgstr "" -#: config/tc-tic6x.c:890 +#: config/tc-tic6x.c:891 msgid "multiple predicates on same line" msgstr "" -#: config/tc-tic6x.c:896 +#: config/tc-tic6x.c:897 #, c-format msgid "bad predicate '%s'" msgstr "" -#: config/tc-tic6x.c:907 +#: config/tc-tic6x.c:908 msgid "predication on A0 not supported on this architecture" msgstr "" -#: config/tc-tic6x.c:940 +#: config/tc-tic6x.c:941 msgid "label after '||'" msgstr "" -#: config/tc-tic6x.c:946 +#: config/tc-tic6x.c:947 msgid "label after predicate" msgstr "" -#: config/tc-tic6x.c:970 +#: config/tc-tic6x.c:971 msgid "'||' not followed by instruction" msgstr "" -#: config/tc-tic6x.c:976 +#: config/tc-tic6x.c:977 msgid "predicate not followed by instruction" msgstr "" -#: config/tc-tic6x.c:1409 +#: config/tc-tic6x.c:1410 #, c-format msgid "control register '%s' not supported on this architecture" msgstr "" -#: config/tc-tic6x.c:1588 config/tc-tic6x.c:1591 config/tc-tic6x.c:1644 -#: config/tc-tic6x.c:1648 +#: config/tc-tic6x.c:1589 config/tc-tic6x.c:1592 config/tc-tic6x.c:1645 +#: config/tc-tic6x.c:1649 #, c-format msgid "register number %u not supported on this architecture" msgstr "" -#: config/tc-tic6x.c:1619 +#: config/tc-tic6x.c:1620 #, c-format msgid "register pair for operand %u of '%.*s' not a valid even/odd pair" msgstr "" -#: config/tc-tic6x.c:1675 +#: config/tc-tic6x.c:1676 #, c-format msgid "junk after operand %u of '%.*s'" msgstr "" -#: config/tc-tic6x.c:1688 +#: config/tc-tic6x.c:1689 #, c-format msgid "bad register or register pair for operand %u of '%.*s'" msgstr "" -#: config/tc-tic6x.c:1694 +#: config/tc-tic6x.c:1695 #, c-format msgid "bad register for operand %u of '%.*s'" msgstr "" -#: config/tc-tic6x.c:1699 +#: config/tc-tic6x.c:1700 #, c-format msgid "bad register pair for operand %u of '%.*s'" msgstr "" -#: config/tc-tic6x.c:1704 +#: config/tc-tic6x.c:1705 #, c-format msgid "bad functional unit for operand %u of '%.*s'" msgstr "" -#: config/tc-tic6x.c:1709 +#: config/tc-tic6x.c:1710 #, c-format msgid "bad operand %u of '%.*s'" msgstr "" -#: config/tc-tic6x.c:1841 +#: config/tc-tic6x.c:1842 msgid "$DSBT_INDEX must be used with __c6xabi_DSBT_BASE" msgstr "" -#: config/tc-tic6x.c:1881 +#: config/tc-tic6x.c:1882 msgid "$DSBT_INDEX not supported in this context" msgstr "" -#: config/tc-tic6x.c:1894 +#: config/tc-tic6x.c:1895 msgid "$GOT not supported in this context" msgstr "" -#: config/tc-tic6x.c:1911 +#: config/tc-tic6x.c:1912 msgid "$DPR_GOT not supported in this context" msgstr "" -#: config/tc-tic6x.c:1932 +#: config/tc-tic6x.c:1933 msgid "$DPR_BYTE not supported in this context" msgstr "" -#: config/tc-tic6x.c:1949 +#: config/tc-tic6x.c:1950 msgid "$DPR_HWORD not supported in this context" msgstr "" -#: config/tc-tic6x.c:1966 +#: config/tc-tic6x.c:1967 msgid "$DPR_WORD not supported in this context" msgstr "" -#: config/tc-tic6x.c:1985 +#: config/tc-tic6x.c:1986 msgid "$PCR_OFFSET not supported in this context" msgstr "" -#: config/tc-tic6x.c:1996 +#: config/tc-tic6x.c:1997 msgid "invalid PC-relative operand" msgstr "" @@ -16383,50 +16618,50 @@ msgstr "" msgid "missing .endp before .cfi_startproc" msgstr "" -#: config/tc-tic6x.c:4918 +#: config/tc-tic6x.c:4919 msgid "stack pointer offset too large for personality routine" msgstr "" -#: config/tc-tic6x.c:4925 +#: config/tc-tic6x.c:4926 msgid "stack frame layout does not match personality routine" msgstr "" -#: config/tc-tic6x.c:5059 +#: config/tc-tic6x.c:5060 msgid "too many unwinding instructions" msgstr "" -#: config/tc-tic6x.c:5134 config/tc-tic6x.c:5147 config/tc-tic6x.c:5155 +#: config/tc-tic6x.c:5135 config/tc-tic6x.c:5148 config/tc-tic6x.c:5156 #, c-format msgid "unable to generate unwinding opcode for reg %d" msgstr "" -#: config/tc-tic6x.c:5164 +#: config/tc-tic6x.c:5165 msgid "unable to restore return address from previously restored reg" msgstr "" -#: config/tc-tic6x.c:5176 +#: config/tc-tic6x.c:5177 #, c-format msgid "unhandled CFA insn for unwinding (%d)" msgstr "" -#: config/tc-tic6x.c:5186 +#: config/tc-tic6x.c:5187 #, c-format msgid "unable to generate unwinding opcode for frame pointer reg %d" msgstr "" -#: config/tc-tic6x.c:5195 +#: config/tc-tic6x.c:5196 msgid "unable to generate unwinding opcode for frame pointer offset" msgstr "" -#: config/tc-tic6x.c:5204 +#: config/tc-tic6x.c:5205 msgid "unwound stack pointer not doubleword aligned" msgstr "" -#: config/tc-tic6x.c:5349 +#: config/tc-tic6x.c:5350 msgid "stack frame layout too complex for unwinder" msgstr "" -#: config/tc-tic6x.c:5366 +#: config/tc-tic6x.c:5367 msgid "unwound frame has negative size" msgstr "" @@ -16543,471 +16778,475 @@ msgid "" " -V print assembler version number\n" msgstr "" -#: config/tc-v850.c:295 +#: config/tc-v850.c:292 #, c-format msgid ".COMMon length (%d.) < 0! Ignored." msgstr "" -#: config/tc-v850.c:316 +#: config/tc-v850.c:313 #, c-format msgid "Length of .comm \"%s\" is already %ld. Not changed to %d." msgstr "" -#: config/tc-v850.c:342 +#: config/tc-v850.c:339 msgid "Common alignment negative; 0 assumed" msgstr "" -#: config/tc-v850.c:546 +#: config/tc-v850.c:543 msgid ".longcall pseudo-op seen when not relaxing" msgstr "" -#: config/tc-v850.c:548 +#: config/tc-v850.c:545 msgid ".longjump pseudo-op seen when not relaxing" msgstr "" -#: config/tc-v850.c:555 +#: config/tc-v850.c:552 msgid "bad .longcall format" msgstr "" -#: config/tc-v850.c:1401 +#: config/tc-v850.c:1398 #, c-format msgid "unknown operand shift: %x\n" msgstr "" -#: config/tc-v850.c:1402 +#: config/tc-v850.c:1399 msgid "internal failure in parse_register_list" msgstr "" -#: config/tc-v850.c:1418 +#: config/tc-v850.c:1415 msgid "constant expression or register list expected" msgstr "" -#: config/tc-v850.c:1423 +#: config/tc-v850.c:1420 msgid "high bits set in register list expression" msgstr "" -#: config/tc-v850.c:1461 config/tc-v850.c:1518 +#: config/tc-v850.c:1458 config/tc-v850.c:1515 msgid "illegal register included in list" msgstr "" -#: config/tc-v850.c:1467 +#: config/tc-v850.c:1464 msgid "system registers cannot be included in list" msgstr "" -#: config/tc-v850.c:1493 +#: config/tc-v850.c:1490 msgid "second register should follow dash in register list" msgstr "" -#: config/tc-v850.c:1498 +#: config/tc-v850.c:1495 msgid "second register should be greater than first register" msgstr "" -#: config/tc-v850.c:1546 +#: config/tc-v850.c:1543 #, c-format msgid " V850 options:\n" msgstr "" -#: config/tc-v850.c:1547 +#: config/tc-v850.c:1544 #, c-format msgid " -mwarn-signed-overflow Warn if signed immediate values overflow\n" msgstr "" -#: config/tc-v850.c:1548 +#: config/tc-v850.c:1545 #, c-format msgid "" " -mwarn-unsigned-overflow Warn if unsigned immediate values overflow\n" msgstr "" -#: config/tc-v850.c:1549 +#: config/tc-v850.c:1546 #, c-format msgid " -mv850 The code is targeted at the v850\n" msgstr "" -#: config/tc-v850.c:1550 +#: config/tc-v850.c:1547 #, c-format msgid " -mv850e The code is targeted at the v850e\n" msgstr "" -#: config/tc-v850.c:1551 +#: config/tc-v850.c:1548 #, c-format msgid " -mv850e1 The code is targeted at the v850e1\n" msgstr "" -#: config/tc-v850.c:1552 +#: config/tc-v850.c:1549 #, c-format msgid " -mv850e2 The code is targeted at the v850e2\n" msgstr "" -#: config/tc-v850.c:1553 +#: config/tc-v850.c:1550 #, c-format msgid " -mv850e2v3 The code is targeted at the v850e2v3\n" msgstr "" -#: config/tc-v850.c:1554 +#: config/tc-v850.c:1551 #, c-format msgid " -mv850e2v4 Alias for -mv850e3v5\n" msgstr "" -#: config/tc-v850.c:1555 +#: config/tc-v850.c:1552 #, c-format msgid " -mv850e3v5 The code is targeted at the v850e3v5\n" msgstr "" -#: config/tc-v850.c:1556 +#: config/tc-v850.c:1553 #, c-format msgid " -mrelax Enable relaxation\n" msgstr "" -#: config/tc-v850.c:1557 +#: config/tc-v850.c:1554 #, c-format msgid "" " --disp-size-default-22 branch displacement with unknown size is 22 bits " "(default)\n" msgstr "" -#: config/tc-v850.c:1558 +#: config/tc-v850.c:1555 #, c-format msgid "" " --disp-size-default-32 branch displacement with unknown size is 32 " "bits\n" msgstr "" -#: config/tc-v850.c:1559 +#: config/tc-v850.c:1556 #, c-format msgid " -mextension enable extension opcode support\n" msgstr "" -#: config/tc-v850.c:1560 +#: config/tc-v850.c:1557 #, c-format msgid " -mno-bcond17\t\t disable b<cond> disp17 instruction\n" msgstr "" -#: config/tc-v850.c:1561 +#: config/tc-v850.c:1558 #, c-format msgid " -mno-stld23\t\t disable st/ld offset23 instruction\n" msgstr "" -#: config/tc-v850.c:1562 +#: config/tc-v850.c:1559 #, c-format msgid " -mgcc-abi Mark the binary as using the old GCC ABI\n" msgstr "" -#: config/tc-v850.c:1563 +#: config/tc-v850.c:1560 #, c-format msgid "" " -mrh850-abi Mark the binary as using the RH850 ABI " "(default)\n" msgstr "" -#: config/tc-v850.c:1564 +#: config/tc-v850.c:1561 #, c-format msgid " -m8byte-align Mark the binary as using 64-bit alignment\n" msgstr "" -#: config/tc-v850.c:1565 +#: config/tc-v850.c:1562 #, c-format msgid "" " -m4byte-align Mark the binary as using 32-bit alignment " "(default)\n" msgstr "" -#: config/tc-v850.c:1943 +#: config/tc-v850.c:1940 #, c-format msgid "Unable to determine default target processor from string: %s" msgstr "" -#: config/tc-v850.c:1984 +#: config/tc-v850.c:1981 msgid "hi0() relocation used on an instruction which does not support it" msgstr "" -#: config/tc-v850.c:2004 +#: config/tc-v850.c:2001 msgid "hi() relocation used on an instruction which does not support it" msgstr "" -#: config/tc-v850.c:2027 +#: config/tc-v850.c:2024 msgid "lo() relocation used on an instruction which does not support it" msgstr "" -#: config/tc-v850.c:2047 +#: config/tc-v850.c:2034 +msgid "ctoff() is not supported by the rh850 ABI. Use -mgcc-abi instead" +msgstr "" + +#: config/tc-v850.c:2050 msgid "ctoff() relocation used on an instruction which does not support it" msgstr "" -#: config/tc-v850.c:2066 +#: config/tc-v850.c:2069 msgid "sdaoff() relocation used on an instruction which does not support it" msgstr "" -#: config/tc-v850.c:2085 +#: config/tc-v850.c:2088 msgid "zdaoff() relocation used on an instruction which does not support it" msgstr "" -#: config/tc-v850.c:2117 +#: config/tc-v850.c:2120 msgid "tdaoff() relocation used on an instruction which does not support it" msgstr "" -#: config/tc-v850.c:2258 +#: config/tc-v850.c:2261 #, c-format msgid "operand out of range (%d is not between %d and %d)" msgstr "" -#: config/tc-v850.c:2341 +#: config/tc-v850.c:2344 msgid "st/ld offset 23 instruction was disabled ." msgstr "" -#: config/tc-v850.c:2350 +#: config/tc-v850.c:2353 msgid "Target processor does not support this instruction." msgstr "" -#: config/tc-v850.c:2462 config/tc-v850.c:2472 config/tc-v850.c:2493 -#: config/tc-v850.c:2507 config/tc-v850.c:2513 config/tc-v850.c:2537 -#: config/tc-v850.c:2543 config/tc-v850.c:2550 config/tc-v850.c:2564 -#: config/tc-v850.c:2578 config/tc-v850.c:2584 config/tc-v850.c:2919 +#: config/tc-v850.c:2465 config/tc-v850.c:2475 config/tc-v850.c:2496 +#: config/tc-v850.c:2510 config/tc-v850.c:2516 config/tc-v850.c:2540 +#: config/tc-v850.c:2546 config/tc-v850.c:2553 config/tc-v850.c:2567 +#: config/tc-v850.c:2581 config/tc-v850.c:2587 config/tc-v850.c:2922 msgid "immediate operand is too large" msgstr "" -#: config/tc-v850.c:2479 +#: config/tc-v850.c:2482 #, c-format msgid "AAARG -> unhandled constant reloc: %d" msgstr "" -#: config/tc-v850.c:2614 config/tc-v850.c:2625 +#: config/tc-v850.c:2617 config/tc-v850.c:2628 msgid "constant too big to fit into instruction" msgstr "" -#: config/tc-v850.c:2700 +#: config/tc-v850.c:2703 msgid "odd number cannot be used here" msgstr "" -#: config/tc-v850.c:2745 +#: config/tc-v850.c:2748 msgid "invalid register name" msgstr "" -#: config/tc-v850.c:2751 +#: config/tc-v850.c:2754 msgid "register r0 cannot be used here" msgstr "" -#: config/tc-v850.c:2757 +#: config/tc-v850.c:2760 msgid "odd register cannot be used here" msgstr "" -#: config/tc-v850.c:2766 +#: config/tc-v850.c:2769 msgid "invalid system register name" msgstr "" -#: config/tc-v850.c:2779 +#: config/tc-v850.c:2782 msgid "expected EP register" msgstr "" -#: config/tc-v850.c:2796 config/tc-v850.c:2809 +#: config/tc-v850.c:2799 config/tc-v850.c:2812 msgid "invalid condition code name" msgstr "" -#: config/tc-v850.c:2802 +#: config/tc-v850.c:2805 msgid "condition sa cannot be used here" msgstr "" -#: config/tc-v850.c:2815 +#: config/tc-v850.c:2818 msgid "invalid cache oparation name" msgstr "" -#: config/tc-v850.c:2820 +#: config/tc-v850.c:2823 msgid "invalid pref oparation name" msgstr "" -#: config/tc-v850.c:2825 +#: config/tc-v850.c:2828 msgid "invalid vector register name" msgstr "" -#: config/tc-v850.c:2862 +#: config/tc-v850.c:2865 msgid "syntax error: value is missing before the register name" msgstr "" -#: config/tc-v850.c:2864 +#: config/tc-v850.c:2867 msgid "syntax error: register not expected" msgstr "" -#: config/tc-v850.c:2878 +#: config/tc-v850.c:2881 msgid "syntax error: system register not expected" msgstr "" -#: config/tc-v850.c:2883 config/tc-v850.c:2888 +#: config/tc-v850.c:2886 config/tc-v850.c:2891 msgid "syntax error: condition code not expected" msgstr "" -#: config/tc-v850.c:2893 +#: config/tc-v850.c:2896 msgid "syntax error: vector register not expected" msgstr "" -#: config/tc-v850.c:2903 +#: config/tc-v850.c:2906 msgid "immediate 0 cannot be used here" msgstr "" -#: config/tc-v850.c:2927 +#: config/tc-v850.c:2930 msgid "immediate operand is not match" msgstr "" -#: config/tc-v850.c:2940 +#: config/tc-v850.c:2943 msgid "displacement is too large" msgstr "" -#: config/tc-v850.c:2958 config/tc-xtensa.c:11816 +#: config/tc-v850.c:2961 config/tc-xtensa.c:12371 msgid "invalid operand" msgstr "" -#: config/tc-v850.c:3071 +#: config/tc-v850.c:3074 msgid "loop: 32-bit displacement not supported" msgstr "" -#: config/tc-vax.c:1340 +#: config/tc-vax.c:1344 msgid "no '[' to match ']'" msgstr "" -#: config/tc-vax.c:1356 +#: config/tc-vax.c:1360 msgid "bad register in []" msgstr "" -#: config/tc-vax.c:1358 +#: config/tc-vax.c:1362 msgid "[PC] index banned" msgstr "" -#: config/tc-vax.c:1394 +#: config/tc-vax.c:1398 msgid "no '(' to match ')'" msgstr "" -#: config/tc-vax.c:1510 +#: config/tc-vax.c:1514 msgid "invalid branch operand" msgstr "" -#: config/tc-vax.c:1537 +#: config/tc-vax.c:1541 msgid "address prohibits @" msgstr "" -#: config/tc-vax.c:1539 +#: config/tc-vax.c:1543 msgid "address prohibits #" msgstr "" -#: config/tc-vax.c:1543 +#: config/tc-vax.c:1547 msgid "address prohibits -()" msgstr "" -#: config/tc-vax.c:1545 +#: config/tc-vax.c:1549 msgid "address prohibits ()+" msgstr "" -#: config/tc-vax.c:1548 +#: config/tc-vax.c:1552 msgid "address prohibits ()" msgstr "" -#: config/tc-vax.c:1550 +#: config/tc-vax.c:1554 msgid "address prohibits []" msgstr "" -#: config/tc-vax.c:1552 +#: config/tc-vax.c:1556 msgid "address prohibits register" msgstr "" -#: config/tc-vax.c:1554 +#: config/tc-vax.c:1558 msgid "address prohibits displacement length specifier" msgstr "" -#: config/tc-vax.c:1582 +#: config/tc-vax.c:1586 msgid "invalid operand of S^#" msgstr "" -#: config/tc-vax.c:1595 +#: config/tc-vax.c:1599 msgid "S^# needs expression" msgstr "" -#: config/tc-vax.c:1602 +#: config/tc-vax.c:1606 msgid "S^# may only read-access" msgstr "" -#: config/tc-vax.c:1625 +#: config/tc-vax.c:1629 msgid "invalid operand of -()" msgstr "" -#: config/tc-vax.c:1631 +#: config/tc-vax.c:1635 msgid "-(PC) unpredictable" msgstr "" -#: config/tc-vax.c:1633 +#: config/tc-vax.c:1637 msgid "[]index same as -()register: unpredictable" msgstr "" -#: config/tc-vax.c:1665 +#: config/tc-vax.c:1669 msgid "invalid operand of ()+" msgstr "" -#: config/tc-vax.c:1671 +#: config/tc-vax.c:1675 msgid "(PC)+ unpredictable" msgstr "" -#: config/tc-vax.c:1673 +#: config/tc-vax.c:1677 msgid "[]index same as ()+register: unpredictable" msgstr "" -#: config/tc-vax.c:1696 +#: config/tc-vax.c:1700 msgid "# conflicts length" msgstr "" -#: config/tc-vax.c:1698 +#: config/tc-vax.c:1702 msgid "# bars register" msgstr "" -#: config/tc-vax.c:1718 +#: config/tc-vax.c:1722 msgid "writing or modifying # is unpredictable" msgstr "" -#: config/tc-vax.c:1744 +#: config/tc-vax.c:1748 msgid "length not needed" msgstr "" -#: config/tc-vax.c:1751 +#: config/tc-vax.c:1755 msgid "can't []index a register, because it has no address" msgstr "" -#: config/tc-vax.c:1753 +#: config/tc-vax.c:1757 msgid "a register has no address" msgstr "" -#: config/tc-vax.c:1762 +#: config/tc-vax.c:1766 msgid "PC part of operand unpredictable" msgstr "" -#: config/tc-vax.c:1918 +#: config/tc-vax.c:1922 msgid "odd number of bytes in operand description" msgstr "" -#: config/tc-vax.c:1932 +#: config/tc-vax.c:1936 msgid "Bad operand" msgstr "" -#: config/tc-vax.c:1937 +#: config/tc-vax.c:1941 msgid "Not enough operands" msgstr "" -#: config/tc-vax.c:2214 +#: config/tc-vax.c:2218 msgid "SYMBOL TABLE not implemented" msgstr "" -#: config/tc-vax.c:2218 +#: config/tc-vax.c:2222 msgid "TOKEN TRACE not implemented" msgstr "" -#: config/tc-vax.c:2222 +#: config/tc-vax.c:2226 #, c-format msgid "Displacement length %s ignored!" msgstr "" -#: config/tc-vax.c:2226 +#: config/tc-vax.c:2230 #, c-format msgid "I don't need or use temp. file \"%s\"." msgstr "" -#: config/tc-vax.c:2230 +#: config/tc-vax.c:2234 msgid "I don't use an interpass file! -V ignored" msgstr "" -#: config/tc-vax.c:2287 +#: config/tc-vax.c:2291 #, c-format msgid "" "VAX options:\n" @@ -17019,7 +17258,7 @@ msgid "" "-V\t\t\tignored\n" msgstr "" -#: config/tc-vax.c:2296 +#: config/tc-vax.c:2300 #, c-format msgid "" "VMS options:\n" @@ -17031,61 +17270,61 @@ msgid "" "-v\"VERSION\"\t\tcode being assembled was produced by compiler \"VERSION\"\n" msgstr "" -#: config/tc-vax.c:2461 +#: config/tc-vax.c:2465 #, c-format msgid "Ignoring statement due to \"%s\"" msgstr "" -#: config/tc-vax.c:2478 +#: config/tc-vax.c:2482 #, c-format msgid "Aborting because statement has \"%s\"" msgstr "" -#: config/tc-vax.c:2523 +#: config/tc-vax.c:2527 msgid "Can't relocate expression" msgstr "" -#: config/tc-vax.c:2626 +#: config/tc-vax.c:2630 msgid "Bignum not permitted in short literal. Immediate mode assumed." msgstr "" -#: config/tc-vax.c:2635 +#: config/tc-vax.c:2639 msgid "Can't do flonum short literal: immediate mode used." msgstr "" -#: config/tc-vax.c:2682 +#: config/tc-vax.c:2686 #, c-format msgid "A bignum/flonum may not be a displacement: 0x%lx used" msgstr "" -#: config/tc-vax.c:2994 +#: config/tc-vax.c:2998 #, c-format msgid "Short literal overflow(%ld.), immediate mode assumed." msgstr "" -#: config/tc-vax.c:3003 +#: config/tc-vax.c:3007 #, c-format msgid "Forced short literal to immediate mode. now_seg=%s to_seg=%s" msgstr "" -#: config/tc-vax.c:3068 +#: config/tc-vax.c:3072 msgid "Length specification ignored. Address mode 9F used" msgstr "" -#: config/tc-vax.c:3126 +#: config/tc-vax.c:3130 msgid "Invalid operand: immediate value used as base address." msgstr "" -#: config/tc-vax.c:3128 +#: config/tc-vax.c:3132 msgid "Invalid operand: immediate value used as address." msgstr "" -#: config/tc-vax.c:3153 +#: config/tc-vax.c:3157 #, c-format msgid "Symbol %s used as immediate operand in PIC mode." msgstr "" -#: config/tc-vax.c:3258 +#: config/tc-vax.c:3262 #, c-format msgid "VIP_BEGIN error:%s" msgstr "" @@ -17095,11 +17334,11 @@ msgstr "" msgid " XC16X specific command line options:\n" msgstr "" -#: config/tc-xgate.c:216 +#: config/tc-xgate.c:215 msgid " architecture variant invalid" msgstr "" -#: config/tc-xgate.c:373 +#: config/tc-xgate.c:372 #, c-format msgid "" "Freescale XGATE co-processor options:\n" @@ -17113,646 +17352,654 @@ msgid "" " --generate-example generate an example of each instruction" msgstr "" -#: config/tc-xgate.c:496 +#: config/tc-xgate.c:495 msgid "opcode missing or not found on input line" msgstr "" -#: config/tc-xgate.c:501 +#: config/tc-xgate.c:500 #, c-format msgid "opcode %s not found in opcode hash table" msgstr "" -#: config/tc-xgate.c:514 +#: config/tc-xgate.c:513 msgid "matching operands to opcode " msgstr "" -#: config/tc-xgate.c:552 +#: config/tc-xgate.c:551 msgid ": processing macro, real opcode handle not found in hash" msgstr "" -#: config/tc-xgate.c:683 +#: config/tc-xgate.c:682 #, c-format msgid "Value %ld not aligned by 2 for 9-bit PC-relative branch." msgstr "" -#: config/tc-xgate.c:700 +#: config/tc-xgate.c:699 #, c-format msgid "Value %ld not aligned by 2 for 10-bit PC-relative branch." msgstr "" -#: config/tc-xgate.c:727 +#: config/tc-xgate.c:726 msgid "Value out of 3-bit range." msgstr "" -#: config/tc-xgate.c:734 +#: config/tc-xgate.c:733 msgid "Value out of 4-bit range." msgstr "" -#: config/tc-xgate.c:741 +#: config/tc-xgate.c:740 msgid "Value out of 5-bit range." msgstr "" -#: config/tc-xgate.c:878 +#: config/tc-xgate.c:877 msgid ":operand has too many bits" msgstr "" -#: config/tc-xgate.c:990 +#: config/tc-xgate.c:989 msgid "unknown operand count" msgstr "" -#: config/tc-xgate.c:1233 config/tc-xgate.c:1245 +#: config/tc-xgate.c:1232 config/tc-xgate.c:1244 msgid ": expected register name r0-r7 " msgstr "" -#: config/tc-xgate.c:1281 +#: config/tc-xgate.c:1280 #, c-format msgid ":operand value(%d) too big for constraint" msgstr "" -#: config/tc-xgate.c:1299 +#: config/tc-xgate.c:1298 msgid "you must use a hi/lo directive or 16-bit macro to load a 16-bit value." msgstr "" -#: config/tc-xgate.c:1312 +#: config/tc-xgate.c:1311 msgid ":unknown relocation constraint size" msgstr "" -#: config/tc-xgate.c:1319 +#: config/tc-xgate.c:1318 msgid ": expected register name ccr " msgstr "" -#: config/tc-xgate.c:1325 +#: config/tc-xgate.c:1324 msgid ": expected register name pc " msgstr "" -#: config/tc-xstormy16.c:78 +#: config/tc-xstormy16.c:77 #, c-format msgid " XSTORMY16 specific command line options:\n" msgstr "" -#: config/tc-xstormy16.c:225 +#: config/tc-xstormy16.c:223 #, c-format msgid "unsupported fptr fixup size %d" msgstr "" -#: config/tc-xstormy16.c:237 +#: config/tc-xstormy16.c:235 #, c-format msgid "unsupported fixup size %d" msgstr "" -#: config/tc-xstormy16.c:268 +#: config/tc-xstormy16.c:266 msgid "unsupported fptr fixup" msgstr "" -#: config/tc-xtensa.c:619 +#: config/tc-xtensa.c:625 msgid "illegal range of target hardware versions" msgstr "" -#: config/tc-xtensa.c:776 +#: config/tc-xtensa.c:788 msgid "--density option is ignored" msgstr "" -#: config/tc-xtensa.c:779 +#: config/tc-xtensa.c:791 msgid "--no-density option is ignored" msgstr "" -#: config/tc-xtensa.c:797 +#: config/tc-xtensa.c:809 msgid "--generics is deprecated; use --transform instead" msgstr "" -#: config/tc-xtensa.c:800 +#: config/tc-xtensa.c:812 msgid "--no-generics is deprecated; use --no-transform instead" msgstr "" -#: config/tc-xtensa.c:803 +#: config/tc-xtensa.c:815 msgid "--relax is deprecated; use --transform instead" msgstr "" -#: config/tc-xtensa.c:806 +#: config/tc-xtensa.c:818 msgid "--no-relax is deprecated; use --no-transform instead" msgstr "" -#: config/tc-xtensa.c:823 +#: config/tc-xtensa.c:835 msgid "--absolute-literals option not supported in this Xtensa configuration" msgstr "" -#: config/tc-xtensa.c:896 +#: config/tc-xtensa.c:908 msgid "prefer-l32r conflicts with prefer-const16" msgstr "" -#: config/tc-xtensa.c:902 +#: config/tc-xtensa.c:914 msgid "prefer-const16 conflicts with prefer-l32r" msgstr "" -#: config/tc-xtensa.c:910 config/tc-xtensa.c:919 config/tc-xtensa.c:923 +#: config/tc-xtensa.c:922 config/tc-xtensa.c:931 config/tc-xtensa.c:935 msgid "invalid target hardware version" msgstr "" -#: config/tc-xtensa.c:1107 +#: config/tc-xtensa.c:1129 msgid "unmatched end directive" msgstr "" -#: config/tc-xtensa.c:1136 +#: config/tc-xtensa.c:1158 msgid ".begin directive with no matching .end directive" msgstr "" -#: config/tc-xtensa.c:1177 +#: config/tc-xtensa.c:1199 msgid "[no-]generics is deprecated; use [no-]transform instead" msgstr "" -#: config/tc-xtensa.c:1182 +#: config/tc-xtensa.c:1204 msgid "[no-]relax is deprecated; use [no-]transform instead" msgstr "" -#: config/tc-xtensa.c:1195 +#: config/tc-xtensa.c:1217 #, c-format msgid "directive %s cannot be negated" msgstr "" -#: config/tc-xtensa.c:1201 +#: config/tc-xtensa.c:1223 msgid "unknown directive" msgstr "" -#: config/tc-xtensa.c:1222 config/tc-xtensa.c:1318 config/tc-xtensa.c:1563 -#: config/tc-xtensa.c:5774 +#: config/tc-xtensa.c:1244 config/tc-xtensa.c:1340 config/tc-xtensa.c:1585 +#: config/tc-xtensa.c:5797 msgid "directives are not valid inside bundles" msgstr "" -#: config/tc-xtensa.c:1234 +#: config/tc-xtensa.c:1256 msgid ".begin literal is deprecated; use .literal instead" msgstr "" -#: config/tc-xtensa.c:1248 +#: config/tc-xtensa.c:1270 msgid "cannot set literal_prefix inside literal fragment" msgstr "" -#: config/tc-xtensa.c:1281 +#: config/tc-xtensa.c:1303 msgid ".begin [no-]density is ignored" msgstr "" -#: config/tc-xtensa.c:1288 config/tc-xtensa.c:1338 +#: config/tc-xtensa.c:1310 config/tc-xtensa.c:1360 msgid "Xtensa absolute literals option not supported; ignored" msgstr "" -#: config/tc-xtensa.c:1331 +#: config/tc-xtensa.c:1353 msgid ".end [no-]density is ignored" msgstr "" -#: config/tc-xtensa.c:1356 +#: config/tc-xtensa.c:1378 #, c-format msgid "does not match begin %s%s at %s:%d" msgstr "" -#: config/tc-xtensa.c:1411 +#: config/tc-xtensa.c:1433 msgid ".literal_position inside literal directive; ignoring" msgstr "" -#: config/tc-xtensa.c:1431 +#: config/tc-xtensa.c:1453 msgid ".literal not allowed inside .begin literal region" msgstr "" -#: config/tc-xtensa.c:1470 +#: config/tc-xtensa.c:1492 msgid "expected comma or colon after symbol name; rest of line ignored" msgstr "" -#: config/tc-xtensa.c:1532 +#: config/tc-xtensa.c:1554 msgid "fall through frequency must be greater than 0" msgstr "" -#: config/tc-xtensa.c:1540 +#: config/tc-xtensa.c:1562 msgid "branch target frequency must be greater than 0" msgstr "" -#: config/tc-xtensa.c:1588 +#: config/tc-xtensa.c:1610 #, c-format msgid "opcode-specific %s relocation used outside an instruction" msgstr "" -#: config/tc-xtensa.c:1596 +#: config/tc-xtensa.c:1618 #, c-format msgid "invalid use of %s relocation" msgstr "" -#: config/tc-xtensa.c:1792 config/tc-xtensa.c:1809 +#: config/tc-xtensa.c:1814 config/tc-xtensa.c:1831 #, c-format msgid "bad register name: %s" msgstr "" -#: config/tc-xtensa.c:1798 +#: config/tc-xtensa.c:1820 #, c-format msgid "bad register number: %s" msgstr "" -#: config/tc-xtensa.c:1862 +#: config/tc-xtensa.c:1884 msgid "pcrel relocation not allowed in an instruction" msgstr "" -#: config/tc-xtensa.c:1879 +#: config/tc-xtensa.c:1901 msgid "register number out of range" msgstr "" -#: config/tc-xtensa.c:1963 +#: config/tc-xtensa.c:1985 msgid "extra comma" msgstr "" -#: config/tc-xtensa.c:1965 +#: config/tc-xtensa.c:1987 msgid "extra colon" msgstr "" -#: config/tc-xtensa.c:1969 +#: config/tc-xtensa.c:1989 +msgid "missing argument" +msgstr "" + +#: config/tc-xtensa.c:1991 msgid "missing comma or colon" msgstr "" -#: config/tc-xtensa.c:2026 +#: config/tc-xtensa.c:2048 msgid "incorrect register number, ignoring" msgstr "" -#: config/tc-xtensa.c:2107 +#: config/tc-xtensa.c:2129 #, c-format msgid "cannot encode opcode \"%s\"" msgstr "" -#: config/tc-xtensa.c:2201 +#: config/tc-xtensa.c:2223 #, c-format msgid "not enough operands (%d) for '%s'; expected %d" msgstr "" -#: config/tc-xtensa.c:2208 +#: config/tc-xtensa.c:2230 #, c-format msgid "too many operands (%d) for '%s'; expected %d" msgstr "" -#: config/tc-xtensa.c:2259 +#: config/tc-xtensa.c:2281 #, c-format msgid "invalid register '%s' for '%s' instruction" msgstr "" -#: config/tc-xtensa.c:2266 +#: config/tc-xtensa.c:2288 #, c-format msgid "invalid register number (%ld) for '%s' instruction" msgstr "" -#: config/tc-xtensa.c:2334 +#: config/tc-xtensa.c:2356 #, c-format msgid "invalid register number (%ld) for '%s'" msgstr "" -#: config/tc-xtensa.c:2725 +#: config/tc-xtensa.c:2747 #, c-format msgid "operand %d of '%s' has out of range value '%u'" msgstr "" -#: config/tc-xtensa.c:2731 +#: config/tc-xtensa.c:2753 #, c-format msgid "operand %d of '%s' has invalid value '%u'" msgstr "" -#: config/tc-xtensa.c:2778 +#: config/tc-xtensa.c:2800 #, c-format msgid "internal error: unknown option name '%s'" msgstr "" -#: config/tc-xtensa.c:3887 +#: config/tc-xtensa.c:3909 msgid "can't handle generation of literal/labels yet" msgstr "" -#: config/tc-xtensa.c:3891 +#: config/tc-xtensa.c:3913 msgid "can't handle undefined OP TYPE" msgstr "" -#: config/tc-xtensa.c:3952 +#: config/tc-xtensa.c:3974 #, c-format msgid "found %d operands for '%s': Expected %d" msgstr "" -#: config/tc-xtensa.c:3959 +#: config/tc-xtensa.c:3981 #, c-format msgid "found too many (%d) operands for '%s': Expected %d" msgstr "" -#: config/tc-xtensa.c:3980 +#: config/tc-xtensa.c:4002 msgid "immediate operands sum to greater than 32" msgstr "" -#: config/tc-xtensa.c:4232 +#: config/tc-xtensa.c:4254 #, c-format msgid "invalid relocation for operand %i of '%s'" msgstr "" -#: config/tc-xtensa.c:4242 +#: config/tc-xtensa.c:4264 #, c-format msgid "invalid expression for operand %i of '%s'" msgstr "" -#: config/tc-xtensa.c:4252 +#: config/tc-xtensa.c:4274 #, c-format msgid "invalid relocation in instruction slot %i" msgstr "" -#: config/tc-xtensa.c:4259 +#: config/tc-xtensa.c:4281 #, c-format msgid "undefined symbol for opcode \"%s\"" msgstr "" -#: config/tc-xtensa.c:4745 +#: config/tc-xtensa.c:4767 msgid "opcode 'NOP.N' unavailable in this configuration" msgstr "" -#: config/tc-xtensa.c:4805 +#: config/tc-xtensa.c:4827 msgid "get_expanded_loop_offset: invalid opcode" msgstr "" -#: config/tc-xtensa.c:4938 +#: config/tc-xtensa.c:4960 #, c-format msgid "assembly state not set for first frag in section %s" msgstr "" -#: config/tc-xtensa.c:4991 +#: config/tc-xtensa.c:5013 #, c-format msgid "unaligned branch target: %d bytes at 0x%lx" msgstr "" -#: config/tc-xtensa.c:5035 +#: config/tc-xtensa.c:5057 #, c-format msgid "unaligned loop: %d bytes at 0x%lx" msgstr "" -#: config/tc-xtensa.c:5060 +#: config/tc-xtensa.c:5082 msgid "unexpected fix" msgstr "" -#: config/tc-xtensa.c:5071 config/tc-xtensa.c:5075 +#: config/tc-xtensa.c:5093 config/tc-xtensa.c:5097 msgid "undecodable fix" msgstr "" -#: config/tc-xtensa.c:5213 +#: config/tc-xtensa.c:5235 msgid "labels are not valid inside bundles" msgstr "" -#: config/tc-xtensa.c:5233 +#: config/tc-xtensa.c:5255 msgid "invalid last instruction for a zero-overhead loop" msgstr "" -#: config/tc-xtensa.c:5300 +#: config/tc-xtensa.c:5322 msgid "extra opening brace" msgstr "" -#: config/tc-xtensa.c:5310 +#: config/tc-xtensa.c:5332 msgid "extra closing brace" msgstr "" -#: config/tc-xtensa.c:5337 +#: config/tc-xtensa.c:5359 msgid "missing closing brace" msgstr "" -#: config/tc-xtensa.c:5437 config/tc-xtensa.c:5466 +#: config/tc-xtensa.c:5459 config/tc-xtensa.c:5488 #, c-format msgid "wrong number of operands for '%s'" msgstr "" -#: config/tc-xtensa.c:5453 +#: config/tc-xtensa.c:5475 #, c-format msgid "bad relocation expression for '%s'" msgstr "" -#: config/tc-xtensa.c:5488 +#: config/tc-xtensa.c:5510 #, c-format msgid "unknown opcode or format name '%s'" msgstr "" -#: config/tc-xtensa.c:5494 +#: config/tc-xtensa.c:5516 msgid "format names only valid inside bundles" msgstr "" -#: config/tc-xtensa.c:5499 +#: config/tc-xtensa.c:5521 #, c-format msgid "multiple formats specified for one bundle; using '%s'" msgstr "" -#: config/tc-xtensa.c:5549 +#: config/tc-xtensa.c:5571 msgid "entry instruction with stack decrement < 16" msgstr "" -#: config/tc-xtensa.c:5602 +#: config/tc-xtensa.c:5625 msgid "unaligned entry instruction" msgstr "" -#: config/tc-xtensa.c:5667 +#: config/tc-xtensa.c:5690 msgid "bad instruction format" msgstr "" -#: config/tc-xtensa.c:5670 +#: config/tc-xtensa.c:5693 msgid "invalid relocation" msgstr "" -#: config/tc-xtensa.c:5681 +#: config/tc-xtensa.c:5704 #, c-format msgid "invalid relocation for '%s' instruction" msgstr "" -#: config/tc-xtensa.c:5693 +#: config/tc-xtensa.c:5716 #, c-format msgid "invalid relocation for operand %d of '%s'" msgstr "" -#: config/tc-xtensa.c:5956 +#: config/tc-xtensa.c:5982 #, c-format msgid "unhandled local relocation fix %s" msgstr "" -#: config/tc-xtensa.c:6007 +#: config/tc-xtensa.c:6033 #, c-format msgid "internal error; cannot generate `%s' relocation" msgstr "" -#: config/tc-xtensa.c:6226 +#: config/tc-xtensa.c:6252 msgid "The option \"--no-allow-flix\" prohibits multi-slot flix." msgstr "" -#: config/tc-xtensa.c:6235 +#: config/tc-xtensa.c:6261 msgid "couldn't find a valid instruction format" msgstr "" -#: config/tc-xtensa.c:6236 +#: config/tc-xtensa.c:6262 #, c-format msgid " ops were: " msgstr "" -#: config/tc-xtensa.c:6238 +#: config/tc-xtensa.c:6264 #, c-format msgid " %s;" msgstr "" -#: config/tc-xtensa.c:6249 +#: config/tc-xtensa.c:6275 #, c-format msgid "format '%s' allows %d slots, but there are %d opcodes" msgstr "" -#: config/tc-xtensa.c:6260 config/tc-xtensa.c:6358 +#: config/tc-xtensa.c:6286 config/tc-xtensa.c:6384 msgid "illegal resource usage in bundle" msgstr "" -#: config/tc-xtensa.c:6445 +#: config/tc-xtensa.c:6473 #, c-format msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same register" msgstr "" -#: config/tc-xtensa.c:6450 +#: config/tc-xtensa.c:6478 #, c-format msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same state" msgstr "" -#: config/tc-xtensa.c:6455 +#: config/tc-xtensa.c:6483 #, c-format msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same port" msgstr "" -#: config/tc-xtensa.c:6460 +#: config/tc-xtensa.c:6488 #, c-format msgid "" "opcodes '%s' (slot %d) and '%s' (slot %d) both have volatile port accesses" msgstr "" -#: config/tc-xtensa.c:6476 +#: config/tc-xtensa.c:6504 msgid "multiple branches or jumps in the same bundle" msgstr "" -#: config/tc-xtensa.c:6928 +#: config/tc-xtensa.c:6956 msgid "cannot assemble into a literal fragment" msgstr "" -#: config/tc-xtensa.c:6930 +#: config/tc-xtensa.c:6958 msgid "..." msgstr "" -#: config/tc-xtensa.c:7565 +#: config/tc-xtensa.c:7749 msgid "" "instruction sequence (write a0, branch, retw) may trigger hardware errata" msgstr "" -#: config/tc-xtensa.c:7677 +#: config/tc-xtensa.c:7861 msgid "branching or jumping to a loop end may trigger hardware errata" msgstr "" -#: config/tc-xtensa.c:7759 +#: config/tc-xtensa.c:7943 msgid "loop end too close to another loop end may trigger hardware errata" msgstr "" -#: config/tc-xtensa.c:7768 +#: config/tc-xtensa.c:7952 #, c-format msgid "fr_var %lu < length %d" msgstr "" -#: config/tc-xtensa.c:7925 +#: config/tc-xtensa.c:8109 msgid "" "loop containing less than three instructions may trigger hardware errata" msgstr "" -#: config/tc-xtensa.c:7997 +#: config/tc-xtensa.c:8181 msgid "undecodable instruction in instruction frag" msgstr "" -#: config/tc-xtensa.c:8107 +#: config/tc-xtensa.c:8291 msgid "invalid empty loop" msgstr "" -#: config/tc-xtensa.c:8112 +#: config/tc-xtensa.c:8296 msgid "loop target does not follow loop instruction in section" msgstr "" -#: config/tc-xtensa.c:8713 +#: config/tc-xtensa.c:9040 msgid "bad relaxation state" msgstr "" -#: config/tc-xtensa.c:8771 +#: config/tc-xtensa.c:9098 #, c-format msgid "fr_var (%ld) < length (%d)" msgstr "" -#: config/tc-xtensa.c:9406 +#: config/tc-xtensa.c:9834 +msgid "jump target out of range; no usable trampoline found" +msgstr "" + +#: config/tc-xtensa.c:9958 msgid "invalid relaxation fragment result" msgstr "" -#: config/tc-xtensa.c:9485 +#: config/tc-xtensa.c:10040 msgid "unable to widen instruction" msgstr "" -#: config/tc-xtensa.c:9624 +#: config/tc-xtensa.c:10179 msgid "multiple literals in expansion" msgstr "" -#: config/tc-xtensa.c:9628 +#: config/tc-xtensa.c:10183 msgid "no registered fragment for literal" msgstr "" -#: config/tc-xtensa.c:9630 +#: config/tc-xtensa.c:10185 msgid "number of literal tokens != 1" msgstr "" -#: config/tc-xtensa.c:9759 config/tc-xtensa.c:9765 +#: config/tc-xtensa.c:10314 config/tc-xtensa.c:10320 #, c-format msgid "unresolved loop target symbol: %s" msgstr "" -#: config/tc-xtensa.c:9871 +#: config/tc-xtensa.c:10426 #, c-format msgid "invalid expression evaluation type %d" msgstr "" -#: config/tc-xtensa.c:9888 +#: config/tc-xtensa.c:10443 msgid "loop too long for LOOP instruction" msgstr "" -#: config/tc-xtensa.c:10157 +#: config/tc-xtensa.c:10712 #, c-format msgid "fixes not all moved from %s" msgstr "" -#: config/tc-xtensa.c:10288 +#: config/tc-xtensa.c:10843 msgid "" "literal pool location required for text-section-literals; specify with ." "literal_position" msgstr "" -#: config/tc-xtensa.c:11130 +#: config/tc-xtensa.c:11685 msgid "too many operands in instruction" msgstr "" -#: config/tc-xtensa.c:11340 +#: config/tc-xtensa.c:11895 msgid "invalid symbolic operand" msgstr "" -#: config/tc-xtensa.c:11401 +#: config/tc-xtensa.c:11956 msgid "operand number mismatch" msgstr "" -#: config/tc-xtensa.c:11405 +#: config/tc-xtensa.c:11960 #, c-format msgid "cannot encode opcode \"%s\" in the given format \"%s\"" msgstr "" -#: config/tc-xtensa.c:11430 +#: config/tc-xtensa.c:11985 #, c-format msgid "xtensa-isa failure: %s" msgstr "" -#: config/tc-xtensa.c:11507 +#: config/tc-xtensa.c:12062 msgid "invalid opcode" msgstr "" -#: config/tc-xtensa.c:11513 +#: config/tc-xtensa.c:12068 msgid "too few operands" msgstr "" -#: config/tc-xtensa.c:11563 +#: config/tc-xtensa.c:12118 msgid "multiple writes to the same register" msgstr "" -#: config/tc-xtensa.c:11677 config/tc-xtensa.c:11683 +#: config/tc-xtensa.c:12232 config/tc-xtensa.c:12238 msgid "out of memory" msgstr "" -#: config/tc-xtensa.c:11772 +#: config/tc-xtensa.c:12327 msgid "TLS relocation not allowed in FLIX bundle" msgstr "" @@ -17760,33 +18007,33 @@ msgstr "" #. relaxed in the front-end. If "record_fixup" is set, then this #. function is being called during back-end relaxation, so flag #. the unexpected behavior as an error. -#: config/tc-xtensa.c:11778 +#: config/tc-xtensa.c:12333 msgid "unexpected TLS relocation" msgstr "" -#: config/tc-xtensa.c:11822 +#: config/tc-xtensa.c:12377 msgid "symbolic operand not allowed" msgstr "" -#: config/tc-xtensa.c:11859 +#: config/tc-xtensa.c:12414 msgid "cannot decode instruction format" msgstr "" -#: config/tc-xtensa.c:12003 +#: config/tc-xtensa.c:12558 msgid "ignoring extra '-rename-section' delimiter ':'" msgstr "" -#: config/tc-xtensa.c:12008 +#: config/tc-xtensa.c:12563 #, c-format msgid "ignoring invalid '-rename-section' specification: '%s'" msgstr "" -#: config/tc-xtensa.c:12019 +#: config/tc-xtensa.c:12574 #, c-format msgid "section %s renamed multiple times" msgstr "" -#: config/tc-xtensa.c:12021 +#: config/tc-xtensa.c:12576 #, c-format msgid "multiple sections remapped to output section %s" msgstr "" @@ -17829,12 +18076,12 @@ msgstr "" msgid "parentheses ignored" msgstr "" -#: config/tc-z80.c:1943 read.c:3666 +#: config/tc-z80.c:1943 read.c:3670 #, c-format msgid "junk at end of line, first unrecognized character is `%c'" msgstr "" -#: config/tc-z80.c:1969 config/tc-z8k.c:1460 config/tc-z8k.c:1523 +#: config/tc-z80.c:1969 config/tc-z8k.c:1459 config/tc-z8k.c:1522 msgid "relative jump out of range" msgstr "" @@ -17842,115 +18089,115 @@ msgstr "" msgid "index offset out of range" msgstr "" -#: config/tc-z80.c:2028 config/tc-z8k.c:1531 +#: config/tc-z80.c:2028 config/tc-z8k.c:1530 #, c-format msgid "md_apply_fix: unknown r_type 0x%x\n" msgstr "" -#: config/tc-z8k.c:282 +#: config/tc-z8k.c:281 #, c-format msgid "register rr%d out of range" msgstr "" -#: config/tc-z8k.c:284 +#: config/tc-z8k.c:283 #, c-format msgid "register rr%d does not exist" msgstr "" -#: config/tc-z8k.c:296 +#: config/tc-z8k.c:295 #, c-format msgid "register rh%d out of range" msgstr "" -#: config/tc-z8k.c:308 +#: config/tc-z8k.c:307 #, c-format msgid "register rl%d out of range" msgstr "" -#: config/tc-z8k.c:321 +#: config/tc-z8k.c:320 #, c-format msgid "register rq%d out of range" msgstr "" -#: config/tc-z8k.c:323 +#: config/tc-z8k.c:322 #, c-format msgid "register rq%d does not exist" msgstr "" -#: config/tc-z8k.c:335 +#: config/tc-z8k.c:334 #, c-format msgid "register r%d out of range" msgstr "" -#: config/tc-z8k.c:376 +#: config/tc-z8k.c:375 #, c-format msgid "expected %c" msgstr "" -#: config/tc-z8k.c:391 +#: config/tc-z8k.c:390 #, c-format msgid "register is wrong size for a word %s" msgstr "" -#: config/tc-z8k.c:405 +#: config/tc-z8k.c:404 #, c-format msgid "register is wrong size for address %s" msgstr "" -#: config/tc-z8k.c:539 +#: config/tc-z8k.c:538 #, c-format msgid "unknown interrupt %s" msgstr "" #. No interrupt type specified, opcode won't do anything. -#: config/tc-z8k.c:562 +#: config/tc-z8k.c:561 msgid "opcode has no effect" msgstr "" -#: config/tc-z8k.c:673 +#: config/tc-z8k.c:672 msgid "Missing ) in ra(rb)" msgstr "" -#: config/tc-z8k.c:753 config/tc-z8k.c:792 +#: config/tc-z8k.c:752 config/tc-z8k.c:791 #, c-format msgid "invalid condition code '%s'" msgstr "" -#: config/tc-z8k.c:765 +#: config/tc-z8k.c:764 #, c-format msgid "invalid flag '%s'" msgstr "" -#: config/tc-z8k.c:919 config/tc-z8k.c:925 +#: config/tc-z8k.c:918 config/tc-z8k.c:924 msgid "invalid indirect register size" msgstr "" -#: config/tc-z8k.c:942 config/tc-z8k.c:1090 config/tc-z8k.c:1095 +#: config/tc-z8k.c:941 config/tc-z8k.c:1089 config/tc-z8k.c:1094 msgid "invalid control register name" msgstr "" -#: config/tc-z8k.c:1079 +#: config/tc-z8k.c:1078 msgid "immediate must be 1 or 2" msgstr "" -#: config/tc-z8k.c:1082 +#: config/tc-z8k.c:1081 msgid "immediate 1 or 2 expected" msgstr "" -#: config/tc-z8k.c:1113 +#: config/tc-z8k.c:1112 msgid "can't use R0 here" msgstr "" -#: config/tc-z8k.c:1271 +#: config/tc-z8k.c:1270 msgid "Can't find opcode to match operands" msgstr "" -#: config/tc-z8k.c:1318 +#: config/tc-z8k.c:1317 #, c-format msgid "invalid architecture -z%s" msgstr "" -#: config/tc-z8k.c:1337 +#: config/tc-z8k.c:1336 #, c-format msgid "" " Z8K options:\n" @@ -17959,508 +18206,508 @@ msgid "" " -linkrelax create linker relaxable code\n" msgstr "" -#: config/tc-z8k.c:1349 +#: config/tc-z8k.c:1348 #, c-format msgid "call to md_convert_frag\n" msgstr "" -#: config/tc-z8k.c:1456 config/tc-z8k.c:1496 config/tc-z8k.c:1519 +#: config/tc-z8k.c:1455 config/tc-z8k.c:1495 config/tc-z8k.c:1518 msgid "cannot branch to odd address" msgstr "" -#: config/tc-z8k.c:1478 +#: config/tc-z8k.c:1477 msgid "relative address out of range" msgstr "" -#: config/tc-z8k.c:1499 +#: config/tc-z8k.c:1498 msgid "relative call out of range" msgstr "" -#: config/tc-z8k.c:1543 +#: config/tc-z8k.c:1542 #, c-format msgid "call to md_estimate_size_before_relax\n" msgstr "" -#: config/xtensa-relax.c:1556 +#: config/xtensa-relax.c:1555 #, c-format msgid "invalid configuration option '%s' in transition rule '%s'" msgstr "" -#: config/xtensa-relax.c:1681 +#: config/xtensa-relax.c:1680 #, c-format msgid "opcode '%s': no bound opname '%s' for precondition in '%s'" msgstr "" -#: config/xtensa-relax.c:1691 +#: config/xtensa-relax.c:1690 #, c-format msgid "opcode '%s': no bound opname '%s' for precondition in %s" msgstr "" -#: config/xtensa-relax.c:1698 +#: config/xtensa-relax.c:1697 #, c-format msgid "opcode '%s': precondition only contains constants in '%s'" msgstr "" -#: config/xtensa-relax.c:1745 +#: config/xtensa-relax.c:1744 msgid "expected one operand for generated literal" msgstr "" -#: config/xtensa-relax.c:1752 +#: config/xtensa-relax.c:1751 msgid "expected 0 operands for generated label" msgstr "" -#: config/xtensa-relax.c:1765 +#: config/xtensa-relax.c:1764 #, c-format msgid "invalid opcode '%s' in transition rule '%s'" msgstr "" -#: config/xtensa-relax.c:1773 +#: config/xtensa-relax.c:1772 #, c-format msgid "opcode '%s': replacement does not have %d ops" msgstr "" -#: config/xtensa-relax.c:1787 +#: config/xtensa-relax.c:1786 #, c-format msgid "opcode '%s': cannot find literal definition" msgstr "" -#: config/xtensa-relax.c:1803 config/xtensa-relax.c:1833 +#: config/xtensa-relax.c:1802 config/xtensa-relax.c:1832 #, c-format msgid "opcode %s: unidentified operand '%s' in '%s'" msgstr "" -#: config/xtensa-relax.c:1828 +#: config/xtensa-relax.c:1827 #, c-format msgid "unknown user-defined function %s" msgstr "" -#: config/xtensa-relax.c:1839 +#: config/xtensa-relax.c:1838 #, c-format msgid "opcode %s: could not parse operand '%s' in '%s'" msgstr "" -#: config/xtensa-relax.c:1880 +#: config/xtensa-relax.c:1879 #, c-format msgid "could not parse INSN_PATTERN '%s'" msgstr "" -#: config/xtensa-relax.c:1884 +#: config/xtensa-relax.c:1883 #, c-format msgid "could not parse INSN_REPL '%s'" msgstr "" -#: config/xtensa-relax.c:1895 +#: config/xtensa-relax.c:1894 #, c-format msgid "could not build transition for %s => %s" msgstr "" -#: depend.c:195 +#: depend.c:194 #, c-format msgid "can't open `%s' for writing" msgstr "" -#: depend.c:207 +#: depend.c:206 #, c-format msgid "can't close `%s'" msgstr "" -#: dw2gencfi.c:199 read.c:2382 +#: dw2gencfi.c:198 read.c:2386 #, c-format msgid "bfd_set_section_flags: %s" msgstr "" -#: dw2gencfi.c:457 +#: dw2gencfi.c:456 #, c-format msgid "register save offset not a multiple of %u" msgstr "" -#: dw2gencfi.c:540 +#: dw2gencfi.c:539 msgid "CFI state restore without previous remember" msgstr "" -#: dw2gencfi.c:589 +#: dw2gencfi.c:588 msgid "missing separator" msgstr "" -#: dw2gencfi.c:639 +#: dw2gencfi.c:638 msgid "bad register expression" msgstr "" -#: dw2gencfi.c:660 dw2gencfi.c:783 dw2gencfi.c:821 dw2gencfi.c:891 -#: dw2gencfi.c:963 +#: dw2gencfi.c:659 dw2gencfi.c:782 dw2gencfi.c:820 dw2gencfi.c:890 +#: dw2gencfi.c:962 msgid "CFI instruction used without previous .cfi_startproc" msgstr "" -#: dw2gencfi.c:845 +#: dw2gencfi.c:844 msgid "invalid or unsupported encoding in .cfi_personality" msgstr "" -#: dw2gencfi.c:852 +#: dw2gencfi.c:851 msgid ".cfi_personality requires encoding and symbol arguments" msgstr "" -#: dw2gencfi.c:875 +#: dw2gencfi.c:874 msgid "wrong second argument to .cfi_personality" msgstr "" -#: dw2gencfi.c:915 dw2gencfi.c:991 +#: dw2gencfi.c:914 dw2gencfi.c:990 msgid "invalid or unsupported encoding in .cfi_lsda" msgstr "" -#: dw2gencfi.c:922 +#: dw2gencfi.c:921 msgid ".cfi_lsda requires encoding and symbol arguments" msgstr "" -#: dw2gencfi.c:947 +#: dw2gencfi.c:946 msgid "wrong second argument to .cfi_lsda" msgstr "" -#: dw2gencfi.c:1012 +#: dw2gencfi.c:1011 msgid "wrong third argument to .cfi_val_encoded_addr" msgstr "" -#: dw2gencfi.c:1083 +#: dw2gencfi.c:1082 msgid "previous CFI entry not closed (missing .cfi_endproc)" msgstr "" -#: dw2gencfi.c:1123 +#: dw2gencfi.c:1122 msgid ".cfi_endproc without corresponding .cfi_startproc" msgstr "" -#: dw2gencfi.c:1920 dw2gencfi.c:1983 +#: dw2gencfi.c:1919 dw2gencfi.c:1982 msgid "open CFI at the end of file; missing .cfi_endproc directive" msgstr "" -#: dw2gencfi.c:2009 +#: dw2gencfi.c:2008 msgid "CFI is not supported for this target" msgstr "" -#: dwarf2dbg.c:603 dwarf2dbg.c:638 +#: dwarf2dbg.c:592 dwarf2dbg.c:627 msgid "file number less than one" msgstr "" -#: dwarf2dbg.c:613 +#: dwarf2dbg.c:602 #, c-format msgid "file number %ld already allocated" msgstr "" -#: dwarf2dbg.c:643 dwarf2dbg.c:1445 +#: dwarf2dbg.c:632 dwarf2dbg.c:1434 #, c-format msgid "unassigned file number %ld" msgstr "" -#: dwarf2dbg.c:712 +#: dwarf2dbg.c:701 msgid "is_stmt value not 0 or 1" msgstr "" -#: dwarf2dbg.c:724 +#: dwarf2dbg.c:713 msgid "isa number less than zero" msgstr "" -#: dwarf2dbg.c:736 +#: dwarf2dbg.c:725 msgid "discriminator less than zero" msgstr "" -#: dwarf2dbg.c:742 +#: dwarf2dbg.c:731 #, c-format msgid "unknown .loc sub-directive `%s'" msgstr "" -#: dwarf2dbg.c:1508 +#: dwarf2dbg.c:1497 msgid "internal error: unknown dwarf2 format" msgstr "" -#: ecoff.c:1561 +#: ecoff.c:1559 #, c-format msgid "string too big (%lu bytes)" msgstr "" -#: ecoff.c:1587 +#: ecoff.c:1585 #, c-format msgid "inserting \"%s\" into string hash table: %s" msgstr "" -#: ecoff.c:1618 ecoff.c:1811 ecoff.c:1834 ecoff.c:1865 ecoff.c:2018 -#: ecoff.c:2129 +#: ecoff.c:1616 ecoff.c:1809 ecoff.c:1832 ecoff.c:1863 ecoff.c:2016 +#: ecoff.c:2127 msgid "no current file pointer" msgstr "" -#: ecoff.c:1705 +#: ecoff.c:1703 msgid "too many st_End's" msgstr "" -#: ecoff.c:2043 +#: ecoff.c:2041 #, c-format msgid "inserting \"%s\" into tag hash table: %s" msgstr "" -#: ecoff.c:2204 +#: ecoff.c:2202 msgid "fake .file after real one" msgstr "" -#: ecoff.c:2294 +#: ecoff.c:2292 msgid "filename goes over one page boundary" msgstr "" -#: ecoff.c:2427 +#: ecoff.c:2425 msgid ".begin directive without a preceding .file directive" msgstr "" -#: ecoff.c:2434 +#: ecoff.c:2432 msgid ".begin directive without a preceding .ent directive" msgstr "" -#: ecoff.c:2465 +#: ecoff.c:2463 msgid ".bend directive without a preceding .file directive" msgstr "" -#: ecoff.c:2472 +#: ecoff.c:2470 msgid ".bend directive without a preceding .ent directive" msgstr "" -#: ecoff.c:2485 +#: ecoff.c:2483 msgid ".bend directive names unknown symbol" msgstr "" -#: ecoff.c:2528 +#: ecoff.c:2526 msgid ".def pseudo-op used inside of .def/.endef; ignored" msgstr "" -#: ecoff.c:2530 +#: ecoff.c:2528 msgid "empty symbol name in .def; ignored" msgstr "" -#: ecoff.c:2567 +#: ecoff.c:2565 msgid ".dim pseudo-op used outside of .def/.endef; ignored" msgstr "" -#: ecoff.c:2582 +#: ecoff.c:2580 msgid "badly formed .dim directive" msgstr "" -#: ecoff.c:2595 +#: ecoff.c:2593 msgid "too many .dim entries" msgstr "" -#: ecoff.c:2615 +#: ecoff.c:2613 msgid ".scl pseudo-op used outside of .def/.endef; ignored" msgstr "" -#: ecoff.c:2640 +#: ecoff.c:2638 msgid ".size pseudo-op used outside of .def/.endef; ignored" msgstr "" -#: ecoff.c:2655 +#: ecoff.c:2653 msgid "badly formed .size directive" msgstr "" -#: ecoff.c:2668 +#: ecoff.c:2666 msgid "too many .size entries" msgstr "" -#: ecoff.c:2690 +#: ecoff.c:2688 msgid ".type pseudo-op used outside of .def/.endef; ignored" msgstr "" #. FIXME: We could handle this by setting the continued bit. #. There would still be a limit: the .type argument can not #. be infinite. -#: ecoff.c:2708 +#: ecoff.c:2706 #, c-format msgid "the type of %s is too complex; it will be simplified" msgstr "" -#: ecoff.c:2719 +#: ecoff.c:2717 msgid "Unrecognized .type argument" msgstr "" -#: ecoff.c:2757 +#: ecoff.c:2755 msgid ".tag pseudo-op used outside of .def/.endef; ignored" msgstr "" -#: ecoff.c:2782 +#: ecoff.c:2780 msgid ".val pseudo-op used outside of .def/.endef; ignored" msgstr "" -#: ecoff.c:2790 +#: ecoff.c:2788 msgid ".val expression is too complex" msgstr "" -#: ecoff.c:2820 +#: ecoff.c:2818 msgid ".endef pseudo-op used before .def; ignored" msgstr "" -#: ecoff.c:2846 ecoff.c:2927 +#: ecoff.c:2844 ecoff.c:2925 msgid "bad COFF debugging information" msgstr "" -#: ecoff.c:2895 +#: ecoff.c:2893 #, c-format msgid "no tag specified for %s" msgstr "" -#: ecoff.c:2997 +#: ecoff.c:2995 msgid ".end directive without a preceding .file directive" msgstr "" -#: ecoff.c:3026 +#: ecoff.c:3024 msgid ".end directive names unknown symbol" msgstr "" -#: ecoff.c:3053 +#: ecoff.c:3051 msgid "second .ent directive found before .end directive" msgstr "" -#: ecoff.c:3125 +#: ecoff.c:3123 msgid "no way to handle .file within .ent/.end section" msgstr "" -#: ecoff.c:3242 +#: ecoff.c:3240 msgid ".loc before .file" msgstr "" -#: ecoff.c:3445 +#: ecoff.c:3443 #, c-format msgid ".stab%c is not supported" msgstr "" -#: ecoff.c:3455 +#: ecoff.c:3453 #, c-format msgid ".stab%c: ignoring non-zero other field" msgstr "" -#: ecoff.c:3489 +#: ecoff.c:3487 #, c-format msgid "" "line number (%d) for .stab%c directive cannot fit in index field (20 bits)" msgstr "" -#: ecoff.c:3525 +#: ecoff.c:3523 #, c-format msgid "illegal .stab%c directive, bad character" msgstr "" -#: ecoff.c:3984 ecoff.c:4173 ecoff.c:4198 +#: ecoff.c:3982 ecoff.c:4171 ecoff.c:4196 msgid ".begin/.bend in different segments" msgstr "" -#: ecoff.c:4694 +#: ecoff.c:4692 msgid "missing .end or .bend at end of file" msgstr "" -#: ecoff.c:5179 +#: ecoff.c:5177 msgid "GP prologue size exceeds field size, using 0 instead" msgstr "" -#: expr.c:87 read.c:3731 +#: expr.c:84 read.c:3735 msgid "bignum invalid" msgstr "" -#: expr.c:89 read.c:3733 read.c:4209 read.c:5094 +#: expr.c:86 read.c:3737 read.c:4235 read.c:5140 msgid "floating point number invalid" msgstr "" -#: expr.c:212 +#: expr.c:209 msgid "bad floating-point constant: exponent overflow" msgstr "" -#: expr.c:216 +#: expr.c:213 #, c-format msgid "bad floating-point constant: unknown error code=%d" msgstr "" -#: expr.c:395 +#: expr.c:392 msgid "" "a bignum with underscores may not have more than 8 hex digits in any word" msgstr "" -#: expr.c:418 +#: expr.c:415 msgid "a bignum with underscores must have exactly 4 words" msgstr "" #. Either not seen or not defined. #. @@ Should print out the original string instead of #. the parsed number. -#: expr.c:541 +#: expr.c:538 #, c-format msgid "backward ref to unknown label \"%d:\"" msgstr "" -#: expr.c:659 +#: expr.c:656 msgid "character constant too large" msgstr "" -#: expr.c:906 +#: expr.c:903 #, c-format msgid "expr.c(operand): bad atof_generic return val %d" msgstr "" -#: expr.c:969 +#: expr.c:966 #, c-format msgid "missing '%c'" msgstr "" -#: expr.c:980 read.c:4576 +#: expr.c:977 read.c:4622 msgid "EBCDIC constants are not supported" msgstr "" -#: expr.c:1105 +#: expr.c:1103 #, c-format msgid "Unary operator %c ignored because bad operand follows" msgstr "" -#: expr.c:1151 expr.c:1176 +#: expr.c:1149 expr.c:1174 msgid "syntax error in .startof. or .sizeof." msgstr "" -#: expr.c:1257 expr.c:1618 +#: expr.c:1255 expr.c:1616 #, c-format msgid "invalid use of operator \"%s\"" msgstr "" -#: expr.c:1802 +#: expr.c:1800 msgid "missing operand; zero assumed" msgstr "" -#: expr.c:1841 +#: expr.c:1839 msgid "left operand is a bignum; integer 0 assumed" msgstr "" -#: expr.c:1843 +#: expr.c:1841 msgid "left operand is a float; integer 0 assumed" msgstr "" -#: expr.c:1852 +#: expr.c:1850 msgid "right operand is a bignum; integer 0 assumed" msgstr "" -#: expr.c:1854 +#: expr.c:1852 msgid "right operand is a float; integer 0 assumed" msgstr "" -#: expr.c:1925 symbols.c:1388 +#: expr.c:1923 symbols.c:1386 msgid "division by zero" msgstr "" -#: expr.c:1931 +#: expr.c:1929 msgid "shift count" msgstr "" -#: expr.c:2052 +#: expr.c:2050 msgid "operation combines symbols in different segments" msgstr "" -#: frags.c:48 +#: frags.c:60 msgid "attempt to allocate data in absolute section" msgstr "" -#: frags.c:54 +#: frags.c:66 msgid "attempt to allocate data in common section" msgstr "" -#: frags.c:102 write.c:1431 +#: frags.c:115 #, c-format -msgid "can't extend frag %u chars" +msgid "can't extend frag %lu chars" msgstr "" #. For error messages. @@ -18475,52 +18722,52 @@ msgstr "" #. line here (assuming of course that we actually have a line of #. input to read), so that it can be displayed in the listing #. that is produced at the end of the assembly. -#: input-file.c:136 input-scrub.c:243 listing.c:352 +#: input-file.c:134 input-scrub.c:241 listing.c:349 msgid "{standard input}" msgstr "" -#: input-file.c:141 +#: input-file.c:139 #, c-format msgid "can't open %s for reading: %s" msgstr "" -#: input-file.c:150 input-file.c:224 +#: input-file.c:148 input-file.c:222 #, c-format msgid "can't read from %s: %s" msgstr "" -#: input-file.c:252 listing.c:1449 output-file.c:72 +#: input-file.c:250 listing.c:1446 output-file.c:71 #, c-format msgid "can't close %s: %s" msgstr "" -#: input-scrub.c:270 +#: input-scrub.c:268 msgid "macros nested too deeply" msgstr "" -#: input-scrub.c:381 input-scrub.c:405 +#: input-scrub.c:379 input-scrub.c:403 msgid "partial line at end of file ignored" msgstr "" -#: itbl-ops.c:332 +#: itbl-ops.c:331 #, c-format msgid "Unable to allocate memory for new instructions\n" msgstr "" -#: listing.c:258 -msgid "Warning:" +#: listing.c:255 messages.c:154 messages.c:156 messages.c:159 +msgid "Warning: " msgstr "" -#: listing.c:264 -msgid "Error:" +#: listing.c:261 messages.c:219 messages.c:221 messages.c:224 +msgid "Error: " msgstr "" -#: listing.c:628 +#: listing.c:625 #, c-format msgid "unable to rebuffer file: %s\n" msgstr "" -#: listing.c:1335 +#: listing.c:1332 #, c-format msgid "" "\n" @@ -18528,302 +18775,292 @@ msgid "" "\n" msgstr "" -#: listing.c:1345 +#: listing.c:1342 #, c-format msgid "%s " msgstr "" -#: listing.c:1350 +#: listing.c:1347 #, c-format msgid "" "\n" "\t%s " msgstr "" -#: listing.c:1360 +#: listing.c:1357 msgid "" "\n" " options passed\t: " msgstr "" -#: listing.c:1399 +#: listing.c:1396 #, c-format msgid "" " GNU assembler version %s (%s)\n" "\t using BFD version %s." msgstr "" -#: listing.c:1402 +#: listing.c:1399 #, c-format msgid "" "\n" " input file \t: %s" msgstr "" -#: listing.c:1403 +#: listing.c:1400 #, c-format msgid "" "\n" " output file \t: %s" msgstr "" -#: listing.c:1404 +#: listing.c:1401 #, c-format msgid "" "\n" " target \t: %s" msgstr "" -#: listing.c:1428 +#: listing.c:1425 #, c-format msgid "can't open %s: %s" msgstr "" -#: listing.c:1513 +#: listing.c:1510 msgid "strange paper height, set to no form" msgstr "" -#: listing.c:1577 +#: listing.c:1574 msgid "new line in title" msgstr "" #. Turns the next expression into a string. -#: macro.c:361 +#: macro.c:382 #, no-c-format msgid "% operator needs absolute expression" msgstr "" -#: macro.c:515 +#: macro.c:536 #, c-format msgid "Missing parameter qualifier for `%s' in macro `%s'" msgstr "" -#: macro.c:525 +#: macro.c:546 #, c-format msgid "`%s' is not a valid parameter qualifier for `%s' in macro `%s'" msgstr "" -#: macro.c:542 +#: macro.c:563 #, c-format msgid "Pointless default value for required parameter `%s' in macro `%s'" msgstr "" -#: macro.c:554 +#: macro.c:575 #, c-format msgid "A parameter named `%s' already exists for macro `%s'" msgstr "" -#: macro.c:591 +#: macro.c:612 #, c-format msgid "Reserved word `%s' used as parameter in macro `%s'" msgstr "" -#: macro.c:649 +#: macro.c:670 #, c-format msgid "unexpected end of file in macro `%s' definition" msgstr "" -#: macro.c:661 +#: macro.c:682 #, c-format msgid "missing `)' after formals in macro definition `%s'" msgstr "" -#: macro.c:676 +#: macro.c:697 msgid "Missing macro name" msgstr "" -#: macro.c:685 +#: macro.c:706 #, c-format msgid "Bad parameter list for macro `%s'" msgstr "" -#: macro.c:691 +#: macro.c:712 #, c-format msgid "Macro `%s' was already defined" msgstr "" -#: macro.c:816 macro.c:818 +#: macro.c:837 macro.c:839 msgid "missing `)'" msgstr "" -#: macro.c:915 +#: macro.c:936 #, c-format msgid "`%s' was already used as parameter (or another local) name" msgstr "" -#: macro.c:1073 +#: macro.c:1094 msgid "confusion in formal parameters" msgstr "" -#: macro.c:1081 +#: macro.c:1102 #, c-format msgid "Parameter named `%s' does not exist for macro `%s'" msgstr "" -#: macro.c:1092 +#: macro.c:1113 #, c-format msgid "Value for parameter `%s' of macro `%s' was already specified" msgstr "" -#: macro.c:1106 +#: macro.c:1127 msgid "can't mix positional and keyword arguments" msgstr "" -#: macro.c:1117 +#: macro.c:1138 msgid "too many positional arguments" msgstr "" -#: macro.c:1165 +#: macro.c:1186 #, c-format msgid "Missing value for required parameter `%s' of macro `%s'" msgstr "" -#: macro.c:1284 +#: macro.c:1305 #, c-format msgid "Attempt to purge non-existant macro `%s'" msgstr "" -#: macro.c:1303 +#: macro.c:1324 msgid "unexpected end of file in irp or irpc" msgstr "" -#: macro.c:1311 +#: macro.c:1332 msgid "missing model parameter" msgstr "" -#: messages.c:82 +#: messages.c:80 #, c-format msgid "Assembler messages:\n" msgstr "" -#: messages.c:160 -#, c-format -msgid "Warning: " -msgstr "" - -#: messages.c:226 -#, c-format -msgid "Error: " -msgstr "" - -#: messages.c:282 +#: messages.c:278 #, c-format msgid "Fatal error: " msgstr "" -#: messages.c:300 +#: messages.c:296 #, c-format msgid "Internal error!\n" msgstr "" -#: messages.c:302 +#: messages.c:298 #, c-format msgid "Assertion failure in %s at %s line %d.\n" msgstr "" -#: messages.c:305 +#: messages.c:301 #, c-format msgid "Assertion failure at %s line %d.\n" msgstr "" -#: messages.c:306 messages.c:323 +#: messages.c:302 messages.c:319 #, c-format msgid "Please report this bug.\n" msgstr "" -#: messages.c:318 +#: messages.c:314 #, c-format msgid "Internal error, aborting at %s line %d in %s\n" msgstr "" -#: messages.c:321 +#: messages.c:317 #, c-format msgid "Internal error, aborting at %s line %d\n" msgstr "" -#: messages.c:370 +#: messages.c:366 #, c-format msgid "%s out of domain (%d is not a multiple of %d)" msgstr "" -#: messages.c:388 +#: messages.c:384 #, c-format msgid "%s out of range (%d is not between %d and %d)" msgstr "" #. xgettext:c-format. -#: messages.c:411 +#: messages.c:407 #, c-format msgid "%s out of range (0x%s is not between 0x%s and 0x%s)" msgstr "" -#: output-file.c:35 +#: output-file.c:34 #, c-format msgid "can't open a bfd on stdout %s" msgstr "" -#: output-file.c:42 +#: output-file.c:41 #, c-format msgid "selected target format '%s' unknown" msgstr "" -#: output-file.c:44 +#: output-file.c:43 #, c-format msgid "can't create %s: %s" msgstr "" -#: read.c:516 +#: read.c:519 #, c-format msgid "error constructing %s pseudo-op table: %s" msgstr "" -#: read.c:696 +#: read.c:700 msgid "cannot change section or subsection inside .bundle_lock" msgstr "" -#: read.c:712 +#: read.c:716 #, c-format msgid "" ".bundle_lock sequence at %u bytes but .bundle_align_mode limit is %u bytes" msgstr "" -#: read.c:721 +#: read.c:725 #, c-format msgid "single instruction is %u bytes long but .bundle_align_mode limit is %u" msgstr "" -#: read.c:1051 +#: read.c:1055 #, c-format msgid "unknown pseudo-op: `%s'" msgstr "" -#: read.c:1138 +#: read.c:1142 #, c-format msgid "label \"%d$\" redefined" msgstr "" -#: read.c:1285 +#: read.c:1289 msgid ".bundle_lock with no matching .bundle_unlock" msgstr "" -#: read.c:1382 +#: read.c:1386 msgid ".abort detected. Abandoning ship." msgstr "" -#: read.c:1400 read.c:2751 +#: read.c:1404 read.c:2755 msgid "ignoring fill value in absolute section" msgstr "" -#: read.c:1491 +#: read.c:1495 #, c-format msgid "alignment too large: %u assumed" msgstr "" -#: read.c:1523 +#: read.c:1527 msgid "expected fill pattern missing" msgstr "" -#: read.c:1640 +#: read.c:1644 msgid "symbol name not recognised in the current locale" msgstr "" @@ -18836,327 +19073,332 @@ msgstr "" #. We do not want to barf on this, especially since such files are used #. in the GCC and GDB testsuites. So we check for negative line numbers #. rather than non-positive line numbers. -#: read.c:1983 +#: read.c:1987 #, c-format msgid "line numbers must be positive; line number %d rejected" msgstr "" -#: read.c:2020 +#: read.c:2024 #, c-format msgid "incompatible flag %i in line directive" msgstr "" -#: read.c:2032 +#: read.c:2036 #, c-format msgid "unsupported flag %i in line directive" msgstr "" -#: read.c:2071 +#: read.c:2075 msgid "start address not supported" msgstr "" -#: read.c:2080 +#: read.c:2084 msgid ".err encountered" msgstr "" -#: read.c:2096 +#: read.c:2100 msgid ".error directive invoked in source file" msgstr "" -#: read.c:2097 +#: read.c:2101 msgid ".warning directive invoked in source file" msgstr "" -#: read.c:2103 +#: read.c:2107 #, c-format msgid "%s argument must be a string" msgstr "" -#: read.c:2135 read.c:2137 +#: read.c:2139 read.c:2141 #, c-format msgid ".fail %ld encountered" msgstr "" -#: read.c:2177 +#: read.c:2181 #, c-format msgid ".fill size clamped to %d" msgstr "" -#: read.c:2182 +#: read.c:2186 msgid "size negative; .fill ignored" msgstr "" -#: read.c:2188 +#: read.c:2192 msgid "repeat < 0; .fill ignored" msgstr "" -#: read.c:2348 +#: read.c:2352 #, c-format msgid "unrecognized .linkonce type `%s'" msgstr "" -#: read.c:2360 +#: read.c:2364 msgid ".linkonce is not supported for this object file format" msgstr "" -#: read.c:2455 +#: read.c:2459 msgid "expected alignment after size" msgstr "" -#: read.c:2673 +#: read.c:2677 #, c-format msgid "attempt to redefine pseudo-op `%s' ignored" msgstr "" -#: read.c:2692 +#: read.c:2696 msgid "ignoring macro exit outside a macro definition." msgstr "" -#: read.c:2746 +#: read.c:2750 #, c-format msgid "invalid segment \"%s\"" msgstr "" -#: read.c:2754 +#: read.c:2758 msgid "only constant offsets supported in absolute section" msgstr "" -#: read.c:2793 +#: read.c:2797 msgid "MRI style ORG pseudo-op not supported" msgstr "" -#: read.c:2946 +#: read.c:2950 #, c-format msgid "unrecognized section type `%s'" msgstr "" -#: read.c:2960 +#: read.c:2964 msgid "absolute sections are not supported" msgstr "" -#: read.c:2975 +#: read.c:2979 #, c-format msgid "unrecognized section command `%s'" msgstr "" -#: read.c:3039 +#: read.c:3043 #, c-format msgid ".end%c encountered without preceding %s" msgstr "" -#: read.c:3069 read.c:3099 +#: read.c:3073 read.c:3103 #, c-format msgid "%s without %s" msgstr "" -#: read.c:3330 +#: read.c:3334 msgid "unsupported variable size or fill value" msgstr "" -#: read.c:3358 +#: read.c:3362 msgid ".space repeat count is zero, ignored" msgstr "" -#: read.c:3360 +#: read.c:3364 msgid ".space repeat count is negative, ignored" msgstr "" -#: read.c:3389 +#: read.c:3393 msgid "space allocation too complex in absolute section" msgstr "" -#: read.c:3395 +#: read.c:3399 msgid "space allocation too complex in common section" msgstr "" -#: read.c:3486 read.c:4822 +#: read.c:3490 read.c:4868 #, c-format msgid "bad floating literal: %s" msgstr "" -#: read.c:3619 +#: read.c:3623 #, c-format msgid "%s: would close weakref loop: %s" msgstr "" -#: read.c:3669 +#: read.c:3673 #, c-format msgid "junk at end of line, first unrecognized character valued 0x%x" msgstr "" -#: read.c:3797 +#: read.c:3801 #, c-format msgid "`%s' can't be equated to common symbol '%s'" msgstr "" -#: read.c:3922 +#: read.c:3937 msgid "unexpected `\"' in expression" msgstr "" -#: read.c:3934 +#: read.c:3949 msgid "rva without symbol" msgstr "" -#: read.c:3991 +#: read.c:4009 msgid "missing or bad offset expression" msgstr "" -#: read.c:4012 +#: read.c:4030 msgid "missing reloc type" msgstr "" -#: read.c:4024 +#: read.c:4042 msgid "unrecognized reloc type" msgstr "" -#: read.c:4040 +#: read.c:4058 msgid "bad reloc expression" msgstr "" -#: read.c:4165 +#: read.c:4191 msgid "attempt to store value in absolute section" msgstr "" -#: read.c:4203 read.c:5088 +#: read.c:4229 read.c:5134 msgid "zero assumed for missing expression" msgstr "" -#: read.c:4295 +#: read.c:4327 #, c-format msgid "value 0x%llx truncated to 0x%llx" msgstr "" -#: read.c:4298 +#: read.c:4330 msgid "value 0x%I64x truncated to 0x%I64x" msgstr "" -#: read.c:4302 +#: read.c:4334 #, c-format msgid "value 0x%lx truncated to 0x%lx" msgstr "" -#: read.c:4329 +#: read.c:4361 #, c-format msgid "bignum truncated to %d bytes" msgstr "" -#: read.c:4649 read.c:4844 +#: read.c:4437 +#, c-format +msgid "%s relocations do not fit in %u bytes\n" +msgstr "" + +#: read.c:4695 read.c:4890 msgid "unresolvable or nonpositive repeat count; using 1" msgstr "" -#: read.c:4698 +#: read.c:4744 #, c-format msgid "unknown floating type type '%c'" msgstr "" -#: read.c:4720 +#: read.c:4766 msgid "floating point constant too large" msgstr "" -#: read.c:5256 +#: read.c:5302 msgid "strings must be placed into a section" msgstr "" -#: read.c:5304 +#: read.c:5350 msgid "expected <nn>" msgstr "" #. To be compatible with BSD 4.2 as: give the luser a linefeed!! -#: read.c:5337 read.c:5423 +#: read.c:5383 read.c:5469 msgid "unterminated string; newline inserted" msgstr "" -#: read.c:5431 +#: read.c:5477 msgid "bad escaped character in string" msgstr "" -#: read.c:5456 +#: read.c:5502 msgid "expected address expression" msgstr "" -#: read.c:5475 +#: read.c:5521 #, c-format msgid "symbol \"%s\" undefined; zero assumed" msgstr "" -#: read.c:5478 +#: read.c:5524 msgid "some symbol undefined; zero assumed" msgstr "" -#: read.c:5513 +#: read.c:5559 msgid "this string may not contain '\\0'" msgstr "" -#: read.c:5549 +#: read.c:5595 msgid "missing string" msgstr "" -#: read.c:5640 +#: read.c:5686 #, c-format msgid ".incbin count zero, ignoring `%s'" msgstr "" -#: read.c:5666 +#: read.c:5712 #, c-format msgid "file not found: %s" msgstr "" -#: read.c:5680 +#: read.c:5726 #, c-format msgid "seek to end of .incbin file failed `%s'" msgstr "" -#: read.c:5691 +#: read.c:5737 #, c-format msgid "skip (%ld) or count (%ld) invalid for file size (%ld)" msgstr "" -#: read.c:5698 +#: read.c:5744 #, c-format msgid "could not skip to %ld in file `%s'" msgstr "" -#: read.c:5707 +#: read.c:5753 #, c-format msgid "truncated file `%s', %ld of %ld bytes read" msgstr "" -#: read.c:5866 +#: read.c:5912 msgid "missing .func" msgstr "" -#: read.c:5883 +#: read.c:5929 msgid ".endfunc missing for previous .func" msgstr "" -#: read.c:5944 +#: read.c:5990 #, c-format msgid ".bundle_align_mode alignment too large (maximum %u)" msgstr "" -#: read.c:5949 +#: read.c:5995 msgid "cannot change .bundle_align_mode inside .bundle_lock" msgstr "" -#: read.c:5963 +#: read.c:6009 msgid ".bundle_lock is meaningless without .bundle_align_mode" msgstr "" -#: read.c:5984 +#: read.c:6030 msgid ".bundle_unlock without preceding .bundle_lock" msgstr "" -#: read.c:5997 +#: read.c:6043 #, c-format msgid ".bundle_lock sequence is %u bytes, but bundle size only %u" msgstr "" -#: read.c:6095 +#: read.c:6141 #, c-format msgid "missing closing `%c'" msgstr "" -#: read.c:6097 +#: read.c:6143 msgid "stray `\\'" msgstr "" @@ -19165,7 +19407,7 @@ msgstr "" msgid "invalid argument '%s' to -fdebug-prefix-map" msgstr "" -#: stabs.c:215 stabs.c:223 stabs.c:231 stabs.c:250 +#: stabs.c:214 stabs.c:222 stabs.c:230 stabs.c:249 #, c-format msgid ".stab%c: missing comma" msgstr "" @@ -19173,214 +19415,209 @@ msgstr "" #. This could happen for example with a source file with a huge #. number of lines. The only cure is to use a different debug #. format, probably DWARF. -#: stabs.c:243 +#: stabs.c:242 #, c-format msgid ".stab%c: description field '%x' too big, try a different debug format" msgstr "" -#: stabs.c:424 +#: stabs.c:423 msgid "comma missing in .xstabs" msgstr "" -#: symbols.c:288 +#: symbols.c:286 #, c-format msgid "cannot define symbol `%s' in absolute section" msgstr "" -#: symbols.c:422 +#: symbols.c:420 #, c-format msgid "symbol `%s' is already defined as \"%s\"/%s%ld" msgstr "" -#: symbols.c:497 symbols.c:504 +#: symbols.c:495 symbols.c:502 #, c-format msgid "inserting \"%s\" into symbol table failed: %s" msgstr "" -#: symbols.c:1017 +#: symbols.c:1015 #, c-format msgid "invalid operands (%s and %s sections) for `%s'" msgstr "" -#: symbols.c:1021 +#: symbols.c:1019 #, c-format msgid "invalid operand (%s section) for `%s'" msgstr "" -#: symbols.c:1029 +#: symbols.c:1027 #, c-format msgid "invalid operands (%s and %s sections) for `%s' when setting `%s'" msgstr "" -#: symbols.c:1032 +#: symbols.c:1030 #, c-format msgid "invalid operand (%s section) for `%s' when setting `%s'" msgstr "" -#: symbols.c:1081 +#: symbols.c:1079 #, c-format msgid "symbol definition loop encountered at `%s'" msgstr "" -#: symbols.c:1108 +#: symbols.c:1106 #, c-format msgid "cannot convert expression symbol %s to complex relocation" msgstr "" -#: symbols.c:1390 +#: symbols.c:1388 #, c-format msgid "division by zero when setting `%s'" msgstr "" -#: symbols.c:1471 write.c:2108 +#: symbols.c:1469 write.c:2126 #, c-format msgid "can't resolve value for symbol `%s'" msgstr "" -#: symbols.c:1918 +#: symbols.c:1916 #, c-format msgid "\"%d\" (instance number %d of a %s label)" msgstr "" -#: symbols.c:1947 +#: symbols.c:1945 #, c-format msgid "attempt to get value of unresolved symbol `%s'" msgstr "" -#: symbols.c:2233 +#: symbols.c:2231 msgid "section symbols are already global" msgstr "" -#: symbols.c:2346 +#: symbols.c:2344 #, c-format msgid "Accessing function `%s' as thread-local object" msgstr "" -#: symbols.c:2350 +#: symbols.c:2348 #, c-format msgid "Accessing `%s' as thread-local object" msgstr "" -#: write.c:168 +#: write.c:166 #, c-format msgid "field fx_size too small to hold %d" msgstr "" -#: write.c:454 +#: write.c:452 #, c-format msgid "attempt to .org/.space backwards? (%ld)" msgstr "" -#: write.c:691 +#: write.c:689 msgid "invalid offset expression" msgstr "" -#: write.c:713 +#: write.c:711 msgid "invalid reloc expression" msgstr "" -#: write.c:1097 +#: write.c:1096 #, c-format msgid "value of %s too large for field of %d bytes at %s" msgstr "" -#: write.c:1109 +#: write.c:1108 #, c-format msgid "signed .word overflow; switch may be too large; %ld at 0x%lx" msgstr "" -#: write.c:1150 +#: write.c:1149 msgid "redefined symbol cannot be used on reloc" msgstr "" -#: write.c:1163 +#: write.c:1162 msgid "relocation out of range" msgstr "" -#: write.c:1166 +#: write.c:1165 #, c-format msgid "%s:%u: bad return from bfd_install_relocation: %x" msgstr "" -#: write.c:1189 +#: write.c:1188 msgid "reloc not within (fixed part of) section" msgstr "" -#: write.c:1259 +#: write.c:1258 msgid "internal error: fixup not contained within frag" msgstr "" -#: write.c:1377 write.c:1507 +#: write.c:1376 write.c:1506 msgid "can't extend frag" msgstr "" -#: write.c:1569 write.c:1590 -#, c-format -msgid "can't write %s: %s" -msgstr "" - -#: write.c:1620 +#: write.c:1430 #, c-format -msgid "cannot write to output file '%s': %s" +msgid "can't extend frag %u chars" msgstr "" -#: write.c:1780 +#: write.c:1568 write.c:1589 #, c-format -msgid "%d error%s, %d warning%s, generating bad object file" +msgid "can't write %s: %s" msgstr "" -#: write.c:1787 +#: write.c:1619 #, c-format -msgid "%d error%s, %d warning%s, no object file generated" +msgid "cannot write to output file '%s': %s" msgstr "" -#: write.c:2023 +#: write.c:2041 #, c-format msgid "%s: global symbols not supported in common sections" msgstr "" -#: write.c:2037 +#: write.c:2055 #, c-format msgid "local label `%s' is not defined" msgstr "" -#: write.c:2059 +#: write.c:2077 #, c-format msgid "Local symbol `%s' can't be equated to common symbol `%s'" msgstr "" -#: write.c:2066 +#: write.c:2084 #, c-format msgid "can't make global register symbol `%s'" msgstr "" -#: write.c:2359 +#: write.c:2377 #, c-format msgid "alignment padding (%lu bytes) not a multiple of %ld" msgstr "" -#: write.c:2521 +#: write.c:2539 #, c-format msgid ".word %s-%s+%s didn't fit" msgstr "" -#: write.c:2615 +#: write.c:2633 msgid "padding added" msgstr "" -#: write.c:2665 +#: write.c:2683 msgid "attempt to move .org backwards" msgstr "" -#: write.c:2689 +#: write.c:2707 msgid ".space specifies non-absolute value" msgstr "" -#: write.c:2704 +#: write.c:2722 msgid ".space or .fill with negative value, ignored" msgstr "" -#: write.c:2775 +#: write.c:2793 #, c-format msgid "" "Infinite loop encountered whilst attempting to compute the addresses of " diff --git a/binutils-2.25/gas/read.c b/binutils-2.25/gas/read.c index 9fd0335..29b0456 100644 --- a/binutils-2.25/gas/read.c +++ b/binutils-2.25/gas/read.c @@ -557,10 +557,11 @@ pobegin (void) cfi_pop_insert (); } -#define HANDLE_CONDITIONAL_ASSEMBLY() \ +#define HANDLE_CONDITIONAL_ASSEMBLY(num_read) \ if (ignore_input ()) \ { \ - char *eol = find_end_of_line (input_line_pointer, flag_m68k_mri); \ + char *eol = find_end_of_line (input_line_pointer - (num_read), \ + flag_m68k_mri); \ input_line_pointer = (input_line_pointer <= buffer_limit \ && eol >= buffer_limit) \ ? buffer_limit \ @@ -834,7 +835,7 @@ read_a_source_file (char *name) char *line_start = input_line_pointer; int mri_line_macro; - HANDLE_CONDITIONAL_ASSEMBLY (); + HANDLE_CONDITIONAL_ASSEMBLY (0); c = get_symbol_end (); @@ -905,7 +906,7 @@ read_a_source_file (char *name) if (is_name_beginner (c)) { /* Want user-defined label or pseudo/opcode. */ - HANDLE_CONDITIONAL_ASSEMBLY (); + HANDLE_CONDITIONAL_ASSEMBLY (1); s = --input_line_pointer; c = get_symbol_end (); /* name's delimiter. */ @@ -1119,7 +1120,7 @@ read_a_source_file (char *name) /* local label ("4:") */ char *backup = input_line_pointer; - HANDLE_CONDITIONAL_ASSEMBLY (); + HANDLE_CONDITIONAL_ASSEMBLY (1); temp = c - '0'; @@ -1266,7 +1267,7 @@ read_a_source_file (char *name) continue; } - HANDLE_CONDITIONAL_ASSEMBLY (); + HANDLE_CONDITIONAL_ASSEMBLY (1); #ifdef tc_unrecognized_line if (tc_unrecognized_line (c)) @@ -5653,6 +5654,13 @@ s_incbin (int x ATTRIBUTE_UNUSED) long bytes; int len; + /* Google Local */ + if (! allow_incbin_directive) + { + as_fatal (_("\'.incbin\' directive not allowed, use --allow-incbin flag" + " to enable.")); + } + #ifdef md_flush_pending_output md_flush_pending_output (); #endif @@ -6138,7 +6146,7 @@ _find_end_of_line (char *s, int mri_string, int insn ATTRIBUTE_UNUSED, } if (inquote) as_warn (_("missing closing `%c'"), inquote); - if (inescape) + if (inescape && !ignore_input ()) as_warn (_("stray `\\'")); return s; } diff --git a/binutils-2.25/gas/subsegs.c b/binutils-2.25/gas/subsegs.c index eb79195..0e0a755 100644 --- a/binutils-2.25/gas/subsegs.c +++ b/binutils-2.25/gas/subsegs.c @@ -55,7 +55,7 @@ subsegs_begin (void) * segment context correct. */ void -subseg_change (register segT seg, register int subseg) +subseg_change (segT seg, int subseg) { segment_info_type *seginfo = seg_info (seg); now_seg = seg; diff --git a/binutils-2.25/gas/symbols.c b/binutils-2.25/gas/symbols.c index 6af8604..69fda99 100644 --- a/binutils-2.25/gas/symbols.c +++ b/binutils-2.25/gas/symbols.c @@ -265,7 +265,7 @@ colon (/* Just seen "x:" - rattle symbols & frags. */ const char *sym_name /* Symbol name, as a cannonical string. */ /* We copy this string: OK to alter later. */) { - register symbolS *symbolP; /* Symbol we are working with. */ + symbolS *symbolP; /* Symbol we are working with. */ /* Sun local labels go out of scope whenever a non-local symbol is defined. */ @@ -482,7 +482,7 @@ colon (/* Just seen "x:" - rattle symbols & frags. */ void symbol_table_insert (symbolS *symbolP) { - register const char *error_string; + const char *error_string; know (symbolP); know (S_GET_NAME (symbolP)); @@ -510,7 +510,7 @@ symbol_table_insert (symbolS *symbolP) symbolS * symbol_find_or_make (const char *name) { - register symbolS *symbolP; + symbolS *symbolP; symbolP = symbol_find (name); @@ -1662,14 +1662,14 @@ define_dollar_label (long label) of ^A. */ char * /* Return local label name. */ -dollar_label_name (register long n, /* we just saw "n$:" : n a number. */ - register int augend /* 0 for current instance, 1 for new instance. */) +dollar_label_name (long n, /* we just saw "n$:" : n a number. */ + int augend /* 0 for current instance, 1 for new instance. */) { long i; /* Returned to caller, then copied. Used for created names ("4f"). */ static char symbol_name_build[24]; - register char *p; - register char *q; + char *p; + char *q; char symbol_name_temporary[20]; /* Build up a number, BACKWARDS. */ know (n >= 0); @@ -1835,8 +1835,8 @@ fb_label_name (long n, /* We just saw "n:", "nf" or "nb" : n a number. */ long i; /* Returned to caller, then copied. Used for created names ("4f"). */ static char symbol_name_build[24]; - register char *p; - register char *q; + char *p; + char *q; char symbol_name_temporary[20]; /* Build up a number, BACKWARDS. */ know (n >= 0); diff --git a/binutils-2.25/gas/testsuite/ChangeLog b/binutils-2.25/gas/testsuite/ChangeLog index 51c1cb4..8c3e136 100644 --- a/binutils-2.25/gas/testsuite/ChangeLog +++ b/binutils-2.25/gas/testsuite/ChangeLog @@ -1,7 +1,11 @@ -2014-11-18 Igor Zamyatin <igor.zamyatin@intel.com> +2015-05-07 Renlin Li <renlin.li@arm.com> - * gas/i386/x86-64-mpx-branch-1.d: Don't use *_BND relocations. - * gas/i386/x86-64-mpx-branch-2.d: Likewise. + Applied from master. + 2015-03-10 Renlin Li <renlin.li@arm.com> + + * gas/aarch64/ldst-reg-uns-imm.d: Adjust expected output. + * gas/aarch64/ldst-reg-unscaled-imm.d: Likewise. + * gas/aarch64/reloc-insn.d: Likewise. 2014-11-17 Ilya Tocar <ilya.tocar@intel.com> @@ -55,38 +59,52 @@ * gas/i386/x86-64-clwb.d: Likewise. * gas/i386/x86-64-clwb.s: Likewise. -2014-11-10 Matthew Fortune <matthew.fortune@imgtec.com> +2014-11-13 H.J. Lu <hongjiu.lu@intel.com> - Apply trunk patch: - * gas/mips/elf_arch_mips32r6.d: New file. - * gas/mips/elf_arch_mips64r6.d: New file. - * gas/mips/mips.exp: Run the new tests. + PR gas/17598 + * gas/i386/reloc64.s: Add @gotplt check. + * gas/i386/reloc64.d: Updated. + * gas/i386/reloc64.l: Likewise. 2014-11-07 H.J. Lu <hongjiu.lu@intel.com> - Apply trunk patch: - 2014-11-07 H.J. Lu <hongjiu.lu@intel.com> - PR ld/17482 * gas/i386/ilp32/x32-tls.d: New file. * gas/i386/ilp32/x32-tls.s: Likewise. -2014-10-28 Matthew Fortune <matthew.fortune@imgtec.com> +2014-05-11 Matthew Fortune <matthew.fortune@imgtec.com> + + * gas/mips/elf_arch_mips32r6.d: New file. + * gas/mips/elf_arch_mips64r6.d: New file. + * gas/mips/mips.exp: Run the new tests. + +2014-10-31 Andrew Pinski <apinski@cavium.com> + Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> + + * gas/mips/mips.exp: Add support for Octeon3 architecture. + Also add in support for running Octeon3 tests. + * gas/mips/octeon3.d: New test. + * gas/mips/octeon3.s: New test source. + +2014-10-21 Maciej W. Rozycki <macro@codesourcery.com> - Apply trunk patches - 2014-10-21 Maciej W. Rozycki <macro@codesourcery.com> * gas/mips/insn-opts.d: New test. * gas/mips/insn-opts.s: New test source. * gas/mips/mips.exp: Run the new test. -2014-10-28 Alan Modra <amodra@gmail.com> +2014-10-21 Jan Beulich <jbeulich@suse.com> + + * gas/gas/all/cond.s: Also test processing of leading double + quote and trailing backslash in false branch of conditional. + * gas/gas/all/cond.l: Adjust accordingly. + +2014-10-21 Jan Beulich <jbeulich@suse.com> - Apply truck patches - 2014-10-21 Jan Beulich <jbeulich@suse.com> * gas/ppc/power8.s: Test msgclr and msgsnd. * gas/ppc/power8.d: Adjust accordingly. - 2014-10-18 Alan Modra <amodra@gmail.com> +2014-10-18 Alan Modra <amodra@gmail.com> + * gas/i386/inval-equ-2.l: Adjust. 2014-10-09 Jose E. Marchesi <jose.marchesi@oracle.com> diff --git a/binutils-2.25/gas/testsuite/gas/aarch64/mapmisc.d b/binutils-2.25/gas/testsuite/gas/aarch64/mapmisc.d index 0822c5a..adc4e34 100644 --- a/binutils-2.25/gas/testsuite/gas/aarch64/mapmisc.d +++ b/binutils-2.25/gas/testsuite/gas/aarch64/mapmisc.d @@ -1,4 +1,4 @@ -#as: -EL -I$srcdir/$subdir +#as: -EL -I$srcdir/$subdir --allow-incbin #objdump: --syms --special-syms -d #name: AArch64 Mapping Symbols for miscellaneous directives #source: mapmisc.s diff --git a/binutils-2.25/gas/testsuite/gas/all/cond.l b/binutils-2.25/gas/testsuite/gas/all/cond.l index 36f0066..af80a10 100644 --- a/binutils-2.25/gas/testsuite/gas/all/cond.l +++ b/binutils-2.25/gas/testsuite/gas/all/cond.l @@ -67,5 +67,8 @@ [ ]*[1-9][0-9]*[ ]+[0-9a-f]+[048c] 0[0C] ?00 ?00 ?0[0C][ ]+m[ ]+12,[ ]*13[ ]* [ ]*[1-9][0-9]*[ ]+0[0D] ?00 ?00 ?0[0D][ ]* [ ]*[1-9][0-9]*[ ]+ +[ ]*[1-9][0-9]*[ ]+\.if[ ]+0[ ]* +[ ]*[1-9][0-9]*[ ]+\.endif[ ]* +[ ]*[1-9][0-9]*[ ]+ [ ]*[1-9][0-9]*[ ]+.*\.p2align 5,0 #pass diff --git a/binutils-2.25/gas/testsuite/gas/all/cond.s b/binutils-2.25/gas/testsuite/gas/all/cond.s index 164e055..f0bf67a 100644 --- a/binutils-2.25/gas/testsuite/gas/all/cond.s +++ b/binutils-2.25/gas/testsuite/gas/all/cond.s @@ -89,4 +89,15 @@ m 11, m 12, 13 + .if 0 +#define x "m" \ + (x) +#define y \ + "m" \ + (y) +#define z \ + ((z) \ + + 1) + .endif + .p2align 5,0 diff --git a/binutils-2.25/gas/testsuite/gas/all/incbin.d b/binutils-2.25/gas/testsuite/gas/all/incbin.d index 6505dc5..04b863a 100644 --- a/binutils-2.25/gas/testsuite/gas/all/incbin.d +++ b/binutils-2.25/gas/testsuite/gas/all/incbin.d @@ -1,4 +1,4 @@ -#as: -I$srcdir/$subdir +#as: -I$srcdir/$subdir --allow-incbin #objdump: -s -j .text #name: incbin #not-target: m32c-* diff --git a/binutils-2.25/gas/testsuite/gas/epiphany/sample.s b/binutils-2.25/gas/testsuite/gas/epiphany/sample.s index 91f3940..91f3940 100755..100644 --- a/binutils-2.25/gas/testsuite/gas/epiphany/sample.s +++ b/binutils-2.25/gas/testsuite/gas/epiphany/sample.s diff --git a/binutils-2.25/gas/testsuite/gas/i386/reloc64.d b/binutils-2.25/gas/testsuite/gas/i386/reloc64.d index 4491982..ea7f696 100644 --- a/binutils-2.25/gas/testsuite/gas/i386/reloc64.d +++ b/binutils-2.25/gas/testsuite/gas/i386/reloc64.d @@ -50,6 +50,7 @@ Disassembly of section \.text: .*[ ]+R_X86_64_TPOFF32[ ]+xtrn .*[ ]+R_X86_64_TPOFF32[ ]+xtrn .*[ ]+R_X86_64_TPOFF32[ ]+xtrn +.*[ ]+R_X86_64_GOTPLT64[ ]+xtrn Disassembly of section \.data: #... .*[ ]+R_X86_64_64[ ]+xtrn @@ -89,3 +90,4 @@ Disassembly of section \.data: .*[ ]+R_X86_64_PC8[ ]+xtrn .*[ ]+R_X86_64_GOT32[ ]+xtrn-0x4 .*[ ]+R_X86_64_GOT32[ ]+xtrn\+0x4 +.*[ ]+R_X86_64_GOTPLT64[ ]+xtrn diff --git a/binutils-2.25/gas/testsuite/gas/i386/reloc64.l b/binutils-2.25/gas/testsuite/gas/i386/reloc64.l index ded5cab..5e970cb 100644 --- a/binutils-2.25/gas/testsuite/gas/i386/reloc64.l +++ b/binutils-2.25/gas/testsuite/gas/i386/reloc64.l @@ -71,3 +71,13 @@ .*:195: Error: .* .*:196: Error: .* .*:197: Error: .* +.*:208: Error: .* +.*:209: Error: .* +.*:210: Error: .* +.*:211: Error: .* +.*:212: Error: .* +.*:213: Error: .* +.*:214: Error: .* +.*:218: Error: .* +.*:219: Error: .* +.*:220: Error: .* diff --git a/binutils-2.25/gas/testsuite/gas/i386/reloc64.s b/binutils-2.25/gas/testsuite/gas/i386/reloc64.s index 7b35a02..ecaaef5 100644 --- a/binutils-2.25/gas/testsuite/gas/i386/reloc64.s +++ b/binutils-2.25/gas/testsuite/gas/i386/reloc64.s @@ -202,3 +202,19 @@ bad .byte xtrn@tpoff .data .long xtrn@got - 4 .long xtrn@got + 4 + + .text + movabs $xtrn@gotplt, %rax +bad add $xtrn@gotplt, %rax +bad mov $xtrn@gotplt, %eax +bad mov $xtrn@gotplt, %ax +bad mov $xtrn@gotplt, %al +bad mov xtrn@gotplt(%rbx), %eax +bad mov xtrn@gotplt(%ebx), %eax +bad call xtrn@gotplt + + .data + .quad xtrn@gotplt +bad .long xtrn@gotplt +bad .word xtrn@gotplt +bad .byte xtrn@gotplt diff --git a/binutils-2.25/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d b/binutils-2.25/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d index c070029..5edb1c7 100644 --- a/binutils-2.25/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d +++ b/binutils-2.25/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d @@ -8,8 +8,8 @@ Disassembly of section .text: 0+ <foo1-0xc>: -[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 6 <foo1-0x6> 2: R_X86_64_PC32 \*ABS\*\+0x10003c -[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq c <foo1> 8: R_X86_64_PC32 \*ABS\*\+0x10003c +[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 6 <foo1-0x6> 2: R_X86_64_PC32_BND \*ABS\*\+0x10003c +[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq c <foo1> 8: R_X86_64_PC32_BND \*ABS\*\+0x10003c 0+c <foo1>: [ ]*[a-f0-9]+: f2 eb fd bnd jmp c <foo1> @@ -20,9 +20,9 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 24 <foo2> 0+24 <foo2>: -[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq 2a <foo2\+0x6> 26: R_X86_64_PC32 foo-0x4 -[ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 31 <foo2\+0xd> 2d: R_X86_64_PC32 foo-0x4 -[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 37 <foo2\+0x13> 33: R_X86_64_PC32 foo-0x4 -[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq 3d <foo2\+0x19> 39: R_X86_64_PLT32 foo-0x4 -[ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 44 <foo2\+0x20> 40: R_X86_64_PLT32 foo-0x4 -[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 4a <foo2\+0x26> 46: R_X86_64_PLT32 foo-0x4 +[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq 2a <foo2\+0x6> 26: R_X86_64_PC32_BND foo-0x4 +[ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 31 <foo2\+0xd> 2d: R_X86_64_PC32_BND foo-0x4 +[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 37 <foo2\+0x13> 33: R_X86_64_PC32_BND foo-0x4 +[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq 3d <foo2\+0x19> 39: R_X86_64_PLT32_BND foo-0x4 +[ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 44 <foo2\+0x20> 40: R_X86_64_PLT32_BND foo-0x4 +[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 4a <foo2\+0x26> 46: R_X86_64_PLT32_BND foo-0x4 diff --git a/binutils-2.25/gas/testsuite/gas/i386/x86-64-mpx-branch-2.d b/binutils-2.25/gas/testsuite/gas/i386/x86-64-mpx-branch-2.d index 5bb6a57..86fb360 100644 --- a/binutils-2.25/gas/testsuite/gas/i386/x86-64-mpx-branch-2.d +++ b/binutils-2.25/gas/testsuite/gas/i386/x86-64-mpx-branch-2.d @@ -8,8 +8,8 @@ Disassembly of section .text: 0+ <foo1-0xc>: -[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 6 <foo1-0x6> 2: R_X86_64_PC32 \*ABS\*\+0x10003c -[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq c <foo1> 8: R_X86_64_PC32 \*ABS\*\+0x10003c +[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 6 <foo1-0x6> 2: R_X86_64_PC32_BND \*ABS\*\+0x10003c +[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq c <foo1> 8: R_X86_64_PC32_BND \*ABS\*\+0x10003c 0+c <foo1>: [ ]*[a-f0-9]+: f2 eb fd bnd jmp c <foo1> @@ -20,9 +20,9 @@ Disassembly of section .text: [ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 24 <foo2> 0+24 <foo2>: -[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq 2a <foo2\+0x6> 26: R_X86_64_PC32 foo-0x4 -[ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 31 <foo2\+0xd> 2d: R_X86_64_PC32 foo-0x4 -[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 37 <foo2\+0x13> 33: R_X86_64_PC32 foo-0x4 -[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq 3d <foo2\+0x19> 39: R_X86_64_PLT32 foo-0x4 -[ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 44 <foo2\+0x20> 40: R_X86_64_PLT32 foo-0x4 -[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 4a <foo2\+0x26> 46: R_X86_64_PLT32 foo-0x4 +[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq 2a <foo2\+0x6> 26: R_X86_64_PC32_BND foo-0x4 +[ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 31 <foo2\+0xd> 2d: R_X86_64_PC32_BND foo-0x4 +[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 37 <foo2\+0x13> 33: R_X86_64_PC32_BND foo-0x4 +[ ]*[a-f0-9]+: f2 e9 00 00 00 00 bnd jmpq 3d <foo2\+0x19> 39: R_X86_64_PLT32_BND foo-0x4 +[ ]*[a-f0-9]+: f2 0f 82 00 00 00 00 bnd jb 44 <foo2\+0x20> 40: R_X86_64_PLT32_BND foo-0x4 +[ ]*[a-f0-9]+: f2 e8 00 00 00 00 bnd callq 4a <foo2\+0x26> 46: R_X86_64_PLT32_BND foo-0x4 diff --git a/binutils-2.25/gas/testsuite/gas/mips/mips.exp b/binutils-2.25/gas/testsuite/gas/mips/mips.exp index fb5d19a..f9fd7c8 100644 --- a/binutils-2.25/gas/testsuite/gas/mips/mips.exp +++ b/binutils-2.25/gas/testsuite/gas/mips/mips.exp @@ -495,6 +495,9 @@ mips_arch_create octeonp 64 octeon { oddspreg } \ mips_arch_create octeon2 64 octeonp { oddspreg } \ { -march=octeon2 -mtune=octeon2 } { -mmips:octeon2 } \ { } +mips_arch_create octeon3 64 octeon2 { oddspreg } \ + { -march=octeon3 -mtune=octeon3 } { -mmips:octeon3 } \ + { } mips_arch_create xlr 64 mips64 { oddspreg } \ { -march=xlr -mtune=xlr } { -mmips:xlr } mips_arch_create r5900 64 mips3 { gpr_ilocks singlefloat nollsc } \ @@ -1102,6 +1105,7 @@ if { [istarget mips*-*-vxworks*] } { run_list_test_arches "octeon-ill" [mips_arch_list_matching octeon] run_dump_test_arches "octeon-pref" [mips_arch_list_matching octeon] run_dump_test_arches "octeon2" [mips_arch_list_matching octeon2] + run_dump_test_arches "octeon3" [mips_arch_list_matching octeon3] run_dump_test "smartmips" run_dump_test_arches "mips32-dsp" [mips_arch_list_matching mips32r2 \ diff --git a/binutils-2.25/gas/testsuite/gas/mips/octeon3.d b/binutils-2.25/gas/testsuite/gas/mips/octeon3.d new file mode 100644 index 0000000..0e0b508 --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/mips/octeon3.d @@ -0,0 +1,20 @@ +#objdump: -d -r --show-raw-insn +#name: MIPS octeon3 instructions + +.*: +file format .*mips.* + +Disassembly of section .text: + +[0-9a-f]+ <foo>: +.*: 71ec0008 mtm0 t3,t0 +.*: 71a40008 mtm0 t1,a0 +.*: 7083000c mtm1 a0,v1 +.*: 70e1000c mtm1 a3,at +.*: 7022000d mtm2 at,v0 +.*: 7083000c mtm1 a0,v1 +.*: 70a20009 mtp0 a1,v0 +.*: 70c40009 mtp0 a2,a0 +.*: 7083000a mtp1 a0,v1 +.*: 70e1000a mtp1 a3,at +.*: 7022000b mtp2 at,v0 +.*: 7083000a mtp1 a0,v1 diff --git a/binutils-2.25/gas/testsuite/gas/mips/octeon3.s b/binutils-2.25/gas/testsuite/gas/mips/octeon3.s new file mode 100644 index 0000000..f28425c --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/mips/octeon3.s @@ -0,0 +1,22 @@ + .text + .set noreorder + .set noat + +foo: + mtm0 $15,$12 + mtm0 $13,$4 + + mtm1 $4,$3 + mtm1 $7,$1 + + mtm2 $1,$2 + mtm1 $4,$3 + + mtp0 $5,$2 + mtp0 $6,$4 + + mtp1 $4,$3 + mtp1 $7,$1 + + mtp2 $1,$2 + mtp1 $4,$3 diff --git a/binutils-2.25/gas/testsuite/gas/pe/pe.exp b/binutils-2.25/gas/testsuite/gas/pe/pe.exp index 0fab53d..0fab53d 100644..100755 --- a/binutils-2.25/gas/testsuite/gas/pe/pe.exp +++ b/binutils-2.25/gas/testsuite/gas/pe/pe.exp diff --git a/binutils-2.25/gas/write.c b/binutils-2.25/gas/write.c index 0f82d47..0d80c58 100644 --- a/binutils-2.25/gas/write.c +++ b/binutils-2.25/gas/write.c @@ -2304,8 +2304,8 @@ relax_frag (segT segment, fragS *fragP, long stretch) /* Relax_align. Advance location counter to next address that has 'alignment' lowest order bits all 0s, return size of adjustment made. */ static relax_addressT -relax_align (register relax_addressT address, /* Address now. */ - register int alignment /* Alignment (binary). */) +relax_align (relax_addressT address, /* Address now. */ + int alignment /* Alignment (binary). */) { relax_addressT mask; relax_addressT new_address; diff --git a/binutils-2.25/gold/ChangeLog b/binutils-2.25/gold/ChangeLog index e1ca71f..9608cc0 100644 --- a/binutils-2.25/gold/ChangeLog +++ b/binutils-2.25/gold/ChangeLog @@ -1,151 +1,7 @@ -2015-07-23 Ian Coolidge <icoolidge@google.com> - Plumb --pic-veneer option for gold. - - * arm.cc (Reloc_stub::stub_type_for_reloc): Plumb to stub - generation. - * options.h (General_options): Add --pic-veneer option. - -2015-07-09 Han Shen <shenhan@google.com> - - Use "gold_info" instead of "gold_warning" for erratum fix. - - * aarch64.cc (Target_aarch64::scan_erratum_843419_span): Use - 'gold_info'. - (Target_aarch64::scan_erratum_835769_span): USe 'gold_info'. - -2015-07-09 Han Shen <shenhan@google.com> - - Drop missing symbol warning for arm/aarch64. - - * aarch64.cc (AArch64_relobj::scan_errata): Drop missing symbol warning. - * arm.cc (Arm_relobj::scan_section_for_cortex_a8_erratum): Drop missing - symbol warning. - -2015-07-07 Han Shen <shenhan@google.com> - - Make gold aarch64 accept long form of mapping symbols. - - * aarch64.cc (AArch64_relobj::do_count_local_symbols): Make legal - of mapping symbols. - -2015-06-29 Han Shen <shenhan@google.com> - - Patch for erratum 843419 internal error. - - * aarch64.cc (Erratum_stub::Insn_utilities): New typedef. - (Erratum_stub::update_erratum_insn): New method. - (Stub_table::relocate_stubs): Modified to place relocated insn. - (AArch64_relobj::fix_errata): Modified gold_assert. - -2015-06-16 Yiran Wang <yiran@google.com> - * resolve.cc disable the warning of a hidden symbol matches a - reference to be resolved - -2015-06-12 Han Shen <shenhan@google.com> - - Fix erratum 835769. - - * aarch64.cc (AArch64_insn_utilities::BYTES_PER_INSN): Move - defintion outside class definition. - (AArch64_insn_utilities::AARCH64_ZR): New static constant. - (AArch64_insn_utilities::aarch64_op31): New member. - (AArch64_insn_utilities::aarch64_ra): New member. - (AArch64_insn_utilities::aarch64_mac): New member. - (AArch64_insn_utilities::aarch64_mlxl): New member. - (ST_E_835769): New global enum member. - (Stub_table::relocate_stubs): Add 835769 handler. - (Stub_template_repertoire::Stub_template_repertoire): Install new - stub type. - (AArch64_relobj::scan_errata): This func is renamed from - scan_erratum_843419. - (AArch64_relobj::do_count_local_symbols): Add 835769 handler. - (AArch64_relobj::do_relocate_sections): Add 835769 handler. - (AArch64_relobj::scan_sections_for_stubs): Add 835769 handler. - (Target_aarch64::scan_erratum_835769_span): New method. - (Target_aarch64::create_erratum_stub): New method. - (Target_aarch64::is_erratum_835769_sequence): New method. - (Target_aarch64::scan_erratum_843419_sequence): Move part of the - code into create_erratum_stub. - * options.h (fix_cortex_a53_835769): New option. - -2015-06-11 Cary Coutant <ccoutant@gmail.com> - - * aarch64.cc (Erratum_stub::STUB_ADDR_ALIGN): Move initialization - outside class body. - (Reloc_stub::STUB_ADDR_ALIGN): Likewise. - -2015-06-10 Han Shen <shenhan@google.com> - Patch for erratum-843419 (2 of 2 - fix erratum occurrences). - - Now fixing for 843419 is fully functional. - - The first part of the erratum fix CL is here - - https://sourceware.org/ml/binutils/2015-04/msg00229.html - - * aarch64.cc(global enum): New constants representing stub types. - (Stub_template): New POD struct. - (Stub_template_repertoire): New class. - (Stub_base): New class. - (Erratum_stub): New class. - (Reloc_stub): Refactored to be a subclass of Stub_base. - (Reloc_stub::Stub_type): Removed. - (Reloc_stub::offset): Moved to Stub_base. - (Reloc_stub::set_offset): Moved to Stub_base. - (Reloc_stub::destination_address): Moved to Stub_base. - (Reloc_stub::set_destination_address): Moved to Stub_base. - (Reloc_stub::reset_destination_address): Moved to Stub_base. - (Reloc_stub::stub_type): Renamed and moved to Stub_base. - (Reloc_stub::stub_size): Renamed and moved to Stub_base. - (Reloc_stub::stub_insns): Renamed and moved to Stub_base. - (Reloc_stub::write): Moved to Stub_base. - (Reloc_stub::invalid_offset): Moved to Stub_base. - (Reloc_stub::invalid_address): Moved to Stub_base. - (Reloc_stub::stub_type_): Renamed and moved to Stub_base. - (Reloc_stub::stub_insns_): Moved to Stub_base. - (Reloc_stub::offset_): Moved to Stub_base. - (Reloc_stub::destination_address_): Moved to Stub_base. - (Stub_table::The_aarch64_relobj): New typedef. - (Stub_table::The_erratum_stub): New typedef. - (Stub_table::The_erratum_stub_less): New typedef. - (Stub_table::The_erratum_stub_set): New typedef. - (Stub_table::The_erratum_stub_set_iter): New typedef. - (Stub_table::empty): Added emptiness testing for erratum stubs. - (Stub_table::add_erratum_stub): New method to add an erratum stub. - (Stub_table::find_erratum_stub): New method. - (Stub_table::find_erratum_stubs_for_input_section): New method. - (Stub_table::erratum_stub_address): New method. - (Stub_table::update_date_size_changed_p): Modified to handle erratum stubs. - (Stub_table::do_addralign): Modified to handle erratum stubs. - (Stub_table::erratum_stubs_): New member. - (Stub_table::erratum_stub_size_): New member. - (Stub_table::relocate_stubs): Modified to handle erratum stubs. - (Stub_table::do_write): Modified to handle erratum stubs. - (AArch64_relobj::The_erratum_stub): New typedef. - (AArch64_relobj::Erratum_stub_set_iter): New typedef. - (AArch64_relobj::fix_errata): New method. - (Target_aarch64::The_reloc_stub_type): Removed. - (Target_aarch64::The_erratum_stub): New typede. - (AArch64_relocate_functions::construct_b): New method. - -2015-04-27 Han Shen <shenhan@google.com> - - * options.h (--fix-cortex-a53-843419): Rename option. - * aarch64.cc (AArch64_relobj::do_count_local_symbols): Use renamed - option. - (AArch64_relobj::scan_sections_for_stubs): Use renamed option. - -2015-04/16 Han Shen <shenhan@google.com> +2015-01-02 Alan Modra <amodra@gmail.com> - * aarch64.cc (AArch64_insn_utilities): New utility class. - (AArch64_relobj::Mapping_symbol_position): New struct. - (AArch64_relobj::Mapping_symbol_info): New typedef. - (AArch64_relobj::do_count_local_symbols): New function overriding - parent's implementation. - (AArch64_relobj::mapping_symbol_info_): New member - (AArch64_relobj::scan_erratum_843419): New method. - (Target_aarch64::scan_erratum_843419_span): New method. - (Target_aarch64::is_erratum_843419_sequence): New method. - * options.h (fix_cortex_a53): New option. + * version.cc (print_version): Just print current year. + * dwp.cc (print_version): Likewise. 2015-02-21 H.J. Lu <hongjiu.lu@intel.com> @@ -177,35 +33,9 @@ 2015-02-16 Cary Coutant <ccoutant@google.com> - PR gold/13577 - PR gold/16992 - * layout.cc (Layout::finish_dynamic_section): Don't set DT_SYMBOLIC or - DF_SYMBOLIC if --dynamic-list option is used. - * options.cc (General_options::finalize): --dynamic-list is not - mutually exclusive with -Bsymbolic. - * symtab.h (Symbol::is_preemptible): Don't exclude dynamic symbols not - listed in --dynamic-list. - * testsuite/Makefile.am (dynamic_list_lib2.so): Add - -Bsymbolic-functions. - * testsuite/Makefile.in: Regenerate. - -2015-02-16 Cary Coutant <ccoutant@google.com> - PR gold/17971 * incremental.cc: Remove redundant include of "output.h". -2015-02-12 Jing Yu <jingyu@google.com> - - * aarch64-reloc.def (TLSLE_MOVW_TPREL_G2, TLSLE_MOVW_TPREL_G1, - TLSLE_MOVW_TPREL_G1_NC, TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC,): - New relocation. - * aarch64.cc (Target_aarch64::Scan::local): Add cases for new - TLSLE_MOVW_* relocations. - (Target_aarch64::Scan::global): Likewise. - (Target_aarch64::Relocate::relocate): Likewise. - (Target_aarch64::Relocate::relocate_tls): Add cases and handlings - for new TLSLE_MOVW_* relocations. - 2015-02-11 Will Newton <will.newton@linaro.org> PR gold/13321 @@ -229,110 +59,11 @@ * merge.cc (do_add_input_section): Combine loop epilogue into main loop body. -2015-02-04 Peter Collingbourne <pcc@google.com> - - * plugin.cc (Pluginobj::get_symbol_resolution_info): Resolve - forwarding symbols when computing symbol resolution info for plugins. - * plugin.h (Plugin_manager::symtab): New method. - (Pluginobj::get_symbol_resolution_info): Add symtab parameter. - -2015-02-03 Cary Coutant <ccoutant@google.com> - Peter Collingbourne <pcc@google.com> - - PR gold/15660 - * archive.cc (Thin_archive_object_unlocker): New class. - (Archive::include_member): Unlock external members of thin archives. - * testsuite/Makefile.am (plugin_test_1): Rename .syms files. - (plugin_test_2): Likewise. - (plugin_test_3): Likewise. - (plugin_test_4): Likewise. - (plugin_test_5): Likewise. - (plugin_test_6): Likewise. - (plugin_test_7): Likewise. - (plugin_test_8): Likewise. - (plugin_test_9): Likewise. - (plugin_test_10): Likewise. - (plugin_test_11): New test case. - * testsuite/Makefile.in: Regenerate. - * testsuite/plugin_test.c (claim_file_hook): Check for parallel .syms - file to decide whether to claim file. - (all_symbols_read_hook): Likewise. - * testsuite/plugin_test_1.sh: Adjust expected output. - * testsuite/plugin_test_2.sh: Likewise. - * testsuite/plugin_test_3.sh: Likewise. - * testsuite/plugin_test_6.sh: Likewise. - * testsuite/plugin_test_tls.sh: Likewise. - * testsuite/plugin_test_11.sh: New testcase. - -2015-02-03 Cary Coutant <ccoutant@google.com> - - * descriptors.cc (Descriptors::open): Set artificially-low limit for - file descriptors when debugging enabled. Add debug output. - (Descriptors::release): Add debug output. - (Descriptors::close_some_descriptor): Likewise. - (Descriptors::close_all): Likewise. - * fileread.cc (File_read::lock): Likewise. - (File_read::unlock): Likewise. - 2015-02-02 Cary Coutant <ccoutant@google.com> * x86_64.cc (Target_x86_64::Relocate::relocate_tls): Check for executable output file. -2015-01-22 Han Shen <shenhan@google.com> - - * arm.cc (Target_arm::Target_arm): Add initialization for new members. - (Target_arm::do_plt_address_for_global): New method. - (Target_arm::do_plt_address_for_local): New method. - (Target_arm::rel_irelative_section): New method. - (Target_arm::make_data_plt): Add more parameters for plt ctor. - (Target_arm::do_make_data_plt): Add more parameters for plt ctor. - (Target_arm::Scan::symbol_needs_plt_entry): Add ifunc support. - (Target_arm::Scan::reloc_needs_plt_for_ifunc): Add ifunc support. - (Target_arm::Scan::check_non_pic): Add ifunc support. - (Target_arm::Scan::local): Add ifunc support. - (Target_arm::Scan::global): Add ifunc support. - (Target_arm::make_plt_section): New method. - (Target_arm::make_plt_entry): Change to call to make_plt_section. - (Target_arm::make_local_ifunc_plt_entry): New method. - (Target_arm::got_irelative_): New member. - (Target_arm::rel_irelative_): New member. - (Target_arm::got_section): Add creation for got_irelative_. - (Target_arm::rel_dyn_section): Add creation for rel_irelative_. - (Target_arm::Relocate::relocate): Properly set local ifunc address. - (Target_arm::do_dynsym_value): Properly set global ifunc address. - (Target_arm::scan_reloc_for_stub): Properly set global ifunc address. - (Output_data_plt_arm::IRelative_data): New type. - (Output_data_plt_arm::Output_data_plt_arm): Add more parameters. - (Output_data_plt_arm::add_entry): Add more parameters. - (Output_data_plt_arm::add_relocation): New method. - (Output_data_plt_arm::add_local_ifunc_entry): New method. - (Output_data_plt_arm::rel_irelative): New method. - (Output_data_plt_arm::entry_count): Modified. - (Output_data_plt_arm::address_for_global): New method. - (Output_data_plt_arm::address_for_local): New method. -gold/ - (Output_data_plt_arm::set_final_data_size): Add irelative_count_. - (Output_data_plt_arm::insert_irelative_data): New method. - (Output_data_plt_arm::irelative_rel_): New member. - (Output_data_plt_arm::got_): New member. - (Output_data_plt_arm::got_irelative_): New member. - (Output_data_plt_arm::irelative_count_): New member. - (Output_data_plt_arm::IRelative_data_vec): New typedef. - (Output_data_plt_arm::irelative_data_vec_): New member. - (Output_data_plt_arm::do_write): Write out irelative entries. - (Output_data_plt_arm_standard::Output_data_plt_arm_standard): Add - more parameters to ctor. - (Output_data_plt_arm_nacl::Output_data_plt_arm_nacl): Add - more parameters to ctor. - * output.h (Output_data_reloc::add_local_relative): New method. - * aarch64.cc (Output_data_plt_aarch64): Fixed typo in comment. - -2015-01-29 Alan Modra <amodra@gmail.com> - - * powerpc.cc (Target_powerpc::Relocate::relocate): Correct GOT_TLSLD - and GOT_TLSGD to LE optimization. - 2015-01-28 Cary Coutant <ccoutant@google.com> * x86_64.cc (Target_x86_64::Scan::global): Allow IE-to-LE optimization @@ -345,12 +76,6 @@ gold/ * output.cc (Output_segment::set_section_addresses): Fix calculation of size of relro segment. -2015-01-22 Alan Modra <amodra@gmail.com> - - * powerpc.cc (Target_powerpc::Scan::local <got relocs>): Correct - condition for need of ifunc plt entry. - (Target_powerpc::Scan::global <got relocs>): Likewise. - 2015-01-14 Sasa Stankovic <Sasa.Stankovic@imgtec.com> * mips.cc (reloc_high): Add r_sym. @@ -400,15 +125,6 @@ gold/ * x86_64.cc (Target_x86_64<size>::Relocate::tls_ie_to_le): Handle x32. -2015-01-02 Alan Modra <amodra@gmail.com> - - * version.cc (print_version): Just print current year. - * dwp.cc (print_version): Likewise. - -2015-01-01 Alan Modra <amodra@gmail.com> - - Update year range in copyright notice of all files. - 2014-12-25 Alan Modra <amodra@gmail.com> * arm.cc (Target_arm::do_adjust_elf_header): Provide namespace on @@ -423,10 +139,6 @@ gold/ (Target_arm::merge_object_attributes): Handle new Tag_ABI_VFP_args value and replace hardcoded values by enum values. -2014-12-22 Cary Coutant <ccoutant@google.com> - - * powerpc.cc (Target_powerpc::relocate): Fix overflow check. - 2014-12-20 H.J. Lu <hongjiu.lu@intel.com> PR gold/14608 @@ -442,53 +154,12 @@ gold/ (Mapfile::print_output_section): Use current_data_size(); print note that addresses and sizes are before compression. -2014-12-14 H.J. Lu <hongjiu.lu@intel.com> - - * aarch64.cc (AArch64_relocate_functions::maybe_apply_stub): - Cast current_group_size to unsigned long when reporting error. - -2014-12-10 Jing Yu <jingyu@google.com> - - * aarch64.cc (Target_aarch64): Add new variable stub_group_size_. - (AArch64_relocate_functions::maybe_apply_stub): Add new parameter. - Update error message. - (Target_aarch64::do_relax): Use absolute value of option - stub_group_size. Replace local variable with class member - stub_group_size_. - -2014-12-04 Alan Modra <amodra@gmail.com> - - * powerpc.cc (Target_powerpc::Branch_info::make_stub): Ignore - addend of PLTREL24 reloc when not generating a plt stub. Make - max_branch_offset an "Address". - (Stub_table::can_reach_stub): Make max_branch_offset an "Address". - (Target_powerpc::Relocate::relocate): Likewise. - -2014-12-04 Alan Modra <amodra@gmail.com> - - PR 17670 - * symtab.cc (Symbol::set_undefined): Remove assertion. - * powerpc.cc (Target_powerpc::symval_for_branch): Don't assert - on symbols defined in discarded sections, instead return false. - Rearrange params, update all callers. - (Target_powerpc::Branch_info::make_stub): Don't make stubs for - branches to syms in discarded sections. - (Global_symbol_visitor_opd::operator()): Set discarded opd syms - undefined and flag as discarded. - (Target_powerpc::Relocate::relocate): Localize variable. - 2014-12-03 H.J. Lu <hongjiu.lu@intel.com> PR gold/17675 * testsuite/Makefile.am (pie_copyrelocs_test_CXXFLAGS): New. * testsuite/Makefile.in: Regenerated. -2014-12-03 Alan Modra <amodra@gmail.com> - - PR 17566 - * powerpc.cc (Target_powerpc::Scan::local): Use add_local_section - when adding dynamic relocations against section symbols. - 2014-12-01 Dimitry Ivanov <dimitry@google.com> * layout.cc (Layout::finish_dynamic_section): When '-z global' @@ -510,48 +181,6 @@ gold/ .debug_gnu_pubtypes. (lines_only_debug_sections): Strip all four new sections. -2014-11-26 Jing Yu <jingyu@google.com> - - * aarch64.cc (Relocate::tls_desc_gd_to_ie): Set ldr target - register to be x0 when to relax TLSDESC_LD64_LO12. - -2014-11-26 Alan Modra <amodra@gmail.com> - - * powerpc.cc (struct Stub_table_owner): New. - (Powerpc_relobj): Rename stub_table_ to stub_table_index_, an - unsigned int vector. Update all references. - (powerpc_relobj::set_stub_table): Take an unsigned int param - rather than a Stub_table. Update callers. - (Powerpc_relobj::clear_stub_table): New function. - (Target_powerpc): Add relax_failed_, relax_fail_count_ and - stub_group_size_ vars. - (Target_powerpc::new_stub_table): Delete. - (max_branch_delta): New function, extracted from.. - (Target_powerpc::Relocate::relocate): ..here.. - (Target_powerpc::Branch_info::make_stub): ..and here. Return - status on whether stub created successfully. - (Stub_control::Stub_control): Add "no_size_errors" param. Move - default sizing to.. - (Target_powerpc::do_relax): ..here. Init stub_group_size_ and - reduce on relax failure. - (Target_powerpc::group_sections): Add "no_size_errors" param. - Use stub_group_size_. Set up group info in a temp vector, - before building Stub_table vector. Account for input sections - possibly already converted to relaxed sections. - (Stub_table::init): Delete. Merge into.. - (Stub_table::Stub_table): ..here. - (Stub_table::can_reach_stub): New function. - (Stub_table::add_plt_call_entry): Add "from" parameter and - return true iff stub could be reached. - (Stub_table::add_long_branch_entry): Similarly. Add "r_type" - param too. - (Stub_table::clear_stubs): Add "all" param. - -2014-11-26 Alan Modra <amodra@gmail.com> - - * powerpc.cc (Stub_control::set_output_and_owner): New function. - (Target_powerpc::group_sections): Use it. - 2014-11-25 Cary Coutant <ccoutant@google.com> * binary.cc (Binary_to_elf::sized_convert): Add size to _start symbol. @@ -573,25 +202,218 @@ gold/ * x86_64.cc (Output_data_plt_x86_64_standard<size>::do_fill_plt_entry): Check PC-relative offset overflow in PLT entry. -2014-11-21 Alan Modra <amodra@gmail.com> +2015-06-16 Yiran Wang <yiran@google.com> + + * resolve.cc disable the warning of a hidden symbol matches a + reference to be resolved + +2015-07-23 Ian Coolidge <icoolidge@google.com> + + Plumb --pic-veneer option for gold. + + This fixes ARM Linux gold link after + 02e541d: ARM: 8323/1: force linker to use PIC veneers + + gold/ + * arm.cc (Reloc_stub::stub_type_for_reloc): Plumb to stub + generation. + * options.h (General_options): Add --pic-veneer option. + +2015-06-11 Cary Coutant <ccoutant@gmail.com> + + * aarch64.cc (Erratum_stub::STUB_ADDR_ALIGN): Move initialization + outside class body. + (Reloc_stub::STUB_ADDR_ALIGN): Likewise. + +2015-07-20 Han Shen <shenhan@google.com> + + Optimize erratum 843419 fix. + + * aarch64.cc (AArch64_insn_utilities::is_adr): New method. + (AArch64_insn_utilities::aarch64_adr_encode_imm): New method. + (AArch64_insn_utilities::aarch64_adrp_decode_imm): New method. + (E843419_stub): New sub-class of Erratum_stub. + (AArch64_relobj::try_fix_erratum_843419_optimized): New method. + (AArch64_relobj::section_needs_reloc_stub_scanning): Try optimized fix. + (AArch64_relobj::create_erratum_stub): Add 1 argument. + (Target_aarch64::scan_erratum_843419_span): Pass in adrp insn offset. + +2015-07-20 Han Shen <shenhan@google.com> + + Fix arm elf header flags wrt hardfp bit. + + * arm.cc (Target_arm::do_adjust_elf_header): Set flags into view. + +2015-07-09 Han Shen <shenhan@google.com> + + Drop missing symbol warning for arm/aarch64. + + * aarch64.cc (AArch64_relobj::scan_errata): Drop missing symbol warning. + * arm.cc (Arm_relobj::scan_section_for_cortex_a8_erratum): Drop missing + symbol warning. - * powerpc.cc (Target_powerpc::Relocate::relocate): Correct test - for undefined weaks. +2015-07-09 Han Shen <shenhan@google.com> + + Use "gold_info" instead of "gold_warning" for erratum fix. + + * aarch64.cc (Target_aarch64::scan_erratum_843419_span): Use + 'gold_info'. + (Target_aarch64::scan_erratum_835769_span): USe 'gold_info'. + +2015-07-07 Han Shen <shenhan@google.com> -2014-11-20 Alan Modra <amodra@gmail.com> + Make gold aarch64 accept long form of mapping symbols. + + * aarch64.cc (AArch64_relobj::do_count_local_symbols): Make legal + of mapping symbols. + +2015-06-29 Han Shen <shenhan@google.com> + + Patch for erratum 843419 internal error. - * powerpc.cc (Stub_control::Stub_control): Init stub14_group_size_ - from --stub-group-size parameter divided by 1024. - (Powerpc_relocate_functions::rela, rela_ua): Add fieldsize - template parameter. Update all uses. - (Target_powerpc::Relocate::relocate): Rename has_plt_value to - has_stub_value. Set for long branches. Don't report overflow for - branch to undefined weak symbols. Print info message on - overflowing branch to stub. + * aarch64.cc (Erratum_stub::Insn_utilities): New typedef. + (Erratum_stub::update_erratum_insn): New method. + (Stub_table::relocate_stubs): Modified to place relocated insn. + (AArch64_relobj::fix_errata): Modified gold_assert. + +2015-06-12 Han Shen <shenhan@google.com> + + Fix erratum 835769. + + * aarch64.cc (AArch64_insn_utilities::BYTES_PER_INSN): Move + defintion outside class definition. + (AArch64_insn_utilities::AARCH64_ZR): New static constant. + (AArch64_insn_utilities::aarch64_op31): New member. + (AArch64_insn_utilities::aarch64_ra): New member. + (AArch64_insn_utilities::aarch64_mac): New member. + (AArch64_insn_utilities::aarch64_mlxl): New member. + (ST_E_835769): New global enum member. + (Stub_table::relocate_stubs): Add 835769 handler. + (Stub_template_repertoire::Stub_template_repertoire): Install new + stub type. + (AArch64_relobj::scan_errata): This func is renamed from + scan_erratum_843419. + (AArch64_relobj::do_count_local_symbols): Add 835769 handler. + (AArch64_relobj::do_relocate_sections): Add 835769 handler. + (AArch64_relobj::scan_sections_for_stubs): Add 835769 handler. + (Target_aarch64::scan_erratum_835769_span): New method. + (Target_aarch64::create_erratum_stub): New method. + (Target_aarch64::is_erratum_835769_sequence): New method. + (Target_aarch64::scan_erratum_843419_sequence): Move part of the + code into create_erratum_stub. + * options.h (fix_cortex_a53_835769): New option. + +2015-06-10 Han Shen <shenhan@google.com> + Patch for erratum-843419 (2 of 2 - fix erratum occurrences). + + Now fixing for 843419 is fully functional. + + The first part of the erratum fix CL is here - + https://sourceware.org/ml/binutils/2015-04/msg00229.html + + * aarch64.cc(global enum): New constants representing stub types. + (Stub_template): New POD struct. + (Stub_template_repertoire): New class. + (Stub_base): New class. + (Erratum_stub): New class. + (Reloc_stub): Refactored to be a subclass of Stub_base. + (Reloc_stub::Stub_type): Removed. + (Reloc_stub::offset): Moved to Stub_base. + (Reloc_stub::set_offset): Moved to Stub_base. + (Reloc_stub::destination_address): Moved to Stub_base. + (Reloc_stub::set_destination_address): Moved to Stub_base. + (Reloc_stub::reset_destination_address): Moved to Stub_base. + (Reloc_stub::stub_type): Renamed and moved to Stub_base. + (Reloc_stub::stub_size): Renamed and moved to Stub_base. + (Reloc_stub::stub_insns): Renamed and moved to Stub_base. + (Reloc_stub::write): Moved to Stub_base. + (Reloc_stub::invalid_offset): Moved to Stub_base. + (Reloc_stub::invalid_address): Moved to Stub_base. + (Reloc_stub::stub_type_): Renamed and moved to Stub_base. + (Reloc_stub::stub_insns_): Moved to Stub_base. + (Reloc_stub::offset_): Moved to Stub_base. + (Reloc_stub::destination_address_): Moved to Stub_base. + (Stub_table::The_aarch64_relobj): New typedef. + (Stub_table::The_erratum_stub): New typedef. + (Stub_table::The_erratum_stub_less): New typedef. + (Stub_table::The_erratum_stub_set): New typedef. + (Stub_table::The_erratum_stub_set_iter): New typedef. + (Stub_table::empty): Added emptiness testing for erratum stubs. + (Stub_table::add_erratum_stub): New method to add an erratum stub. + (Stub_table::find_erratum_stub): New method. + (Stub_table::find_erratum_stubs_for_input_section): New method. + (Stub_table::erratum_stub_address): New method. + (Stub_table::update_date_size_changed_p): Modified to handle erratum stubs. + (Stub_table::do_addralign): Modified to handle erratum stubs. + (Stub_table::erratum_stubs_): New member. + (Stub_table::erratum_stub_size_): New member. + (Stub_table::relocate_stubs): Modified to handle erratum stubs. + (Stub_table::do_write): Modified to handle erratum stubs. + (AArch64_relobj::The_erratum_stub): New typedef. + (AArch64_relobj::Erratum_stub_set_iter): New typedef. + (AArch64_relobj::fix_errata): New method. + (Target_aarch64::The_reloc_stub_type): Removed. + (Target_aarch64::The_erratum_stub): New typede. + (AArch64_relocate_functions::construct_b): New method. + +2015-04-27 Han Shen <shenhan@google.com> + + * options.h (--fix-cortex-a53-843419): Rename option. + * aarch64.cc (AArch64_relobj::do_count_local_symbols): Use renamed + option. + (AArch64_relobj::scan_sections_for_stubs): Use renamed option. + +2015-04-16 Han Shen <shenhan@google.com> + + * aarch64.cc (AArch64_insn_utilities): New utility class. + (AArch64_relobj::Mapping_symbol_position): New struct. + (AArch64_relobj::Mapping_symbol_info): New typedef. + (AArch64_relobj::do_count_local_symbols): New function overriding + parent's implementation. + (AArch64_relobj::mapping_symbol_info_): New member + (AArch64_relobj::scan_erratum_843419): New method. + (Target_aarch64::scan_erratum_843419_span): New method. + (Target_aarch64::is_erratum_843419_sequence): New method. + * options.h (fix_cortex_a53): New option. + +2015-02-02 Khem Raj <raj.khem@gmail.com> + + * attributes.h (class Output_attributes_section_data ): Add + do_print_to_mapfile function. + +2015-04-07 HC Yen <hc.yen@mediatek.com> + + Add AArch32 support for gold linker. + gold/ + * arm.cc: Add V8 arch combine table. + +2015-03-21 Cary Coutant <cary@google.com> + + PR gold/18048 + * script-c.h (script_include_directive): Add first_token parameter. + * script.cc (script_include_directive): Add first_token parameter, and + pass it to read_script_file. + * yyscript.y (PARSING_SECTIONS_BLOCK, PARSING_SECTION_CMDS) + (PARSING_MEMORY_DEF): New tokens. + (top): Add new productions for INCLUDE files. + (file_cmd): Replace file_or_sections_cmd with copy of its productions. + Pass PARSING_LINKER_SCRIPT to script_include_directive. + (section_block_cmd): Likewise; pass PARSING_SECTIONS_BLOCK. + (section_cmd): Pass PARSING_SECTION_CMDS. + (file_or_sections_cmd): Remove. + (memory_def): Pass PARSING_MEMORY_DEF. + * testsuite/Makefile.am (memory_test_2): New test. + * testsuite/Makefile.in: Regenerate. + * testsuite/memory_test_inc.t: New script file. + * testsuite/memory_test_inc_1.t.src: New script file. + * testsuite/memory_test_inc_2.t.src: New script file. + * testsuite/memory_test_inc_3.t.src: New script file. -2014-11-20 Alan Modra <amodra@gmail.com> +2015-03-21 Cary Coutant <cary@google.com> - * powerpc.cc (Target_powerpc::do_relax): Add __go_go to thread_starters. + PR gold/18010 + * stringpool.cc (Stringpool_template): Don't optimize if section + alignment is greater than sizeof(char). 2014-11-13 H.J. Lu <hongjiu.lu@intel.com> @@ -679,7 +501,7 @@ gold/ * aarch64.cc (AArch64_relocate_functions::maybe_apply_stub): Add "typename" keyword. -2014-10-15 Han Shen <shenhan@google.com> +2014-09-22 Han Shen <shenhan@google.com> Jing Yu <jingyu@google.com> Patch for gold aarch64 backend to support relaxation. @@ -16865,7 +16687,7 @@ gold/ * Added source code to GNU binutils. -Copyright (C) 2008-2015 Free Software Foundation, Inc. +Copyright (C) 2008-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils-2.25/gold/Makefile.am b/binutils-2.25/gold/Makefile.am index fbf2081..28e0c4a 100644 --- a/binutils-2.25/gold/Makefile.am +++ b/binutils-2.25/gold/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to generate Makefile.in # -# Copyright (C) 2006-2015 Free Software Foundation, Inc. +# Copyright (C) 2006-2014 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -249,7 +249,7 @@ po/POTFILES.in: @MAINT@ Makefile # identical to ld1, since it was linked with the host linker. if GCC -if NATIVE_LINKER +if TEST_AS_NATIVE_LINKER gcctestdir1/ld: ld-new test -d gcctestdir1 || mkdir -p gcctestdir1 diff --git a/binutils-2.25/gold/Makefile.in b/binutils-2.25/gold/Makefile.in index 02a45d9..ceb22db 100644 --- a/binutils-2.25/gold/Makefile.in +++ b/binutils-2.25/gold/Makefile.in @@ -16,7 +16,7 @@ @SET_MAKE@ # -# Copyright (C) 2006-2015 Free Software Foundation, Inc. +# Copyright (C) 2006-2014 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -56,22 +56,24 @@ host_triplet = @host@ target_triplet = @target@ bin_PROGRAMS = dwp$(EXEEXT) noinst_PROGRAMS = ld-new$(EXEEXT) incremental-dump$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@check_PROGRAMS = ld1$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ld2$(EXEEXT) ld1-r$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ld2-r$(EXEEXT) ld4$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(am__EXEEXT_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_1 = -Wl,--thread-count=3 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_2 = -Wl,--thread-count=3 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_3 = -Wl,--thread-count=13 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_4 = -Wl,--thread-count=3 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_5 = ld3 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_6 = bootstrap-test-treehash-chunksize +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@check_PROGRAMS = ld1$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ld2$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ld1-r$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ld2-r$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ld4$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(am__EXEEXT_1) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_1 = -Wl,--thread-count=3 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_2 = -Wl,--thread-count=3 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_3 = -Wl,--thread-count=13 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_4 = -Wl,--thread-count=3 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_5 = ld3 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_6 = bootstrap-test-treehash-chunksize subdir = . DIST_COMMON = NEWS README ChangeLog $(srcdir)/Makefile.in \ $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__configure_deps) $(srcdir)/config.in \ $(srcdir)/../mkinstalldirs $(top_srcdir)/po/Make-in ffsll.c \ - ftruncate.c pread.c mremap.c yyscript.h yyscript.c \ + mremap.c pread.c ftruncate.c yyscript.h yyscript.c \ $(srcdir)/../depcomp $(srcdir)/../ylwrap ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ @@ -120,8 +122,7 @@ am_libgold_a_OBJECTS = $(am__objects_1) $(am__objects_2) \ $(am__objects_3) $(am__objects_2) libgold_a_OBJECTS = $(am_libgold_a_OBJECTS) am__installdirs = "$(DESTDIR)$(bindir)" -@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@am__EXEEXT_1 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@ ld3$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@THREADS_TRUE@am__EXEEXT_1 = ld3$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) am_dwp_OBJECTS = dwp.$(OBJEXT) dwp_OBJECTS = $(am_dwp_OBJECTS) @@ -138,27 +139,33 @@ am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) libgold.a $(LIBIBERTY) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) ld_new_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld_new_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld1_OBJECTS = $(am__objects_4) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ld1_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(am__objects_4) ld1_OBJECTS = $(am_ld1_OBJECTS) ld1_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld1_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld1_r_OBJECTS = $(am__objects_4) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ld1_r_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(am__objects_4) ld1_r_OBJECTS = $(am_ld1_r_OBJECTS) ld1_r_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld1_r_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld2_OBJECTS = $(am__objects_4) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ld2_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(am__objects_4) ld2_OBJECTS = $(am_ld2_OBJECTS) ld2_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld2_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld2_r_OBJECTS = $(am__objects_4) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ld2_r_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(am__objects_4) ld2_r_OBJECTS = $(am_ld2_r_OBJECTS) ld2_r_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld2_r_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld3_OBJECTS = $(am__objects_4) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ld3_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(am__objects_4) ld3_OBJECTS = $(am_ld3_OBJECTS) ld3_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld3_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld4_OBJECTS = $(am__objects_4) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ld4_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(am__objects_4) ld4_OBJECTS = $(am_ld4_OBJECTS) ld4_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld4_LDFLAGS) \ $(LDFLAGS) -o $@ @@ -569,49 +576,50 @@ dwp_LDADD = libgold.a $(LIBIBERTY) $(GOLD_LDADD) $(LIBINTL) $(THREADSLIB) \ dwp_LDFLAGS = $(GOLD_LDFLAGS) CONFIG_STATUS_DEPENDENCIES = $(srcdir)/../bfd/development.sh POTFILES = $(CCFILES) $(HFILES) $(TARGETSOURCES) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_SOURCES = $(sources_var) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_DEPENDENCIES = $(deps_var) gcctestdir1/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_LDADD = $(ldadd_var) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_LDFLAGS = -Bgcctestdir1/ \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id=tree \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-chunk-size-for-treehash=12345 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-min-file-size-for-treehash=0 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(am__append_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_SOURCES = $(sources_var) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_DEPENDENCIES = $(deps_var) gcctestdir2/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_LDADD = $(ldadd_var) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_LDFLAGS = -Bgcctestdir2/ \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id=tree \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-chunk-size-for-treehash=12345 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-min-file-size-for-treehash=0 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(am__append_2) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_SOURCES = $(sources_var) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_DEPENDENCIES = libgold-1-r.o $(deps_var) gcctestdir1/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_LDADD = libgold-1-r.o $(ldadd_var) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_LDFLAGS = -Bgcctestdir1/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_r_SOURCES = $(sources_var) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_r_DEPENDENCIES = libgold-2-r.o $(deps_var) gcctestdir2-r/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_r_LDADD = libgold-2-r.o $(ldadd_var) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_r_LDFLAGS = -Bgcctestdir2-r/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@TESTS = bootstrap-test bootstrap-test-r \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ bootstrap-test-treehash-chunksize \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(am__append_6) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_SOURCES = $(sources_var) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_DEPENDENCIES = $(deps_var) gcctestdir3/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_LDADD = $(ldadd_var) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_LDFLAGS = -Bgcctestdir3/ \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id=tree \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-chunk-size-for-treehash=12345 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-min-file-size-for-treehash=0 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(am__append_3) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_SOURCES = $(sources_var) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_DEPENDENCIES = $(deps_var) gcctestdir4/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_LDADD = $(ldadd_var) -@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_LDFLAGS = -Bgcctestdir4/ \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id=tree \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-chunk-size-for-treehash=12346 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-min-file-size-for-treehash=0 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(am__append_4) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld1_SOURCES = $(sources_var) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld1_DEPENDENCIES = $(deps_var) gcctestdir1/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld1_LDADD = $(ldadd_var) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld1_LDFLAGS = -Bgcctestdir1/ \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--build-id=tree \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--build-id-chunk-size-for-treehash=12345 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--build-id-min-file-size-for-treehash=0 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(am__append_1) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld2_SOURCES = $(sources_var) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld2_DEPENDENCIES = $(deps_var) gcctestdir2/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld2_LDADD = $(ldadd_var) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld2_LDFLAGS = -Bgcctestdir2/ \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--build-id=tree \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--build-id-chunk-size-for-treehash=12345 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--build-id-min-file-size-for-treehash=0 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(am__append_2) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld1_r_SOURCES = $(sources_var) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld1_r_DEPENDENCIES = libgold-1-r.o $(deps_var) gcctestdir1/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld1_r_LDADD = libgold-1-r.o $(ldadd_var) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld1_r_LDFLAGS = -Bgcctestdir1/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld2_r_SOURCES = $(sources_var) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld2_r_DEPENDENCIES = libgold-2-r.o $(deps_var) gcctestdir2-r/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld2_r_LDADD = libgold-2-r.o $(ldadd_var) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld2_r_LDFLAGS = -Bgcctestdir2-r/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@TESTS = bootstrap-test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ bootstrap-test-r \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ bootstrap-test-treehash-chunksize \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(am__append_6) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld3_SOURCES = $(sources_var) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld3_DEPENDENCIES = $(deps_var) gcctestdir3/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld3_LDADD = $(ldadd_var) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld3_LDFLAGS = -Bgcctestdir3/ \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--build-id=tree \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--build-id-chunk-size-for-treehash=12345 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--build-id-min-file-size-for-treehash=0 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(am__append_3) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld4_SOURCES = $(sources_var) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld4_DEPENDENCIES = $(deps_var) gcctestdir4/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld4_LDADD = $(ldadd_var) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ld4_LDFLAGS = -Bgcctestdir4/ \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--build-id=tree \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--build-id-chunk-size-for-treehash=12346 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--build-id-min-file-size-for-treehash=0 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(am__append_4) all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -1332,60 +1340,60 @@ po/POTFILES.in: @MAINT@ Makefile # build ld2. ld1 and ld2 should be identical. ld-new need not be # identical to ld1, since it was linked with the host linker. -@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir1/ld: ld-new -@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d gcctestdir1 || mkdir -p gcctestdir1 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f gcctestdir1/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ (cd gcctestdir1 && $(LN_S) ../ld-new ld) - -@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir2/ld: ld1 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d gcctestdir2 || mkdir -p gcctestdir2 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f gcctestdir2/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ (cd gcctestdir2 && $(LN_S) ../ld1 ld) - -@GCC_TRUE@@NATIVE_LINKER_TRUE@bootstrap-test: ld2 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "#!/bin/sh" > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "cmp ld1 ld2" >> $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ chmod +x $@ - -@GCC_TRUE@@NATIVE_LINKER_TRUE@libgold-1-r.o: gcctestdir1/ld libgold.a -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir1/ld -o $@ -r --whole-archive libgold.a - -@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir2-r/ld: ld1-r -@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d gcctestdir2-r || mkdir -p gcctestdir2-r -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f gcctestdir2-r/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ (cd gcctestdir2-r && $(LN_S) ../ld1-r ld) - -@GCC_TRUE@@NATIVE_LINKER_TRUE@libgold-2-r.o: gcctestdir2-r/ld libgold.a -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir2-r/ld -o $@ -r --whole-archive libgold.a - -@GCC_TRUE@@NATIVE_LINKER_TRUE@bootstrap-test-r: ld2-r -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "#!/bin/sh" > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "cmp ld1-r ld2-r" >> $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ chmod +x $@ - -@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir3/ld: ld-new -@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d gcctestdir3 || mkdir -p gcctestdir3 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f gcctestdir3/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ (cd gcctestdir3 && $(LN_S) ../ld-new ld) - -@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir4/ld: ld-new -@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d gcctestdir4 || mkdir -p gcctestdir4 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f gcctestdir4/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ (cd gcctestdir4 && $(LN_S) ../ld-new ld) - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@bootstrap-test-treehash: ld1 ld3 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@ rm -f $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@ echo "#!/bin/sh" > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@ echo "cmp ld1 ld3" >> $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@ chmod +x $@ - -@GCC_TRUE@@NATIVE_LINKER_TRUE@bootstrap-test-treehash-chunksize: ld1 ld4 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "#!/bin/sh" > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "cmp ld1 ld4 | grep ." >> $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ chmod +x $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gcctestdir1/ld: ld-new +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ test -d gcctestdir1 || mkdir -p gcctestdir1 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f gcctestdir1/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ (cd gcctestdir1 && $(LN_S) ../ld-new ld) + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gcctestdir2/ld: ld1 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ test -d gcctestdir2 || mkdir -p gcctestdir2 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f gcctestdir2/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ (cd gcctestdir2 && $(LN_S) ../ld1 ld) + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@bootstrap-test: ld2 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo "#!/bin/sh" > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo "cmp ld1 ld2" >> $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ chmod +x $@ + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@libgold-1-r.o: gcctestdir1/ld libgold.a +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir1/ld -o $@ -r --whole-archive libgold.a + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gcctestdir2-r/ld: ld1-r +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ test -d gcctestdir2-r || mkdir -p gcctestdir2-r +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f gcctestdir2-r/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ (cd gcctestdir2-r && $(LN_S) ../ld1-r ld) + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@libgold-2-r.o: gcctestdir2-r/ld libgold.a +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir2-r/ld -o $@ -r --whole-archive libgold.a + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@bootstrap-test-r: ld2-r +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo "#!/bin/sh" > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo "cmp ld1-r ld2-r" >> $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ chmod +x $@ + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gcctestdir3/ld: ld-new +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ test -d gcctestdir3 || mkdir -p gcctestdir3 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f gcctestdir3/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ (cd gcctestdir3 && $(LN_S) ../ld-new ld) + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gcctestdir4/ld: ld-new +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ test -d gcctestdir4 || mkdir -p gcctestdir4 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f gcctestdir4/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ (cd gcctestdir4 && $(LN_S) ../ld-new ld) + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@THREADS_TRUE@bootstrap-test-treehash: ld1 ld3 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@THREADS_TRUE@ rm -f $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@THREADS_TRUE@ echo "#!/bin/sh" > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@THREADS_TRUE@ echo "cmp ld1 ld3" >> $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@THREADS_TRUE@ chmod +x $@ + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@bootstrap-test-treehash-chunksize: ld1 ld4 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo "#!/bin/sh" > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo "cmp ld1 ld4 | grep ." >> $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ chmod +x $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/binutils-2.25/gold/NEWS b/binutils-2.25/gold/NEWS index f7173bb..bb246f6 100644 --- a/binutils-2.25/gold/NEWS +++ b/binutils-2.25/gold/NEWS @@ -1,6 +1,6 @@ * gold added to GNU binutils. -Copyright (C) 2012-2015 Free Software Foundation, Inc. +Copyright (C) 2012-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils-2.25/gold/README b/binutils-2.25/gold/README index fb78f8f..b1b24f1 100644 --- a/binutils-2.25/gold/README +++ b/binutils-2.25/gold/README @@ -62,7 +62,7 @@ to fail. If you are building gold from an official binutils release, the bison output should already be included. -Copyright (C) 2012-2015 Free Software Foundation, Inc. +Copyright (C) 2012-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/binutils-2.25/gold/aarch64-reloc-property.cc b/binutils-2.25/gold/aarch64-reloc-property.cc index bc6aa73..16f8449 100644 --- a/binutils-2.25/gold/aarch64-reloc-property.cc +++ b/binutils-2.25/gold/aarch64-reloc-property.cc @@ -1,6 +1,6 @@ // aarch64-reloc-property.cc -- AArch64 relocation properties -*- C++ -*- -// Copyright (C) 2014-2015 Free Software Foundation, Inc. +// Copyright (C) 2014 Free Software Foundation, Inc. // Written by Han Shen <shenhan@google.com> and Jing Yu <jingyu@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/aarch64-reloc-property.h b/binutils-2.25/gold/aarch64-reloc-property.h index a843169..d8d1301 100644 --- a/binutils-2.25/gold/aarch64-reloc-property.h +++ b/binutils-2.25/gold/aarch64-reloc-property.h @@ -1,6 +1,6 @@ // aarch64-reloc-property.h -- AArch64 relocation properties -*- C++ -*- -// Copyright (C) 2014-2015 Free Software Foundation, Inc. +// Copyright (C) 2014 Free Software Foundation, Inc. // Written by Han Shen <shenhan@google.com> and Jing Yu <jingyu@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/aarch64-reloc.def b/binutils-2.25/gold/aarch64-reloc.def index d03d9b5..b0d27df 100644 --- a/binutils-2.25/gold/aarch64-reloc.def +++ b/binutils-2.25/gold/aarch64-reloc.def @@ -1,6 +1,6 @@ // aarch64-reloc.def -- AArch64 relocation definitions. -// Copyright (C) 2014-2015 Free Software Foundation, Inc. +// Copyright (C) 2014 Free Software Foundation, Inc. // Written by Han Shen <shenhan@google.com> and Jing Yu <jingyu@google.com>. // This file is part of gold. @@ -71,6 +71,8 @@ ARD(TLSLD_ADR_PAGE21 , STATIC , AARCH64 , Y, -1, 32,32 ARD(TLSLD_ADD_LO12_NC , STATIC , AARCH64 , Y, -1, 0,0 , 0,11 , Symbol::TLS_REF , ADD ) ARD(TLSLD_MOVW_DTPREL_G1 , STATIC , AARCH64 , Y, 1, 32,32 , 16,31 , Symbol::TLS_REF , ADRP ) ARD(TLSLD_MOVW_DTPREL_G0_NC , STATIC , AARCH64 , Y, 0, 0,0 , 0,15 , Symbol::TLS_REF , MOVW ) +ARD(TLSLD_ADD_DTPREL_HI12 , STATIC , AARCH64 , Y, -1, 0,24 , 12,23 , Symbol::TLS_REF , ADD ) +ARD(TLSLD_ADD_DTPREL_LO12_NC , STATIC , AARCH64 , Y, -1, 0,0 , 0,11 , Symbol::TLS_REF , ADD ) // Above is from Table 4-16, Local Dynamic TLS relocations, 517-573. ARD(TLSIE_MOVW_GOTTPREL_G1 , STATIC , AARCH64 , N, -1, 32,32 , 16,31 , Symbol::TLS_REF , MOVW ) diff --git a/binutils-2.25/gold/aarch64.cc b/binutils-2.25/gold/aarch64.cc index 4948194..4153389 100644 --- a/binutils-2.25/gold/aarch64.cc +++ b/binutils-2.25/gold/aarch64.cc @@ -103,6 +103,10 @@ public: { return aarch64_bits(insn, 10, 5); } static bool + is_adr(const Insntype insn) + { return (insn & 0x9F000000) == 0x10000000; } + + static bool is_adrp(const Insntype insn) { return (insn & 0x9F000000) == 0x90000000; } @@ -126,6 +130,39 @@ public: aarch64_rt2(const Insntype insn) { return aarch64_bits(insn, 10, 5); } + // Encode imm21 into adr. Signed imm21 is in the range of [-1M, 1M). + static Insntype + aarch64_adr_encode_imm(Insntype adr, int imm21) + { + gold_assert(is_adr(adr)); + gold_assert(-(1 << 20) <= imm21 && imm21 < (1 << 20)); + const int mask19 = (1 << 19) - 1; + const int mask2 = 3; + adr &= ~((mask19 << 5) | (mask2 << 29)); + adr |= ((imm21 & mask2) << 29) | (((imm21 >> 2) & mask19) << 5); + return adr; + } + + // Retrieve encoded adrp 33-bit signed imm value. This value is obtained by + // 21-bit signed imm encoded in the insn multiplied by 4k (page size) and + // 64-bit sign-extended, resulting in [-4G, 4G) with 12-lsb being 0. + static int64_t + aarch64_adrp_decode_imm(const Insntype adrp) + { + const int mask19 = (1 << 19) - 1; + const int mask2 = 3; + gold_assert(is_adrp(adrp)); + // 21-bit imm encoded in adrp. + uint64_t imm = ((adrp >> 29) & mask2) | (((adrp >> 5) & mask19) << 2); + // Retrieve msb of 21-bit-signed imm for sign extension. + uint64_t msbt = (imm >> 20) & 1; + // Real value is imm multipled by 4k. Value now has 33-bit information. + int64_t value = imm << 12; + // Sign extend to 64-bit by repeating msbt 31 (64-33) times and merge it + // with value. + return ((((uint64_t)(1) << 32) - msbt) << 33) | value; + } + static bool aarch64_b(const Insntype insn) { return (insn & 0xFC000000) == 0x14000000; } @@ -1020,6 +1057,34 @@ private: }; // End of "Erratum_stub". +// Erratum sub class to wrap additional info needed by 843419. In fixing this +// erratum, we may choose to replace 'adrp' with 'adr', in this case, we need +// adrp's code position (two or three insns before erratum insn itself). + +template<int size, bool big_endian> +class E843419_stub : public Erratum_stub<size, big_endian> +{ +public: + typedef typename AArch64_insn_utilities<big_endian>::Insntype Insntype; + + E843419_stub(AArch64_relobj<size, big_endian>* relobj, + unsigned int shndx, unsigned int sh_offset, + unsigned int adrp_sh_offset) + : Erratum_stub<size, big_endian>(relobj, ST_E_843419, shndx, sh_offset), + adrp_sh_offset_(adrp_sh_offset) + {} + + unsigned int + adrp_sh_offset() const + { return this->adrp_sh_offset_; } + +private: + // Section offset of "adrp". (We do not need a "adrp_shndx_" field, because we + // can can obtain it from its parent.) + const unsigned int adrp_sh_offset_; +}; + + template<int size, bool big_endian> const int Erratum_stub<size, big_endian>::STUB_ADDR_ALIGN = 4; @@ -1755,6 +1820,13 @@ class AArch64_relobj : public Sized_relobj_file<size, big_endian> void fix_errata(typename Sized_relobj_file<size, big_endian>::Views* pviews); + // Try to fix erratum 843419 in an optimized way. Return true if patch is + // applied. + bool + try_fix_erratum_843419_optimized( + The_erratum_stub*, + typename Sized_relobj_file<size, big_endian>::View_size&); + // Whether a section needs to be scanned for relocation stubs. bool section_needs_reloc_stub_scanning(const elfcpp::Shdr<size, big_endian>&, @@ -1892,18 +1964,75 @@ AArch64_relobj<size, big_endian>::fix_errata( Insntype insn_to_fix = ip[0]; stub->update_erratum_insn(insn_to_fix); - // Replace the erratum insn with a branch-to-stub. - AArch64_address stub_address = - stub_table->erratum_stub_address(stub); - unsigned int b_offset = stub_address - stub->erratum_address(); - AArch64_relocate_functions<size, big_endian>::construct_b( - pview.view + stub->sh_offset(), b_offset & 0xfffffff); + // First try to see if erratum is 843419 and if it can be fixed + // without using branch-to-stub. + if (!try_fix_erratum_843419_optimized(stub, pview)) + { + // Replace the erratum insn with a branch-to-stub. + AArch64_address stub_address = + stub_table->erratum_stub_address(stub); + unsigned int b_offset = stub_address - stub->erratum_address(); + AArch64_relocate_functions<size, big_endian>::construct_b( + pview.view + stub->sh_offset(), b_offset & 0xfffffff); + } ++p; } } } +// This is an optimization for 843419. This erratum requires the sequence begin +// with 'adrp', when final value calculated by adrp fits in adr, we can just +// replace 'adrp' with 'adr', so we save 2 jumps per occurrence. (Note, however, +// in this case, we do not delete the erratum stub (too late to do so), it is +// merely generated without ever being called.) + +template<int size, bool big_endian> +bool +AArch64_relobj<size, big_endian>::try_fix_erratum_843419_optimized( + The_erratum_stub* stub, + typename Sized_relobj_file<size, big_endian>::View_size& pview) +{ + if (stub->type() != ST_E_843419) + return false; + + typedef AArch64_insn_utilities<big_endian> Insn_utilities; + typedef typename elfcpp::Swap<32,big_endian>::Valtype Insntype; + E843419_stub<size, big_endian>* e843419_stub = + reinterpret_cast<E843419_stub<size, big_endian>*>(stub); + AArch64_address pc = pview.address + e843419_stub->adrp_sh_offset(); + Insntype* adrp_view = reinterpret_cast<Insntype*>( + pview.view + e843419_stub->adrp_sh_offset()); + Insntype adrp_insn = adrp_view[0]; + gold_assert(Insn_utilities::is_adrp(adrp_insn)); + // Get adrp 33-bit signed imm value. + int64_t adrp_imm = Insn_utilities:: + aarch64_adrp_decode_imm(adrp_insn); + // adrp - final value transferred to target register is calculated as: + // PC[11:0] = Zeros(12) + // adrp_dest_value = PC + adrp_imm; + int64_t adrp_dest_value = (pc & ~((1 << 12) - 1)) + adrp_imm; + // adr -final value transferred to target register is calucalted as: + // PC + adr_imm + // So we have: + // PC + adr_imm = adrp_dest_value + // ==> + // adr_imm = adrp_dest_value - PC + int64_t adr_imm = adrp_dest_value - pc; + // Check if imm fits in adr (21-bit signed). + if (-(1 << 20) <= adr_imm && adr_imm < (1 << 20)) + { + // Convert 'adrp' into 'adr'. + Insntype adr_insn = adrp_insn & ((1 << 31) - 1); + adr_insn = Insn_utilities:: + aarch64_adr_encode_imm(adr_insn, adr_imm); + elfcpp::Swap<32, big_endian>::writeval(adrp_view, adr_insn); + return true; + } + return false; +} + + // Relocate sections. template<int size, bool big_endian> @@ -2767,9 +2896,8 @@ class Target_aarch64 : public Sized_target<size, big_endian> } // Return the addend to use for a target specific relocation. - typename elfcpp::Elf_types<size>::Elf_Addr - do_reloc_addend(void* arg, unsigned int r_type, - typename elfcpp::Elf_types<size>::Elf_Addr addend) const; + uint64_t + do_reloc_addend(void* arg, unsigned int r_type, uint64_t addend) const; // Return the PLT section. uint64_t @@ -3168,14 +3296,16 @@ class Target_aarch64 : public Sized_target<size, big_endian> return this->plt_; } - // Helper method to create erratum stubs for ST_E_843419 and ST_E_835769. + // Helper method to create erratum stubs for ST_E_843419 and ST_E_835769. For + // ST_E_843419, we need an additional field for adrp offset. void create_erratum_stub( AArch64_relobj<size, big_endian>* relobj, unsigned int shndx, section_size_type erratum_insn_offset, Address erratum_address, typename Insn_utilities::Insntype erratum_insn, - int erratum_type); + int erratum_type, + unsigned int e843419_adrp_offset=0); // Return whether this is a 3-insn erratum sequence. bool is_erratum_843419_sequence( @@ -5457,10 +5587,9 @@ Target_aarch64<size, big_endian>::new_stub_table( template<int size, bool big_endian> -typename elfcpp::Elf_types<size>::Elf_Addr +uint64_t Target_aarch64<size, big_endian>::do_reloc_addend( - void* arg, unsigned int r_type, - typename elfcpp::Elf_types<size>::Elf_Addr) const + void* arg, unsigned int r_type, uint64_t) const { gold_assert(r_type == elfcpp::R_AARCH64_TLSDESC); uintptr_t intarg = reinterpret_cast<uintptr_t>(arg); @@ -5514,16 +5643,14 @@ Target_aarch64<size, big_endian>::define_tls_base_symbol( Output_segment* tls_segment = layout->tls_segment(); if (tls_segment != NULL) { - bool is_exec = parameters->options().output_is_executable(); + // _TLS_MODULE_BASE_ always points to the beginning of tls segment. symtab->define_in_output_segment("_TLS_MODULE_BASE_", NULL, Symbol_table::PREDEFINED, tls_segment, 0, 0, elfcpp::STT_TLS, elfcpp::STB_LOCAL, elfcpp::STV_HIDDEN, 0, - (is_exec - ? Symbol::SEGMENT_END - : Symbol::SEGMENT_START), + Symbol::SEGMENT_START, true); } this->tls_base_symbol_defined_ = true; @@ -5614,6 +5741,8 @@ Target_aarch64<size, big_endian>::optimize_tls_reloc(bool is_final, case elfcpp::R_AARCH64_TLSLD_ADD_LO12_NC: case elfcpp::R_AARCH64_TLSLD_MOVW_DTPREL_G1: case elfcpp::R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC: + case elfcpp::R_AARCH64_TLSLD_ADD_DTPREL_HI12: + case elfcpp::R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC: // These are Local-Dynamic, which refer to local symbols in the // dynamic TLS block. Since we know that we generating an // executable, we can switch to Local-Exec. @@ -5962,6 +6091,8 @@ Target_aarch64<size, big_endian>::Scan::local( case elfcpp::R_AARCH64_TLSLD_MOVW_DTPREL_G1: case elfcpp::R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC: + case elfcpp::R_AARCH64_TLSLD_ADD_DTPREL_HI12: + case elfcpp::R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC: break; case elfcpp::R_AARCH64_TLSDESC_ADR_PAGE21: @@ -6286,7 +6417,9 @@ Target_aarch64<size, big_endian>::Scan::global( break; case elfcpp::R_AARCH64_TLSLD_MOVW_DTPREL_G1: - case elfcpp::R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC: // Other local dynamic + case elfcpp::R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC: + case elfcpp::R_AARCH64_TLSLD_ADD_DTPREL_HI12: + case elfcpp::R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC: // Other local dynamic break; case elfcpp::R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21: @@ -6852,6 +6985,8 @@ Target_aarch64<size, big_endian>::Relocate::relocate( case elfcpp::R_AARCH64_TLSLD_ADD_LO12_NC: case elfcpp::R_AARCH64_TLSLD_MOVW_DTPREL_G1: case elfcpp::R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC: + case elfcpp::R_AARCH64_TLSLD_ADD_DTPREL_HI12: + case elfcpp::R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC: case elfcpp::R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21: case elfcpp::R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC: case elfcpp::R_AARCH64_TLSLE_MOVW_TPREL_G2: @@ -7049,7 +7184,9 @@ Target_aarch64<size, big_endian>::Relocate::relocate_tls( break; case elfcpp::R_AARCH64_TLSLD_MOVW_DTPREL_G1: - case elfcpp::R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC: // Other local-dynamic + case elfcpp::R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC: + case elfcpp::R_AARCH64_TLSLD_ADD_DTPREL_HI12: + case elfcpp::R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC: // Other local-dynamic { AArch64_address value = psymval->value(object, 0); if (tlsopt == tls::TLSOPT_TO_LE) @@ -7060,9 +7197,6 @@ Target_aarch64<size, big_endian>::Relocate::relocate_tls( || issue_undefined_symbol_error(gsym)); return aarch64_reloc_funcs::STATUS_BAD_RELOC; } - // If building executable, _TLS_MODULE_BASE_ points to segment - // end. Thus we must subtract it from value. - value -= tls_segment->memsz(); } switch (r_type) { @@ -7072,6 +7206,8 @@ Target_aarch64<size, big_endian>::Relocate::relocate_tls( break; case elfcpp::R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC: + case elfcpp::R_AARCH64_TLSLD_ADD_DTPREL_HI12: + case elfcpp::R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC: return aarch64_reloc_funcs::template rela_general<32>( view, value, addend, reloc_property); break; @@ -7867,7 +8003,8 @@ Target_aarch64<size, big_endian>::create_erratum_stub( section_size_type erratum_insn_offset, Address erratum_address, typename Insn_utilities::Insntype erratum_insn, - int erratum_type) + int erratum_type, + unsigned int e843419_adrp_offset) { gold_assert(erratum_type == ST_E_843419 || erratum_type == ST_E_835769); The_stub_table* stub_table = relobj->stub_table(shndx); @@ -7877,8 +8014,15 @@ Target_aarch64<size, big_endian>::create_erratum_stub( erratum_insn_offset) == NULL) { const int BPI = AArch64_insn_utilities<big_endian>::BYTES_PER_INSN; - The_erratum_stub* stub = new The_erratum_stub( - relobj, erratum_type, shndx, erratum_insn_offset); + The_erratum_stub* stub; + if (erratum_type == ST_E_835769) + stub = new The_erratum_stub(relobj, erratum_type, shndx, + erratum_insn_offset); + else if (erratum_type == ST_E_843419) + stub = new E843419_stub<size, big_endian>( + relobj, shndx, erratum_insn_offset, e843419_adrp_offset); + else + gold_unreachable(); stub->set_erratum_insn(erratum_insn); stub->set_erratum_address(erratum_address); // For erratum ST_E_843419 and ST_E_835769, the destination address is @@ -8023,7 +8167,8 @@ Target_aarch64<size, big_endian>::scan_erratum_843419_span( output_address + offset + insn_offset; create_erratum_stub(relobj, shndx, erratum_insn_offset, erratum_address, - erratum_insn, ST_E_843419); + erratum_insn, ST_E_843419, + span_start + offset); } } diff --git a/binutils-2.25/gold/archive.cc b/binutils-2.25/gold/archive.cc index 6d25980..0f7b372 100644 --- a/binutils-2.25/gold/archive.cc +++ b/binutils-2.25/gold/archive.cc @@ -1,6 +1,6 @@ // archive.cc -- archive support for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/archive.h b/binutils-2.25/gold/archive.h index 18cd899..e031559 100644 --- a/binutils-2.25/gold/archive.h +++ b/binutils-2.25/gold/archive.h @@ -1,6 +1,6 @@ // archive.h -- archive support for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/arm-reloc-property.cc b/binutils-2.25/gold/arm-reloc-property.cc index 33ac9ce..dfc2fe1 100644 --- a/binutils-2.25/gold/arm-reloc-property.cc +++ b/binutils-2.25/gold/arm-reloc-property.cc @@ -1,6 +1,6 @@ // arm-reloc-property.cc -- ARM relocation property. -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Doug Kwan <dougkwan@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/arm-reloc-property.h b/binutils-2.25/gold/arm-reloc-property.h index 145755a..d98f644 100644 --- a/binutils-2.25/gold/arm-reloc-property.h +++ b/binutils-2.25/gold/arm-reloc-property.h @@ -1,6 +1,6 @@ // arm-reloc-property.h -- ARM relocation properties -*- C++ -*- -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Doug Kwan <dougkwan@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/arm-reloc.def b/binutils-2.25/gold/arm-reloc.def index 04105ec..9bccdfa 100644 --- a/binutils-2.25/gold/arm-reloc.def +++ b/binutils-2.25/gold/arm-reloc.def @@ -1,6 +1,6 @@ // arm-reloc.def -- ARM relocation definitions. -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Doug Kwan <dougkwan@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/arm.cc b/binutils-2.25/gold/arm.cc index 2d10357..86920c4 100644 --- a/binutils-2.25/gold/arm.cc +++ b/binutils-2.25/gold/arm.cc @@ -1,6 +1,6 @@ // arm.cc -- arm target support for gold. -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Doug Kwan <dougkwan@google.com> based on the i386 code // by Ian Lance Taylor <iant@google.com>. // This file also contains borrowed and adapted code from @@ -874,7 +874,7 @@ class Stub_table : public Output_data Stub_table(Arm_input_section<big_endian>* owner) : Output_data(), owner_(owner), reloc_stubs_(), reloc_stubs_size_(0), reloc_stubs_addralign_(1), cortex_a8_stubs_(), arm_v4bx_stubs_(0xf), - prev_data_size_(0), prev_addralign_(1) + prev_data_size_(0), prev_addralign_(1), padding_(0) { } ~Stub_table() @@ -994,14 +994,16 @@ class Stub_table : public Output_data // Reset address and file offset. void do_reset_address_and_file_offset() - { this->set_current_data_size_for_child(this->prev_data_size_); } + { + this->set_current_data_size_for_child( + this->prev_data_size_ + this->padding_); + } // Set final data size. void set_final_data_size() { this->set_data_size(this->current_data_size()); } - private: // Relocate one stub. void relocate_stub(Stub*, const Relocate_info<32, big_endian>*, @@ -1036,6 +1038,7 @@ class Stub_table : public Output_data off_t prev_data_size_; // address alignment of this in the previous pass. uint64_t prev_addralign_; + off_t padding_; }; // Arm_exidx_cantunwind class. This represents an EXIDX_CANTUNWIND entry @@ -4560,7 +4563,7 @@ Reloc_stub::stub_type_for_reloc( Target_arm<false>::default_target(); may_use_blx = little_endian_target->may_use_v5t_interworking(); should_force_pic_veneer |= - little_endian_target->should_force_pic_veneer(); + little_endian_target->should_force_pic_veneer(); thumb2 = little_endian_target->using_thumb2(); thumb_only = little_endian_target->using_thumb_only(); } @@ -5071,6 +5074,15 @@ Stub_table<big_endian>::do_write(Output_file* of) big_endian); } + if (parameters->options().stub_group_auto_padding()) + { + // Zero-fill padding area. + gold_assert((unsigned int)(this->prev_data_size_ + this->padding_) <= oview_size); + unsigned char* p_padding_area = oview + this->prev_data_size_; + for (unsigned int i = 0; i < this->padding_; ++i) + *(p_padding_area + i) = 0; + } + of->write_output_view(this->offset(), oview_size, oview); } @@ -5109,10 +5121,59 @@ Stub_table<big_endian>::update_data_size_and_addralign() + stub_template->size()); } + unsigned int prev_padding = this->padding_; + + // Smart padding. + if (parameters->options().stub_group_auto_padding()) + { + if(size > this->prev_data_size_) + { + // Stub table has to grow 'delta' bytes. + unsigned int delta = size - this->prev_data_size_; + // Test to see if this delta grow could be "absorbed" by the + // "padding_" we added in previously iteration. + if (delta <= this->padding_) + { + // Yes! Grow into padding area, shrink padding, keep stub table + // size unchanged. + this->padding_ -= delta; + } + else + { + // No! Delta is too much to fit in padding area. Heuristically, we + // increase padding. Padding is about 0.5% of huge increment, or + // 2% of moderate increment, or 0% for smaller ones.. + if (delta >= 0x50000) + this->padding_ = 0x250; + else if (delta >= 0x30000) + this->padding_ = 0x150; + else if (delta >= 0x10000) + this->padding_ = 0x100; + else if (delta >= 0x500) + { + // Set padding to 2% of stub table growth delta or 0x40, + // whichever is smaller. + this->padding_ = std::min((unsigned int)(delta * 0.02), + (unsigned int)0x40); + } + } + } + else if (size < this->prev_data_size_) + { + // Stub table shrinks, this is rare, but not impossible. + unsigned int delta = this->prev_data_size_ - size; + // So let padding increase to absorb the shrinking. Still we get an + // unchanged stub table. + this->padding_ += delta; + } + } + // Check if either data size or alignment changed in this pass. // Update prev_data_size_ and prev_addralign_. These will be used // as the current data size and address alignment for the next pass. - bool changed = size != this->prev_data_size_; + bool changed = (size + this->padding_) != + this->prev_data_size_ + prev_padding; + this->prev_data_size_ = size; if (addralign != this->prev_addralign_) @@ -5852,7 +5913,7 @@ Arm_output_section<big_endian>::group_sections( (state == FINDING_STUB_SECTION ? group_end : stub_table), - target, &new_relaxed_sections, task); + target, &new_relaxed_sections, task); } // Convert input section into relaxed input section in a batch. @@ -10557,6 +10618,7 @@ Target_arm<big_endian>::do_adjust_elf_header( } elfcpp::Ehdr_write<32, big_endian> oehdr(view); oehdr.put_e_ident(e_ident); + oehdr.put_e_flags(this->processor_specific_flags()); } // do_make_elf_object to override the same function in the base class. @@ -10753,6 +10815,24 @@ Target_arm<big_endian>::tag_cpu_arch_combine( T(V7E_M), // V6S_M. T(V7E_M) // V7E_M. }; + static const int v8[] = + { + T(V8), // PRE_V4. + T(V8), // V4. + T(V8), // V4T. + T(V8), // V5T. + T(V8), // V5TE. + T(V8), // V5TEJ. + T(V8), // V6. + T(V8), // V6KZ. + T(V8), // V6T2. + T(V8), // V6K. + T(V8), // V7. + T(V8), // V6_M. + T(V8), // V6S_M. + T(V8), // V7E_M. + T(V8) // V8. + }; static const int v4t_plus_v6_m[] = { -1, // PRE_V4. @@ -10769,6 +10849,7 @@ Target_arm<big_endian>::tag_cpu_arch_combine( T(V6_M), // V6_M. T(V6S_M), // V6S_M. T(V7E_M), // V7E_M. + T(V8), // V8. T(V4T_PLUS_V6_M) // V4T plus V6_M. }; static const int* comb[] = @@ -10779,6 +10860,7 @@ Target_arm<big_endian>::tag_cpu_arch_combine( v6_m, v6s_m, v7e_m, + v8, // Pseudo-architecture. v4t_plus_v6_m }; @@ -10876,7 +10958,8 @@ Target_arm<big_endian>::tag_cpu_name_value(unsigned int value) "ARM v7", "ARM v6-M", "ARM v6S-M", - "ARM v7E-M" + "ARM v7E-M", + "ARM v8" }; const size_t name_table_size = sizeof(name_table) / sizeof(name_table[0]); @@ -12157,7 +12240,9 @@ Target_arm<big_endian>::do_relax( bool any_stub_table_changed = false; Unordered_set<const Output_section*> sections_needing_adjustment; for (Stub_table_iterator sp = this->stub_tables_.begin(); - (sp != this->stub_tables_.end()) && !any_stub_table_changed; + (sp != this->stub_tables_.end() + && (parameters->options().stub_group_auto_padding() + || !any_stub_table_changed)); ++sp) { if ((*sp)->update_data_size_and_addralign()) diff --git a/binutils-2.25/gold/attributes.cc b/binutils-2.25/gold/attributes.cc index 8ddcd72..8e2892c 100644 --- a/binutils-2.25/gold/attributes.cc +++ b/binutils-2.25/gold/attributes.cc @@ -1,6 +1,6 @@ // attributes.cc -- object attributes for gold -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Doug Kwan <dougkwan@google.com>. // This file contains code adapted from BFD. diff --git a/binutils-2.25/gold/attributes.h b/binutils-2.25/gold/attributes.h index efb1b5c..8e7aa92 100644 --- a/binutils-2.25/gold/attributes.h +++ b/binutils-2.25/gold/attributes.h @@ -1,6 +1,6 @@ // attributes.h -- object attributes for gold -*- C++ -*- -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Doug Kwan <dougkwan@google.com>. // This file contains code adapted from BFD. diff --git a/binutils-2.25/gold/binary.cc b/binutils-2.25/gold/binary.cc index 12ca296..a933b2d 100644 --- a/binutils-2.25/gold/binary.cc +++ b/binutils-2.25/gold/binary.cc @@ -1,6 +1,6 @@ // binary.cc -- binary input files for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/binary.h b/binutils-2.25/gold/binary.h index 6b8a916..a611e95 100644 --- a/binutils-2.25/gold/binary.h +++ b/binutils-2.25/gold/binary.h @@ -1,6 +1,6 @@ // binary.h -- binary input files for gold -*- C++ -*- -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/common.cc b/binutils-2.25/gold/common.cc index 5e8339c..739c890 100644 --- a/binutils-2.25/gold/common.cc +++ b/binutils-2.25/gold/common.cc @@ -1,6 +1,6 @@ // common.cc -- handle common symbols for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/common.h b/binutils-2.25/gold/common.h index dcd1403..20c37ab 100644 --- a/binutils-2.25/gold/common.h +++ b/binutils-2.25/gold/common.h @@ -1,6 +1,6 @@ // common.h -- handle common symbols for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/compressed_output.cc b/binutils-2.25/gold/compressed_output.cc index 5a10329..19a7f63 100644 --- a/binutils-2.25/gold/compressed_output.cc +++ b/binutils-2.25/gold/compressed_output.cc @@ -1,6 +1,6 @@ // compressed_output.cc -- manage compressed debug sections for gold -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/compressed_output.h b/binutils-2.25/gold/compressed_output.h index b5fdbeb..96a4baf 100644 --- a/binutils-2.25/gold/compressed_output.h +++ b/binutils-2.25/gold/compressed_output.h @@ -1,6 +1,6 @@ // compressed_output.h -- compressed output sections for gold -*- C++ -*- -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/configure b/binutils-2.25/gold/configure index 3427074..1edd5ab 100755 --- a/binutils-2.25/gold/configure +++ b/binutils-2.25/gold/configure @@ -635,8 +635,8 @@ NATIVE_OR_CROSS_LINKER_FALSE NATIVE_OR_CROSS_LINKER_TRUE GCC_FALSE GCC_TRUE -NATIVE_LINKER_FALSE -NATIVE_LINKER_TRUE +TEST_AS_NATIVE_LINKER_FALSE +TEST_AS_NATIVE_LINKER_TRUE MSGMERGE MSGFMT MKINSTALLDIRS @@ -789,6 +789,7 @@ enable_gold enable_threads enable_plugins enable_targets +enable_test_as_native with_lib_path enable_dependency_tracking enable_nls @@ -1438,6 +1439,7 @@ Optional Features: --enable-threads multi-threaded linking --enable-plugins linker plugins --enable-targets alternative target configurations + --enable-test-as-native test as though linker is native --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --disable-nls do not use Native Language Support @@ -3382,6 +3384,26 @@ if test -n "$enable_targets"; then done fi +# Check whether --enable-test-as-native was given. +if test "${enable_test_as_native+set}" = set; then : + enableval=$enable_test_as_native; case "${enableval}" in + no) + test_as_native=no + ;; + *) + test_as_native=yes + ;; +esac +else + if test "x$target_alias" = "x" -o "x$host_alias" = "x$target_alias"; then + test_as_native=yes +else + test_as_native=no +fi +fi + + + # See which specific instantiations we need. targetobjs= all_targets= @@ -6258,12 +6280,12 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - if test "x$target_alias" = "x" -o "x$host_alias" = "x$target_alias"; then - NATIVE_LINKER_TRUE= - NATIVE_LINKER_FALSE='#' + if test "x$test_as_native" = "xyes"; then + TEST_AS_NATIVE_LINKER_TRUE= + TEST_AS_NATIVE_LINKER_FALSE='#' else - NATIVE_LINKER_TRUE='#' - NATIVE_LINKER_FALSE= + TEST_AS_NATIVE_LINKER_TRUE='#' + TEST_AS_NATIVE_LINKER_FALSE= fi if test "$GCC" = yes; then @@ -7859,8 +7881,8 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${NATIVE_LINKER_TRUE}" && test -z "${NATIVE_LINKER_FALSE}"; then - as_fn_error "conditional \"NATIVE_LINKER\" was never defined. +if test -z "${TEST_AS_NATIVE_LINKER_TRUE}" && test -z "${TEST_AS_NATIVE_LINKER_FALSE}"; then + as_fn_error "conditional \"TEST_AS_NATIVE_LINKER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GCC_TRUE}" && test -z "${GCC_FALSE}"; then diff --git a/binutils-2.25/gold/configure.ac b/binutils-2.25/gold/configure.ac index c08d0a2..df4eafb 100644 --- a/binutils-2.25/gold/configure.ac +++ b/binutils-2.25/gold/configure.ac @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. dnl -dnl Copyright (C) 2006-2015 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2014 Free Software Foundation, Inc. dnl dnl This file is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -144,6 +144,23 @@ if test -n "$enable_targets"; then done fi +AC_ARG_ENABLE([test-as-native], +[ --enable-test-as-native test as though linker is native], +[case "${enableval}" in + no) + test_as_native=no + ;; + *) + test_as_native=yes + ;; +esac], +[if test "x$target_alias" = "x" -o "x$host_alias" = "x$target_alias"; then + test_as_native=yes +else + test_as_native=no +fi]) + + # See which specific instantiations we need. targetobjs= all_targets= @@ -303,8 +320,8 @@ AC_C_BIGENDIAN AC_EXEEXT -AM_CONDITIONAL(NATIVE_LINKER, - test "x$target_alias" = "x" -o "x$host_alias" = "x$target_alias") +AM_CONDITIONAL(TEST_AS_NATIVE_LINKER, + test "x$test_as_native" = "xyes") AM_CONDITIONAL(GCC, test "$GCC" = yes) AM_CONDITIONAL(NATIVE_OR_CROSS_LINKER, diff --git a/binutils-2.25/gold/configure.tgt b/binutils-2.25/gold/configure.tgt index a3cb34d..59a681e 100644 --- a/binutils-2.25/gold/configure.tgt +++ b/binutils-2.25/gold/configure.tgt @@ -1,6 +1,6 @@ # configure.tgt -- target configuration for gold -*- sh -*- -# Copyright (C) 2006-2015 Free Software Foundation, Inc. +# Copyright (C) 2006-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/copy-relocs.cc b/binutils-2.25/gold/copy-relocs.cc index a7824fe..41b6563 100644 --- a/binutils-2.25/gold/copy-relocs.cc +++ b/binutils-2.25/gold/copy-relocs.cc @@ -1,6 +1,6 @@ // copy-relocs.cc -- handle COPY relocations for gold. -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/copy-relocs.h b/binutils-2.25/gold/copy-relocs.h index 6724fd9..800c0e7 100644 --- a/binutils-2.25/gold/copy-relocs.h +++ b/binutils-2.25/gold/copy-relocs.h @@ -1,6 +1,6 @@ // copy-relocs.h -- handle COPY relocations for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/cref.cc b/binutils-2.25/gold/cref.cc index 91f7b9e..ac6f1c8 100644 --- a/binutils-2.25/gold/cref.cc +++ b/binutils-2.25/gold/cref.cc @@ -1,6 +1,6 @@ // cref.cc -- cross reference for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/cref.h b/binutils-2.25/gold/cref.h index b03bf0a..0e72d16 100644 --- a/binutils-2.25/gold/cref.h +++ b/binutils-2.25/gold/cref.h @@ -1,6 +1,6 @@ // cref.h -- cross reference reports for gold -*- C++ -*- -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/debug.h b/binutils-2.25/gold/debug.h index bca55f3..7875c71 100644 --- a/binutils-2.25/gold/debug.h +++ b/binutils-2.25/gold/debug.h @@ -1,6 +1,6 @@ // debug.h -- gold internal debugging support -*- C++ -*- -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -38,9 +38,11 @@ const int DEBUG_SCRIPT = 0x2; const int DEBUG_FILES = 0x4; const int DEBUG_RELAXATION = 0x8; const int DEBUG_INCREMENTAL = 0x10; +const int DEBUG_LOCATION = 0x20; const int DEBUG_ALL = (DEBUG_TASK | DEBUG_SCRIPT | DEBUG_FILES - | DEBUG_RELAXATION | DEBUG_INCREMENTAL); + | DEBUG_RELAXATION | DEBUG_INCREMENTAL + | DEBUG_LOCATION); // Convert a debug string to the appropriate enum. inline int @@ -54,6 +56,7 @@ debug_string_to_enum(const char* arg) { "files", DEBUG_FILES }, { "relaxation", DEBUG_RELAXATION }, { "incremental", DEBUG_INCREMENTAL }, + { "location", DEBUG_LOCATION }, { "all", DEBUG_ALL } }; diff --git a/binutils-2.25/gold/defstd.cc b/binutils-2.25/gold/defstd.cc index 2da606e..cee68a0 100644 --- a/binutils-2.25/gold/defstd.cc +++ b/binutils-2.25/gold/defstd.cc @@ -1,6 +1,6 @@ // defstd.cc -- define standard symbols for gold. -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/defstd.h b/binutils-2.25/gold/defstd.h index 9e7d092..853a1e8 100644 --- a/binutils-2.25/gold/defstd.h +++ b/binutils-2.25/gold/defstd.h @@ -1,6 +1,6 @@ // defstd.h -- define standard symbols for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/descriptors.cc b/binutils-2.25/gold/descriptors.cc index c55d45b..cb6c16a 100644 --- a/binutils-2.25/gold/descriptors.cc +++ b/binutils-2.25/gold/descriptors.cc @@ -1,6 +1,6 @@ // descriptors.cc -- manage file descriptors for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/descriptors.h b/binutils-2.25/gold/descriptors.h index a2f45cf..c14ac07 100644 --- a/binutils-2.25/gold/descriptors.h +++ b/binutils-2.25/gold/descriptors.h @@ -1,6 +1,6 @@ // descriptors.h -- manage file descriptors for gold -*- C++ -*- -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/dirsearch.cc b/binutils-2.25/gold/dirsearch.cc index 1e92fa5..e9e2fa1 100644 --- a/binutils-2.25/gold/dirsearch.cc +++ b/binutils-2.25/gold/dirsearch.cc @@ -1,6 +1,6 @@ // dirsearch.cc -- directory searching for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/dirsearch.h b/binutils-2.25/gold/dirsearch.h index 09f8067..d020d94 100644 --- a/binutils-2.25/gold/dirsearch.h +++ b/binutils-2.25/gold/dirsearch.h @@ -1,6 +1,6 @@ // dirsearch.h -- directory searching for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/dwarf_reader.cc b/binutils-2.25/gold/dwarf_reader.cc index e7c95ce..f5ca7cd 100644 --- a/binutils-2.25/gold/dwarf_reader.cc +++ b/binutils-2.25/gold/dwarf_reader.cc @@ -1,6 +1,6 @@ // dwarf_reader.cc -- parse dwarf2/3 debug information -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -26,6 +26,7 @@ #include <utility> #include <vector> +#include "debug.h" #include "elfcpp_swap.h" #include "dwarf.h" #include "object.h" @@ -1526,6 +1527,7 @@ struct LineStateMachine bool is_stmt; // stmt means statement. bool basic_block; bool end_sequence; + unsigned int context; }; static void @@ -1539,6 +1541,7 @@ ResetLineStateMachine(struct LineStateMachine* lsm, bool default_is_stmt) lsm->is_stmt = default_is_stmt; lsm->basic_block = false; lsm->end_sequence = false; + lsm->context = 0; } template<int size, bool big_endian> @@ -1546,27 +1549,40 @@ Sized_dwarf_line_info<size, big_endian>::Sized_dwarf_line_info( Object* object, unsigned int read_shndx) : data_valid_(false), buffer_(NULL), buffer_start_(NULL), + str_buffer_(NULL), str_buffer_start_(NULL), reloc_mapper_(NULL), symtab_buffer_(NULL), directories_(), files_(), - current_header_index_(-1) + current_header_index_(-1), reloc_map_(), line_number_map_() { - unsigned int debug_shndx; + unsigned int debug_line_shndx = 0; + unsigned int debug_line_str_shndx = 0; - for (debug_shndx = 1; debug_shndx < object->shnum(); ++debug_shndx) + for (unsigned int i = 1; i < object->shnum(); ++i) { + section_size_type buffer_size; + bool is_new = false; + // FIXME: do this more efficiently: section_name() isn't super-fast - std::string name = object->section_name(debug_shndx); + std::string name = object->section_name(i); if (name == ".debug_line" || name == ".zdebug_line") { - section_size_type buffer_size; - bool is_new = false; - this->buffer_ = object->decompressed_section_contents(debug_shndx, - &buffer_size, - &is_new); + this->buffer_ = + object->decompressed_section_contents(i, &buffer_size, &is_new); if (is_new) this->buffer_start_ = this->buffer_; this->buffer_end_ = this->buffer_ + buffer_size; - break; + debug_line_shndx = i; } + else if (name == ".debug_line_str" || name == ".zdebug_line_str") + { + this->str_buffer_ = + object->decompressed_section_contents(i, &buffer_size, &is_new); + if (is_new) + this->str_buffer_start_ = this->str_buffer_; + this->str_buffer_end_ = this->str_buffer_ + buffer_size; + debug_line_str_shndx = i; + } + if (debug_line_shndx > 0 && debug_line_str_shndx > 0) + break; } if (this->buffer_ == NULL) return; @@ -1579,7 +1595,7 @@ Sized_dwarf_line_info<size, big_endian>::Sized_dwarf_line_info( unsigned int reloc_sh_type = object->section_type(i); if ((reloc_sh_type == elfcpp::SHT_REL || reloc_sh_type == elfcpp::SHT_RELA) - && object->section_info(i) == debug_shndx) + && object->section_info(i) == debug_line_shndx) { reloc_shndx = i; this->track_relocs_type_ = reloc_sh_type; @@ -1612,6 +1628,8 @@ Sized_dwarf_line_info<size, big_endian>::Sized_dwarf_line_info( // Now that we have successfully read all the data, parse the debug // info. this->data_valid_ = true; + gold_debug(DEBUG_LOCATION, "read_line_mappings: %s shndx %u", + object->name().c_str(), read_shndx); this->read_line_mappings(read_shndx); } @@ -1638,20 +1656,39 @@ Sized_dwarf_line_info<size, big_endian>::read_header_prolog( header_.total_length = initial_length; - gold_assert(lineptr + header_.total_length <= buffer_end_); + this->end_of_unit_ = lineptr + initial_length; + gold_assert(this->end_of_unit_ <= buffer_end_); header_.version = elfcpp::Swap_unaligned<16, big_endian>::readval(lineptr); lineptr += 2; + // We can only read versions 2 and 3 of the DWARF line number table. + // For other versions, just skip the entire line number table. + if ((header_.version < 2 || header_.version > 4) + && header_.version != DWARF5_EXPERIMENTAL_LINE_TABLE) + return this->end_of_unit_; + if (header_.offset_size == 4) header_.prologue_length = elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr); else header_.prologue_length = elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr); lineptr += header_.offset_size; + this->end_of_header_length_ = lineptr; + + // If this is a two-level line table, we'll adjust these below. + this->logicals_start_ = lineptr + header_.prologue_length; + this->actuals_start_ = NULL; + header_.min_insn_length = *lineptr; lineptr += 1; + if (header_.version >= 4) + { + header_.max_ops_per_insn = *lineptr; + lineptr += 1; + } + header_.default_is_stmt = *lineptr; lineptr += 1; @@ -1672,6 +1709,32 @@ Sized_dwarf_line_info<size, big_endian>::read_header_prolog( lineptr += 1; } + if (header_.version == DWARF5_EXPERIMENTAL_LINE_TABLE) + { + // Skip over fake empty directory and filename tables, + // and fake extended opcode that hides the rest of the + // section from old consumers. + lineptr += 7; + + // Offsets to logicals and actuals tables. + off_t logicals_offset; + off_t actuals_offset; + if (header_.offset_size == 4) + logicals_offset = elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr); + else + logicals_offset = elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr); + lineptr += header_.offset_size; + if (header_.offset_size == 4) + actuals_offset = elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr); + else + actuals_offset = elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr); + lineptr += header_.offset_size; + + this->logicals_start_ = this->end_of_header_length_ + logicals_offset; + if (actuals_offset > 0) + this->actuals_start_ = this->end_of_header_length_ + actuals_offset; + } + return lineptr; } @@ -1745,12 +1808,180 @@ Sized_dwarf_line_info<size, big_endian>::read_header_tables( return lineptr; } +template<int size, bool big_endian> +const unsigned char* +Sized_dwarf_line_info<size, big_endian>::read_header_tables_v5( + const unsigned char* lineptr) +{ + size_t len; + + ++this->current_header_index_; + + // Create a new directories_ entry and a new files_ entry for our new + // header. We initialize each with a single empty element, because + // dwarf indexes directory and filenames starting at 1. + gold_assert(static_cast<int>(this->directories_.size()) + == this->current_header_index_); + gold_assert(static_cast<int>(this->files_.size()) + == this->current_header_index_); + + // Read the directory list. + uint64_t format_count = read_unsigned_LEB_128(lineptr, &len); + lineptr += len; + + unsigned int *types = new unsigned int[format_count]; + unsigned int *forms = new unsigned int[format_count]; + + for (unsigned int i = 0; i < format_count; i++) + { + types[i] = read_unsigned_LEB_128(lineptr, &len); + lineptr += len; + forms[i] = read_unsigned_LEB_128(lineptr, &len); + lineptr += len; + } + + uint64_t entry_count = read_unsigned_LEB_128(lineptr, &len); + lineptr += len; + this->directories_.push_back(std::vector<std::string>(1)); + std::vector<std::string>& dir_list = this->directories_.back(); + + for (unsigned int j = 0; j < entry_count; j++) + { + std::string dirname; + + for (unsigned int i = 0; i < format_count; i++) + { + if (types[i] == elfcpp::DW_LNCT_path) + { + if (forms[i] == elfcpp::DW_FORM_string) + { + dirname = reinterpret_cast<const char*>(lineptr); + lineptr += dirname.size() + 1; + } + else if (forms[i] == elfcpp::DW_FORM_line_strp) + { + uint64_t offset; + if (header_.offset_size == 4) + offset = elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr); + else + offset = elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr); + typename Reloc_map::const_iterator it + = this->reloc_map_.find(lineptr - this->buffer_); + if (it != reloc_map_.end()) + { + if (this->track_relocs_type_ == elfcpp::SHT_RELA) + offset = 0; + offset += it->second.second; + } + lineptr += header_.offset_size; + dirname = reinterpret_cast<const char*>(this->str_buffer_ + + offset); + } + else + return lineptr; + } + else + return lineptr; + } + dir_list.push_back(dirname); + } + + delete[] types; + delete[] forms; + + // Read the filenames list. + format_count = read_unsigned_LEB_128(lineptr, &len); + lineptr += len; + + types = new unsigned int[format_count]; + forms = new unsigned int[format_count]; + + for (unsigned int i = 0; i < format_count; i++) + { + types[i] = read_unsigned_LEB_128(lineptr, &len); + lineptr += len; + forms[i] = read_unsigned_LEB_128(lineptr, &len); + lineptr += len; + } + + entry_count = read_unsigned_LEB_128(lineptr, &len); + lineptr += len; + this->files_.push_back( + std::vector<std::pair<int, std::string> >(1)); + std::vector<std::pair<int, std::string> >& file_list = this->files_.back(); + + for (unsigned int j = 0; j < entry_count; j++) + { + const char* path = NULL; + int dirindex = 0; + + for (unsigned int i = 0; i < format_count; i++) + { + if (types[i] == elfcpp::DW_LNCT_path) + { + if (forms[i] == elfcpp::DW_FORM_string) + { + path = reinterpret_cast<const char*>(lineptr); + lineptr += strlen(path) + 1; + } + else if (forms[i] == elfcpp::DW_FORM_line_strp) + { + uint64_t offset; + if (header_.offset_size == 4) + offset = elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr); + else + offset = elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr); + typename Reloc_map::const_iterator it + = this->reloc_map_.find(lineptr - this->buffer_); + if (it != reloc_map_.end()) + { + if (this->track_relocs_type_ == elfcpp::SHT_RELA) + offset = 0; + offset += it->second.second; + } + lineptr += header_.offset_size; + path = reinterpret_cast<const char*>(this->str_buffer_ + + offset); + } + else + return lineptr; + } + else if (types[i] == elfcpp::DW_LNCT_directory_index) + { + if (forms[i] == elfcpp::DW_FORM_udata) + { + dirindex = read_unsigned_LEB_128(lineptr, &len); + lineptr += len; + } + else + return lineptr; + } + else + return lineptr; + } + gold_debug(DEBUG_LOCATION, "File %3d: %s", + static_cast<int>(file_list.size()), path); + file_list.push_back(std::make_pair<int, std::string>(dirindex, path)); + } + + delete[] types; + delete[] forms; + + // Ignore the subprograms table; we don't need it for now. + // Because it's the last thing in the header, we don't need + // to figure out how long it is to skip over it. + + return lineptr; +} + // Process a single opcode in the .debug.line structure. template<int size, bool big_endian> bool Sized_dwarf_line_info<size, big_endian>::process_one_opcode( - const unsigned char* start, struct LineStateMachine* lsm, size_t* len) + const unsigned char* start, struct LineStateMachine* lsm, size_t* len, + std::vector<LineStateMachine>* logicals, + bool is_logicals_table, bool is_actuals_table) { size_t oplen = 0; size_t templen; @@ -1794,7 +2025,7 @@ Sized_dwarf_line_info<size, big_endian>::process_one_opcode( case elfcpp::DW_LNS_advance_line: { - const uint64_t advance_line = read_signed_LEB_128(start, &templen); + const int64_t advance_line = read_signed_LEB_128(start, &templen); oplen += templen; lsm->line_num += advance_line; } @@ -1842,6 +2073,61 @@ Sized_dwarf_line_info<size, big_endian>::process_one_opcode( } break; + case elfcpp::DW_LNS_set_subprogram: + // aliased with elfcpp::DW_LNS_set_address_from_logical + if (is_actuals_table) + { + // elfcpp::DW_LNS_set_address_from_logical + const int64_t advance_line = read_signed_LEB_128(start, &templen); + oplen += templen; + lsm->line_num += advance_line; + if (lsm->line_num >= 1 + && lsm->line_num <= static_cast<int64_t>(logicals->size())) + { + const LineStateMachine& logical = (*logicals)[lsm->line_num - 1]; + lsm->address = logical.address; + lsm->shndx = logical.shndx; + } + } + else if (is_logicals_table) + { + // elfcpp::DW_LNS_set_subprogram + // Ignore the subprogram number for now. + read_unsigned_LEB_128(start, &templen); + oplen += templen; + lsm->context = 0; + } + break; + + case elfcpp::DW_LNS_inlined_call: + if (is_logicals_table) + { + const int64_t advance_line = read_signed_LEB_128(start, &templen); + oplen += templen; + start += templen; + // Ignore the subprogram number for now. + read_unsigned_LEB_128(start, &templen); + oplen += templen; + lsm->context = logicals->size() + advance_line; + } + break; + + case elfcpp::DW_LNS_pop_context: + if (is_logicals_table) + { + const unsigned int context = lsm->context; + if (context >= 1 && context <= logicals->size()) + { + const LineStateMachine& logical = (*logicals)[context - 1]; + lsm->file_num = logical.file_num; + lsm->line_num = logical.line_num; + lsm->column_num = logical.column_num; + lsm->is_stmt = logical.is_stmt; + lsm->context = logical.context; + } + } + break; + case elfcpp::DW_LNS_extended_op: { const uint64_t extended_op_len @@ -1939,54 +2225,92 @@ Sized_dwarf_line_info<size, big_endian>::process_one_opcode( template<int size, bool big_endian> unsigned const char* -Sized_dwarf_line_info<size, big_endian>::read_lines(unsigned const char* lineptr, - unsigned int shndx) +Sized_dwarf_line_info<size, big_endian>::read_lines( + unsigned const char* lineptr, + unsigned const char* endptr, + std::vector<LineStateMachine>* logicals, + bool is_logicals_table, + bool is_actuals_table, + unsigned int shndx) { struct LineStateMachine lsm; - // LENGTHSTART is the place the length field is based on. It is the - // point in the header after the initial length field. - const unsigned char* lengthstart = buffer_; - - // In 64 bit dwarf, the initial length is 12 bytes, because of the - // 0xffffffff at the start. - if (header_.offset_size == 8) - lengthstart += 12; - else - lengthstart += 4; - - while (lineptr < lengthstart + header_.total_length) + while (lineptr < endptr) { ResetLineStateMachine(&lsm, header_.default_is_stmt); while (!lsm.end_sequence) { size_t oplength; - bool add_line = this->process_one_opcode(lineptr, &lsm, &oplength); - if (add_line - && (shndx == -1U || lsm.shndx == -1U || shndx == lsm.shndx)) + if (lineptr >= endptr) + break; + + bool add_line = this->process_one_opcode(lineptr, &lsm, &oplength, + logicals, + is_logicals_table, + is_actuals_table); + lineptr += oplength; + + if (add_line) { - Offset_to_lineno_entry entry - = { static_cast<off_t>(lsm.address), - this->current_header_index_, - static_cast<unsigned int>(lsm.file_num), - true, lsm.line_num }; - std::vector<Offset_to_lineno_entry>& - map(this->line_number_map_[lsm.shndx]); - // If we see two consecutive entries with the same - // offset and a real line number, then mark the first - // one as non-canonical. - if (!map.empty() - && (map.back().offset == static_cast<off_t>(lsm.address)) - && lsm.line_num != -1 - && map.back().line_num != -1) - map.back().last_line_for_offset = false; - map.push_back(entry); + if (is_logicals_table) + { + logicals->push_back(lsm); + gold_debug(DEBUG_LOCATION, "Logical %d [%3u:%08x]: " + "file %d line %d context %u", + static_cast<int>(logicals->size()), + lsm.shndx, static_cast<int>(lsm.address), + lsm.file_num, lsm.line_num, lsm.context); + } + else if (shndx == -1U || lsm.shndx == -1U || shndx == lsm.shndx) + { + Offset_to_lineno_entry entry; + + if (is_actuals_table && lsm.line_num != -1) + { + if (lsm.line_num < 1 + || lsm.line_num > static_cast<int64_t>(logicals->size())) + continue; + const LineStateMachine& logical = + (*logicals)[lsm.line_num - 1]; + gold_debug(DEBUG_LOCATION, "Actual [%3u:%08x]: " + "logical %u file %d line %d context %u", + lsm.shndx, static_cast<int>(lsm.address), + lsm.line_num, logical.file_num, + logical.line_num, lsm.context); + entry.offset = static_cast<off_t>(lsm.address); + entry.header_num = this->current_header_index_; + entry.file_num = + static_cast<unsigned int>(logical.file_num); + entry.last_line_for_offset = true; + entry.line_num = logical.line_num; + } + else + { + entry.offset = static_cast<off_t>(lsm.address); + entry.header_num = this->current_header_index_; + entry.file_num = static_cast<unsigned int>(lsm.file_num); + entry.last_line_for_offset = true; + entry.line_num = lsm.line_num; + } + + std::vector<Offset_to_lineno_entry>& + map(this->line_number_map_[lsm.shndx]); + // If we see two consecutive entries with the same + // offset and a real line number, then mark the first + // one as non-canonical. + if (!map.empty() + && (map.back().offset == static_cast<off_t>(lsm.address)) + && lsm.line_num != -1 + && map.back().line_num != -1) + map.back().last_line_for_offset = false; + map.push_back(entry); + } } - lineptr += oplength; + } } - return lengthstart + header_.total_length; + return endptr; } // Read the relocations into a Reloc_map. @@ -2026,10 +2350,48 @@ Sized_dwarf_line_info<size, big_endian>::read_line_mappings(unsigned int shndx) while (this->buffer_ < this->buffer_end_) { const unsigned char* lineptr = this->buffer_; + std::vector<LineStateMachine> logicals; + lineptr = this->read_header_prolog(lineptr); - lineptr = this->read_header_tables(lineptr); - lineptr = this->read_lines(lineptr, shndx); - this->buffer_ = lineptr; + if (header_.version >= 2 && header_.version <= 4) + { + lineptr = this->read_header_tables(lineptr); + lineptr = this->read_lines(this->logicals_start_, + this->end_of_unit_, + NULL, + false, + false, + shndx); + } + else if (header_.version == DWARF5_EXPERIMENTAL_LINE_TABLE) + { + lineptr = this->read_header_tables_v5(lineptr); + if (this->actuals_start_ != NULL) + { + lineptr = this->read_lines(this->logicals_start_, + this->actuals_start_, + &logicals, + true, + false, + shndx); + lineptr = this->read_lines(this->actuals_start_, + this->end_of_unit_, + &logicals, + false, + true, + shndx); + } + else + { + lineptr = this->read_lines(this->logicals_start_, + this->end_of_unit_, + NULL, + false, + false, + shndx); + } + } + this->buffer_ = this->end_of_unit_; } // Sort the lines numbers, so addr2line can use binary search. @@ -2185,6 +2547,9 @@ Sized_dwarf_line_info<size, big_endian>::do_addr2line( off_t offset, std::vector<std::string>* other_lines) { + gold_debug(DEBUG_LOCATION, "do_addr2line: shndx %u offset %08x", + shndx, static_cast<int>(offset)); + if (this->data_valid_ == false) return ""; @@ -2205,13 +2570,33 @@ Sized_dwarf_line_info<size, big_endian>::do_addr2line( return ""; std::string result = this->format_file_lineno(*it); + gold_debug(DEBUG_LOCATION, "do_addr2line: canonical result: %s", + result.c_str()); if (other_lines != NULL) - for (++it; it != offsets->end() && it->offset == offset; ++it) - { - if (it->line_num == -1) - continue; // The end of a previous function. - other_lines->push_back(this->format_file_lineno(*it)); - } + { + unsigned int last_file_num = it->file_num; + int last_line_num = it->line_num; + // Return up to 4 more locations from the beginning of the function + // for fuzzy matching. + for (++it; it != offsets->end(); ++it) + { + if (it->offset == offset && it->line_num == -1) + continue; // The end of a previous function. + if (it->line_num == -1) + break; // The end of the current function. + if (it->file_num != last_file_num || it->line_num != last_line_num) + { + other_lines->push_back(this->format_file_lineno(*it)); + gold_debug(DEBUG_LOCATION, "do_addr2line: other: %s", + other_lines->back().c_str()); + last_file_num = it->file_num; + last_line_num = it->line_num; + } + if (it->offset > offset && other_lines->size() >= 4) + break; + } + } + return result; } diff --git a/binutils-2.25/gold/dwarf_reader.h b/binutils-2.25/gold/dwarf_reader.h index 0792c1c..6666913 100644 --- a/binutils-2.25/gold/dwarf_reader.h +++ b/binutils-2.25/gold/dwarf_reader.h @@ -1,6 +1,6 @@ // dwarf_reader.h -- parse dwarf2/3 debug information for gold -*- C++ -*- -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -1001,9 +1001,13 @@ class Sized_dwarf_line_info : public Dwarf_line_info { if (this->buffer_start_ != NULL) delete[] this->buffer_start_; + if (this->str_buffer_start_ != NULL) + delete[] this->str_buffer_start_; } private: + const static int DWARF5_EXPERIMENTAL_LINE_TABLE = 0xf006; + std::string do_addr2line(unsigned int shndx, off_t offset, std::vector<std::string>* other_lines); @@ -1031,11 +1035,17 @@ class Sized_dwarf_line_info : public Dwarf_line_info const unsigned char* read_header_tables(const unsigned char* lineptr); + const unsigned char* + read_header_tables_v5(const unsigned char* lineptr); + // Reads the DWARF2/3 line information. If shndx is non-negative, // discard all line information that doesn't pertain to the given // section. const unsigned char* - read_lines(const unsigned char* lineptr, unsigned int shndx); + read_lines(const unsigned char* lineptr, const unsigned char* endptr, + std::vector<LineStateMachine>* logicals, + bool is_logicals_table, bool is_actuals_table, + unsigned int shndx); // Process a single line info opcode at START using the state // machine at LSM. Return true if we should define a line using the @@ -1043,7 +1053,9 @@ class Sized_dwarf_line_info : public Dwarf_line_info // opcode in LEN. bool process_one_opcode(const unsigned char* start, - struct LineStateMachine* lsm, size_t* len); + struct LineStateMachine* lsm, size_t* len, + std::vector<LineStateMachine>* logicals, + bool is_logicals_table, bool is_actuals_table); // Some parts of processing differ depending on whether the input // was a .o file or not. @@ -1064,6 +1076,7 @@ class Sized_dwarf_line_info : public Dwarf_line_info int version; off_t prologue_length; int min_insn_length; // insn stands for instructin + int max_ops_per_insn; bool default_is_stmt; // stmt stands for statement signed char line_base; int line_range; @@ -1081,6 +1094,26 @@ class Sized_dwarf_line_info : public Dwarf_line_info // of the buffer. const unsigned char* buffer_start_; + // buffer is the buffer for our line info, starting at exactly where + // the line info to read is. + const unsigned char* str_buffer_; + const unsigned char* str_buffer_end_; + // If the buffer was allocated temporarily, and therefore must be + // deallocated in the dtor, this contains a pointer to the start + // of the buffer. + const unsigned char* str_buffer_start_; + + // Pointer to the end of the header_length field (aka prologue_length). + // The offsets to the line number programs are relative to this point. + const unsigned char* end_of_header_length_; + + // Pointers to the start of the line number programs. + const unsigned char* logicals_start_; + const unsigned char* actuals_start_; + + // Pointer to the end of the current compilation unit. + const unsigned char* end_of_unit_; + // This has relocations that point into buffer. Sized_elf_reloc_mapper<size, big_endian>* reloc_mapper_; // The type of the reloc section in track_relocs_--SHT_REL or SHT_RELA. diff --git a/binutils-2.25/gold/dwp.cc b/binutils-2.25/gold/dwp.cc index d5e19ef..121f37b 100644 --- a/binutils-2.25/gold/dwp.cc +++ b/binutils-2.25/gold/dwp.cc @@ -1,6 +1,6 @@ // dwp.cc -- DWARF packaging utility -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of dwp, the DWARF packaging utility. @@ -284,14 +284,6 @@ class Sized_relobj_dwo : public Sized_relobj<size, big_endian> const unsigned char* do_section_contents(unsigned int, section_size_type*, bool); - // Return a view of the uncompressed contents of a section. Set *PLEN - // to the size. Set *IS_NEW to true if the contents need to be deleted - // by the caller. - const unsigned char* - do_decompressed_section_contents(unsigned int shndx, - section_size_type* plen, - bool* is_new); - // The following virtual functions are abstract in the base classes, // but are not used here. @@ -781,9 +773,36 @@ template <int size, bool big_endian> void Sized_relobj_dwo<size, big_endian>::setup() { + const int shdr_size = elfcpp::Elf_sizes<size>::shdr_size; + const off_t shoff = this->elf_file_.shoff(); const unsigned int shnum = this->elf_file_.shnum(); + this->set_shnum(shnum); this->section_offsets().resize(shnum); + + // Read the section headers. + const unsigned char* const pshdrs = this->get_view(shoff, shnum * shdr_size, + true, false); + + // Read the section names. + const unsigned char* pshdrnames = + pshdrs + this->elf_file_.shstrndx() * shdr_size; + typename elfcpp::Shdr<size, big_endian> shdrnames(pshdrnames); + if (shdrnames.get_sh_type() != elfcpp::SHT_STRTAB) + this->error(_("section name section has wrong type: %u"), + static_cast<unsigned int>(shdrnames.get_sh_type())); + section_size_type section_names_size = + convert_to_section_size_type(shdrnames.get_sh_size()); + const unsigned char* namesu = this->get_view(shdrnames.get_sh_offset(), + section_names_size, false, + false); + const char* names = reinterpret_cast<const char*>(namesu); + + Compressed_section_map* compressed_sections = + build_compressed_section_map<size, big_endian>( + pshdrs, this->shnum(), names, section_names_size, this, true); + if (compressed_sections != NULL && !compressed_sections->empty()) + this->set_compressed_sections(compressed_sections); } // Return a view of the contents of a section. @@ -805,43 +824,6 @@ Sized_relobj_dwo<size, big_endian>::do_section_contents( return this->get_view(loc.file_offset, *plen, true, cache); } -// Return a view of the uncompressed contents of a section. Set *PLEN -// to the size. Set *IS_NEW to true if the contents need to be deleted -// by the caller. - -template <int size, bool big_endian> -const unsigned char* -Sized_relobj_dwo<size, big_endian>::do_decompressed_section_contents( - unsigned int shndx, - section_size_type* plen, - bool* is_new) -{ - section_size_type buffer_size; - const unsigned char* buffer = this->do_section_contents(shndx, &buffer_size, - false); - - std::string sect_name = this->do_section_name(shndx); - if (!is_prefix_of(".zdebug_", sect_name.c_str())) - { - *plen = buffer_size; - *is_new = false; - return buffer; - } - - section_size_type uncompressed_size = get_uncompressed_size(buffer, - buffer_size); - unsigned char* uncompressed_data = new unsigned char[uncompressed_size]; - if (!decompress_input_section(buffer, - buffer_size, - uncompressed_data, - uncompressed_size)) - this->error(_("could not decompress section %s"), - this->section_name(shndx).c_str()); - *plen = uncompressed_size; - *is_new = true; - return uncompressed_data; -} - // Class Dwo_file. Dwo_file::~Dwo_file() diff --git a/binutils-2.25/gold/dwp.h b/binutils-2.25/gold/dwp.h index cf628f1..6b57eaa 100644 --- a/binutils-2.25/gold/dwp.h +++ b/binutils-2.25/gold/dwp.h @@ -1,6 +1,6 @@ // dwp.h -- general definitions for dwp. -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of dwp, the DWARF packaging utility. diff --git a/binutils-2.25/gold/dynobj.cc b/binutils-2.25/gold/dynobj.cc index 8bf6251..3c5fca9 100644 --- a/binutils-2.25/gold/dynobj.cc +++ b/binutils-2.25/gold/dynobj.cc @@ -1,6 +1,6 @@ // dynobj.cc -- dynamic object support for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -374,6 +374,17 @@ Sized_dynobj<size, big_endian>::base_read_symbols(Read_symbols_data* sd) sd->verneed_size = 0; sd->verneed_info = 0; + const unsigned char* namesu = sd->section_names->data(); + const char* names = reinterpret_cast<const char*>(namesu); + if (memmem(names, sd->section_names_size, ".zdebug_", 8) != NULL) + { + Compressed_section_map* compressed_sections = + build_compressed_section_map<size, big_endian>( + pshdrs, this->shnum(), names, sd->section_names_size, this, true); + if (compressed_sections != NULL) + this->set_compressed_sections(compressed_sections); + } + if (this->dynsym_shndx_ != -1U) { // Get the dynamic symbols. diff --git a/binutils-2.25/gold/dynobj.h b/binutils-2.25/gold/dynobj.h index b7c60f8..c20ed20 100644 --- a/binutils-2.25/gold/dynobj.h +++ b/binutils-2.25/gold/dynobj.h @@ -1,6 +1,6 @@ // dynobj.h -- dynamic object support for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/ehframe.cc b/binutils-2.25/gold/ehframe.cc index faea1a8..4f92618 100644 --- a/binutils-2.25/gold/ehframe.cc +++ b/binutils-2.25/gold/ehframe.cc @@ -1,6 +1,6 @@ // ehframe.cc -- handle exception frame sections for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -567,7 +567,7 @@ Eh_frame::skip_leb128(const unsigned char** pp, const unsigned char* pend) // section. template<int size, bool big_endian> -bool +Eh_frame::Eh_frame_section_disposition Eh_frame::add_ehframe_input_section( Sized_relobj_file<size, big_endian>* object, const unsigned char* symbols, @@ -584,7 +584,7 @@ Eh_frame::add_ehframe_input_section( &contents_len, false); if (contents_len == 0) - return false; + return EH_EMPTY_SECTION; // If this is the marker section for the end of the data, then // return false to force it to be handled as an ordinary input @@ -592,7 +592,7 @@ Eh_frame::add_ehframe_input_section( // of unrecognized .eh_frame sections. if (contents_len == 4 && elfcpp::Swap<32, big_endian>::readval(pcontents) == 0) - return false; + return EH_END_MARKER_SECTION; New_cies new_cies; if (!this->do_add_ehframe_input_section(object, symbols, symbols_size, @@ -609,7 +609,7 @@ Eh_frame::add_ehframe_input_section( ++p) delete p->first; - return false; + return EH_UNRECOGNIZED_SECTION; } // Now that we know we are using this section, record any new CIEs @@ -624,7 +624,7 @@ Eh_frame::add_ehframe_input_section( this->unmergeable_cie_offsets_.push_back(p->first); } - return true; + return EH_OPTIMIZABLE_SECTION; } // The bulk of the implementation of add_ehframe_input_section. @@ -1215,7 +1215,7 @@ Eh_frame::do_sized_write(unsigned char* oview) #ifdef HAVE_TARGET_32_LITTLE template -bool +Eh_frame::Eh_frame_section_disposition Eh_frame::add_ehframe_input_section<32, false>( Sized_relobj_file<32, false>* object, const unsigned char* symbols, @@ -1229,7 +1229,7 @@ Eh_frame::add_ehframe_input_section<32, false>( #ifdef HAVE_TARGET_32_BIG template -bool +Eh_frame::Eh_frame_section_disposition Eh_frame::add_ehframe_input_section<32, true>( Sized_relobj_file<32, true>* object, const unsigned char* symbols, @@ -1243,7 +1243,7 @@ Eh_frame::add_ehframe_input_section<32, true>( #ifdef HAVE_TARGET_64_LITTLE template -bool +Eh_frame::Eh_frame_section_disposition Eh_frame::add_ehframe_input_section<64, false>( Sized_relobj_file<64, false>* object, const unsigned char* symbols, @@ -1257,7 +1257,7 @@ Eh_frame::add_ehframe_input_section<64, false>( #ifdef HAVE_TARGET_64_BIG template -bool +Eh_frame::Eh_frame_section_disposition Eh_frame::add_ehframe_input_section<64, true>( Sized_relobj_file<64, true>* object, const unsigned char* symbols, diff --git a/binutils-2.25/gold/ehframe.h b/binutils-2.25/gold/ehframe.h index aa2bd31..e9c9da8 100644 --- a/binutils-2.25/gold/ehframe.h +++ b/binutils-2.25/gold/ehframe.h @@ -1,6 +1,6 @@ // ehframe.h -- handle exception frame sections for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -358,6 +358,14 @@ extern bool operator==(const Cie&, const Cie&); class Eh_frame : public Output_section_data { public: + enum Eh_frame_section_disposition + { + EH_EMPTY_SECTION, + EH_UNRECOGNIZED_SECTION, + EH_OPTIMIZABLE_SECTION, + EH_END_MARKER_SECTION + }; + Eh_frame(); // Record the associated Eh_frame_hdr, if any. @@ -373,7 +381,7 @@ class Eh_frame : public Output_section_data // returns whether the section was incorporated into the .eh_frame // data. template<int size, bool big_endian> - bool + Eh_frame_section_disposition add_ehframe_input_section(Sized_relobj_file<size, big_endian>* object, const unsigned char* symbols, section_size_type symbols_size, diff --git a/binutils-2.25/gold/errors.cc b/binutils-2.25/gold/errors.cc index d81b2aa..d7881ac 100644 --- a/binutils-2.25/gold/errors.cc +++ b/binutils-2.25/gold/errors.cc @@ -1,6 +1,6 @@ // errors.cc -- handle errors for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -196,7 +196,8 @@ Errors::undefined_symbol(const Symbol* sym, const std::string& location) if (sym->is_cxx_vtable()) gold_info(_("%s: the vtable symbol may be undefined because " - "the class is missing its key function"), + "the class is missing its key function" + " (see go/missingkeymethod)"), program_name); } diff --git a/binutils-2.25/gold/errors.h b/binutils-2.25/gold/errors.h index 99542c1..ea8f992 100644 --- a/binutils-2.25/gold/errors.h +++ b/binutils-2.25/gold/errors.h @@ -1,6 +1,6 @@ // errors.h -- handle errors for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/expression.cc b/binutils-2.25/gold/expression.cc index a64fa42..61a3eaf 100644 --- a/binutils-2.25/gold/expression.cc +++ b/binutils-2.25/gold/expression.cc @@ -1,6 +1,6 @@ // expression.cc -- expressions in linker scripts for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/ffsll.c b/binutils-2.25/gold/ffsll.c index 3700b6e..292ad80 100644 --- a/binutils-2.25/gold/ffsll.c +++ b/binutils-2.25/gold/ffsll.c @@ -1,6 +1,6 @@ /* ffsll.c -- version of ffsll for gold. */ -/* Copyright (C) 2009-2015 Free Software Foundation, Inc. +/* Copyright (C) 2009-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/fileread.cc b/binutils-2.25/gold/fileread.cc index 0bd8320..ff0b2e8 100644 --- a/binutils-2.25/gold/fileread.cc +++ b/binutils-2.25/gold/fileread.cc @@ -1,6 +1,6 @@ // fileread.cc -- read files for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/fileread.h b/binutils-2.25/gold/fileread.h index 601e7b0..d64f18a 100644 --- a/binutils-2.25/gold/fileread.h +++ b/binutils-2.25/gold/fileread.h @@ -1,6 +1,6 @@ // fileread.h -- read files for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/freebsd.h b/binutils-2.25/gold/freebsd.h index 6f121d9..737da90 100644 --- a/binutils-2.25/gold/freebsd.h +++ b/binutils-2.25/gold/freebsd.h @@ -1,6 +1,6 @@ // freebsd.h -- FreeBSD support for gold -*- C++ -*- -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/ftruncate.c b/binutils-2.25/gold/ftruncate.c index ae9e5e2..00f357f 100644 --- a/binutils-2.25/gold/ftruncate.c +++ b/binutils-2.25/gold/ftruncate.c @@ -1,7 +1,7 @@ /* ftruncate emulations that work on some System V's. This file is in the public domain. */ -/* Copyright (C) 2012-2015 Free Software Foundation, Inc. +/* Copyright (C) 2012-2014 Free Software Foundation, Inc. This file is part of gold. diff --git a/binutils-2.25/gold/gc.cc b/binutils-2.25/gold/gc.cc index 843b2b8..4759c00 100644 --- a/binutils-2.25/gold/gc.cc +++ b/binutils-2.25/gold/gc.cc @@ -1,6 +1,6 @@ // gc.cc -- garbage collection of unused sections -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/gc.h b/binutils-2.25/gold/gc.h index be4a63c..0efd2f5 100644 --- a/binutils-2.25/gold/gc.h +++ b/binutils-2.25/gold/gc.h @@ -1,6 +1,6 @@ // gc.h -- garbage collection of unused sections -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/gdb-index.cc b/binutils-2.25/gold/gdb-index.cc index 666ee70..7a64d4d 100644 --- a/binutils-2.25/gold/gdb-index.cc +++ b/binutils-2.25/gold/gdb-index.cc @@ -1,6 +1,6 @@ // gdb-index.cc -- generate .gdb_index section for fast debug lookup -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/gdb-index.h b/binutils-2.25/gold/gdb-index.h index db0c296..97dfc8f 100644 --- a/binutils-2.25/gold/gdb-index.h +++ b/binutils-2.25/gold/gdb-index.h @@ -1,6 +1,6 @@ // gdb-index.h -- generate .gdb_index section for fast debug lookup -*- C++ -*- -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/gold-threads.cc b/binutils-2.25/gold/gold-threads.cc index 45140e0..07b51ad 100644 --- a/binutils-2.25/gold/gold-threads.cc +++ b/binutils-2.25/gold/gold-threads.cc @@ -1,6 +1,6 @@ // gold-threads.cc -- thread support for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -102,7 +102,7 @@ Lock_impl_threads::Lock_impl_threads() if (err != 0) gold_fatal(_("pthead_mutextattr_init failed: %s"), strerror(err)); #ifdef PTHREAD_MUTEX_ADAPTIVE_NP - err = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP); + err = pthread_mutextattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP); if (err != 0) gold_fatal(_("pthread_mutextattr_settype failed: %s"), strerror(err)); #endif @@ -293,7 +293,7 @@ class Once_initialize // extended initializer list as above */ { pthread_once_t once_2 = PTHREAD_ONCE_INIT; - once_ = once_2; + once_ = once_2; } #endif diff --git a/binutils-2.25/gold/gold-threads.h b/binutils-2.25/gold/gold-threads.h index cc6c9ec..571cb94 100644 --- a/binutils-2.25/gold/gold-threads.h +++ b/binutils-2.25/gold/gold-threads.h @@ -1,6 +1,6 @@ // gold-threads.h -- thread support for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/gold.cc b/binutils-2.25/gold/gold.cc index ab15980..eccbc58 100644 --- a/binutils-2.25/gold/gold.cc +++ b/binutils-2.25/gold/gold.cc @@ -1,6 +1,6 @@ // gold.cc -- main linker functions -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -552,6 +552,61 @@ queue_middle_tasks(const General_options& options, plugins->layout_deferred_objects(); } + // We have to support the case of not seeing any input objects, and + // generate an empty file. Existing builds depend on being able to + // pass an empty archive to the linker and get an empty object file + // out. In order to do this we need to use a default target. + if (input_objects->number_of_input_objects() == 0 + && layout->incremental_base() == NULL) + parameters_force_valid_target(); + + // TODO(tmsriram): figure out a more principled way to get the target + Target* target = const_cast<Target*>(¶meters->target()); + + // Check if we need to disable PIE because of an unsafe data segment size. + // Go through each Output section and get the size. At this point, we do not + // have the exact size of the data segment but this is a very close estimate. + // We are doing this here because disabling PIE later is too late. Further, + // if we miss some cases which are on the edge, it will be caught later in + // layout.cc where we check with the exact size of the data segment and warn + // if it is breached. + if (parameters->options().disable_pie_when_unsafe_data_size() + && parameters->options().pie() && target->max_pie_data_segment_size()) + { + uint64_t segment_size = 0; + for (Layout::Section_list::const_iterator p = layout->section_list().begin(); + p != layout->section_list().end(); + ++p) + { + Output_section *os = *p; + if (os->is_section_flag_set(elfcpp::SHF_ALLOC) + && os->is_section_flag_set(elfcpp::SHF_WRITE)) + { + segment_size += os->current_data_size(); + } + // Count read-only sections if --rosegment is set. + else if (parameters->options().rosegment() + && os->is_section_flag_set(elfcpp::SHF_ALLOC) + && !os->is_section_flag_set(elfcpp::SHF_EXECINSTR)) + { + segment_size += os->current_data_size(); + } + } + // Should we inflate the value of segment_size to account for relaxation? + // If we miss disabling PIE here, the check in layout.cc will catch it + // perfectly and warn. So, this is fine. + if (segment_size >= target->max_pie_data_segment_size()) + { + gold_info(_("The data segment size (%ld > %ld) is likely unsafe and" + " PIE has been disabled for this link. See go/unsafe-pie."), + segment_size, target->max_pie_data_segment_size()); + const_cast<General_options*>(¶meters->options())->set_pie_value(false); + } + } + + // Finalize the .eh_frame section. + layout->finalize_eh_frame_section(); + /* If plugins have specified a section order, re-arrange input sections according to a specified section order. If --section-ordering-file is also specified, do not do anything here. */ @@ -586,14 +641,6 @@ queue_middle_tasks(const General_options& options, } } - // We have to support the case of not seeing any input objects, and - // generate an empty file. Existing builds depend on being able to - // pass an empty archive to the linker and get an empty object file - // out. In order to do this we need to use a default target. - if (input_objects->number_of_input_objects() == 0 - && layout->incremental_base() == NULL) - parameters_force_valid_target(); - int thread_count = options.thread_count_middle(); if (thread_count == 0) thread_count = std::max(2, input_objects->number_of_input_objects()); @@ -672,9 +719,6 @@ queue_middle_tasks(const General_options& options, // Define symbols from any linker scripts. layout->define_script_symbols(symtab); - // TODO(csilvers): figure out a more principled way to get the target - Target* target = const_cast<Target*>(¶meters->target()); - // Attach sections to segments. layout->attach_sections_to_segments(target); diff --git a/binutils-2.25/gold/gold.h b/binutils-2.25/gold/gold.h index 9dfafc8..b78a165 100644 --- a/binutils-2.25/gold/gold.h +++ b/binutils-2.25/gold/gold.h @@ -1,6 +1,6 @@ // gold.h -- general definitions for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/i386.cc b/binutils-2.25/gold/i386.cc index eb5fbf7..80d58e2 100644 --- a/binutils-2.25/gold/i386.cc +++ b/binutils-2.25/gold/i386.cc @@ -1,6 +1,6 @@ // i386.cc -- i386 target support for gold. -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/icf.cc b/binutils-2.25/gold/icf.cc index 8de6386..ad88715 100644 --- a/binutils-2.25/gold/icf.cc +++ b/binutils-2.25/gold/icf.cc @@ -1,6 +1,6 @@ // icf.cc -- Identical Code Folding. // -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/icf.h b/binutils-2.25/gold/icf.h index d343fa5..3118642 100644 --- a/binutils-2.25/gold/icf.h +++ b/binutils-2.25/gold/icf.h @@ -1,6 +1,6 @@ // icf.h -- Identical Code Folding -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/incremental-dump.cc b/binutils-2.25/gold/incremental-dump.cc index 6b64781..8ef16cf 100644 --- a/binutils-2.25/gold/incremental-dump.cc +++ b/binutils-2.25/gold/incremental-dump.cc @@ -1,6 +1,6 @@ // incremental.cc -- incremental linking test/debug tool -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Rafael Avila de Espindola <rafael.espindola@gmail.com> // This file is part of gold. diff --git a/binutils-2.25/gold/incremental.cc b/binutils-2.25/gold/incremental.cc index b4fff11..b04e471 100644 --- a/binutils-2.25/gold/incremental.cc +++ b/binutils-2.25/gold/incremental.cc @@ -1,6 +1,6 @@ // inremental.cc -- incremental linking support for gold -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Mikolaj Zalewski <mikolajz@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/incremental.h b/binutils-2.25/gold/incremental.h index 493cbd2..5440c86 100644 --- a/binutils-2.25/gold/incremental.h +++ b/binutils-2.25/gold/incremental.h @@ -1,6 +1,6 @@ // inremental.h -- incremental linking support for gold -*- C++ -*- -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Mikolaj Zalewski <mikolajz@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/int_encoding.cc b/binutils-2.25/gold/int_encoding.cc index 4973fbf..f949d9a 100644 --- a/binutils-2.25/gold/int_encoding.cc +++ b/binutils-2.25/gold/int_encoding.cc @@ -1,6 +1,6 @@ // int_encoding.cc -- variable length and unaligned integer encoding support. -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Doug Kwan <dougkwan@google.com> by refactoring scattered // contents from other files in gold. Original code written by Ian // Lance Taylor <iant@google.com> and Caleb Howe <cshowe@google.com>. diff --git a/binutils-2.25/gold/int_encoding.h b/binutils-2.25/gold/int_encoding.h index 07c5f45..da4a2da 100644 --- a/binutils-2.25/gold/int_encoding.h +++ b/binutils-2.25/gold/int_encoding.h @@ -1,6 +1,6 @@ // int_encoding.h -- variable length and unaligned integers -*- C++ -*- -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Doug Kwan <dougkwan@google.com> by refactoring scattered // contents from other files in gold. Original code written by Ian // Lance Taylor <iant@google.com> and Caleb Howe <cshowe@google.com>. diff --git a/binutils-2.25/gold/layout.cc b/binutils-2.25/gold/layout.cc index 7836640..8b3a619 100644 --- a/binutils-2.25/gold/layout.cc +++ b/binutils-2.25/gold/layout.cc @@ -1,6 +1,6 @@ // layout.cc -- lay out output file sections for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -1420,15 +1420,21 @@ Layout::layout_eh_frame(Sized_relobj_file<size, big_endian>* object, elfcpp::Elf_Xword orig_flags = os->flags(); - if (!parameters->incremental() - && this->eh_frame_data_->add_ehframe_input_section(object, - symbols, - symbols_size, - symbol_names, - symbol_names_size, - shndx, - reloc_shndx, - reloc_type)) + Eh_frame::Eh_frame_section_disposition disp = + Eh_frame::EH_UNRECOGNIZED_SECTION; + if (!parameters->incremental()) + { + disp = this->eh_frame_data_->add_ehframe_input_section(object, + symbols, + symbols_size, + symbol_names, + symbol_names_size, + shndx, + reloc_shndx, + reloc_type); + } + + if (disp == Eh_frame::EH_OPTIMIZABLE_SECTION) { os->update_flags_for_input_section(shdr.get_sh_flags()); @@ -1440,35 +1446,49 @@ Layout::layout_eh_frame(Sized_relobj_file<size, big_endian>* object, os->set_order(ORDER_RELRO); } - // We found a .eh_frame section we are going to optimize, so now - // we can add the set of optimized sections to the output - // section. We need to postpone adding this until we've found a - // section we can optimize so that the .eh_frame section in - // crtbegin.o winds up at the start of the output section. - if (!this->added_eh_frame_data_) - { - os->add_output_section_data(this->eh_frame_data_); - this->added_eh_frame_data_ = true; - } *off = -1; + return os; } - else + + if (disp == Eh_frame::EH_END_MARKER_SECTION && !this->added_eh_frame_data_) { - // We couldn't handle this .eh_frame section for some reason. - // Add it as a normal section. - bool saw_sections_clause = this->script_options_->saw_sections_clause(); - *off = os->add_input_section(this, object, shndx, ".eh_frame", shdr, - reloc_shndx, saw_sections_clause); - this->have_added_input_section_ = true; + // We found the end marker section, so now we can add the set of + // optimized sections to the output section. We need to postpone + // adding this until we've found a section we can optimize so that + // the .eh_frame section in crtbeginT.o winds up at the start of + // the output section. + os->add_output_section_data(this->eh_frame_data_); + this->added_eh_frame_data_ = true; + } - if ((orig_flags & (elfcpp::SHF_WRITE | elfcpp::SHF_EXECINSTR)) - != (os->flags() & (elfcpp::SHF_WRITE | elfcpp::SHF_EXECINSTR))) - os->set_order(this->default_section_order(os, false)); - } + // We couldn't handle this .eh_frame section for some reason. + // Add it as a normal section. + bool saw_sections_clause = this->script_options_->saw_sections_clause(); + *off = os->add_input_section(this, object, shndx, ".eh_frame", shdr, + reloc_shndx, saw_sections_clause); + this->have_added_input_section_ = true; + + if ((orig_flags & (elfcpp::SHF_WRITE | elfcpp::SHF_EXECINSTR)) + != (os->flags() & (elfcpp::SHF_WRITE | elfcpp::SHF_EXECINSTR))) + os->set_order(this->default_section_order(os, false)); return os; } +void +Layout::finalize_eh_frame_section() +{ + // If we never found an end marker section, we need to add the + // optimized eh sections to the output section now. + if (!parameters->incremental() + && this->eh_frame_section_ != NULL + && !this->added_eh_frame_data_) + { + this->eh_frame_section_->add_output_section_data(this->eh_frame_data_); + this->added_eh_frame_data_ = true; + } +} + // Create and return the magic .eh_frame section. Create // .eh_frame_hdr also if appropriate. OBJECT is the object with the // input .eh_frame section; it may be NULL. @@ -2755,6 +2775,51 @@ Layout::finalize(const Input_objects* input_objects, Symbol_table* symtab, while (target->may_relax() && target->relax(pass, input_objects, symtab, this, task)); + // Check if data segment size is less than the safe value with PIE links. + // Warn about bug http://b/20165734 for unsafe sizes. + if (parameters->options().pie() && target->max_pie_data_segment_size()) + { + Segment_list::const_iterator p; + uint64_t re_vaddr = 0, re_memsz = 0, rw_vaddr = 0, rw_memsz = 0; + uint64_t data_seg_size = 0; + for (p = this->segment_list_.begin(); + p != this->segment_list_.end(); + ++p) + { + // With -Wl,--rosegment, note the end addr of "R E" segment. + if (parameters->options().rosegment() + && (*p)->type() == elfcpp::PT_LOAD + && ((*p)->flags() & elfcpp::PF_X) != 0 + && ((*p)->flags() & elfcpp::PF_R) != 0) + { + re_vaddr = (*p)->vaddr(); + re_memsz = (*p)->memsz(); + continue; + } + if ((*p)->type() == elfcpp::PT_LOAD + && ((*p)->flags() & elfcpp::PF_W) != 0 + && ((*p)->flags() & elfcpp::PF_R) != 0) + { + rw_vaddr = (*p)->vaddr(); + rw_memsz = (*p)->memsz(); + break; + } + } + + // With -Wl,--rosegment, report data segment size as delta of end of + // "RW" segment and end of "R E" segment. Otherwise, data segment + // size is just the memsz of "RW" segment. + if (parameters->options().rosegment()) + data_seg_size = (rw_vaddr + rw_memsz) - (re_vaddr + re_memsz); + else + data_seg_size = rw_memsz; + + if (data_seg_size >= target->max_pie_data_segment_size()) + gold_warning(_("Unsafe PIE data segment size (%ld > %ld). See " + "go/unsafe-pie."), + data_seg_size, target->max_pie_data_segment_size()); + } + // If there is a load segment that contains the file and program headers, // provide a symbol __ehdr_start pointing there. // A program can use this to examine itself robustly. @@ -4989,6 +5054,8 @@ const Layout::Section_name_mapping Layout::section_name_mapping[] = MAPPING_INIT(".gnu.linkonce.armextab.", ".ARM.extab"), MAPPING_INIT(".ARM.exidx", ".ARM.exidx"), MAPPING_INIT(".gnu.linkonce.armexidx.", ".ARM.exidx"), + MAPPING_INIT("_function_patch_prologue.", "_function_patch_prologue"), + MAPPING_INIT("_function_patch_epilogue.", "_function_patch_epilogue"), }; #undef MAPPING_INIT #undef MAPPING_INIT_EXACT diff --git a/binutils-2.25/gold/layout.h b/binutils-2.25/gold/layout.h index aec0c53..82177bb 100644 --- a/binutils-2.25/gold/layout.h +++ b/binutils-2.25/gold/layout.h @@ -1,6 +1,6 @@ // layout.h -- lay out output file sections for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -635,6 +635,12 @@ class Layout unsigned int reloc_shndx, unsigned int reloc_type, off_t* offset); + // After processing all input files, we call this to make sure that + // the optimized .eh_frame sections have been added to the output + // section. + void + finalize_eh_frame_section(); + // Add .eh_frame information for a PLT. The FDE must start with a // 4-byte PC-relative reference to the start of the PLT, followed by // a 4-byte size of PLT. diff --git a/binutils-2.25/gold/main.cc b/binutils-2.25/gold/main.cc index c5e50d6..bb86613 100644 --- a/binutils-2.25/gold/main.cc +++ b/binutils-2.25/gold/main.cc @@ -1,6 +1,6 @@ // main.cc -- gold main function. -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/mapfile.cc b/binutils-2.25/gold/mapfile.cc index f2a9c42..c6d7ed2 100644 --- a/binutils-2.25/gold/mapfile.cc +++ b/binutils-2.25/gold/mapfile.cc @@ -1,6 +1,6 @@ // mapfile.cc -- map file generation for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/mapfile.h b/binutils-2.25/gold/mapfile.h index 4cc0d02..da158db 100644 --- a/binutils-2.25/gold/mapfile.h +++ b/binutils-2.25/gold/mapfile.h @@ -1,6 +1,6 @@ // mapfile.h -- map file generation for gold -*- C++ -*- -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/merge.cc b/binutils-2.25/gold/merge.cc index bf00481..efd8bb5 100644 --- a/binutils-2.25/gold/merge.cc +++ b/binutils-2.25/gold/merge.cc @@ -1,6 +1,6 @@ // merge.cc -- handle section merging for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/merge.h b/binutils-2.25/gold/merge.h index 6318f45..b4fd8e1 100644 --- a/binutils-2.25/gold/merge.h +++ b/binutils-2.25/gold/merge.h @@ -1,6 +1,6 @@ // merge.h -- handle section merging for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/mips.cc b/binutils-2.25/gold/mips.cc index acf76cf..188364a 100644 --- a/binutils-2.25/gold/mips.cc +++ b/binutils-2.25/gold/mips.cc @@ -1,6 +1,6 @@ // mips.cc -- mips target support for gold. -// Copyright (C) 2011-2015 Free Software Foundation, Inc. +// Copyright (C) 2011-2014 Free Software Foundation, Inc. // Written by Sasa Stankovic <sasa.stankovic@imgtec.com> // and Aleksandar Simeonov <aleksandar.simeonov@rt-rk.com>. // This file contains borrowed and adapted code from bfd/elfxx-mips.c. diff --git a/binutils-2.25/gold/mremap.c b/binutils-2.25/gold/mremap.c index 46590c0..9c0fe6e 100644 --- a/binutils-2.25/gold/mremap.c +++ b/binutils-2.25/gold/mremap.c @@ -1,6 +1,6 @@ /* mremap.c -- version of mremap for gold. */ -/* Copyright (C) 2009-2015 Free Software Foundation, Inc. +/* Copyright (C) 2009-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/nacl.cc b/binutils-2.25/gold/nacl.cc index 2b46ba3..047f92e 100644 --- a/binutils-2.25/gold/nacl.cc +++ b/binutils-2.25/gold/nacl.cc @@ -1,6 +1,6 @@ // nacl.cc -- Native Client support for gold -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // This file is part of gold. diff --git a/binutils-2.25/gold/nacl.h b/binutils-2.25/gold/nacl.h index 5b6f5a4..cb0e9d1 100644 --- a/binutils-2.25/gold/nacl.h +++ b/binutils-2.25/gold/nacl.h @@ -1,6 +1,6 @@ // nacl.h -- Native Client support for gold -*- C++ -*- -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // This file is part of gold. diff --git a/binutils-2.25/gold/object.cc b/binutils-2.25/gold/object.cc index c90b67e..56d2266 100644 --- a/binutils-2.25/gold/object.cc +++ b/binutils-2.25/gold/object.cc @@ -1,6 +1,6 @@ // object.cc -- support for an object file for linking in gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -432,8 +432,7 @@ Sized_relobj_file<size, big_endian>::Sized_relobj_file( discarded_eh_frame_shndx_(-1U), is_deferred_layout_(false), deferred_layout_(), - deferred_layout_relocs_(), - compressed_sections_() + deferred_layout_relocs_() { this->e_type_ = ehdr.get_e_type(); } @@ -675,7 +674,8 @@ build_compressed_section_map( unsigned int shnum, const char* names, section_size_type names_size, - Sized_relobj_file<size, big_endian>* obj) + Object* obj, + bool decompress_if_needed) { Compressed_section_map* uncompressed_map = new Compressed_section_map(); const unsigned int shdr_size = elfcpp::Elf_sizes<size>::shdr_size; @@ -707,7 +707,7 @@ build_compressed_section_map( if (uncompressed_size != -1ULL) { unsigned char* uncompressed_data = NULL; - if (need_decompressed_section(name)) + if (decompress_if_needed && need_decompressed_section(name)) { uncompressed_data = new unsigned char[uncompressed_size]; if (decompress_input_section(contents, len, @@ -741,9 +741,14 @@ Sized_relobj_file<size, big_endian>::do_find_special_sections( this->has_eh_frame_ = true; if (memmem(names, sd->section_names_size, ".zdebug_", 8) != NULL) - this->compressed_sections_ - = build_compressed_section_map(pshdrs, this->shnum(), names, - sd->section_names_size, this); + { + Compressed_section_map* compressed_sections = + build_compressed_section_map<size, big_endian>( + pshdrs, this->shnum(), names, sd->section_names_size, this, true); + if (compressed_sections != NULL) + this->set_compressed_sections(compressed_sections); + } + return (this->has_eh_frame_ || (!parameters->options().relocatable() && parameters->options().gdb_index() @@ -1666,8 +1671,8 @@ Sized_relobj_file<size, big_endian>::do_layout(Symbol_table* symtab, // is turned on this function is called twice; we only want to do this // on the first pass. if (!is_pass_two - && this->is_deferred_layout() - && (shdr.get_sh_flags() & elfcpp::SHF_ALLOC)) + && this->is_deferred_layout() + && (shdr.get_sh_flags() & elfcpp::SHF_ALLOC)) { this->deferred_layout_.push_back(Deferred_layout(i, name, pshdrs, @@ -2804,9 +2809,8 @@ Sized_relobj_file<size, big_endian>::do_get_global_symbol_counts( // to the size. Set *IS_NEW to true if the contents need to be freed // by the caller. -template<int size, bool big_endian> const unsigned char* -Sized_relobj_file<size, big_endian>::do_decompressed_section_contents( +Object::decompressed_section_contents( unsigned int shndx, section_size_type* plen, bool* is_new) @@ -2860,9 +2864,8 @@ Sized_relobj_file<size, big_endian>::do_decompressed_section_contents( // Discard any buffers of uncompressed sections. This is done // at the end of the Add_symbols task. -template<int size, bool big_endian> void -Sized_relobj_file<size, big_endian>::do_discard_decompressed_sections() +Object::discard_decompressed_sections() { if (this->compressed_sections_ == NULL) return; diff --git a/binutils-2.25/gold/object.h b/binutils-2.25/gold/object.h index cce6c8c..7fa2ad7 100644 --- a/binutils-2.25/gold/object.h +++ b/binutils-2.25/gold/object.h @@ -1,6 +1,6 @@ // object.h -- support for an object file for linking in gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -314,6 +314,21 @@ class Got_offset_list Got_offset_list* got_next_; }; +// Type for mapping section index to uncompressed size and contents. + +struct Compressed_section_info +{ + section_size_type size; + const unsigned char* contents; +}; +typedef std::map<unsigned int, Compressed_section_info> Compressed_section_map; + +template<int size, bool big_endian> +Compressed_section_map* +build_compressed_section_map(const unsigned char* pshdrs, unsigned int shnum, + const char* names, section_size_type names_size, + Object* obj, bool decompress_if_needed); + // Object is an abstract base class which represents either a 32-bit // or a 64-bit input object. This can be a regular object file // (ET_REL) or a shared object (ET_DYN). @@ -332,7 +347,8 @@ class Object : name_(name), input_file_(input_file), offset_(offset), shnum_(-1U), is_dynamic_(is_dynamic), is_needed_(false), uses_split_stack_(false), has_no_split_stack_(false), no_export_(false), - is_in_system_directory_(false), as_needed_(false), xindex_(NULL) + is_in_system_directory_(false), as_needed_(false), xindex_(NULL), + compressed_sections_(NULL) { if (input_file != NULL) { @@ -725,26 +741,34 @@ class Object set_no_export(bool value) { this->no_export_ = value; } - // Return TRUE if the section is a compressed debug section, and set - // *UNCOMPRESSED_SIZE to the size of the uncompressed data. bool section_is_compressed(unsigned int shndx, section_size_type* uncompressed_size) const - { return this->do_section_is_compressed(shndx, uncompressed_size); } + { + if (this->compressed_sections_ == NULL) + return false; + Compressed_section_map::const_iterator p = + this->compressed_sections_->find(shndx); + if (p != this->compressed_sections_->end()) + { + if (uncompressed_size != NULL) + *uncompressed_size = p->second.size; + return true; + } + return false; + } // Return a view of the decompressed contents of a section. Set *PLEN // to the size. Set *IS_NEW to true if the contents need to be freed // by the caller. const unsigned char* decompressed_section_contents(unsigned int shndx, section_size_type* plen, - bool* is_cached) - { return this->do_decompressed_section_contents(shndx, plen, is_cached); } + bool* is_cached); // Discard any buffers of decompressed sections. This is done // at the end of the Add_symbols task. void - discard_decompressed_sections() - { this->do_discard_decompressed_sections(); } + discard_decompressed_sections(); // Return the index of the first incremental relocation for symbol SYMNDX. unsigned int @@ -923,27 +947,6 @@ class Object bool handle_split_stack_section(const char* name); - // Return TRUE if the section is a compressed debug section, and set - // *UNCOMPRESSED_SIZE to the size of the uncompressed data. - virtual bool - do_section_is_compressed(unsigned int, section_size_type*) const - { return false; } - - // Return a view of the decompressed contents of a section. Set *PLEN - // to the size. This default implementation simply returns the - // raw section contents and sets *IS_NEW to false to indicate - // that the contents do not need to be freed by the caller. - // This function must be overridden for any types of object files - // that might contain compressed sections. - virtual const unsigned char* - do_decompressed_section_contents(unsigned int shndx, - section_size_type* plen, - bool* is_new) - { - *is_new = false; - return this->do_section_contents(shndx, plen, false); - } - // Discard any buffers of decompressed sections. This is done // at the end of the Add_symbols task. virtual void @@ -962,6 +965,14 @@ class Object do_get_incremental_reloc_count(unsigned int) const { gold_unreachable(); } + void + set_compressed_sections(Compressed_section_map* compressed_sections) + { this->compressed_sections_ = compressed_sections; } + + Compressed_section_map* + compressed_sections() + { return this->compressed_sections_; } + private: // This class may not be copied. Object(const Object&); @@ -996,6 +1007,9 @@ class Object bool as_needed_ : 1; // Many sections for objects with more than SHN_LORESERVE sections. Xindex* xindex_; + // For compressed debug sections, map section index to uncompressed size + // and contents. + Compressed_section_map* compressed_sections_; }; // A regular object (ET_REL). This is an abstract base class itself. @@ -1862,15 +1876,6 @@ class Reloc_symbol_changes std::vector<Symbol*> vec_; }; -// Type for mapping section index to uncompressed size and contents. - -struct Compressed_section_info -{ - section_size_type size; - const unsigned char* contents; -}; -typedef std::map<unsigned int, Compressed_section_info> Compressed_section_map; - // Abstract base class for a regular object file, either a real object file // or an incremental (unchanged) object. This is size and endian specific. @@ -2453,38 +2458,6 @@ class Sized_relobj_file : public Sized_relobj<size, big_endian> set_output_local_symbol_count(unsigned int value) { this->output_local_symbol_count_ = value; } - // Return TRUE if the section is a compressed debug section, and set - // *UNCOMPRESSED_SIZE to the size of the uncompressed data. - bool - do_section_is_compressed(unsigned int shndx, - section_size_type* uncompressed_size) const - { - if (this->compressed_sections_ == NULL) - return false; - Compressed_section_map::const_iterator p = - this->compressed_sections_->find(shndx); - if (p != this->compressed_sections_->end()) - { - if (uncompressed_size != NULL) - *uncompressed_size = p->second.size; - return true; - } - return false; - } - - // Return a view of the uncompressed contents of a section. Set *PLEN - // to the size. Set *IS_NEW to true if the contents need to be deleted - // by the caller. - const unsigned char* - do_decompressed_section_contents(unsigned int shndx, - section_size_type* plen, - bool* is_new); - - // Discard any buffers of decompressed sections. This is done - // at the end of the Add_symbols task. - void - do_discard_decompressed_sections(); - private: // For convenience. typedef Sized_relobj_file<size, big_endian> This; @@ -2751,9 +2724,6 @@ class Sized_relobj_file : public Sized_relobj<size, big_endian> std::vector<Deferred_layout> deferred_layout_; // The list of relocation sections whose layout was deferred. std::vector<Deferred_layout> deferred_layout_relocs_; - // For compressed debug sections, map section index to uncompressed size - // and contents. - Compressed_section_map* compressed_sections_; }; // A class to manage the list of all objects. diff --git a/binutils-2.25/gold/options.cc b/binutils-2.25/gold/options.cc index 7f1f69e..1bb0cc1 100644 --- a/binutils-2.25/gold/options.cc +++ b/binutils-2.25/gold/options.cc @@ -1,6 +1,6 @@ // options.c -- handle command line options for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -1200,6 +1200,39 @@ General_options::finalize() // in the path, as appropriate. this->add_sysroot(); + // Now check if library_path is poisoned. + if (this->warn_poison_system_directories()) + { + std::vector<std::string> bad_paths; + + bad_paths.push_back("/lib"); + // TODO: This check is disabled for now due to a bunch of packages that + // use libtool and relink with -L/usr/lib paths (albeit after the right + // sysroot path). Once those are fixed we can enable. + // We also need to adjust it so it only rejects one or two levels deep. + // Gcc's internal paths also live below /usr/lib. + // http://crbug.com/488360 + // bad_paths.push_back("/usr/lib"); + bad_paths.push_back("/usr/local/lib"); + bad_paths.push_back("/usr/X11R6/lib"); + + for (std::vector<std::string>::const_iterator b = bad_paths.begin(); + b != bad_paths.end(); + ++b) + for (Dir_list::iterator p = this->library_path_.value.begin(); + p != this->library_path_.value.end(); + ++p) + if (!p->name().compare(0, b->size(), *b)) + { + if (this->error_poison_system_directories()) + gold_fatal(_("library search path \"%s\" is unsafe for " + "cross-compilation"), p->name().c_str()); + else + gold_warning(_("library search path \"%s\" is unsafe for " + "cross-compilation"), p->name().c_str()); + } + } + // Now that we've normalized the options, check for contradictory ones. if (this->shared() && this->is_static()) gold_fatal(_("-shared and -static are incompatible")); @@ -1256,6 +1289,8 @@ General_options::finalize() "--emit-relocs")); if (this->has_plugins()) gold_fatal(_("incremental linking is not compatible with --plugin")); + if (this->relro()) + gold_fatal(_("incremental linking is not compatible with -z relro")); if (this->gc_sections()) { gold_warning(_("ignoring --gc-sections for an incremental link")); diff --git a/binutils-2.25/gold/options.h b/binutils-2.25/gold/options.h index 9bbcc64..6502e1f 100644 --- a/binutils-2.25/gold/options.h +++ b/binutils-2.25/gold/options.h @@ -1,6 +1,6 @@ // options.h -- handle command line options for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -956,9 +956,9 @@ class General_options N_("Do not page align data, do not make text readonly"), N_("Page align data, make text readonly")); - DEFINE_enable(new_dtags, options::EXACTLY_TWO_DASHES, '\0', true, - N_("Enable use of DT_RUNPATH and DT_FLAGS"), - N_("Disable use of DT_RUNPATH and DT_FLAGS")); + DEFINE_enable(new_dtags, options::EXACTLY_TWO_DASHES, '\0', false, + N_("Enable use of DT_RUNPATH"), + N_("Disable use of DT_RUNPATH")); DEFINE_bool(noinhibit_exec, options::TWO_DASHES, '\0', false, N_("Create an output file even if errors occur"), NULL); @@ -987,9 +987,16 @@ class General_options N_("Do not create a position independent executable"), false); + DEFINE_bool(disable_pie_when_unsafe_data_size, + options::TWO_DASHES, '\0', true, + N_("Disable creation of position independent executable" + " when data segment size is larger than the safe value"), + N_("Do not disable creation of position independent executable" + " when data segment size is larger than the safe value")); + DEFINE_bool(pic_veneer, options::TWO_DASHES, '\0', false, - N_("Force PIC sequences for ARM/Thumb interworking veneers"), - NULL); + N_("Force PIC sequences for ARM/Thumb interworking veneers"), + NULL); DEFINE_bool(pipeline_knowledge, options::ONE_DASH, '\0', false, NULL, N_("(ARM only) Ignore for backward compatibility")); @@ -1098,6 +1105,12 @@ class General_options "use default size.\n"), N_("SIZE")); + DEFINE_bool(stub_group_auto_padding, options::TWO_DASHES , '\0', true, + N_("(ARM) For very large binaries, relaxation iterations " + "take long. This option turns on 'smart padding' for stub " + "table, which reduces up to 50% of relaxation time on large " + "objects."), NULL); + DEFINE_bool(no_keep_memory, options::TWO_DASHES, '\0', false, N_("Use less memory and more disk I/O " "(included only for compatibility with GNU ld)"), NULL); @@ -1219,6 +1232,13 @@ class General_options DEFINE_bool(warn_multiple_gp, options::TWO_DASHES, '\0', false, N_("Ignored"), NULL); + DEFINE_bool(warn_poison_system_directories, options::TWO_DASHES, '\0', false, + N_("Warn for -L options using system directories"), + N_("Do not warn for -L options using system directories")); + DEFINE_bool(error_poison_system_directories, options::TWO_DASHES, '\0', false, + N_("Give an error for -L options using system directories"), + NULL); + DEFINE_bool(warn_search_mismatch, options::TWO_DASHES, '\0', true, N_("Warn when skipping an incompatible library"), N_("Don't warn when skipping an incompatible library")); @@ -1234,6 +1254,9 @@ class General_options options::TWO_DASHES, '\0', N_("Report unresolved symbols as errors"), NULL, true); + DEFINE_bool(weak_unresolved_symbols, options::TWO_DASHES, '\0', false, + N_("Convert unresolved symbols to weak references"), + NULL); DEFINE_bool(wchar_size_warning, options::TWO_DASHES, '\0', true, NULL, N_("(ARM only) Do not warn about objects with incompatible " @@ -1362,6 +1385,13 @@ class General_options output_file_name() const { return this->output(); } + // This method sets/unsets the value of option -pie. This is used to + // disable -pie when the size of the data segment becomes larger than + // a safe value. + void + set_pie_value(bool value) + { this->set_pie(value); } + // This is not defined via a flag, but combines flags to say whether // the output is position-independent or not. bool diff --git a/binutils-2.25/gold/output.cc b/binutils-2.25/gold/output.cc index e9dd522..2e30e24 100644 --- a/binutils-2.25/gold/output.cc +++ b/binutils-2.25/gold/output.cc @@ -1,6 +1,6 @@ // output.cc -- manage the output file for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/output.h b/binutils-2.25/gold/output.h index 8e0c33a..599c2b7 100644 --- a/binutils-2.25/gold/output.h +++ b/binutils-2.25/gold/output.h @@ -1,6 +1,6 @@ // output.h -- manage the output file for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/parameters.cc b/binutils-2.25/gold/parameters.cc index 8eab000..3cfddd8 100644 --- a/binutils-2.25/gold/parameters.cc +++ b/binutils-2.25/gold/parameters.cc @@ -1,6 +1,6 @@ // parameters.cc -- general parameters for a link using gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/parameters.h b/binutils-2.25/gold/parameters.h index 6404b8a..fe5db15 100644 --- a/binutils-2.25/gold/parameters.h +++ b/binutils-2.25/gold/parameters.h @@ -1,6 +1,6 @@ // parameters.h -- general parameters for a link using gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/plugin.cc b/binutils-2.25/gold/plugin.cc index 68da8e3..40b3017 100644 --- a/binutils-2.25/gold/plugin.cc +++ b/binutils-2.25/gold/plugin.cc @@ -1,6 +1,6 @@ // plugin.cc -- plugin manager for gold -*- C++ -*- -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/plugin.h b/binutils-2.25/gold/plugin.h index f926879..95c7282 100644 --- a/binutils-2.25/gold/plugin.h +++ b/binutils-2.25/gold/plugin.h @@ -1,6 +1,6 @@ // plugin.h -- plugin manager for gold -*- C++ -*- -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/po/Make-in b/binutils-2.25/gold/po/Make-in index 8886c9a..8212bf7 100644 --- a/binutils-2.25/gold/po/Make-in +++ b/binutils-2.25/gold/po/Make-in @@ -1,6 +1,6 @@ # Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu> -# Copyright (C) 2003-2015 Free Software Foundation, Inc. +# Copyright (C) 2003-2014 Free Software Foundation, Inc. # # This file may be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License diff --git a/binutils-2.25/gold/powerpc.cc b/binutils-2.25/gold/powerpc.cc index 4deb5af..3e936da 100644 --- a/binutils-2.25/gold/powerpc.cc +++ b/binutils-2.25/gold/powerpc.cc @@ -1,6 +1,6 @@ // powerpc.cc -- powerpc target support for gold. -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by David S. Miller <davem@davemloft.net> // and David Edelsohn <edelsohn@gnu.org> @@ -6772,7 +6772,7 @@ Target_powerpc<size, big_endian>::symval_for_branch( } Address sec_addr = symobj->get_output_section_offset(*dest_shndx); if (sec_addr == invalid_address) - return false; + return false; sec_addr += symobj->output_section(*dest_shndx)->address(); *value = sec_addr + sec_off; @@ -6834,9 +6834,12 @@ Target_powerpc<size, big_endian>::Relocate::relocate( && !parameters->options().output_is_position_independent() && !is_branch_reloc(r_type)) { - unsigned int off = target->glink_section()->find_global_entry(gsym); - gold_assert(off != (unsigned int)-1); - value = target->glink_section()->global_entry_address() + off; + Address off = target->glink_section()->find_global_entry(gsym); + if (off != invalid_address) + { + value = target->glink_section()->global_entry_address() + off; + has_stub_value = true; + } } else { @@ -6848,18 +6851,26 @@ Target_powerpc<size, big_endian>::Relocate::relocate( if (target->stub_tables().size() != 0) stub_table = target->stub_tables()[0]; } - gold_assert(stub_table != NULL); - Address off; - if (gsym != NULL) - off = stub_table->find_plt_call_entry(object, gsym, r_type, - rela.get_r_addend()); - else - off = stub_table->find_plt_call_entry(object, r_sym, r_type, - rela.get_r_addend()); - gold_assert(off != invalid_address); - value = stub_table->stub_address() + off; + if (stub_table != NULL) + { + Address off; + if (gsym != NULL) + off = stub_table->find_plt_call_entry(object, gsym, r_type, + rela.get_r_addend()); + else + off = stub_table->find_plt_call_entry(object, r_sym, r_type, + rela.get_r_addend()); + if (off != invalid_address) + { + value = stub_table->stub_address() + off; + has_stub_value = true; + } + } } - has_stub_value = true; + // We don't care too much about bogus debug references to + // non-local functions, but otherwise there had better be a plt + // call stub or global entry stub as appropriate. + gold_assert(has_stub_value || !(os->flags() & elfcpp::SHF_ALLOC)); } if (r_type == elfcpp::R_POWERPC_GOT16 @@ -7048,7 +7059,7 @@ Target_powerpc<size, big_endian>::Relocate::relocate( Insn insn = elfcpp::Swap<32, big_endian>::readval(iview); insn &= (1 << 26) - (1 << 21); // extract rt if (size == 32) - insn |= addis_0_2; + insn = addis_0_2; else insn |= addis_0_13; elfcpp::Swap<32, big_endian>::writeval(iview, insn); @@ -8227,8 +8238,8 @@ Target_powerpc<size, big_endian>::do_dynsym_value(const Symbol* gsym) const } else if (this->abiversion() >= 2) { - unsigned int off = this->glink_section()->find_global_entry(gsym); - if (off != (unsigned int)-1) + Address off = this->glink_section()->find_global_entry(gsym); + if (off != invalid_address) return this->glink_section()->global_entry_address() + off; } gold_unreachable(); @@ -8277,8 +8288,8 @@ Target_powerpc<size, big_endian>::do_plt_address_for_global( } else if (this->abiversion() >= 2) { - unsigned int off = this->glink_section()->find_global_entry(gsym); - if (off != (unsigned int)-1) + Address off = this->glink_section()->find_global_entry(gsym); + if (off != invalid_address) return this->glink_section()->global_entry_address() + off; } gold_unreachable(); diff --git a/binutils-2.25/gold/pread.c b/binutils-2.25/gold/pread.c index 7dc399b..eb27411 100644 --- a/binutils-2.25/gold/pread.c +++ b/binutils-2.25/gold/pread.c @@ -1,6 +1,6 @@ /* pread.c -- version of pread for gold. */ -/* Copyright (C) 2006-2015 Free Software Foundation, Inc. +/* Copyright (C) 2006-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/readsyms.cc b/binutils-2.25/gold/readsyms.cc index 45cbf19..8aaa91a 100644 --- a/binutils-2.25/gold/readsyms.cc +++ b/binutils-2.25/gold/readsyms.cc @@ -1,6 +1,6 @@ // readsyms.cc -- read input file symbols for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/readsyms.h b/binutils-2.25/gold/readsyms.h index 01549f1..0276f4d 100644 --- a/binutils-2.25/gold/readsyms.h +++ b/binutils-2.25/gold/readsyms.h @@ -1,6 +1,6 @@ // readsyms.h -- read input file symbols for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/reduced_debug_output.cc b/binutils-2.25/gold/reduced_debug_output.cc index d182870..09bdf13 100644 --- a/binutils-2.25/gold/reduced_debug_output.cc +++ b/binutils-2.25/gold/reduced_debug_output.cc @@ -1,6 +1,6 @@ // reduced_debug_output.cc -- output reduced debugging information to save space -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Caleb Howe <cshowe@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/reduced_debug_output.h b/binutils-2.25/gold/reduced_debug_output.h index 2c9557b..a4f9ebb 100644 --- a/binutils-2.25/gold/reduced_debug_output.h +++ b/binutils-2.25/gold/reduced_debug_output.h @@ -1,6 +1,6 @@ // reduced_debug_output.h -- reduce debugging information -*- C++ -*- -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Caleb Howe <cshowe@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/reloc-types.h b/binutils-2.25/gold/reloc-types.h index 8612b77..e5f235f 100644 --- a/binutils-2.25/gold/reloc-types.h +++ b/binutils-2.25/gold/reloc-types.h @@ -1,6 +1,6 @@ // reloc-types.h -- ELF relocation templates for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/reloc.cc b/binutils-2.25/gold/reloc.cc index 5906754..115ab37 100644 --- a/binutils-2.25/gold/reloc.cc +++ b/binutils-2.25/gold/reloc.cc @@ -1,6 +1,6 @@ // reloc.cc -- relocate input files for gold. -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/reloc.h b/binutils-2.25/gold/reloc.h index 559206e..da14ec1 100644 --- a/binutils-2.25/gold/reloc.h +++ b/binutils-2.25/gold/reloc.h @@ -1,6 +1,6 @@ // reloc.h -- relocate input files for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/resolve.cc b/binutils-2.25/gold/resolve.cc index effcdca..54de87d 100644 --- a/binutils-2.25/gold/resolve.cc +++ b/binutils-2.25/gold/resolve.cc @@ -1,6 +1,6 @@ // resolve.cc -- symbol resolution for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/script-c.h b/binutils-2.25/gold/script-c.h index 772c76c..e52057d 100644 --- a/binutils-2.25/gold/script-c.h +++ b/binutils-2.25/gold/script-c.h @@ -1,6 +1,6 @@ /* script-c.h -- C interface for linker scripts in gold. */ -/* Copyright (C) 2006-2015 Free Software Foundation, Inc. +/* Copyright (C) 2006-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com>. This file is part of gold. @@ -434,7 +434,7 @@ extern void script_set_section_region(void*, const char*, size_t, int); extern void -script_include_directive(void *, const char*, size_t); +script_include_directive(int, void *, const char*, size_t); /* Called by the bison parser for expressions. */ diff --git a/binutils-2.25/gold/script-sections.cc b/binutils-2.25/gold/script-sections.cc index 9ff0fee..799f4ab 100644 --- a/binutils-2.25/gold/script-sections.cc +++ b/binutils-2.25/gold/script-sections.cc @@ -1,6 +1,6 @@ // script-sections.cc -- linker script SECTIONS for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/script-sections.h b/binutils-2.25/gold/script-sections.h index 2e07aa2..daf9f64 100644 --- a/binutils-2.25/gold/script-sections.h +++ b/binutils-2.25/gold/script-sections.h @@ -1,6 +1,6 @@ // script-sections.h -- linker script SECTIONS for gold -*- C++ -*- -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/script.cc b/binutils-2.25/gold/script.cc index 5350afc..f4b8832 100644 --- a/binutils-2.25/gold/script.cc +++ b/binutils-2.25/gold/script.cc @@ -1,6 +1,6 @@ // script.cc -- handle linker scripts for gold. -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -3366,13 +3366,14 @@ script_parse_memory_attr(void* closurev, const char* attrs, size_t attrlen, } extern "C" void -script_include_directive(void* closurev, const char* filename, size_t length) +script_include_directive(int first_token, void* closurev, + const char* filename, size_t length) { Parser_closure* closure = static_cast<Parser_closure*>(closurev); std::string name(filename, length); Command_line* cmdline = closure->command_line(); read_script_file(name.c_str(), cmdline, &cmdline->script_options(), - PARSING_LINKER_SCRIPT, Lex::LINKER_SCRIPT); + first_token, Lex::LINKER_SCRIPT); } // Functions for memory regions. diff --git a/binutils-2.25/gold/script.h b/binutils-2.25/gold/script.h index 1731985..99bba08 100644 --- a/binutils-2.25/gold/script.h +++ b/binutils-2.25/gold/script.h @@ -1,6 +1,6 @@ // script.h -- handle linker scripts for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/sparc.cc b/binutils-2.25/gold/sparc.cc index d34585a..5a5f76a 100644 --- a/binutils-2.25/gold/sparc.cc +++ b/binutils-2.25/gold/sparc.cc @@ -1,6 +1,6 @@ // sparc.cc -- sparc target support for gold. -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by David S. Miller <davem@davemloft.net>. // This file is part of gold. diff --git a/binutils-2.25/gold/stringpool.cc b/binutils-2.25/gold/stringpool.cc index c6d3c9b..6c9ddde 100644 --- a/binutils-2.25/gold/stringpool.cc +++ b/binutils-2.25/gold/stringpool.cc @@ -1,6 +1,6 @@ // stringpool.cc -- a string pool for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -39,7 +39,9 @@ Stringpool_template<Stringpool_char>::Stringpool_template(uint64_t addralign) zero_null_(true), optimize_(false), offset_(sizeof(Stringpool_char)), addralign_(addralign) { - if (parameters->options_valid() && parameters->options().optimize() >= 2) + if (parameters->options_valid() + && parameters->options().optimize() >= 2 + && addralign <= sizeof(Stringpool_char)) this->optimize_ = true; } diff --git a/binutils-2.25/gold/stringpool.h b/binutils-2.25/gold/stringpool.h index 2a3fb08..8ef8386 100644 --- a/binutils-2.25/gold/stringpool.h +++ b/binutils-2.25/gold/stringpool.h @@ -1,6 +1,6 @@ // stringpool.h -- a string pool for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/symtab.cc b/binutils-2.25/gold/symtab.cc index 045327a..0c8cf37 100644 --- a/binutils-2.25/gold/symtab.cc +++ b/binutils-2.25/gold/symtab.cc @@ -1,6 +1,6 @@ // symtab.cc -- the gold symbol table -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -419,9 +419,13 @@ Symbol::should_add_dynsym_entry(Symbol_table* symtab) const } // If exporting all symbols or building a shared library, + // or the symbol should be globally unique (GNU_UNIQUE), // and the symbol is defined in a regular object and is // externally visible, we need to add it. - if ((parameters->options().export_dynamic() || parameters->options().shared()) + if ((parameters->options().export_dynamic() + || parameters->options().shared() + || (parameters->options().gnu_unique() + && this->binding() == elfcpp::STB_GNU_UNIQUE)) && !this->is_from_dynobj() && !this->is_undefined() && this->is_externally_visible()) @@ -437,9 +441,12 @@ bool Symbol::final_value_is_known() const { // If we are not generating an executable, then no final values are - // known, since they will change at runtime. - if (parameters->options().output_is_position_independent() - || parameters->options().relocatable()) + // known, since they will change at runtime, with the exception of + // TLS symbols in a position-independent executable. + if ((parameters->options().output_is_position_independent() + || parameters->options().relocatable()) + && !(this->type() == elfcpp::STT_TLS + && parameters->options().pie())) return false; // If the symbol is not from an object file, and is not undefined, @@ -2913,6 +2920,13 @@ Symbol_table::sized_write_globals(const Stringpool* sympool, typename elfcpp::Elf_types<size>::Elf_Addr dynsym_value = sym_value; elfcpp::STB binding = sym->binding(); + // If --weak-unresolved-symbols is set, change binding of unresolved + // global symbols to STB_WEAK. + if (parameters->options().weak_unresolved_symbols() + && binding == elfcpp::STB_GLOBAL + && sym->is_undefined()) + binding = elfcpp::STB_WEAK; + // If --no-gnu-unique is set, change STB_GNU_UNIQUE to STB_GLOBAL. if (binding == elfcpp::STB_GNU_UNIQUE && !parameters->options().gnu_unique()) @@ -3336,8 +3350,11 @@ Symbol_table::detect_odr_violations(const Task* task, first_object_name = locs->object->name(); first_object_linenos = this->linenos_from_loc(task, *locs); } + if (first_object_linenos.empty()) + continue; // Sort by Odr_violation_compare to make std::set_intersection work. + std::string first_object_canonical_result = first_object_linenos.back(); std::sort(first_object_linenos.begin(), first_object_linenos.end(), Odr_violation_compare()); @@ -3349,6 +3366,8 @@ Symbol_table::detect_odr_violations(const Task* task, if (linenos.empty()) continue; // Sort by Odr_violation_compare to make std::set_intersection work. + gold_assert(!linenos.empty()); + std::string second_object_canonical_result = linenos.back(); std::sort(linenos.begin(), linenos.end(), Odr_violation_compare()); Check_intersection intersection_result = @@ -3367,13 +3386,11 @@ Symbol_table::detect_odr_violations(const Task* task, // which may not be the location we expect to intersect // with another definition. We could print the whole // set of locations, but that seems too verbose. - gold_assert(!first_object_linenos.empty()); - gold_assert(!linenos.empty()); fprintf(stderr, _(" %s from %s\n"), - first_object_linenos[0].c_str(), + first_object_canonical_result.c_str(), first_object_name.c_str()); fprintf(stderr, _(" %s from %s\n"), - linenos[0].c_str(), + second_object_canonical_result.c_str(), locs->object->name().c_str()); // Only print one broken pair, to avoid needing to // compare against a list of the disjoint definition diff --git a/binutils-2.25/gold/symtab.h b/binutils-2.25/gold/symtab.h index 9413360..843a6ba 100644 --- a/binutils-2.25/gold/symtab.h +++ b/binutils-2.25/gold/symtab.h @@ -1,6 +1,6 @@ // symtab.h -- the gold symbol table -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -526,7 +526,8 @@ class Symbol { return (this->is_undefined() && (this->binding() == elfcpp::STB_WEAK - || this->is_undef_binding_weak())); + || this->is_undef_binding_weak() + || parameters->options().weak_unresolved_symbols())); } // Return whether this is a strong undefined symbol. @@ -535,7 +536,8 @@ class Symbol { return (this->is_undefined() && this->binding() != elfcpp::STB_WEAK - && !this->is_undef_binding_weak()); + && !this->is_undef_binding_weak() + && !parameters->options().weak_unresolved_symbols()); } // Return whether this is an absolute symbol. diff --git a/binutils-2.25/gold/system.h b/binutils-2.25/gold/system.h index 1055768..8d4d6be 100644 --- a/binutils-2.25/gold/system.h +++ b/binutils-2.25/gold/system.h @@ -1,6 +1,6 @@ // system.h -- general definitions for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/target-reloc.h b/binutils-2.25/gold/target-reloc.h index c135459..e44519b 100644 --- a/binutils-2.25/gold/target-reloc.h +++ b/binutils-2.25/gold/target-reloc.h @@ -1,6 +1,6 @@ // target-reloc.h -- target specific relocation support -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/target-select.cc b/binutils-2.25/gold/target-select.cc index 33e8f23..e5f2597 100644 --- a/binutils-2.25/gold/target-select.cc +++ b/binutils-2.25/gold/target-select.cc @@ -1,6 +1,6 @@ // target-select.cc -- select a target for an object file -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/target-select.h b/binutils-2.25/gold/target-select.h index cb9302b..c18d84b 100644 --- a/binutils-2.25/gold/target-select.h +++ b/binutils-2.25/gold/target-select.h @@ -1,6 +1,6 @@ // target-select.h -- select a target for an object file -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/target.cc b/binutils-2.25/gold/target.cc index f558c5e..81c02cc 100644 --- a/binutils-2.25/gold/target.cc +++ b/binutils-2.25/gold/target.cc @@ -1,6 +1,6 @@ // target.cc -- target support for gold. -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Doug Kwan <dougkwan@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/target.h b/binutils-2.25/gold/target.h index 95bc57e..fa4b557 100644 --- a/binutils-2.25/gold/target.h +++ b/binutils-2.25/gold/target.h @@ -1,6 +1,6 @@ // target.h -- target support for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -72,6 +72,13 @@ class Target virtual ~Target() { } + // Returns the safe value for data segment size for PIE links. Anything + // greater than this is prone to go/unsafe-pie. A value of 0 means + // that the size is unlimited. + virtual uint64_t + max_pie_data_segment_size() const + { return 0; } + // Return the bit size that this target implements. This should // return 32 or 64. int diff --git a/binutils-2.25/gold/testsuite/Makefile.am b/binutils-2.25/gold/testsuite/Makefile.am index 8361942..a9caa6b 100644 --- a/binutils-2.25/gold/testsuite/Makefile.am +++ b/binutils-2.25/gold/testsuite/Makefile.am @@ -144,7 +144,7 @@ endif NATIVE_OR_CROSS_LINKER # tests. We use the gcc-specific flag '-B' to use our linker instead # of the default linker, which is why we only run our tests under gcc. -if NATIVE_LINKER +if TEST_AS_NATIVE_LINKER if GCC # Each of these .o's is a useful, small complete program. They're @@ -164,7 +164,7 @@ incremental_test_1.o: incremental_test_1.c incremental_test_2.o: incremental_test_2.c $(COMPILE) -O0 -c -ffunction-sections -g -o $@ $< incremental_test: incremental_test_1.o incremental_test_2.o gcctestdir/ld - $(LINK) -Bgcctestdir/ -Wl,--incremental-full incremental_test_1.o incremental_test_2.o -Wl,-debug 2> incremental_test.cmdline + $(LINK) -Bgcctestdir/ -Wl,--incremental-full -Wl,-z,norelro incremental_test_1.o incremental_test_2.o -Wl,-debug 2> incremental_test.cmdline incremental_test.stdout: incremental_test ../incremental-dump ../incremental-dump incremental_test > $@ @@ -528,6 +528,20 @@ pie_copyrelocs_shared_test.o: pie_copyrelocs_shared_test.cc pie_copyrelocs_shared_test.so: pie_copyrelocs_shared_test.o gcctestdir/ld $(CXXLINK) -Bgcctestdir/ -shared pie_copyrelocs_shared_test.o +check_SCRIPTS += disable_pie_unsafe_size_test.sh +check_PROGRAMS += disable_pie_unsafe_size_test +check_DATA += disable_pie_unsafe_size_test_readelf.stdout +MOSTLYCLEANFILES += disable_pie_unsafe_size_test +disable_pie_unsafe_size_test_SOURCES = disable_pie_unsafe_size_test.cc +disable_pie_unsafe_size_test_LDFLAGS = -Bgcctestdir/ -pie +disable_pie_unsafe_size_test_readelf.stdout: disable_pie_unsafe_size_test + $(TEST_READELF) -l $< >$@ 2>/dev/null + +check_PROGRAMS += weak_unresolved_symbols_test +weak_unresolved_symbols_test_SOURCES = weak_unresolved_symbols_test.cc +weak_unresolved_symbols_test_CXXFLAGS = -fPIE +weak_unresolved_symbols_test_LDFLAGS = -Bgcctestdir/ -pie -Wl,--weak-unresolved-symbols + check_SCRIPTS += two_file_shared.sh check_DATA += two_file_shared.dbg MOSTLYCLEANFILES += two_file_shared.dbg @@ -870,6 +884,11 @@ tls_pie_test: tls_test_main_pie.o tls_test_pie.o tls_test_file2_pie.o \ tls_test_c_pie.o gcctestdir/ld $(CXXLINK) -Bgcctestdir/ -pie tls_test_main_pie.o tls_test_pie.o tls_test_file2_pie.o tls_test_c_pie.o -lpthread +check_SCRIPTS += tls_pie_test.sh +check_DATA += tls_pie_test.stdout +tls_pie_test.stdout: tls_pie_test + $(TEST_READELF) -rW $< > $@ 2>/dev/null + tls_pie_pic_test: tls_test_main_pie.o tls_test_pic.o tls_test_file2_pic.o \ tls_test_c_pic.o gcctestdir/ld $(CXXLINK) -Bgcctestdir/ -pie tls_test_main_pie.o tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o -lpthread @@ -2237,6 +2256,19 @@ memory_test: memory_test.o gcctestdir/ld $(srcdir)/memory_test.t memory_test.stdout: memory_test $(TEST_READELF) -lWS $< > $@ +# Test INCLUDE directives in linker scripts. +# The binary isn't runnable, so we just check that we can build it without errors. +check_DATA += memory_test_2 +MOSTLYCLEANFILES += memory_test_inc_1.t memory_test_inc_2.t memory_test_inc_3.t +memory_test_inc_1.t: $(srcdir)/memory_test_inc_1.t.src + cp $< $@ +memory_test_inc_2.t: $(srcdir)/memory_test_inc_2.t.src + cp $< $@ +memory_test_inc_3.t: $(srcdir)/memory_test_inc_3.t.src + cp $< $@ +memory_test_2: memory_test.o gcctestdir/ld $(srcdir)/memory_test.t memory_test_inc_1.t memory_test_inc_2.t memory_test_inc_3.t + $(LINK) -Bgcctestdir/ -nostartfiles -nostdlib -z max-page-size=0x1000 -z common-page-size=0x1000 -Wl,-T,$(srcdir)/memory_test.t -o $@ memory_test.o + if HAVE_PUBNAMES # Test that --gdb-index functions correctly without gcc-generated pubnames. @@ -2365,31 +2397,31 @@ MOSTLYCLEANFILES += two_file_test_tmp_2.o incremental_test_2: two_file_test_1_v1_ndebug.o two_file_test_1_ndebug.o two_file_test_1b_ndebug.o \ two_file_test_2_ndebug.o two_file_test_main_ndebug.o gcctestdir/ld cp -f two_file_test_1_v1_ndebug.o two_file_test_tmp_2.o - $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ two_file_test_tmp_2.o two_file_test_1b_ndebug.o two_file_test_2_ndebug.o two_file_test_main_ndebug.o + $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ two_file_test_tmp_2.o two_file_test_1b_ndebug.o two_file_test_2_ndebug.o two_file_test_main_ndebug.o @sleep 1 cp -f two_file_test_1_ndebug.o two_file_test_tmp_2.o - $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ two_file_test_tmp_2.o two_file_test_1b_ndebug.o two_file_test_2_ndebug.o two_file_test_main_ndebug.o + $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ two_file_test_tmp_2.o two_file_test_1b_ndebug.o two_file_test_2_ndebug.o two_file_test_main_ndebug.o check_PROGRAMS += incremental_test_3 MOSTLYCLEANFILES += two_file_test_tmp_3.o incremental_test_3: two_file_test_1.o two_file_test_1b_v1.o two_file_test_1b.o \ two_file_test_2.o two_file_test_main.o gcctestdir/ld cp -f two_file_test_1b_v1.o two_file_test_tmp_3.o - $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ two_file_test_1.o two_file_test_tmp_3.o two_file_test_2.o two_file_test_main.o + $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ two_file_test_1.o two_file_test_tmp_3.o two_file_test_2.o two_file_test_main.o @sleep 1 cp -f two_file_test_1b.o two_file_test_tmp_3.o - $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ two_file_test_1.o two_file_test_tmp_3.o two_file_test_2.o two_file_test_main.o + $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ two_file_test_1.o two_file_test_tmp_3.o two_file_test_2.o two_file_test_main.o check_PROGRAMS += incremental_test_4 MOSTLYCLEANFILES += incremental_test_4.base two_file_test_tmp_4.o incremental_test_4: two_file_test_1.o two_file_test_1b.o two_file_test_2_v1.o \ two_file_test_2.o two_file_test_main.o gcctestdir/ld cp -f two_file_test_2_v1.o two_file_test_tmp_4.o - $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ two_file_test_1.o two_file_test_1b.o two_file_test_tmp_4.o two_file_test_main.o + $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ two_file_test_1.o two_file_test_1b.o two_file_test_tmp_4.o two_file_test_main.o mv -f incremental_test_4 incremental_test_4.base @sleep 1 cp -f two_file_test_2.o two_file_test_tmp_4.o - $(CXXLINK) -Wl,--incremental-update,--incremental-base=incremental_test_4.base -Bgcctestdir/ two_file_test_1.o two_file_test_1b.o two_file_test_tmp_4.o two_file_test_main.o + $(CXXLINK) -Wl,--incremental-update,--incremental-base=incremental_test_4.base -Wl,-z,norelro -Bgcctestdir/ two_file_test_1.o two_file_test_1b.o two_file_test_tmp_4.o two_file_test_main.o check_PROGRAMS += incremental_test_5 MOSTLYCLEANFILES += two_file_test_5.a @@ -2397,11 +2429,11 @@ incremental_test_5: two_file_test_1.o two_file_test_1b_v1.o two_file_test_1b.o \ two_file_test_2.o two_file_test_main.o gcctestdir/ld cp -f two_file_test_1b_v1.o two_file_test_tmp_5.o $(TEST_AR) rc two_file_test_5.a two_file_test_1.o two_file_test_tmp_5.o two_file_test_2.o - $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ two_file_test_main.o two_file_test_5.a + $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ two_file_test_main.o two_file_test_5.a @sleep 1 cp -f two_file_test_1b.o two_file_test_tmp_5.o $(TEST_AR) rc two_file_test_5.a two_file_test_1.o two_file_test_tmp_5.o two_file_test_2.o - $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ two_file_test_main.o two_file_test_5.a + $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ two_file_test_main.o two_file_test_5.a # Test the --incremental-unchanged flag with an archive library. # The second link should not update the library. @@ -2411,38 +2443,38 @@ incremental_test_6: two_file_test_1.o two_file_test_1b_v1.o two_file_test_1b.o \ two_file_test_2.o two_file_test_main.o gcctestdir/ld cp -f two_file_test_1b.o two_file_test_tmp_6.o $(TEST_AR) rc two_file_test_6.a two_file_test_1.o two_file_test_tmp_6.o two_file_test_2.o - $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ two_file_test_main.o two_file_test_6.a + $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ two_file_test_main.o two_file_test_6.a @sleep 1 cp -f two_file_test_1b_v1.o two_file_test_tmp_6.o $(TEST_AR) rc two_file_test_6.a two_file_test_1.o two_file_test_tmp_6.o two_file_test_2.o - $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ two_file_test_main.o -Wl,--incremental-unchanged two_file_test_6.a -Wl,--incremental-unknown + $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ two_file_test_main.o -Wl,--incremental-unchanged two_file_test_6.a -Wl,--incremental-unknown check_PROGRAMS += incremental_copy_test incremental_copy_test: copy_test_v1.o copy_test.o copy_test_1.so copy_test_2.so cp -f copy_test_v1.o copy_test_tmp.o - $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ -Wl,-R,. -Wl,--no-as-needed copy_test_tmp.o copy_test_1.so copy_test_2.so + $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ -Wl,-R,. -Wl,--no-as-needed copy_test_tmp.o copy_test_1.so copy_test_2.so @sleep 1 cp -f copy_test.o copy_test_tmp.o - $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ -Wl,-R,. -Wl,--no-as-needed copy_test_tmp.o copy_test_1.so copy_test_2.so + $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ -Wl,-R,. -Wl,--no-as-needed copy_test_tmp.o copy_test_1.so copy_test_2.so check_PROGRAMS += incremental_common_test_1 incremental_common_test_1: common_test_1_v1.o common_test_1_v2.o gcctestdir/ld cp -f common_test_1_v1.o common_test_1_tmp.o - $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ common_test_1_tmp.o + $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ common_test_1_tmp.o @sleep 1 cp -f common_test_1_v2.o common_test_1_tmp.o - $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ common_test_1_tmp.o + $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ common_test_1_tmp.o check_PROGRAMS += incremental_comdat_test_1 incremental_comdat_test_1: incr_comdat_test_1.o incr_comdat_test_2_v1.o incr_comdat_test_2_v2.o incr_comdat_test_2_v3.o gcctestdir/ld cp -f incr_comdat_test_2_v1.o incr_comdat_test_1_tmp.o - $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ incr_comdat_test_1.o incr_comdat_test_1_tmp.o + $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ incr_comdat_test_1.o incr_comdat_test_1_tmp.o @sleep 1 cp -f incr_comdat_test_2_v2.o incr_comdat_test_1_tmp.o - $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ incr_comdat_test_1.o incr_comdat_test_1_tmp.o + $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ incr_comdat_test_1.o incr_comdat_test_1_tmp.o @sleep 1 cp -f incr_comdat_test_2_v3.o incr_comdat_test_1_tmp.o - $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ incr_comdat_test_1.o incr_comdat_test_1_tmp.o + $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ incr_comdat_test_1.o incr_comdat_test_1_tmp.o endif DEFAULT_TARGET_X86_64 @@ -2459,7 +2491,7 @@ exception_x86_64_bnd_2.o: exception_test_2.cc gcctestdir/as endif DEFAULT_TARGET_X86_64 endif GCC -endif NATIVE_LINKER +endif TEST_AS_NATIVE_LINKER # These tests work with native and cross linkers. diff --git a/binutils-2.25/gold/testsuite/Makefile.in b/binutils-2.25/gold/testsuite/Makefile.in index b4ae3fd..3cdf45e 100644 --- a/binutils-2.25/gold/testsuite/Makefile.in +++ b/binutils-2.25/gold/testsuite/Makefile.in @@ -55,6 +55,198 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ $(am__EXEEXT_37) $(am__EXEEXT_38) $(am__EXEEXT_39) @NATIVE_OR_CROSS_LINKER_TRUE@am__append_1 = object_unittest \ @NATIVE_OR_CROSS_LINKER_TRUE@ binary_unittest leb128_unittest +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_2 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gc_comdat_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gc_tls_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gc_orphan_section_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ pr14265.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gc_dynamic_list_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_keep_unique_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_safe_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_safe_so_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ final_layout.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ text_section_grouping.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ section_sorting_name.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_preemptible_functions_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_string_merge_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_sht_rel_addend_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ merge_string_literals.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ disable_pie_unsafe_size_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_plt.sh +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_3 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gc_comdat_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gc_tls_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gc_orphan_section_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ pr14265.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gc_dynamic_list_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_test.map \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_keep_unique_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_safe_test_1.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_safe_test_2.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_safe_test.map \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_safe_so_test_1.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_safe_so_test_2.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_safe_so_test.map \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ final_layout.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ text_section_grouping.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ text_section_no_grouping.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ section_sorting_name.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_preemptible_functions_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_string_merge_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_sht_rel_addend_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ merge_string_literals.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ disable_pie_unsafe_size_test_readelf.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared.dbg \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_plt_shared.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_4 = incremental_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_test.cmdline \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gc_comdat_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gc_tls_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gc_orphan_section_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ pr14265 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gc_dynamic_list_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_test icf_test.map \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_keep_unique_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_safe_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_safe_test.map \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_safe_so_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_safe_so_test.map \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ final_layout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ final_layout_sequence.txt \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ final_layout_script.lds \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ text_section_grouping \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ text_section_no_grouping \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ section_sorting_name \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_virtual_function_folding_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_virtual_function_folding_test.map \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_preemptible_functions_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_string_merge_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ icf_sht_rel_addend_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ merge_string_literals \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ disable_pie_unsafe_size_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared.dbg \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ alt/weak_undef_lib.so \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ libweak_undef_2.a +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_5 = icf_virtual_function_folding_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ large_symbol_alignment \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ basic_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ basic_pic_test +@GCC_FALSE@large_symbol_alignment_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@large_symbol_alignment_DEPENDENCIES = +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_6 = basic_static_test \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ basic_static_pic_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_7 = basic_pie_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ constructor_test +@GCC_FALSE@constructor_test_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@constructor_test_DEPENDENCIES = +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_8 = constructor_static_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_9 = two_file_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_pic_test +@GCC_FALSE@two_file_test_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@two_file_test_DEPENDENCIES = +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_10 = two_file_static_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_11 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared_1_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared_2_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared_1_pic_2_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared_2_pic_1_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_same_shared_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_separate_shared_12_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_separate_shared_21_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_relocatable_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_pie_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ pie_copyrelocs_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ disable_pie_unsafe_size_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_unresolved_symbols_test + +# The nonpic tests will fail on platforms which can not put non-PIC +# code into shared libraries, so we just don't run them in that case. +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_12 = two_file_shared_1_nonpic_test \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared_2_nonpic_test \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_same_shared_nonpic_test \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_separate_shared_12_nonpic_test \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_separate_shared_21_nonpic_test \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_mixed_shared_test \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_mixed_2_shared_test \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_mixed_pie_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_13 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_strip_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_same_shared_strip_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ common_test_1 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ common_test_2 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_shared_1_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_shared_2_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_same_shared_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_separate_shared_12_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_separate_shared_21_test +@GCC_FALSE@common_test_1_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@common_test_1_DEPENDENCIES = +@GCC_FALSE@exception_test_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@exception_test_DEPENDENCIES = +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_14 = exception_static_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_15 = weak_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_undef_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_undef_test_2 +@GCC_FALSE@weak_test_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@weak_test_DEPENDENCIES = +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_16 = weak_undef_nonpic_test +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_17 = alt/weak_undef_lib_nonpic.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_18 = weak_alias_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_plt copy_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__append_19 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_pic_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_pie_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_pie_pic_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_shared_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_shared_ie_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_shared_gd_to_ie_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__append_20 = tls_pie_test.sh +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__append_21 = tls_pie_test.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@am__append_22 = tls_shared_gnu2_gd_to_ie_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@am__append_23 = tls_shared_gnu2_test +@GCC_TRUE@@HAVE_STATIC_TRUE@@STATIC_TLS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__append_24 = tls_static_test \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@STATIC_TLS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_static_pic_test +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__append_25 = tls_shared_nonpic_test +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_26 = i386_mov_to_lea.sh +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_27 = i386_mov_to_lea1.stdout i386_mov_to_lea2.stdout \ +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ i386_mov_to_lea3.stdout i386_mov_to_lea4.stdout \ +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ i386_mov_to_lea5.stdout i386_mov_to_lea6.stdout \ +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ i386_mov_to_lea7.stdout i386_mov_to_lea8.stdout + +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_28 = i386_mov_to_lea1 i386_mov_to_lea2 i386_mov_to_lea3 \ +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ i386_mov_to_lea4 i386_mov_to_lea5 i386_mov_to_lea6 \ +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ i386_mov_to_lea7 i386_mov_to_lea8 + + +# Test -o when emitting to a special file (such as something in /dev). +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_29 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ many_sections_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ many_sections_r_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ initpri1 initpri2 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ initpri3a \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ flagstest_o_specialfile +@GCC_FALSE@many_sections_test_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@many_sections_test_DEPENDENCIES = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_30 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ many_sections_define.h \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ many_sections_check.h +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_31 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ many_sections_define.h \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ many_sections_check.h \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ debug_msg.err \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ missing_key_func.err +@GCC_FALSE@initpri1_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@initpri1_DEPENDENCIES = +@GCC_FALSE@initpri2_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@initpri2_DEPENDENCIES = +@GCC_FALSE@initpri3a_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@initpri3a_DEPENDENCIES = # This test fails on targets not using .ctors and .dtors sections (e.g. ARM # EABI). Given that gcc is moving towards using .init_array in all cases, @@ -75,185 +267,33 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # Test --dynamic-list, --dynamic-list-data, --dynamic-list-cpp-new, # and --dynamic-list-cpp-typeinfo -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_2 = incremental_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gc_comdat_test.sh gc_tls_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gc_orphan_section_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr14265.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gc_dynamic_list_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_keep_unique_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_safe_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_safe_so_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ final_layout.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ text_section_grouping.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ section_sorting_name.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_preemptible_functions_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_string_merge_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_sht_rel_addend_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ merge_string_literals.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared.sh weak_plt.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg.sh missing_key_func.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ undef_symbol.sh ver_test_1.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_2.sh ver_test_4.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_5.sh ver_test_7.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_10.sh relro_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_matching_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_3.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_4.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_5.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_6.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_7.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_8.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_9.sh dynamic_list.sh +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_32 = debug_msg.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ missing_key_func.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ undef_symbol.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_1.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_2.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_4.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_5.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_7.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_10.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ relro_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_matching_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_3.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_4.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_5.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_6.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_7.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_8.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_9.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ dynamic_list.sh # Create the data files that debug_msg.sh analyzes. -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_3 = incremental_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gc_comdat_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gc_tls_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gc_orphan_section_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ pr14265.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gc_dynamic_list_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_test.map \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_keep_unique_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_safe_test_1.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_safe_test_2.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_safe_test.map \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_safe_so_test_1.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_safe_so_test_2.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_safe_so_test.map \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ final_layout.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ text_section_grouping.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ text_section_no_grouping.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ section_sorting_name.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_preemptible_functions_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_string_merge_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_sht_rel_addend_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ merge_string_literals.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared.dbg \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_plt_shared.so debug_msg.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ missing_key_func.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_4 = incremental_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test.cmdline \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gc_comdat_test gc_tls_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gc_orphan_section_test pr14265 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gc_dynamic_list_test icf_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_test.map \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_keep_unique_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_safe_test icf_safe_test.map \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_safe_so_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_safe_so_test.map \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ final_layout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ final_layout_sequence.txt \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ final_layout_script.lds \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ text_section_grouping \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ text_section_no_grouping \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ section_sorting_name \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_virtual_function_folding_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_virtual_function_folding_test.map \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_preemptible_functions_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_string_merge_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_sht_rel_addend_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ merge_string_literals \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared.dbg \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ alt/weak_undef_lib.so \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ libweak_undef_2.a -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_5 = icf_virtual_function_folding_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ large_symbol_alignment \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ basic_test basic_pic_test -@GCC_FALSE@large_symbol_alignment_DEPENDENCIES = -@NATIVE_LINKER_FALSE@large_symbol_alignment_DEPENDENCIES = -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@am__append_6 = basic_static_test \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@ basic_static_pic_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_7 = basic_pie_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ constructor_test -@GCC_FALSE@constructor_test_DEPENDENCIES = -@NATIVE_LINKER_FALSE@constructor_test_DEPENDENCIES = -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@am__append_8 = constructor_static_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_9 = two_file_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_pic_test -@GCC_FALSE@two_file_test_DEPENDENCIES = -@NATIVE_LINKER_FALSE@two_file_test_DEPENDENCIES = -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@am__append_10 = two_file_static_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_11 = two_file_shared_1_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared_2_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared_1_pic_2_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared_2_pic_1_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_same_shared_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_separate_shared_12_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_separate_shared_21_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_relocatable_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_pie_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ pie_copyrelocs_test - -# The nonpic tests will fail on platforms which can not put non-PIC -# code into shared libraries, so we just don't run them in that case. -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_12 = two_file_shared_1_nonpic_test \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared_2_nonpic_test \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_same_shared_nonpic_test \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_separate_shared_12_nonpic_test \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_separate_shared_21_nonpic_test \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_mixed_shared_test \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_mixed_2_shared_test \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_mixed_pie_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_13 = two_file_strip_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_same_shared_strip_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ common_test_1 common_test_2 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_shared_1_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_shared_2_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_same_shared_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_separate_shared_12_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_separate_shared_21_test -@GCC_FALSE@common_test_1_DEPENDENCIES = -@NATIVE_LINKER_FALSE@common_test_1_DEPENDENCIES = -@GCC_FALSE@exception_test_DEPENDENCIES = -@NATIVE_LINKER_FALSE@exception_test_DEPENDENCIES = -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@am__append_14 = exception_static_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_15 = weak_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_undef_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_undef_test_2 -@GCC_FALSE@weak_test_DEPENDENCIES = -@NATIVE_LINKER_FALSE@weak_test_DEPENDENCIES = -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_16 = weak_undef_nonpic_test -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_17 = alt/weak_undef_lib_nonpic.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_18 = weak_alias_test weak_plt \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ copy_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am__append_19 = tls_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_pic_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_pie_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_pie_pic_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_shared_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_shared_ie_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_shared_gd_to_ie_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@am__append_20 = tls_shared_gnu2_gd_to_ie_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@am__append_21 = tls_shared_gnu2_test -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@am__append_22 = tls_static_test \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@ tls_static_pic_test -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am__append_23 = tls_shared_nonpic_test - -# Test -o when emitting to a special file (such as something in /dev). -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_24 = many_sections_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ many_sections_r_test initpri1 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ initpri2 initpri3a \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_specialfile -@GCC_FALSE@many_sections_test_DEPENDENCIES = -@NATIVE_LINKER_FALSE@many_sections_test_DEPENDENCIES = -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_25 = many_sections_define.h \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ many_sections_check.h -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_26 = many_sections_define.h \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ many_sections_check.h \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ missing_key_func.err -@GCC_FALSE@initpri1_DEPENDENCIES = -@NATIVE_LINKER_FALSE@initpri1_DEPENDENCIES = -@GCC_FALSE@initpri2_DEPENDENCIES = -@NATIVE_LINKER_FALSE@initpri2_DEPENDENCIES = -@GCC_FALSE@initpri3a_DEPENDENCIES = -@NATIVE_LINKER_FALSE@initpri3a_DEPENDENCIES = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_33 = debug_msg.err \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ missing_key_func.err # Check that --detect-odr-violations works with compressed debug sections. -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@am__append_27 = debug_msg_cdebug.err -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@am__append_28 = debug_msg_cdebug.err +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_34 = debug_msg_cdebug.err +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_35 = debug_msg_cdebug.err # See if we can also detect problems when we're linking .so's, not .o's. @@ -263,48 +303,59 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # This version won't be runnable, because there is no way to put the # PT_PHDR segment at file offset 0. We just make sure that we can # build it without error. -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_29 = debug_msg_so.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg_ndebug.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ undef_symbol.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_ttext_2 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_1.syms ver_test_2.syms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_4.syms ver_test_5.syms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_7.syms ver_test_10.syms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_3.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ relro_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_matching_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_3.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_4.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_5.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_6.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_7.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_8.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_9.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ dynamic_list.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_30 = debug_msg_so.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg_ndebug.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ undef_symbol.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_ttext_2 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_11.a protected_3.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ justsyms_lib binary.txt \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_matching_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_3.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_4 script_test_5 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_6 script_test_7 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_8 script_test_9 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ dynamic_list dynamic_list.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ libthin1.a libthin3.a \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ libthinall.a \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ alt/thin_archive_test_2.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ alt/thin_archive_test_4.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ alt/libthin2.a alt/libthin4.a +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_36 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ debug_msg_so.err \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ debug_msg_ndebug.err \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ undef_symbol.err \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ flagstest_o_ttext_2 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_1.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_2.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_4.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_5.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_7.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_10.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ protected_3.err \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ relro_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_matching_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_3.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_4.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_5.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_6.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_7.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_8.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_9.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ dynamic_list.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_37 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ debug_msg_so.err \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ debug_msg_ndebug.err \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ undef_symbol.err \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ flagstest_o_ttext_2 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_11.a \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ protected_3.err \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ justsyms_lib binary.txt \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_matching_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_3.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_4 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_5 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_6 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_7 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_8 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_9 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ dynamic_list \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ dynamic_list.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ libthin1.a libthin3.a \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ libthinall.a \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ alt/thin_archive_test_2.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ alt/thin_archive_test_4.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ alt/libthin2.a \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ alt/libthin4.a # Test --compress-debug-sections. FIXME: check we actually compress. # The specialfile output has a tricky case when we also compress debug # sections, because it requires output-file resizing. -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@am__append_31 = flagstest_compress_debug_sections \ -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_specialfile_and_compress_debug_sections +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_38 = flagstest_compress_debug_sections \ +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ flagstest_o_specialfile_and_compress_debug_sections # Test -TText and -Tdata. @@ -313,95 +364,98 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # Test scripts with a relocatable link. # The -g option is necessary to trigger a bug where a section # declared in a script file is assigned a non-zero starting address. -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_32 = flagstest_o_ttext_1 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test ver_test_2 ver_test_6 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_8 ver_test_9 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_11 ver_test_12 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_1 protected_2 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ relro_test relro_now_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ relro_strip_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ relro_script_test script_test_1 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_2 justsyms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ justsyms_exec binary_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_3 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ tls_phdrs_script_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ tls_script_test script_test_11 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ dynamic_list_2 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ thin_archive_test_1 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ thin_archive_test_2 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_39 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ flagstest_o_ttext_1 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test ver_test_2 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_6 ver_test_8 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_9 ver_test_11 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_12 protected_1 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ protected_2 relro_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ relro_now_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ relro_strip_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ relro_script_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_1 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_2 justsyms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ justsyms_exec \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ binary_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_3 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ tls_phdrs_script_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ tls_script_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_11 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ dynamic_list_2 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ thin_archive_test_1 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ thin_archive_test_2 @GCC_FALSE@script_test_1_DEPENDENCIES = -@NATIVE_LINKER_FALSE@script_test_1_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@script_test_1_DEPENDENCIES = @GCC_FALSE@script_test_2_DEPENDENCIES = -@NATIVE_LINKER_FALSE@script_test_2_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@script_test_2_DEPENDENCIES = @GCC_FALSE@justsyms_DEPENDENCIES = -@NATIVE_LINKER_FALSE@justsyms_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@justsyms_DEPENDENCIES = @GCC_FALSE@justsyms_exec_DEPENDENCIES = -@NATIVE_LINKER_FALSE@justsyms_exec_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@justsyms_exec_DEPENDENCIES = @GCC_FALSE@binary_test_DEPENDENCIES = -@NATIVE_LINKER_FALSE@binary_test_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@binary_test_DEPENDENCIES = @GCC_FALSE@thin_archive_test_2_DEPENDENCIES = -@NATIVE_LINKER_FALSE@thin_archive_test_2_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@thin_archive_test_2_DEPENDENCIES = # Test plugins with -r. -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_33 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_1 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_2 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_3 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_4 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_5 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_6 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_7 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_8 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_10 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_11 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_34 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_1.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_2.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_3.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_4.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_6.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_7.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_10.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_11.sh +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_40 = plugin_test_1 \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_2 \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_3 \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_4 \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_5 \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_6 \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_7 \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_8 \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_10 \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_11 +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_41 = plugin_test_1.sh \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_2.sh \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_3.sh \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_4.sh \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_6.sh \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_7.sh \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_10.sh \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_11.sh # Test that symbols known in the IR file but not in the replacement file # produce an unresolved symbol error. -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_35 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_1.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_2.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_3.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_4.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_6.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_7.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_7.o.syms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_9.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_10.sections \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_11.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_42 = plugin_test_1.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_2.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_3.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_4.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_6.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_7.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_7.o.syms \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_9.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_10.sections \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_11.err # Make a copy of two_file_test_1.o, which does not define the symbol _Z4t16av. -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_36 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_1.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_2.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_3.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_4.a \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_4.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_6.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_7.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_9.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ two_file_test_1c.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_10.sections \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_11.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_thin.a -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__append_37 = plugin_test_tls -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__append_38 = plugin_test_tls.sh -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__append_39 = plugin_test_tls.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__append_40 = plugin_test_tls.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_41 = unused.c \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_final_layout -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_42 = plugin_final_layout.sh -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_43 = plugin_final_layout.stdout plugin_final_layout_readelf.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_44 = exclude_libs_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ local_labels_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_test +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_43 = plugin_test_1.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_2.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_3.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_4.a \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_4.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_6.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_7.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_9.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_1c.o \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_10.sections \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_11.err \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_thin.a +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__append_44 = plugin_test_tls +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__append_45 = plugin_test_tls.sh +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__append_46 = plugin_test_tls.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__append_47 = plugin_test_tls.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_48 = \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ unused.c \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_final_layout +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_49 = plugin_final_layout.sh +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_50 = plugin_final_layout.stdout plugin_final_layout_readelf.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_51 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exclude_libs_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ local_labels_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ discard_locals_test # Test that hidden and internal symbols in the main program cannot be # referenced by a shared library. @@ -417,121 +471,138 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # weak reference in a DSO. # Test that MEMORY region support works. -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_45 = exclude_libs_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ hidden_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ retain_symbols_file_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ no_version_test.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ strong_ref_weak_def.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ dyn_weak_ref.sh memory_test.sh -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_46 = exclude_libs_test.syms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_test.syms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_relocatable_test1.syms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_relocatable_test2.syms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ hidden_test.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ retain_symbols_file_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ no_version_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ strong_ref_weak_def.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ dyn_weak_ref.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ memory_test.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_47 = exclude_libs_test.syms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ libexclude_libs_test_1.a \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ libexclude_libs_test_2.a \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ alt/libexclude_libs_test_3.a \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_test.syms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_relocatable_test1.syms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_relocatable_test2.syms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_relocatable_test1.out \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_relocatable_test2.out \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ hidden_test hidden_test.err \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ retain_symbols_file_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ retain_symbols_file_test.in \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ retain_symbols_file_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ searched_file_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ searched_file_test_lib.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ alt/searched_file_test_lib.a \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ libno_version_test.so \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ no_version_test.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ strong_ref_weak_def_1.so \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ strong_ref_weak_def_2.so \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ strong_ref_weak_def.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ dyn_weak_ref_1.so \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ dyn_weak_ref_2.so \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ dyn_weak_ref.stdout \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ libstart_lib_test.a \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ memory_test.stdout memory_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ memory_test.o -@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@NATIVE_LINKER_TRUE@am__append_48 = large +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_52 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exclude_libs_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ discard_locals_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ hidden_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ retain_symbols_file_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ no_version_test.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ strong_ref_weak_def.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ dyn_weak_ref.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ memory_test.sh + +# Test INCLUDE directives in linker scripts. +# The binary isn't runnable, so we just check that we can build it without errors. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_53 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exclude_libs_test.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ discard_locals_test.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ discard_locals_relocatable_test1.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ discard_locals_relocatable_test2.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ hidden_test.err \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ retain_symbols_file_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ no_version_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ strong_ref_weak_def.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ dyn_weak_ref.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ memory_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ memory_test_2 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_54 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exclude_libs_test.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ libexclude_libs_test_1.a \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ libexclude_libs_test_2.a \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ alt/libexclude_libs_test_3.a \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ discard_locals_test.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ discard_locals_relocatable_test1.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ discard_locals_relocatable_test2.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ discard_locals_relocatable_test1.out \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ discard_locals_relocatable_test2.out \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ hidden_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ hidden_test.err \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ retain_symbols_file_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ retain_symbols_file_test.in \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ retain_symbols_file_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ searched_file_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ searched_file_test_lib.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ alt/searched_file_test_lib.a \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ libno_version_test.so \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ no_version_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ strong_ref_weak_def_1.so \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ strong_ref_weak_def_2.so \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ strong_ref_weak_def.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ dyn_weak_ref_1.so \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ dyn_weak_ref_2.so \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ dyn_weak_ref.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ libstart_lib_test.a \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ memory_test.stdout \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ memory_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ memory_test.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ memory_test_inc_1.t \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ memory_test_inc_2.t \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ memory_test_inc_3.t +@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_55 = large @GCC_FALSE@large_DEPENDENCIES = @MCMODEL_MEDIUM_FALSE@large_DEPENDENCIES = -@NATIVE_LINKER_FALSE@large_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@large_DEPENDENCIES = # Test that if the output file already exists and is empty, # it will get execute permission. # Check -l:foo.a -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_49 = permission_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ searched_file_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_56 = permission_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ searched_file_test @GCC_FALSE@searched_file_test_DEPENDENCIES = -@NATIVE_LINKER_FALSE@searched_file_test_DEPENDENCIES = -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_50 = ifuncmain1static \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1picstatic -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_51 = ifuncmain1 \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1pic \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1vis \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1vispic \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1staticpic \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1pie \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1vispie \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1staticpie -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_52 = ifuncmain2static \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain2picstatic +@TEST_AS_NATIVE_LINKER_FALSE@searched_file_test_DEPENDENCIES = +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_57 = ifuncmain1static \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1picstatic +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_58 = \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1 \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1pic \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1vis \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1vispic \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1staticpic \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1pie \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1vispie \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1staticpie +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_59 = ifuncmain2static \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain2picstatic @GCC_FALSE@ifuncmain2static_DEPENDENCIES = @HAVE_STATIC_FALSE@ifuncmain2static_DEPENDENCIES = @IFUNC_FALSE@ifuncmain2static_DEPENDENCIES = @IFUNC_STATIC_FALSE@ifuncmain2static_DEPENDENCIES = -@NATIVE_LINKER_FALSE@ifuncmain2static_DEPENDENCIES = -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_53 = ifuncmain2 \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain2pic \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain3 +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain2static_DEPENDENCIES = +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_60 = \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain2 \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain2pic \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain3 @GCC_FALSE@ifuncmain2_DEPENDENCIES = @IFUNC_FALSE@ifuncmain2_DEPENDENCIES = -@NATIVE_LINKER_FALSE@ifuncmain2_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain2_DEPENDENCIES = @GCC_FALSE@ifuncmain3_DEPENDENCIES = @IFUNC_FALSE@ifuncmain3_DEPENDENCIES = -@NATIVE_LINKER_FALSE@ifuncmain3_DEPENDENCIES = -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_54 = ifuncmain4static \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain4picstatic +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain3_DEPENDENCIES = +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_61 = ifuncmain4static \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain4picstatic @GCC_FALSE@ifuncmain4static_DEPENDENCIES = @HAVE_STATIC_FALSE@ifuncmain4static_DEPENDENCIES = @IFUNC_FALSE@ifuncmain4static_DEPENDENCIES = @IFUNC_STATIC_FALSE@ifuncmain4static_DEPENDENCIES = -@NATIVE_LINKER_FALSE@ifuncmain4static_DEPENDENCIES = -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_55 = ifuncmain4 +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain4static_DEPENDENCIES = +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_62 = ifuncmain4 @GCC_FALSE@ifuncmain4_DEPENDENCIES = @IFUNC_FALSE@ifuncmain4_DEPENDENCIES = -@NATIVE_LINKER_FALSE@ifuncmain4_DEPENDENCIES = -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_56 = ifuncmain5static \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5picstatic -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_57 = ifuncmain5 \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5pic \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5staticpic \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5pie \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain6pie -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_58 = ifuncmain7static \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain7picstatic +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain4_DEPENDENCIES = +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_63 = ifuncmain5static \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain5picstatic +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_64 = \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain5 \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain5pic \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain5staticpic \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain5pie \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain6pie +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_65 = ifuncmain7static \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain7picstatic @GCC_FALSE@ifuncmain7static_DEPENDENCIES = @HAVE_STATIC_FALSE@ifuncmain7static_DEPENDENCIES = @IFUNC_FALSE@ifuncmain7static_DEPENDENCIES = @IFUNC_STATIC_FALSE@ifuncmain7static_DEPENDENCIES = -@NATIVE_LINKER_FALSE@ifuncmain7static_DEPENDENCIES = -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__append_59 = ifuncmain7 \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain7pic \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain7pie \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncvar +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain7static_DEPENDENCIES = +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_66 = \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain7 \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain7pic \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain7pie \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncvar @GCC_FALSE@ifuncmain7_DEPENDENCIES = @IFUNC_FALSE@ifuncmain7_DEPENDENCIES = -@NATIVE_LINKER_FALSE@ifuncmain7_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain7_DEPENDENCIES = # Test that --start-lib and --end-lib function correctly. @@ -542,98 +613,102 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # Test that __ehdr_start is defined correctly when used with a linker script. # Test that __ehdr_start is not overridden when supplied by the user. -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_60 = start_lib_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_1 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_2 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_3 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_5 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_67 = start_lib_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ehdr_start_test_1 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ehdr_start_test_2 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ehdr_start_test_3 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ehdr_start_test_5 # Test that --gdb-index functions correctly without gcc-generated pubnames. -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@am__append_61 = gdb_index_test_1.sh -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@am__append_62 = gdb_index_test_1.stdout -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@am__append_63 = gdb_index_test_1.stdout gdb_index_test_1 +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_68 = gdb_index_test_1.sh +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_69 = gdb_index_test_1.stdout +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_70 = gdb_index_test_1.stdout gdb_index_test_1 # Test that --gdb-index functions correctly with compressed debug sections. -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@am__append_64 = gdb_index_test_2.sh -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@am__append_65 = gdb_index_test_2.stdout -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@am__append_66 = gdb_index_test_2.stdout gdb_index_test_2 +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_71 = gdb_index_test_2.sh +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_72 = gdb_index_test_2.stdout +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_73 = gdb_index_test_2.stdout gdb_index_test_2 # Another simple C test (DW_AT_high_pc encoding) for --gdb-index. # Test that --gdb-index functions correctly with gcc-generated pubnames. -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@am__append_67 = gdb_index_test_3.sh \ -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_4.sh -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@am__append_68 = gdb_index_test_3.stdout \ -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_4.stdout -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@am__append_69 = gdb_index_test_3.stdout \ -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_3 \ -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_4.stdout \ -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_4 +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_74 = gdb_index_test_3.sh \ +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gdb_index_test_4.sh +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_75 = gdb_index_test_3.stdout \ +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gdb_index_test_4.stdout +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_76 = gdb_index_test_3.stdout \ +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gdb_index_test_3 \ +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gdb_index_test_4.stdout \ +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gdb_index_test_4 @GCC_FALSE@ehdr_start_test_1_DEPENDENCIES = -@NATIVE_LINKER_FALSE@ehdr_start_test_1_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@ehdr_start_test_1_DEPENDENCIES = @GCC_FALSE@ehdr_start_test_2_DEPENDENCIES = -@NATIVE_LINKER_FALSE@ehdr_start_test_2_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@ehdr_start_test_2_DEPENDENCIES = @GCC_FALSE@ehdr_start_test_3_DEPENDENCIES = -@NATIVE_LINKER_FALSE@ehdr_start_test_3_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@ehdr_start_test_3_DEPENDENCIES = # Test that __ehdr_start is left undefined when the text segment is not # appropriately aligned. # Test that the --defsym option copies the symbol type and visibility. -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_70 = ehdr_start_test_4.sh \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ defsym_test.sh -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_71 = ehdr_start_test_4.syms \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ defsym_test.syms -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_72 = ehdr_start_test_4 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ defsym_test defsym_test.syms +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_77 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ehdr_start_test_4.sh \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ defsym_test.sh +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_78 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ehdr_start_test_4.syms \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ defsym_test.syms +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_79 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ehdr_start_test_4 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ defsym_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ defsym_test.syms @GCC_FALSE@ehdr_start_test_5_DEPENDENCIES = -@NATIVE_LINKER_FALSE@ehdr_start_test_5_DEPENDENCIES = +@TEST_AS_NATIVE_LINKER_FALSE@ehdr_start_test_5_DEPENDENCIES = # Test the --incremental-unchanged flag with an archive library. # The second link should not update the library. -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_73 = incremental_test_2 \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_3 \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_4 \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_5 \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_6 \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_copy_test \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_common_test_1 \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_comdat_test_1 \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_x86_64_bnd_test -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_74 = two_file_test_tmp_2.o \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_tmp_3.o \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_4.base \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_tmp_4.o \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_5.a \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_6.a +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_80 = incremental_test_2 \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_test_3 \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_test_4 \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_test_5 \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_test_6 \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_copy_test \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_common_test_1 \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_comdat_test_1 \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_x86_64_bnd_test +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__append_81 = two_file_test_tmp_2.o \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_tmp_3.o \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_test_4.base \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_tmp_4.o \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_5.a \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_6.a # These tests work with native and cross linkers. # Test script section order. -@NATIVE_OR_CROSS_LINKER_TRUE@am__append_75 = script_test_10.sh -@NATIVE_OR_CROSS_LINKER_TRUE@am__append_76 = script_test_10.stdout -@NATIVE_OR_CROSS_LINKER_TRUE@am__append_77 = script_test_10 +@NATIVE_OR_CROSS_LINKER_TRUE@am__append_82 = script_test_10.sh +@NATIVE_OR_CROSS_LINKER_TRUE@am__append_83 = script_test_10.stdout +@NATIVE_OR_CROSS_LINKER_TRUE@am__append_84 = script_test_10 # These tests work with cross linkers only. -@DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_78 = split_i386.sh -@DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_79 = split_i386_1.stdout split_i386_2.stdout \ +@DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_85 = split_i386.sh +@DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_86 = split_i386_1.stdout split_i386_2.stdout \ @DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_i386_3.stdout split_i386_4.stdout split_i386_r.stdout -@DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_80 = split_i386_1 split_i386_2 split_i386_3 \ +@DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_87 = split_i386_1 split_i386_2 split_i386_3 \ @DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_i386_4 split_i386_r -@DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_81 = split_x86_64.sh -@DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_82 = split_x86_64_1.stdout split_x86_64_2.stdout \ +@DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_88 = split_x86_64.sh +@DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_89 = split_x86_64_1.stdout split_x86_64_2.stdout \ @DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_x86_64_3.stdout split_x86_64_4.stdout split_x86_64_r.stdout -@DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_83 = split_x86_64_1 split_x86_64_2 split_x86_64_3 \ +@DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_90 = split_x86_64_1 split_x86_64_2 split_x86_64_3 \ @DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_x86_64_4 split_x86_64_r -@DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_84 = split_x32.sh -@DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_85 = split_x32_1.stdout split_x32_2.stdout \ +@DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_91 = split_x32.sh +@DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_92 = split_x32_1.stdout split_x32_2.stdout \ @DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_x32_3.stdout split_x32_4.stdout split_x32_r.stdout -@DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_86 = split_x32_1 split_x32_2 split_x32_3 \ +@DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_93 = split_x32_1 split_x32_2 split_x32_3 \ @DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ split_x32_4 split_x32_r @@ -648,7 +723,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ # Check Thumb to Thumb farcall veneers # Check Thumb to ARM farcall veneers -@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_87 = arm_abs_global.sh \ +@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_94 = arm_abs_global.sh \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_branch_in_range.sh \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_branch_out_of_range.sh \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_fix_v4bx.sh \ @@ -662,7 +737,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_arm_thumb.sh \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_thumb.sh \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_arm.sh -@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_88 = arm_abs_global.stdout \ +@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_95 = arm_abs_global.stdout \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_bl_in_range.stdout \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_bl_out_of_range.stdout \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ thumb_bl_in_range.stdout \ @@ -707,7 +782,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_thumb_6m.stdout \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_arm.stdout \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_arm_5t.stdout -@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_89 = arm_abs_global \ +@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@am__append_96 = arm_abs_global \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_bl_in_range \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_bl_out_of_range \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ thumb_bl_in_range \ @@ -750,10 +825,10 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_thumb_6m \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_arm \ @DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_arm_5t -@DEFAULT_TARGET_X86_64_TRUE@am__append_90 = *.dwo *.dwp -@DEFAULT_TARGET_X86_64_TRUE@am__append_91 = dwp_test_1.sh \ +@DEFAULT_TARGET_X86_64_TRUE@am__append_97 = *.dwo *.dwp +@DEFAULT_TARGET_X86_64_TRUE@am__append_98 = dwp_test_1.sh \ @DEFAULT_TARGET_X86_64_TRUE@ dwp_test_2.sh -@DEFAULT_TARGET_X86_64_TRUE@am__append_92 = dwp_test_1.stdout \ +@DEFAULT_TARGET_X86_64_TRUE@am__append_99 = dwp_test_1.stdout \ @DEFAULT_TARGET_X86_64_TRUE@ dwp_test_2.stdout subdir = testsuite DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am @@ -784,175 +859,168 @@ libgoldtest_a_OBJECTS = $(am_libgoldtest_a_OBJECTS) @NATIVE_OR_CROSS_LINKER_TRUE@am__EXEEXT_1 = object_unittest$(EXEEXT) \ @NATIVE_OR_CROSS_LINKER_TRUE@ binary_unittest$(EXEEXT) \ @NATIVE_OR_CROSS_LINKER_TRUE@ leb128_unittest$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_2 = icf_virtual_function_folding_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ large_symbol_alignment$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ basic_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ basic_pic_test$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_3 = basic_static_test$(EXEEXT) \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@ basic_static_pic_test$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_4 = basic_pie_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ constructor_test$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_5 = constructor_static_test$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_6 = two_file_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_pic_test$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_7 = two_file_static_test$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_8 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared_1_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared_2_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared_1_pic_2_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared_2_pic_1_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_same_shared_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_separate_shared_12_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_separate_shared_21_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_relocatable_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_pie_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ pie_copyrelocs_test$(EXEEXT) -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_9 = two_file_shared_1_nonpic_test$(EXEEXT) \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared_2_nonpic_test$(EXEEXT) \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_same_shared_nonpic_test$(EXEEXT) \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_separate_shared_12_nonpic_test$(EXEEXT) \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_separate_shared_21_nonpic_test$(EXEEXT) \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_mixed_shared_test$(EXEEXT) \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_mixed_2_shared_test$(EXEEXT) \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_mixed_pie_test$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_10 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_strip_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_same_shared_strip_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ common_test_1$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ common_test_2$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_shared_1_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_shared_2_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_same_shared_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_separate_shared_12_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_separate_shared_21_test$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_11 = exception_static_test$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_12 = weak_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_undef_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_undef_test_2$(EXEEXT) -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_13 = weak_undef_nonpic_test$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_14 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_alias_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_plt$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ copy_test$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am__EXEEXT_15 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_pic_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_pie_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_pie_pic_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_shared_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_shared_ie_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_shared_gd_to_ie_test$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@am__EXEEXT_16 = tls_shared_gnu2_gd_to_ie_test$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@am__EXEEXT_17 = tls_shared_gnu2_test$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@am__EXEEXT_18 = tls_static_test$(EXEEXT) \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@ tls_static_pic_test$(EXEEXT) -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am__EXEEXT_19 = tls_shared_nonpic_test$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_20 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ many_sections_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ many_sections_r_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ initpri1$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ initpri2$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ initpri3a$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_specialfile$(EXEEXT) -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_21 = flagstest_compress_debug_sections$(EXEEXT) \ -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_22 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_ttext_1$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_2$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_6$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_8$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_9$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_11$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_12$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_1$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_2$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ relro_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ relro_now_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ relro_strip_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ relro_script_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_1$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_2$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ justsyms$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ justsyms_exec$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ binary_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_3$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ tls_phdrs_script_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ tls_script_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_11$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ dynamic_list_2$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ thin_archive_test_1$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ thin_archive_test_2$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__EXEEXT_23 = plugin_test_1$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_2$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_3$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_4$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_5$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_6$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_7$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_8$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_10$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_test_11$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@am__EXEEXT_24 = plugin_test_tls$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_25 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exclude_libs_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ local_labels_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_test$(EXEEXT) -@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_26 = large$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_27 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ permission_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ searched_file_test$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_28 = ifuncmain1static$(EXEEXT) \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1picstatic$(EXEEXT) -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_29 = \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1pic$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1vis$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1vispic$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1staticpic$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1pie$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1vispie$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain1staticpie$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_30 = ifuncmain2static$(EXEEXT) \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain2picstatic$(EXEEXT) -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_31 = \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain2$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain2pic$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain3$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_32 = ifuncmain4static$(EXEEXT) \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain4picstatic$(EXEEXT) -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_33 = \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain4$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_34 = ifuncmain5static$(EXEEXT) \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5picstatic$(EXEEXT) -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_35 = \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5pic$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5staticpic$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain5pie$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain6pie$(EXEEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_36 = ifuncmain7static$(EXEEXT) \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain7picstatic$(EXEEXT) -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_37 = \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain7$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain7pic$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncmain7pie$(EXEEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncvar$(EXEEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_38 = start_lib_test$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_1$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_2$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_3$(EXEEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_5$(EXEEXT) -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am__EXEEXT_39 = incremental_test_2$(EXEEXT) \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_3$(EXEEXT) \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_4$(EXEEXT) \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_5$(EXEEXT) \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_test_6$(EXEEXT) \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_copy_test$(EXEEXT) \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_common_test_1$(EXEEXT) \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ incremental_comdat_test_1$(EXEEXT) \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_x86_64_bnd_test$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_2 = icf_virtual_function_folding_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ large_symbol_alignment$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ basic_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ basic_pic_test$(EXEEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_3 = basic_static_test$(EXEEXT) \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ basic_static_pic_test$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_4 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ basic_pie_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ constructor_test$(EXEEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_5 = constructor_static_test$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_6 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_pic_test$(EXEEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_7 = two_file_static_test$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_8 = two_file_shared_1_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared_2_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared_1_pic_2_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared_2_pic_1_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_same_shared_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_separate_shared_12_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_separate_shared_21_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_relocatable_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_pie_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ pie_copyrelocs_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ disable_pie_unsafe_size_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_unresolved_symbols_test$(EXEEXT) +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_9 = two_file_shared_1_nonpic_test$(EXEEXT) \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared_2_nonpic_test$(EXEEXT) \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_same_shared_nonpic_test$(EXEEXT) \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_separate_shared_12_nonpic_test$(EXEEXT) \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_separate_shared_21_nonpic_test$(EXEEXT) \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_mixed_shared_test$(EXEEXT) \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_mixed_2_shared_test$(EXEEXT) \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_mixed_pie_test$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_10 = two_file_strip_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_same_shared_strip_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ common_test_1$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ common_test_2$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_shared_1_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_shared_2_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_same_shared_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_separate_shared_12_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_separate_shared_21_test$(EXEEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_11 = exception_static_test$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_12 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_undef_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_undef_test_2$(EXEEXT) +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_13 = weak_undef_nonpic_test$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_14 = weak_alias_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_plt$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ copy_test$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__EXEEXT_15 = tls_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_pic_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_pie_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_pie_pic_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_shared_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_shared_ie_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_shared_gd_to_ie_test$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@am__EXEEXT_16 = tls_shared_gnu2_gd_to_ie_test$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@am__EXEEXT_17 = tls_shared_gnu2_test$(EXEEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@STATIC_TLS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__EXEEXT_18 = tls_static_test$(EXEEXT) \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@STATIC_TLS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_static_pic_test$(EXEEXT) +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__EXEEXT_19 = tls_shared_nonpic_test$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_20 = many_sections_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ many_sections_r_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ initpri1$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ initpri2$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ initpri3a$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ flagstest_o_specialfile$(EXEEXT) +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_21 = flagstest_compress_debug_sections$(EXEEXT) \ +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_22 = flagstest_o_ttext_1$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_2$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_6$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_8$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_9$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_11$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_12$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ protected_1$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ protected_2$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ relro_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ relro_now_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ relro_strip_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ relro_script_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_1$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_2$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ justsyms$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ justsyms_exec$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ binary_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_3$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ tls_phdrs_script_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ tls_script_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_11$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ dynamic_list_2$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ thin_archive_test_1$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ thin_archive_test_2$(EXEEXT) +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_23 = plugin_test_1$(EXEEXT) \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_2$(EXEEXT) \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_3$(EXEEXT) \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_4$(EXEEXT) \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_5$(EXEEXT) \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_6$(EXEEXT) \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_7$(EXEEXT) \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_8$(EXEEXT) \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_10$(EXEEXT) \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ plugin_test_11$(EXEEXT) +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__EXEEXT_24 = plugin_test_tls$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_25 = exclude_libs_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ local_labels_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ discard_locals_test$(EXEEXT) +@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_26 = large$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_27 = permission_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ searched_file_test$(EXEEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_28 = ifuncmain1static$(EXEEXT) \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1picstatic$(EXEEXT) +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_29 = ifuncmain1$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1pic$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1vis$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1vispic$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1staticpic$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1pie$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1vispie$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain1staticpie$(EXEEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_30 = ifuncmain2static$(EXEEXT) \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain2picstatic$(EXEEXT) +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_31 = ifuncmain2$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain2pic$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain3$(EXEEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_32 = ifuncmain4static$(EXEEXT) \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain4picstatic$(EXEEXT) +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_33 = ifuncmain4$(EXEEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_34 = ifuncmain5static$(EXEEXT) \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain5picstatic$(EXEEXT) +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_35 = ifuncmain5$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain5pic$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain5staticpic$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain5pie$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain6pie$(EXEEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_36 = ifuncmain7static$(EXEEXT) \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain7picstatic$(EXEEXT) +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_37 = ifuncmain7$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain7pic$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncmain7pie$(EXEEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncvar$(EXEEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_38 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ start_lib_test$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ehdr_start_test_1$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ehdr_start_test_2$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ehdr_start_test_3$(EXEEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ehdr_start_test_5$(EXEEXT) +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__EXEEXT_39 = incremental_test_2$(EXEEXT) \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_test_3$(EXEEXT) \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_test_4$(EXEEXT) \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_test_5$(EXEEXT) \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_test_6$(EXEEXT) \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_copy_test$(EXEEXT) \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_common_test_1$(EXEEXT) \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ incremental_comdat_test_1$(EXEEXT) \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_x86_64_bnd_test$(EXEEXT) basic_pic_test_SOURCES = basic_pic_test.c basic_pic_test_OBJECTS = basic_pic_test.$(OBJEXT) basic_pic_test_LDADD = $(LDADD) @@ -984,8 +1052,8 @@ basic_test_LDADD = $(LDADD) basic_test_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_binary_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ binary_test.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_binary_test_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ binary_test.$(OBJEXT) binary_test_OBJECTS = $(am_binary_test_OBJECTS) binary_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(binary_test_LDFLAGS) $(LDFLAGS) -o $@ @@ -996,35 +1064,42 @@ binary_unittest_LDADD = $(LDADD) binary_unittest_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_common_test_1_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ common_test_1.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_common_test_1_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ common_test_1.$(OBJEXT) common_test_1_OBJECTS = $(am_common_test_1_OBJECTS) common_test_1_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(common_test_1_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_common_test_2_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ common_test_1.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_common_test_2_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ common_test_1.$(OBJEXT) common_test_2_OBJECTS = $(am_common_test_2_OBJECTS) common_test_2_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(common_test_2_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__objects_1 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ constructor_test.$(OBJEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@am_constructor_static_test_OBJECTS = $(am__objects_1) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__objects_1 = constructor_test.$(OBJEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_constructor_static_test_OBJECTS = $(am__objects_1) constructor_static_test_OBJECTS = \ $(am_constructor_static_test_OBJECTS) constructor_static_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(constructor_static_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_constructor_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ constructor_test.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_constructor_test_OBJECTS = constructor_test.$(OBJEXT) constructor_test_OBJECTS = $(am_constructor_test_OBJECTS) constructor_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(constructor_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_copy_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ copy_test.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_copy_test_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ copy_test.$(OBJEXT) copy_test_OBJECTS = $(am_copy_test_OBJECTS) copy_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(copy_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_discard_locals_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_test.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_disable_pie_unsafe_size_test_OBJECTS = disable_pie_unsafe_size_test.$(OBJEXT) +disable_pie_unsafe_size_test_OBJECTS = \ + $(am_disable_pie_unsafe_size_test_OBJECTS) +disable_pie_unsafe_size_test_LDADD = $(LDADD) +disable_pie_unsafe_size_test_DEPENDENCIES = libgoldtest.a ../libgold.a \ + ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +disable_pie_unsafe_size_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(disable_pie_unsafe_size_test_LDFLAGS) $(LDFLAGS) \ + -o $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_discard_locals_test_OBJECTS = discard_locals_test.$(OBJEXT) discard_locals_test_OBJECTS = $(am_discard_locals_test_OBJECTS) discard_locals_test_LDADD = $(LDADD) discard_locals_test_DEPENDENCIES = libgoldtest.a ../libgold.a \ @@ -1032,84 +1107,75 @@ discard_locals_test_DEPENDENCIES = libgoldtest.a ../libgold.a \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) discard_locals_test_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(discard_locals_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_dynamic_list_2_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ dynamic_list_2.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_dynamic_list_2_OBJECTS = dynamic_list_2.$(OBJEXT) dynamic_list_2_OBJECTS = $(am_dynamic_list_2_OBJECTS) dynamic_list_2_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(dynamic_list_2_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ehdr_start_test_1_OBJECTS = ehdr_start_test_1-ehdr_start_test.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ehdr_start_test_1_OBJECTS = ehdr_start_test_1-ehdr_start_test.$(OBJEXT) ehdr_start_test_1_OBJECTS = $(am_ehdr_start_test_1_OBJECTS) ehdr_start_test_1_LINK = $(CXXLD) $(ehdr_start_test_1_CXXFLAGS) \ $(CXXFLAGS) $(ehdr_start_test_1_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ehdr_start_test_2_OBJECTS = ehdr_start_test_2-ehdr_start_test.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ehdr_start_test_2_OBJECTS = ehdr_start_test_2-ehdr_start_test.$(OBJEXT) ehdr_start_test_2_OBJECTS = $(am_ehdr_start_test_2_OBJECTS) ehdr_start_test_2_LINK = $(CXXLD) $(ehdr_start_test_2_CXXFLAGS) \ $(CXXFLAGS) $(ehdr_start_test_2_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ehdr_start_test_3_OBJECTS = ehdr_start_test_3-ehdr_start_test.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ehdr_start_test_3_OBJECTS = ehdr_start_test_3-ehdr_start_test.$(OBJEXT) ehdr_start_test_3_OBJECTS = $(am_ehdr_start_test_3_OBJECTS) ehdr_start_test_3_LINK = $(CXXLD) $(ehdr_start_test_3_CXXFLAGS) \ $(CXXFLAGS) $(ehdr_start_test_3_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ehdr_start_test_5_OBJECTS = ehdr_start_test_5-ehdr_start_test.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ehdr_start_test_5-ehdr_start_def.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ehdr_start_test_5_OBJECTS = ehdr_start_test_5-ehdr_start_test.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ehdr_start_test_5-ehdr_start_def.$(OBJEXT) ehdr_start_test_5_OBJECTS = $(am_ehdr_start_test_5_OBJECTS) ehdr_start_test_5_LINK = $(CXXLD) $(ehdr_start_test_5_CXXFLAGS) \ $(CXXFLAGS) $(ehdr_start_test_5_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_exception_same_shared_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_exception_same_shared_test_OBJECTS = exception_test_main.$(OBJEXT) exception_same_shared_test_OBJECTS = \ $(am_exception_same_shared_test_OBJECTS) exception_same_shared_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(exception_same_shared_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_exception_separate_shared_12_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_exception_separate_shared_12_test_OBJECTS = exception_test_main.$(OBJEXT) exception_separate_shared_12_test_OBJECTS = \ $(am_exception_separate_shared_12_test_OBJECTS) exception_separate_shared_12_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(exception_separate_shared_12_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_exception_separate_shared_21_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_exception_separate_shared_21_test_OBJECTS = exception_test_main.$(OBJEXT) exception_separate_shared_21_test_OBJECTS = \ $(am_exception_separate_shared_21_test_OBJECTS) exception_separate_shared_21_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(exception_separate_shared_21_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_exception_shared_1_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_2.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_exception_shared_1_test_OBJECTS = exception_test_2.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_test_main.$(OBJEXT) exception_shared_1_test_OBJECTS = \ $(am_exception_shared_1_test_OBJECTS) exception_shared_1_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(exception_shared_1_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_exception_shared_2_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_1.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_exception_shared_2_test_OBJECTS = exception_test_1.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_test_main.$(OBJEXT) exception_shared_2_test_OBJECTS = \ $(am_exception_shared_2_test_OBJECTS) exception_shared_2_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(exception_shared_2_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__objects_2 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_main.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_1.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_2.$(OBJEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@am_exception_static_test_OBJECTS = $(am__objects_2) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__objects_2 = exception_test_main.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_test_1.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_test_2.$(OBJEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_exception_static_test_OBJECTS = $(am__objects_2) exception_static_test_OBJECTS = $(am_exception_static_test_OBJECTS) exception_static_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(exception_static_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_exception_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_main.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_1.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_2.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_exception_test_OBJECTS = exception_test_main.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_test_1.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_test_2.$(OBJEXT) exception_test_OBJECTS = $(am_exception_test_OBJECTS) exception_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(exception_test_LDFLAGS) $(LDFLAGS) -o $@ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am_exception_x86_64_bnd_test_OBJECTS = exception_test_main.$(OBJEXT) +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_exception_x86_64_bnd_test_OBJECTS = exception_test_main.$(OBJEXT) exception_x86_64_bnd_test_OBJECTS = \ $(am_exception_x86_64_bnd_test_OBJECTS) exception_x86_64_bnd_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(exception_x86_64_bnd_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_exclude_libs_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exclude_libs_test.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_exclude_libs_test_OBJECTS = exclude_libs_test.$(OBJEXT) exclude_libs_test_OBJECTS = $(am_exclude_libs_test_OBJECTS) exclude_libs_test_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(exclude_libs_test_LDFLAGS) $(LDFLAGS) -o $@ @@ -1150,7 +1216,7 @@ icf_virtual_function_folding_test_LDADD = $(LDADD) icf_virtual_function_folding_test_DEPENDENCIES = libgoldtest.a \ ../libgold.a ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am_ifuncmain1_OBJECTS = ifuncmain1.$(OBJEXT) +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ifuncmain1_OBJECTS = ifuncmain1.$(OBJEXT) ifuncmain1_OBJECTS = $(am_ifuncmain1_OBJECTS) ifuncmain1_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ifuncmain1_LDFLAGS) \ $(LDFLAGS) -o $@ @@ -1172,7 +1238,7 @@ ifuncmain1pie_LDADD = $(LDADD) ifuncmain1pie_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am_ifuncmain1static_OBJECTS = ifuncmain1.$(OBJEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ifuncmain1static_OBJECTS = ifuncmain1.$(OBJEXT) ifuncmain1static_OBJECTS = $(am_ifuncmain1static_OBJECTS) ifuncmain1static_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(ifuncmain1static_LDFLAGS) $(LDFLAGS) -o $@ @@ -1188,7 +1254,7 @@ ifuncmain1staticpie_LDADD = $(LDADD) ifuncmain1staticpie_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am_ifuncmain1vis_OBJECTS = ifuncmain1vis.$(OBJEXT) +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ifuncmain1vis_OBJECTS = ifuncmain1vis.$(OBJEXT) ifuncmain1vis_OBJECTS = $(am_ifuncmain1vis_OBJECTS) ifuncmain1vis_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(ifuncmain1vis_LDFLAGS) $(LDFLAGS) -o $@ @@ -1204,8 +1270,8 @@ ifuncmain1vispie_LDADD = $(LDADD) ifuncmain1vispie_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am_ifuncmain2_OBJECTS = ifuncmain2.$(OBJEXT) \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncdep2.$(OBJEXT) +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ifuncmain2_OBJECTS = ifuncmain2.$(OBJEXT) \ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncdep2.$(OBJEXT) ifuncmain2_OBJECTS = $(am_ifuncmain2_OBJECTS) ifuncmain2_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ifuncmain2_LDFLAGS) \ $(LDFLAGS) -o $@ @@ -1221,16 +1287,16 @@ ifuncmain2picstatic_LDADD = $(LDADD) ifuncmain2picstatic_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am_ifuncmain2static_OBJECTS = ifuncmain2.$(OBJEXT) \ -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncdep2.$(OBJEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ifuncmain2static_OBJECTS = ifuncmain2.$(OBJEXT) \ +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ifuncdep2.$(OBJEXT) ifuncmain2static_OBJECTS = $(am_ifuncmain2static_OBJECTS) ifuncmain2static_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(ifuncmain2static_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am_ifuncmain3_OBJECTS = ifuncmain3.$(OBJEXT) +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ifuncmain3_OBJECTS = ifuncmain3.$(OBJEXT) ifuncmain3_OBJECTS = $(am_ifuncmain3_OBJECTS) ifuncmain3_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ifuncmain3_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am_ifuncmain4_OBJECTS = ifuncmain4.$(OBJEXT) +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ifuncmain4_OBJECTS = ifuncmain4.$(OBJEXT) ifuncmain4_OBJECTS = $(am_ifuncmain4_OBJECTS) ifuncmain4_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ifuncmain4_LDFLAGS) \ $(LDFLAGS) -o $@ @@ -1240,11 +1306,11 @@ ifuncmain4picstatic_LDADD = $(LDADD) ifuncmain4picstatic_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am_ifuncmain4static_OBJECTS = ifuncmain4.$(OBJEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ifuncmain4static_OBJECTS = ifuncmain4.$(OBJEXT) ifuncmain4static_OBJECTS = $(am_ifuncmain4static_OBJECTS) ifuncmain4static_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(ifuncmain4static_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am_ifuncmain5_OBJECTS = ifuncmain5.$(OBJEXT) +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ifuncmain5_OBJECTS = ifuncmain5.$(OBJEXT) ifuncmain5_OBJECTS = $(am_ifuncmain5_OBJECTS) ifuncmain5_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ifuncmain5_LDFLAGS) \ $(LDFLAGS) -o $@ @@ -1266,7 +1332,7 @@ ifuncmain5pie_LDADD = $(LDADD) ifuncmain5pie_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am_ifuncmain5static_OBJECTS = ifuncmain5.$(OBJEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ifuncmain5static_OBJECTS = ifuncmain5.$(OBJEXT) ifuncmain5static_OBJECTS = $(am_ifuncmain5static_OBJECTS) ifuncmain5static_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(ifuncmain5static_LDFLAGS) $(LDFLAGS) -o $@ @@ -1282,7 +1348,7 @@ ifuncmain6pie_LDADD = $(LDADD) ifuncmain6pie_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am_ifuncmain7_OBJECTS = ifuncmain7.$(OBJEXT) +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ifuncmain7_OBJECTS = ifuncmain7.$(OBJEXT) ifuncmain7_OBJECTS = $(am_ifuncmain7_OBJECTS) ifuncmain7_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ifuncmain7_LDFLAGS) \ $(LDFLAGS) -o $@ @@ -1304,12 +1370,11 @@ ifuncmain7pie_LDADD = $(LDADD) ifuncmain7pie_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am_ifuncmain7static_OBJECTS = ifuncmain7.$(OBJEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ifuncmain7static_OBJECTS = ifuncmain7.$(OBJEXT) ifuncmain7static_OBJECTS = $(am_ifuncmain7static_OBJECTS) ifuncmain7static_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(ifuncmain7static_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@am_ifuncvar_OBJECTS = \ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ ifuncvar3.$(OBJEXT) +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ifuncvar_OBJECTS = ifuncvar3.$(OBJEXT) ifuncvar_OBJECTS = $(am_ifuncvar_OBJECTS) ifuncvar_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ifuncvar_LDFLAGS) \ $(LDFLAGS) -o $@ @@ -1363,36 +1428,36 @@ incremental_test_6_LDADD = $(LDADD) incremental_test_6_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_initpri1_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ initpri1.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_initpri1_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ initpri1.$(OBJEXT) initpri1_OBJECTS = $(am_initpri1_OBJECTS) initpri1_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(initpri1_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_initpri2_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ initpri2.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_initpri2_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ initpri2.$(OBJEXT) initpri2_OBJECTS = $(am_initpri2_OBJECTS) initpri2_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(initpri2_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_initpri3a_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ initpri3.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_initpri3a_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ initpri3.$(OBJEXT) initpri3a_OBJECTS = $(am_initpri3a_OBJECTS) initpri3a_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(initpri3a_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_justsyms_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ justsyms_1.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_justsyms_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ justsyms_1.$(OBJEXT) justsyms_OBJECTS = $(am_justsyms_OBJECTS) justsyms_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(justsyms_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_justsyms_exec_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ justsyms_exec.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_justsyms_exec_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ justsyms_exec.$(OBJEXT) justsyms_exec_OBJECTS = $(am_justsyms_exec_OBJECTS) justsyms_exec_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(justsyms_exec_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@NATIVE_LINKER_TRUE@am_large_OBJECTS = large-large.$(OBJEXT) +@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_large_OBJECTS = large-large.$(OBJEXT) large_OBJECTS = $(am_large_OBJECTS) large_LINK = $(CCLD) $(large_CFLAGS) $(CFLAGS) $(large_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_large_symbol_alignment_OBJECTS = large_symbol_alignment.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_large_symbol_alignment_OBJECTS = large_symbol_alignment.$(OBJEXT) large_symbol_alignment_OBJECTS = $(am_large_symbol_alignment_OBJECTS) large_symbol_alignment_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(large_symbol_alignment_LDFLAGS) $(LDFLAGS) -o $@ @@ -1415,8 +1480,7 @@ many_sections_r_test_LDADD = $(LDADD) many_sections_r_test_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_many_sections_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ many_sections_test.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_many_sections_test_OBJECTS = many_sections_test.$(OBJEXT) many_sections_test_OBJECTS = $(am_many_sections_test_OBJECTS) many_sections_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(many_sections_test_LDFLAGS) $(LDFLAGS) -o $@ @@ -1433,7 +1497,7 @@ permission_test_LDADD = $(LDADD) permission_test_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_pie_copyrelocs_test_OBJECTS = pie_copyrelocs_test-pie_copyrelocs_test.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_pie_copyrelocs_test_OBJECTS = pie_copyrelocs_test-pie_copyrelocs_test.$(OBJEXT) pie_copyrelocs_test_OBJECTS = $(am_pie_copyrelocs_test_OBJECTS) pie_copyrelocs_test_LINK = $(CXXLD) $(pie_copyrelocs_test_CXXFLAGS) \ $(CXXFLAGS) $(pie_copyrelocs_test_LDFLAGS) $(LDFLAGS) -o $@ @@ -1503,41 +1567,35 @@ plugin_test_tls_LDADD = $(LDADD) plugin_test_tls_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_protected_1_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_main_1.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_main_2.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_main_3.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_protected_1_OBJECTS = protected_main_1.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ protected_main_2.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ protected_main_3.$(OBJEXT) protected_1_OBJECTS = $(am_protected_1_OBJECTS) protected_1_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(protected_1_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_protected_2_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_main_1.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_3.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_protected_2_OBJECTS = protected_main_1.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ protected_3.$(OBJEXT) protected_2_OBJECTS = $(am_protected_2_OBJECTS) protected_2_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(protected_2_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_relro_now_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ relro_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_relro_now_test_OBJECTS = relro_test_main.$(OBJEXT) relro_now_test_OBJECTS = $(am_relro_now_test_OBJECTS) relro_now_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(relro_now_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_relro_script_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ relro_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_relro_script_test_OBJECTS = relro_test_main.$(OBJEXT) relro_script_test_OBJECTS = $(am_relro_script_test_OBJECTS) relro_script_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(relro_script_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_relro_strip_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ relro_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_relro_strip_test_OBJECTS = relro_test_main.$(OBJEXT) relro_strip_test_OBJECTS = $(am_relro_strip_test_OBJECTS) relro_strip_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(relro_strip_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_relro_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ relro_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_relro_test_OBJECTS = relro_test_main.$(OBJEXT) relro_test_OBJECTS = $(am_relro_test_OBJECTS) relro_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(relro_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_script_test_1_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_1.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_script_test_1_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_1.$(OBJEXT) script_test_1_OBJECTS = $(am_script_test_1_OBJECTS) script_test_1_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(script_test_1_LDFLAGS) $(LDFLAGS) -o $@ @@ -1547,10 +1605,10 @@ script_test_11_LDADD = $(LDADD) script_test_11_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_script_test_2_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_2.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_2a.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_2b.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_script_test_2_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_2.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_2a.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ script_test_2b.$(OBJEXT) script_test_2_OBJECTS = $(am_script_test_2_OBJECTS) script_test_2_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(script_test_2_LDFLAGS) $(LDFLAGS) -o $@ @@ -1560,8 +1618,7 @@ script_test_3_LDADD = $(LDADD) script_test_3_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_searched_file_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ searched_file_test.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_searched_file_test_OBJECTS = searched_file_test.$(OBJEXT) searched_file_test_OBJECTS = $(am_searched_file_test_OBJECTS) searched_file_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(searched_file_test_LDFLAGS) $(LDFLAGS) -o $@ @@ -1571,28 +1628,25 @@ start_lib_test_LDADD = $(LDADD) start_lib_test_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_thin_archive_test_1_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ thin_archive_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_thin_archive_test_1_OBJECTS = thin_archive_main.$(OBJEXT) thin_archive_test_1_OBJECTS = $(am_thin_archive_test_1_OBJECTS) thin_archive_test_1_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(thin_archive_test_1_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_thin_archive_test_2_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ thin_archive_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_thin_archive_test_2_OBJECTS = thin_archive_main.$(OBJEXT) thin_archive_test_2_OBJECTS = $(am_thin_archive_test_2_OBJECTS) thin_archive_test_2_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(thin_archive_test_2_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am__objects_3 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_file2.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_main.$(OBJEXT) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_tls_phdrs_script_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(am__objects_3) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__objects_3 = tls_test.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_file2.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_tls_phdrs_script_test_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(am__objects_3) tls_phdrs_script_test_OBJECTS = $(am_tls_phdrs_script_test_OBJECTS) -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am__DEPENDENCIES_2 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_c.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__DEPENDENCIES_2 = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_c.o tls_phdrs_script_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(tls_phdrs_script_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am_tls_pic_test_OBJECTS = tls_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am_tls_pic_test_OBJECTS = tls_test_main.$(OBJEXT) tls_pic_test_OBJECTS = $(am_tls_pic_test_OBJECTS) tls_pic_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(tls_pic_test_LDFLAGS) $(LDFLAGS) -o $@ @@ -1608,59 +1662,57 @@ tls_pie_test_LDADD = $(LDADD) tls_pie_test_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_tls_script_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(am__objects_3) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_tls_script_test_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(am__objects_3) tls_script_test_OBJECTS = $(am_tls_script_test_OBJECTS) tls_script_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(tls_script_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am_tls_shared_gd_to_ie_test_OBJECTS = tls_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am_tls_shared_gd_to_ie_test_OBJECTS = tls_test_main.$(OBJEXT) tls_shared_gd_to_ie_test_OBJECTS = \ $(am_tls_shared_gd_to_ie_test_OBJECTS) tls_shared_gd_to_ie_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(tls_shared_gd_to_ie_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@am_tls_shared_gnu2_gd_to_ie_test_OBJECTS = tls_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@am_tls_shared_gnu2_gd_to_ie_test_OBJECTS = tls_test_main.$(OBJEXT) tls_shared_gnu2_gd_to_ie_test_OBJECTS = \ $(am_tls_shared_gnu2_gd_to_ie_test_OBJECTS) tls_shared_gnu2_gd_to_ie_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(tls_shared_gnu2_gd_to_ie_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@am_tls_shared_gnu2_test_OBJECTS = tls_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@am_tls_shared_gnu2_test_OBJECTS = tls_test_main.$(OBJEXT) tls_shared_gnu2_test_OBJECTS = $(am_tls_shared_gnu2_test_OBJECTS) tls_shared_gnu2_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(tls_shared_gnu2_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am_tls_shared_ie_test_OBJECTS = tls_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am_tls_shared_ie_test_OBJECTS = tls_test_main.$(OBJEXT) tls_shared_ie_test_OBJECTS = $(am_tls_shared_ie_test_OBJECTS) tls_shared_ie_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(tls_shared_ie_test_LDFLAGS) $(LDFLAGS) -o $@ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am_tls_shared_nonpic_test_OBJECTS = tls_test_main.$(OBJEXT) +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am_tls_shared_nonpic_test_OBJECTS = tls_test_main.$(OBJEXT) tls_shared_nonpic_test_OBJECTS = $(am_tls_shared_nonpic_test_OBJECTS) tls_shared_nonpic_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(tls_shared_nonpic_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am_tls_shared_test_OBJECTS = tls_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am_tls_shared_test_OBJECTS = tls_test_main.$(OBJEXT) tls_shared_test_OBJECTS = $(am_tls_shared_test_OBJECTS) tls_shared_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(tls_shared_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am__objects_4 = tls_test_main.$(OBJEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@am_tls_static_pic_test_OBJECTS = $(am__objects_4) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__objects_4 = tls_test_main.$(OBJEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@STATIC_TLS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am_tls_static_pic_test_OBJECTS = $(am__objects_4) tls_static_pic_test_OBJECTS = $(am_tls_static_pic_test_OBJECTS) -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am__DEPENDENCIES_3 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_pic.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_file2_pic.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_c_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am__DEPENDENCIES_3 = tls_test_pic.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_file2_pic.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_c_pic.o tls_static_pic_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(tls_static_pic_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@am_tls_static_test_OBJECTS = $(am__objects_3) +@GCC_TRUE@@HAVE_STATIC_TRUE@@STATIC_TLS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am_tls_static_test_OBJECTS = $(am__objects_3) tls_static_test_OBJECTS = $(am_tls_static_test_OBJECTS) tls_static_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(tls_static_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@am_tls_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_file2.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@am_tls_test_OBJECTS = tls_test.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_file2.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_main.$(OBJEXT) tls_test_OBJECTS = $(am_tls_test_OBJECTS) tls_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(tls_test_LDFLAGS) $(LDFLAGS) -o $@ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_mixed_2_shared_test_OBJECTS = two_file_test_main.$(OBJEXT) +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_mixed_2_shared_test_OBJECTS = two_file_test_main.$(OBJEXT) two_file_mixed_2_shared_test_OBJECTS = \ $(am_two_file_mixed_2_shared_test_OBJECTS) two_file_mixed_2_shared_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ @@ -1672,13 +1724,12 @@ two_file_mixed_pie_test_LDADD = $(LDADD) two_file_mixed_pie_test_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_mixed_shared_test_OBJECTS = two_file_test_main.$(OBJEXT) +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_mixed_shared_test_OBJECTS = two_file_test_main.$(OBJEXT) two_file_mixed_shared_test_OBJECTS = \ $(am_two_file_mixed_shared_test_OBJECTS) two_file_mixed_shared_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(two_file_mixed_shared_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_pic_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_pic_test_OBJECTS = two_file_test_main.$(OBJEXT) two_file_pic_test_OBJECTS = $(am_two_file_pic_test_OBJECTS) two_file_pic_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(two_file_pic_test_LDFLAGS) $(LDFLAGS) -o $@ @@ -1688,105 +1739,95 @@ two_file_pie_test_LDADD = $(LDADD) two_file_pie_test_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_relocatable_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_relocatable_test_OBJECTS = two_file_test_main.$(OBJEXT) two_file_relocatable_test_OBJECTS = \ $(am_two_file_relocatable_test_OBJECTS) two_file_relocatable_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(two_file_relocatable_test_LDFLAGS) $(LDFLAGS) -o $@ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_same_shared_nonpic_test_OBJECTS = two_file_test_main.$(OBJEXT) +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_same_shared_nonpic_test_OBJECTS = two_file_test_main.$(OBJEXT) two_file_same_shared_nonpic_test_OBJECTS = \ $(am_two_file_same_shared_nonpic_test_OBJECTS) two_file_same_shared_nonpic_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(two_file_same_shared_nonpic_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_same_shared_strip_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_same_shared_strip_test_OBJECTS = two_file_test_main.$(OBJEXT) two_file_same_shared_strip_test_OBJECTS = \ $(am_two_file_same_shared_strip_test_OBJECTS) two_file_same_shared_strip_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(two_file_same_shared_strip_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_same_shared_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_same_shared_test_OBJECTS = two_file_test_main.$(OBJEXT) two_file_same_shared_test_OBJECTS = \ $(am_two_file_same_shared_test_OBJECTS) two_file_same_shared_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(two_file_same_shared_test_LDFLAGS) $(LDFLAGS) -o $@ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_separate_shared_12_nonpic_test_OBJECTS = two_file_test_main.$(OBJEXT) +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_separate_shared_12_nonpic_test_OBJECTS = two_file_test_main.$(OBJEXT) two_file_separate_shared_12_nonpic_test_OBJECTS = \ $(am_two_file_separate_shared_12_nonpic_test_OBJECTS) two_file_separate_shared_12_nonpic_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(two_file_separate_shared_12_nonpic_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_separate_shared_12_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_separate_shared_12_test_OBJECTS = two_file_test_main.$(OBJEXT) two_file_separate_shared_12_test_OBJECTS = \ $(am_two_file_separate_shared_12_test_OBJECTS) two_file_separate_shared_12_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(two_file_separate_shared_12_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_separate_shared_21_nonpic_test_OBJECTS = two_file_test_main.$(OBJEXT) +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_separate_shared_21_nonpic_test_OBJECTS = two_file_test_main.$(OBJEXT) two_file_separate_shared_21_nonpic_test_OBJECTS = \ $(am_two_file_separate_shared_21_nonpic_test_OBJECTS) two_file_separate_shared_21_nonpic_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(two_file_separate_shared_21_nonpic_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_separate_shared_21_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_separate_shared_21_test_OBJECTS = two_file_test_main.$(OBJEXT) two_file_separate_shared_21_test_OBJECTS = \ $(am_two_file_separate_shared_21_test_OBJECTS) two_file_separate_shared_21_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(two_file_separate_shared_21_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_shared_1_nonpic_test_OBJECTS = two_file_test_2.$(OBJEXT) \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_shared_1_nonpic_test_OBJECTS = two_file_test_2.$(OBJEXT) \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) two_file_shared_1_nonpic_test_OBJECTS = \ $(am_two_file_shared_1_nonpic_test_OBJECTS) two_file_shared_1_nonpic_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(two_file_shared_1_nonpic_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_shared_1_pic_2_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_shared_1_pic_2_test_OBJECTS = two_file_test_main.$(OBJEXT) two_file_shared_1_pic_2_test_OBJECTS = \ $(am_two_file_shared_1_pic_2_test_OBJECTS) two_file_shared_1_pic_2_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(two_file_shared_1_pic_2_test_LDFLAGS) $(LDFLAGS) \ -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_shared_1_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_2.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_shared_1_test_OBJECTS = two_file_test_2.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) two_file_shared_1_test_OBJECTS = $(am_two_file_shared_1_test_OBJECTS) two_file_shared_1_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(two_file_shared_1_test_LDFLAGS) $(LDFLAGS) -o $@ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_shared_2_nonpic_test_OBJECTS = two_file_test_1.$(OBJEXT) \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_1b.$(OBJEXT) \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_shared_2_nonpic_test_OBJECTS = two_file_test_1.$(OBJEXT) \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_1b.$(OBJEXT) \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) two_file_shared_2_nonpic_test_OBJECTS = \ $(am_two_file_shared_2_nonpic_test_OBJECTS) two_file_shared_2_nonpic_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(two_file_shared_2_nonpic_test_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_shared_2_pic_1_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_shared_2_pic_1_test_OBJECTS = two_file_test_main.$(OBJEXT) two_file_shared_2_pic_1_test_OBJECTS = \ $(am_two_file_shared_2_pic_1_test_OBJECTS) two_file_shared_2_pic_1_test_LINK = $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(two_file_shared_2_pic_1_test_LDFLAGS) $(LDFLAGS) \ -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_shared_2_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_1.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_1b.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_shared_2_test_OBJECTS = two_file_test_1.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_1b.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) two_file_shared_2_test_OBJECTS = $(am_two_file_shared_2_test_OBJECTS) two_file_shared_2_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(two_file_shared_2_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am__objects_5 = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_1.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_1b.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_2.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_static_test_OBJECTS = $(am__objects_5) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am__objects_5 = two_file_test_1.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_1b.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_2.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_static_test_OBJECTS = $(am__objects_5) two_file_static_test_OBJECTS = $(am_two_file_static_test_OBJECTS) two_file_static_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(two_file_static_test_LDFLAGS) $(LDFLAGS) -o $@ @@ -1796,51 +1837,45 @@ two_file_strip_test_LDADD = $(LDADD) two_file_strip_test_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_two_file_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_1.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_1b.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_2.$(OBJEXT) \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_two_file_test_OBJECTS = two_file_test_1.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_1b.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_2.$(OBJEXT) \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) two_file_test_OBJECTS = $(am_two_file_test_OBJECTS) two_file_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(two_file_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ver_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ver_test_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_main.$(OBJEXT) ver_test_OBJECTS = $(am_ver_test_OBJECTS) ver_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(ver_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ver_test_11_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_main_2.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ver_test_11_OBJECTS = ver_test_main_2.$(OBJEXT) ver_test_11_OBJECTS = $(am_ver_test_11_OBJECTS) ver_test_11_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(ver_test_11_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ver_test_12_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_main_2.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ver_test_12_OBJECTS = ver_test_main_2.$(OBJEXT) ver_test_12_OBJECTS = $(am_ver_test_12_OBJECTS) ver_test_12_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(ver_test_12_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ver_test_2_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_main_2.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ver_test_2_OBJECTS = ver_test_main_2.$(OBJEXT) ver_test_2_OBJECTS = $(am_ver_test_2_OBJECTS) ver_test_2_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(ver_test_2_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ver_test_6_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_6.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ver_test_6_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_6.$(OBJEXT) ver_test_6_OBJECTS = $(am_ver_test_6_OBJECTS) ver_test_6_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ver_test_6_LDFLAGS) \ $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ver_test_8_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ver_test_8_OBJECTS = two_file_test_main.$(OBJEXT) ver_test_8_OBJECTS = $(am_ver_test_8_OBJECTS) ver_test_8_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(ver_test_8_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ver_test_9_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_ver_test_9_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ver_test_main.$(OBJEXT) ver_test_9_OBJECTS = $(am_ver_test_9_OBJECTS) ver_test_9_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(ver_test_9_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_weak_alias_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_alias_test_main.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_weak_alias_test_OBJECTS = weak_alias_test_main.$(OBJEXT) weak_alias_test_OBJECTS = $(am_weak_alias_test_OBJECTS) weak_alias_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(weak_alias_test_LDFLAGS) $(LDFLAGS) -o $@ @@ -1850,25 +1885,33 @@ weak_plt_LDADD = $(LDADD) weak_plt_DEPENDENCIES = libgoldtest.a ../libgold.a \ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_weak_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_test.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_weak_test_OBJECTS = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_test.$(OBJEXT) weak_test_OBJECTS = $(am_weak_test_OBJECTS) weak_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(weak_test_LDFLAGS) $(LDFLAGS) -o $@ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@am_weak_undef_nonpic_test_OBJECTS = weak_undef_test.$(OBJEXT) +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_weak_undef_nonpic_test_OBJECTS = weak_undef_test.$(OBJEXT) weak_undef_nonpic_test_OBJECTS = $(am_weak_undef_nonpic_test_OBJECTS) weak_undef_nonpic_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(weak_undef_nonpic_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_weak_undef_test_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_undef_test.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_weak_undef_test_OBJECTS = weak_undef_test.$(OBJEXT) weak_undef_test_OBJECTS = $(am_weak_undef_test_OBJECTS) weak_undef_test_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(weak_undef_test_LDFLAGS) $(LDFLAGS) -o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@am_weak_undef_test_2_OBJECTS = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_undef_test_2.$(OBJEXT) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_weak_undef_test_2_OBJECTS = weak_undef_test_2.$(OBJEXT) weak_undef_test_2_OBJECTS = $(am_weak_undef_test_2_OBJECTS) weak_undef_test_2_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ $(weak_undef_test_2_LDFLAGS) $(LDFLAGS) -o $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@am_weak_unresolved_symbols_test_OBJECTS = weak_unresolved_symbols_test-weak_unresolved_symbols_test.$(OBJEXT) +weak_unresolved_symbols_test_OBJECTS = \ + $(am_weak_unresolved_symbols_test_OBJECTS) +weak_unresolved_symbols_test_LDADD = $(LDADD) +weak_unresolved_symbols_test_DEPENDENCIES = libgoldtest.a ../libgold.a \ + ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +weak_unresolved_symbols_test_LINK = $(CXXLD) \ + $(weak_unresolved_symbols_test_CXXFLAGS) $(CXXFLAGS) \ + $(weak_unresolved_symbols_test_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/../depcomp am__depfiles_maybe = depfiles @@ -1880,10 +1923,10 @@ SOURCES = $(libgoldtest_a_SOURCES) basic_pic_test.c basic_pie_test.c \ $(binary_test_SOURCES) $(binary_unittest_SOURCES) \ $(common_test_1_SOURCES) $(common_test_2_SOURCES) \ $(constructor_static_test_SOURCES) $(constructor_test_SOURCES) \ - $(copy_test_SOURCES) $(discard_locals_test_SOURCES) \ - $(dynamic_list_2_SOURCES) $(ehdr_start_test_1_SOURCES) \ - $(ehdr_start_test_2_SOURCES) $(ehdr_start_test_3_SOURCES) \ - $(ehdr_start_test_5_SOURCES) \ + $(copy_test_SOURCES) $(disable_pie_unsafe_size_test_SOURCES) \ + $(discard_locals_test_SOURCES) $(dynamic_list_2_SOURCES) \ + $(ehdr_start_test_1_SOURCES) $(ehdr_start_test_2_SOURCES) \ + $(ehdr_start_test_3_SOURCES) $(ehdr_start_test_5_SOURCES) \ $(exception_same_shared_test_SOURCES) \ $(exception_separate_shared_12_test_SOURCES) \ $(exception_separate_shared_21_test_SOURCES) \ @@ -1960,7 +2003,8 @@ SOURCES = $(libgoldtest_a_SOURCES) basic_pic_test.c basic_pie_test.c \ $(ver_test_8_SOURCES) $(ver_test_9_SOURCES) \ $(weak_alias_test_SOURCES) weak_plt.c $(weak_test_SOURCES) \ $(weak_undef_nonpic_test_SOURCES) $(weak_undef_test_SOURCES) \ - $(weak_undef_test_2_SOURCES) + $(weak_undef_test_2_SOURCES) \ + $(weak_unresolved_symbols_test_SOURCES) ETAGS = etags CTAGS = ctags am__tty_colors = \ @@ -2238,29 +2282,31 @@ TEST_AS = $(top_builddir)/../gas/as-new # improve on that here. automake-1.9 info docs say "mostlyclean" is # the right choice for files 'make' builds that people rebuild. MOSTLYCLEANFILES = *.so *.syms *.stdout $(am__append_4) \ - $(am__append_17) $(am__append_26) $(am__append_28) \ - $(am__append_30) $(am__append_36) $(am__append_40) \ - $(am__append_41) $(am__append_47) $(am__append_63) \ - $(am__append_66) $(am__append_69) $(am__append_72) \ - $(am__append_74) $(am__append_77) $(am__append_80) \ - $(am__append_83) $(am__append_86) $(am__append_89) \ - $(am__append_90) + $(am__append_17) $(am__append_28) $(am__append_31) \ + $(am__append_35) $(am__append_37) $(am__append_43) \ + $(am__append_47) $(am__append_48) $(am__append_54) \ + $(am__append_70) $(am__append_73) $(am__append_76) \ + $(am__append_79) $(am__append_81) $(am__append_84) \ + $(am__append_87) $(am__append_90) $(am__append_93) \ + $(am__append_96) $(am__append_97) # We will add to these later, for each individual test. Note # that we add each test under check_SCRIPTS or check_PROGRAMS; # the TESTS variable is automatically populated from these. -check_SCRIPTS = $(am__append_2) $(am__append_34) $(am__append_38) \ - $(am__append_42) $(am__append_45) $(am__append_61) \ - $(am__append_64) $(am__append_67) $(am__append_70) \ - $(am__append_75) $(am__append_78) $(am__append_81) \ - $(am__append_84) $(am__append_87) $(am__append_91) -check_DATA = $(am__append_3) $(am__append_27) $(am__append_29) \ - $(am__append_35) $(am__append_39) $(am__append_43) \ - $(am__append_46) $(am__append_62) $(am__append_65) \ - $(am__append_68) $(am__append_71) $(am__append_76) \ - $(am__append_79) $(am__append_82) $(am__append_85) \ - $(am__append_88) $(am__append_92) -BUILT_SOURCES = $(am__append_25) +check_SCRIPTS = $(am__append_2) $(am__append_20) $(am__append_26) \ + $(am__append_32) $(am__append_41) $(am__append_45) \ + $(am__append_49) $(am__append_52) $(am__append_68) \ + $(am__append_71) $(am__append_74) $(am__append_77) \ + $(am__append_82) $(am__append_85) $(am__append_88) \ + $(am__append_91) $(am__append_94) $(am__append_98) +check_DATA = $(am__append_3) $(am__append_21) $(am__append_27) \ + $(am__append_33) $(am__append_34) $(am__append_36) \ + $(am__append_42) $(am__append_46) $(am__append_50) \ + $(am__append_53) $(am__append_69) $(am__append_72) \ + $(am__append_75) $(am__append_78) $(am__append_83) \ + $(am__append_86) $(am__append_89) $(am__append_92) \ + $(am__append_95) $(am__append_99) +BUILT_SOURCES = $(am__append_30) TESTS = $(check_SCRIPTS) $(check_PROGRAMS) # --------------------------------------------------------------------- @@ -2278,485 +2324,490 @@ LDADD = libgoldtest.a ../libgold.a ../../libiberty/libiberty.a $(LIBINTL) \ @NATIVE_OR_CROSS_LINKER_TRUE@object_unittest_SOURCES = object_unittest.cc @NATIVE_OR_CROSS_LINKER_TRUE@binary_unittest_SOURCES = binary_unittest.cc @NATIVE_OR_CROSS_LINKER_TRUE@leb128_unittest_SOURCES = leb128_unittest.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@large_symbol_alignment_SOURCES = large_symbol_alignment.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@large_symbol_alignment_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@large_symbol_alignment_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@large_symbol_alignment_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@constructor_test_SOURCES = constructor_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@constructor_test_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@constructor_test_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@constructor_test_LDADD = -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@constructor_static_test_SOURCES = $(constructor_test_SOURCES) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@constructor_static_test_DEPENDENCIES = $(constructor_test_DEPENDENCIES) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@constructor_static_test_LDFLAGS = $(constructor_test_LDFLAGS) -static -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@constructor_static_test_LDADD = $(constructor_test_LDADD) -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_SOURCES = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_1.cc \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_1b.cc \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_2.cc \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main.cc \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test.h - -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_LDADD = -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@two_file_static_test_SOURCES = $(two_file_test_SOURCES) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@two_file_static_test_DEPENDENCIES = $(two_file_test_DEPENDENCIES) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@two_file_static_test_LDFLAGS = $(two_file_test_LDFLAGS) -static -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@two_file_static_test_LDADD = $(two_file_test_LDADD) -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_pic_test_SOURCES = two_file_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_pic_test_DEPENDENCIES = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o - -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_pic_test_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_pic_test_LDADD = two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_1_test_SOURCES = two_file_test_2.cc two_file_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_1_test_DEPENDENCIES = gcctestdir/ld two_file_shared_1.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_1_test_LDADD = two_file_shared_1.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_2_test_SOURCES = two_file_test_1.cc two_file_test_1b.cc two_file_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_2_test_DEPENDENCIES = gcctestdir/ld two_file_shared_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_2_test_LDADD = two_file_shared_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_1_pic_2_test_SOURCES = two_file_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_1_pic_2_test_DEPENDENCIES = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_2.so two_file_test_1_pic.o two_file_test_1b_pic.o - -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_1_pic_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_1_pic_2_test_LDADD = two_file_test_1_pic.o two_file_test_1b_pic.o two_file_shared_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_2_pic_1_test_SOURCES = two_file_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_2_pic_1_test_DEPENDENCIES = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_1.so two_file_test_2_pic.o - -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_2_pic_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_2_pic_1_test_LDADD = two_file_test_2_pic.o two_file_shared_1.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_same_shared_test_SOURCES = two_file_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_same_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_same_shared_test_LDADD = two_file_shared.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_12_test_SOURCES = two_file_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_12_test_DEPENDENCIES = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_1.so two_file_shared_2.so - -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_12_test_LDADD = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared_1.so two_file_shared_2.so - -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_21_test_SOURCES = two_file_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_21_test_DEPENDENCIES = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_1.so two_file_shared_2.so - -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_21_test_LDADD = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared_2.so two_file_shared_1.so - -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_relocatable_test_SOURCES = two_file_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_relocatable_test_DEPENDENCIES = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_relocatable.o - -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_relocatable_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_relocatable_test_LDADD = two_file_relocatable.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@pie_copyrelocs_test_SOURCES = pie_copyrelocs_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@pie_copyrelocs_test_DEPENDENCIES = gcctestdir/ld pie_copyrelocs_shared_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@pie_copyrelocs_test_CXXFLAGS = -fno-exceptions -fno-asynchronous-unwind-tables -@GCC_TRUE@@NATIVE_LINKER_TRUE@pie_copyrelocs_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -pie -@GCC_TRUE@@NATIVE_LINKER_TRUE@pie_copyrelocs_test_LDADD = pie_copyrelocs_shared_test.so -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_1_nonpic_test_SOURCES = \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_2.cc two_file_test_main.cc - -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_1_nonpic_test_DEPENDENCIES = \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_1_nonpic.so - -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_1_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_1_nonpic_test_LDADD = two_file_shared_1_nonpic.so -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_2_nonpic_test_SOURCES = \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_1.cc two_file_test_1b.cc two_file_test_main.cc - -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_2_nonpic_test_DEPENDENCIES = \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_2_nonpic.so - -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_2_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_2_nonpic_test_LDADD = two_file_shared_2_nonpic.so -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_same_shared_nonpic_test_SOURCES = two_file_test_main.cc -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_same_shared_nonpic_test_DEPENDENCIES = \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_nonpic.so - -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_same_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_same_shared_nonpic_test_LDADD = two_file_shared_nonpic.so -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_12_nonpic_test_SOURCES = two_file_test_main.cc -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_12_nonpic_test_DEPENDENCIES = \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so - -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_12_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_12_nonpic_test_LDADD = \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so - -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_21_nonpic_test_SOURCES = two_file_test_main.cc -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_21_nonpic_test_DEPENDENCIES = \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so - -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_21_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_separate_shared_21_nonpic_test_LDADD = \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_shared_2_nonpic.so two_file_shared_1_nonpic.so - -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_mixed_shared_test_SOURCES = two_file_test_main.cc -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_mixed_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared_mixed.so -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_mixed_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_mixed_shared_test_LDADD = two_file_shared_mixed.so -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_mixed_2_shared_test_SOURCES = two_file_test_main.cc -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_mixed_2_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared_mixed_1.so two_file_shared_2.so -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_mixed_2_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_mixed_2_shared_test_LDADD = two_file_shared_mixed_1.so two_file_shared_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_same_shared_strip_test_SOURCES = two_file_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_same_shared_strip_test_DEPENDENCIES = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_strip.so - -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_same_shared_strip_test_LDFLAGS = -Bgcctestdir/ -Wl,-R. -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_same_shared_strip_test_LDADD = two_file_shared_strip.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_1_SOURCES = common_test_1.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_1_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_1_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_1_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_2_SOURCES = common_test_1.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_2_DEPENDENCIES = common_test_2.so common_test_3.so gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_2_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_2_LDADD = common_test_2.so common_test_3.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_test_SOURCES = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_main.cc \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_1.cc \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test_2.cc \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_test.h - -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_test_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_test_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_test_LDADD = -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@exception_static_test_SOURCES = $(exception_test_SOURCES) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@exception_static_test_DEPENDENCIES = $(exception_test_DEPENDENCIES) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@exception_static_test_LDFLAGS = $(exception_test_LDFLAGS) -static -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@exception_static_test_LDADD = $(exception_test_LDADD) -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_shared_1_test_SOURCES = exception_test_2.cc exception_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_shared_1_test_DEPENDENCIES = gcctestdir/ld exception_shared_1.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_shared_1_test_LDADD = exception_shared_1.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_shared_2_test_SOURCES = exception_test_1.cc exception_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_shared_2_test_DEPENDENCIES = gcctestdir/ld exception_shared_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_shared_2_test_LDADD = exception_shared_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_same_shared_test_SOURCES = exception_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_same_shared_test_DEPENDENCIES = gcctestdir/ld exception_shared.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_same_shared_test_LDADD = exception_shared.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_separate_shared_12_test_SOURCES = exception_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_separate_shared_12_test_DEPENDENCIES = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld exception_shared_1.so exception_shared_2.so - -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--no-as-needed - -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_separate_shared_12_test_LDADD = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_shared_1.so exception_shared_2.so - -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_separate_shared_21_test_SOURCES = exception_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_separate_shared_21_test_DEPENDENCIES = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld exception_shared_1.so exception_shared_2.so - -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--no-as-needed - -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_separate_shared_21_test_LDADD = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exception_shared_2.so exception_shared_1.so - -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_test_SOURCES = weak_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_test_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_test_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_test_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_test_SOURCES = weak_undef_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_test_DEPENDENCIES = gcctestdir/ld weak_undef_lib.so alt/weak_undef_lib.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,alt -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_test_LDADD = -L . weak_undef_lib.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_test_2_SOURCES = weak_undef_test_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_test_2_DEPENDENCIES = gcctestdir/ld libweak_undef_2.a -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_test_2_LDFLAGS = -Bgcctestdir/ -u weak_undef_2 -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_test_2_LDADD = -L . -lweak_undef_2 -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_nonpic_test_SOURCES = weak_undef_test.cc -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_nonpic_test_DEPENDENCIES = gcctestdir/ld weak_undef_lib_nonpic.so alt/weak_undef_lib_nonpic.so -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,alt -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_nonpic_test_LDADD = -L . weak_undef_lib_nonpic.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_alias_test_SOURCES = weak_alias_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_alias_test_DEPENDENCIES = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld weak_alias_test_1.so weak_alias_test_2.so \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_alias_test_3.o weak_alias_test_4.so weak_alias_test_5.so - -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_alias_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_alias_test_LDADD = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_alias_test_1.so weak_alias_test_2.so weak_alias_test_3.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ weak_alias_test_4.so weak_alias_test_5.so - -@GCC_TRUE@@NATIVE_LINKER_TRUE@copy_test_SOURCES = copy_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@copy_test_DEPENDENCIES = gcctestdir/ld copy_test_1.so copy_test_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@copy_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@copy_test_LDADD = copy_test_1.so copy_test_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc tls_test.h -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_DEPENDENCIES = gcctestdir/ld tls_test_c.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_LDADD = tls_test_c.o -lpthread -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_pic_test_SOURCES = tls_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_c_pic.o - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_pic_test_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ -lpthread - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_test_SOURCES = tls_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_test_DEPENDENCIES = gcctestdir/ld tls_test_shared.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_test_LDADD = tls_test_shared.so -lpthread -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_ie_test_SOURCES = tls_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_ie_test_DEPENDENCIES = gcctestdir/ld tls_test_ie_shared.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_ie_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_ie_test_LDADD = tls_test_ie_shared.so -lpthread -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_gd_to_ie_test_SOURCES = tls_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_gd_to_ie_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_c_pic.o tls_test_shared2.so - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_gd_to_ie_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_gd_to_ie_test_LDADD = tls_test_pic.o tls_test_c_pic.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_shared2.so -lpthread - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_gd_to_ie_test_SOURCES = tls_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_gd_to_ie_test_DEPENDENCIES = gcctestdir/ld tls_test_gnu2.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@ tls_test_c_gnu2.o tls_test_gnu2_shared2.so - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_gd_to_ie_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_gd_to_ie_test_LDADD = tls_test_gnu2.o tls_test_c_gnu2.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@ tls_test_gnu2_shared2.so -lpthread - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_test_SOURCES = tls_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_test_DEPENDENCIES = gcctestdir/ld tls_test_gnu2_shared.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_test_LDADD = tls_test_gnu2_shared.so -lpthread -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@tls_static_test_SOURCES = $(tls_test_SOURCES) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@tls_static_test_DEPENDENCIES = $(tls_test_DEPENDENCIES) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@tls_static_test_LDFLAGS = $(tls_test_LDFLAGS) -static -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@tls_static_test_LDADD = $(tls_test_LDADD) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@tls_static_pic_test_SOURCES = $(tls_pic_test_SOURCES) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@tls_static_pic_test_DEPENDENCIES = $(tls_pic_test_DEPENDENCIES) -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@tls_static_pic_test_LDFLAGS = $(tls_pic_test_LDFLAGS) -static -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@@STATIC_TLS_TRUE@@TLS_TRUE@tls_static_pic_test_LDADD = $(tls_pic_test_LDADD) -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_nonpic_test_SOURCES = tls_test_main.cc -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_nonpic_test_DEPENDENCIES = gcctestdir/ld tls_test_shared_nonpic.so -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_nonpic_test_LDADD = tls_test_shared_nonpic.so -lpthread -@GCC_TRUE@@NATIVE_LINKER_TRUE@many_sections_test_SOURCES = many_sections_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@many_sections_test_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@many_sections_test_LDFLAGS = -Bgcctestdir/ -rdynamic -@GCC_TRUE@@NATIVE_LINKER_TRUE@many_sections_test_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri1_SOURCES = initpri1.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri1_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri1_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri1_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri2_SOURCES = initpri2.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri2_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri2_LDFLAGS = -Bgcctestdir/ -Wl,--ctors-in-init-array -@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri2_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri3a_SOURCES = initpri3.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri3a_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri3a_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@initpri3a_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_SOURCES = ver_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_DEPENDENCIES = gcctestdir/ld ver_test_1.so ver_test_2.so ver_test_4.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_LDADD = ver_test_1.so ver_test_2.so ver_test_4.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_2_SOURCES = ver_test_main_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_2_DEPENDENCIES = gcctestdir/ld ver_test_4.so ver_test_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_2_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_2_LDADD = ver_test_4.so ver_test_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_6_SOURCES = ver_test_6.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_6_DEPENDENCIES = gcctestdir/ld ver_test_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_6_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_6_LDADD = ver_test_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_8_SOURCES = two_file_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_8_DEPENDENCIES = gcctestdir/ld ver_test_8_1.so ver_test_8_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_8_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_8_LDADD = ver_test_8_1.so ver_test_8_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_9_SOURCES = ver_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_9_DEPENDENCIES = gcctestdir/ld ver_test_9.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_9_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_9_LDADD = ver_test_9.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_11_SOURCES = ver_test_main_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_11_DEPENDENCIES = gcctestdir/ld ver_test_11.a -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_11_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_11_LDADD = ver_test_11.a -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_12_SOURCES = ver_test_main_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_12_DEPENDENCIES = gcctestdir/ld ver_test_12.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_12_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_12_LDADD = ver_test_12.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@protected_1_SOURCES = \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ protected_main_1.cc protected_main_2.cc protected_main_3.cc - -@GCC_TRUE@@NATIVE_LINKER_TRUE@protected_1_DEPENDENCIES = gcctestdir/ld protected_1.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@protected_1_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@protected_1_LDADD = protected_1.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@protected_2_SOURCES = protected_main_1.cc protected_3.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@protected_2_DEPENDENCIES = gcctestdir/ld protected_1.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@protected_2_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@protected_2_LDADD = protected_1.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_test_SOURCES = relro_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_test_DEPENDENCIES = gcctestdir/ld relro_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_test_LDADD = relro_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_now_test_SOURCES = relro_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_now_test_DEPENDENCIES = gcctestdir/ld relro_now_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_now_test_LDFLAGS = -Bgcctestdir -Wl,-R,. -Wl,-z,relro -Wl,-z,now -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_now_test_LDADD = relro_now_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_strip_test_SOURCES = relro_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_strip_test_DEPENDENCIES = gcctestdir/ld relro_strip_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_strip_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_strip_test_LDADD = relro_strip_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_script_test_SOURCES = relro_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_script_test_DEPENDENCIES = gcctestdir/ld relro_script_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_script_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_script_test_LDADD = relro_script_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_1_SOURCES = script_test_1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_1_DEPENDENCIES = gcctestdir/ld script_test_1.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_1_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -Wl,-T,$(srcdir)/script_test_1.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_1_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_2_SOURCES = script_test_2.cc script_test_2a.cc script_test_2b.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_2_DEPENDENCIES = gcctestdir/ld script_test_2.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_2_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -Wl,-T,$(srcdir)/script_test_2.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_2_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@justsyms_SOURCES = justsyms_1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@justsyms_DEPENDENCIES = gcctestdir/ld justsyms_2r.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@justsyms_LDFLAGS = -Bgcctestdir/ -Wl,-R,justsyms_2r.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@justsyms_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@justsyms_exec_SOURCES = justsyms_exec.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@justsyms_exec_DEPENDENCIES = gcctestdir/ld justsyms_lib -@GCC_TRUE@@NATIVE_LINKER_TRUE@justsyms_exec_LDFLAGS = -Bgcctestdir/ -Wl,-R,justsyms_lib -@GCC_TRUE@@NATIVE_LINKER_TRUE@justsyms_exec_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@binary_test_SOURCES = binary_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@binary_test_DEPENDENCIES = gcctestdir/ld binary.txt -@GCC_TRUE@@NATIVE_LINKER_TRUE@binary_test_LDFLAGS = -Bgcctestdir/ -Wl,--format,binary,binary.txt,--format,elf -@GCC_TRUE@@NATIVE_LINKER_TRUE@binary_test_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@tls_phdrs_script_test_SOURCES = $(tls_test_SOURCES) -@GCC_TRUE@@NATIVE_LINKER_TRUE@tls_phdrs_script_test_DEPENDENCIES = $(tls_test_DEPENDENCIES) $(srcdir)/script_test_3.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@tls_phdrs_script_test_LDFLAGS = $(tls_test_LDFLAGS) -Wl,-T,$(srcdir)/script_test_3.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@tls_phdrs_script_test_LDADD = $(tls_test_LDADD) -@GCC_TRUE@@NATIVE_LINKER_TRUE@tls_script_test_SOURCES = $(tls_test_SOURCES) -@GCC_TRUE@@NATIVE_LINKER_TRUE@tls_script_test_DEPENDENCIES = $(tls_test_DEPENDENCIES) $(srcdir)/script_test_4.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@tls_script_test_LDFLAGS = $(tls_test_LDFLAGS) -Wl,-T,$(srcdir)/script_test_4.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@tls_script_test_LDADD = $(tls_test_LDADD) -@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_2_SOURCES = dynamic_list_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_2_DEPENDENCIES = gcctestdir/ld dynamic_list_lib1.so dynamic_list_lib2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_2_LDFLAGS = -Bgcctestdir/ -L. -Wl,-R,. -Wl,--no-as-needed -@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_2_LDADD = dynamic_list_lib1.so dynamic_list_lib2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@thin_archive_test_1_SOURCES = thin_archive_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@thin_archive_test_1_DEPENDENCIES = gcctestdir/ld libthin1.a alt/libthin2.a -@GCC_TRUE@@NATIVE_LINKER_TRUE@thin_archive_test_1_LDFLAGS = -Bgcctestdir/ -Lalt -@GCC_TRUE@@NATIVE_LINKER_TRUE@thin_archive_test_1_LDADD = libthin1.a -lthin2 -@GCC_TRUE@@NATIVE_LINKER_TRUE@thin_archive_test_2_SOURCES = thin_archive_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@thin_archive_test_2_DEPENDENCIES = gcctestdir/ld libthinall.a -@GCC_TRUE@@NATIVE_LINKER_TRUE@thin_archive_test_2_LDFLAGS = -Bgcctestdir/ -L. -@GCC_TRUE@@NATIVE_LINKER_TRUE@thin_archive_test_2_LDADD = -lthinall -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@PLUGIN_TEST_11_SYMS = two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms -@GCC_TRUE@@NATIVE_LINKER_TRUE@exclude_libs_test_SOURCES = exclude_libs_test.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@exclude_libs_test_DEPENDENCIES = gcctestdir/ld libexclude_libs_test_1.a \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ libexclude_libs_test_2.a alt/libexclude_libs_test_3.a - -@GCC_TRUE@@NATIVE_LINKER_TRUE@exclude_libs_test_LDFLAGS = -Bgcctestdir/ -L. -Lalt \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--exclude-libs,dummy:libexclude_libs_test_1 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--exclude-libs,libexclude_libs_test_3 - -@GCC_TRUE@@NATIVE_LINKER_TRUE@exclude_libs_test_LDADD = -lexclude_libs_test_1 -lexclude_libs_test_2 \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ alt/libexclude_libs_test_3.a - -@GCC_TRUE@@NATIVE_LINKER_TRUE@discard_locals_test_SOURCES = discard_locals_test.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@discard_locals_test_LDFLAGS = -Bgcctestdir/ -Wl,--discard-locals -@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@NATIVE_LINKER_TRUE@large_SOURCES = large.c -@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@NATIVE_LINKER_TRUE@large_CFLAGS = -mcmodel=medium -@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@NATIVE_LINKER_TRUE@large_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@NATIVE_LINKER_TRUE@large_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@NATIVE_LINKER_TRUE@large_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@searched_file_test_SOURCES = searched_file_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@searched_file_test_DEPENDENCIES = alt/searched_file_test_lib.a -@GCC_TRUE@@NATIVE_LINKER_TRUE@searched_file_test_LDFLAGS = -Bgcctestdir/ -Lalt -@GCC_TRUE@@NATIVE_LINKER_TRUE@searched_file_test_LDADD = -l:searched_file_test_lib.a -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1static_SOURCES = ifuncmain1.c -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1static_DEPENDENCIES = gcctestdir/ld ifuncdep1.o -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1static_LDFLAGS = -Bgcctestdir/ -static -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1static_LDADD = ifuncdep1.o -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1_SOURCES = ifuncmain1.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1_DEPENDENCIES = gcctestdir/ld ifuncmod1.so -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1_LDADD = ifuncmod1.so -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1vis_SOURCES = ifuncmain1vis.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1vis_DEPENDENCIES = gcctestdir/ld ifuncmod1.so -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1vis_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1vis_LDADD = ifuncmod1.so -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain2static_SOURCES = ifuncmain2.c ifuncdep2.c -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain2static_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain2static_LDFLAGS = -Bgcctestdir/ -static -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain2static_LDADD = -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain2_SOURCES = ifuncmain2.c ifuncdep2.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain2_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain2_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain2_LDADD = -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain3_SOURCES = ifuncmain3.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain3_DEPENDENCIES = gcctestdir/ld ifuncmod3.so -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain3_LDFLAGS = -Bgcctestdir/ -Wl,--export-dynamic -Wl,-R,. -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain3_LDADD = -ldl -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain4static_SOURCES = ifuncmain4.c -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain4static_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain4static_LDFLAGS = -Bgcctestdir/ -static -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain4static_LDADD = -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain4_SOURCES = ifuncmain4.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain4_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain4_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain4_LDADD = -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain5static_SOURCES = ifuncmain5.c -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain5static_DEPENDENCIES = gcctestdir/ld ifuncdep5.o -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain5static_LDFLAGS = -Bgcctestdir/ -static -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain5static_LDADD = ifuncdep5.o -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain5_SOURCES = ifuncmain5.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain5_DEPENDENCIES = gcctestdir/ld ifuncmod5.so -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain5_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain5_LDADD = ifuncmod5.so -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain7static_SOURCES = ifuncmain7.c -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain7static_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain7static_LDFLAGS = -Bgcctestdir/ -static -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain7static_LDADD = -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain7_SOURCES = ifuncmain7.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain7_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain7_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain7_LDADD = -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncvar_SOURCES = ifuncvar3.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncvar_DEPENDENCIES = gcctestdir/ld ifuncvar.so -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncvar_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncvar_LDADD = ifuncvar.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_1_SOURCES = ehdr_start_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_1_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_1_CXXFLAGS = -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_1_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_1_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_2_SOURCES = ehdr_start_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_2_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_2_CXXFLAGS = -DEHDR_START_WEAK -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_2_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_2_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_3_SOURCES = ehdr_start_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_3_DEPENDENCIES = gcctestdir/ld $(srcdir)/ehdr_start_test.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_3_CXXFLAGS = -DEHDR_START_WEAK -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_3_LDFLAGS = -Bgcctestdir/ -Wl,-T,$(srcdir)/ehdr_start_test.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_3_LDADD = -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_5_SOURCES = ehdr_start_test.cc ehdr_start_def.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_5_DEPENDENCIES = gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_5_CXXFLAGS = -DEHDR_START_USER_DEF -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_5_LDFLAGS = -Bgcctestdir/ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_5_LDADD = -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_x86_64_bnd_test_SOURCES = exception_test_main.cc -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_x86_64_bnd_test_DEPENDENCIES = gcctestdir/ld exception_x86_64_bnd_1.o exception_x86_64_bnd_2.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_x86_64_bnd_test_LDFLAGS = $(exception_test_LDFLAGS) -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_x86_64_bnd_test_LDADD = exception_x86_64_bnd_1.o exception_x86_64_bnd_2.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@large_symbol_alignment_SOURCES = large_symbol_alignment.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@large_symbol_alignment_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@large_symbol_alignment_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@large_symbol_alignment_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@constructor_test_SOURCES = constructor_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@constructor_test_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@constructor_test_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@constructor_test_LDADD = +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@constructor_static_test_SOURCES = $(constructor_test_SOURCES) +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@constructor_static_test_DEPENDENCIES = $(constructor_test_DEPENDENCIES) +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@constructor_static_test_LDFLAGS = $(constructor_test_LDFLAGS) -static +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@constructor_static_test_LDADD = $(constructor_test_LDADD) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_SOURCES = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_1.cc \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_1b.cc \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_2.cc \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_main.cc \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test.h + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_LDADD = +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_static_test_SOURCES = $(two_file_test_SOURCES) +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_static_test_DEPENDENCIES = $(two_file_test_DEPENDENCIES) +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_static_test_LDFLAGS = $(two_file_test_LDFLAGS) -static +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_static_test_LDADD = $(two_file_test_LDADD) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_pic_test_SOURCES = two_file_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_pic_test_DEPENDENCIES = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_pic_test_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_pic_test_LDADD = two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_1_test_SOURCES = two_file_test_2.cc two_file_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_1_test_DEPENDENCIES = gcctestdir/ld two_file_shared_1.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_1_test_LDADD = two_file_shared_1.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_2_test_SOURCES = two_file_test_1.cc two_file_test_1b.cc two_file_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_2_test_DEPENDENCIES = gcctestdir/ld two_file_shared_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_2_test_LDADD = two_file_shared_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_1_pic_2_test_SOURCES = two_file_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_1_pic_2_test_DEPENDENCIES = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_2.so two_file_test_1_pic.o two_file_test_1b_pic.o + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_1_pic_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_1_pic_2_test_LDADD = two_file_test_1_pic.o two_file_test_1b_pic.o two_file_shared_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_2_pic_1_test_SOURCES = two_file_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_2_pic_1_test_DEPENDENCIES = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_1.so two_file_test_2_pic.o + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_2_pic_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_2_pic_1_test_LDADD = two_file_test_2_pic.o two_file_shared_1.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_same_shared_test_SOURCES = two_file_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_same_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_same_shared_test_LDADD = two_file_shared.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_12_test_SOURCES = two_file_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_12_test_DEPENDENCIES = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_1.so two_file_shared_2.so + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_12_test_LDADD = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared_1.so two_file_shared_2.so + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_21_test_SOURCES = two_file_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_21_test_DEPENDENCIES = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_1.so two_file_shared_2.so + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_21_test_LDADD = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared_2.so two_file_shared_1.so + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_relocatable_test_SOURCES = two_file_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_relocatable_test_DEPENDENCIES = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_relocatable.o + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_relocatable_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_relocatable_test_LDADD = two_file_relocatable.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@pie_copyrelocs_test_SOURCES = pie_copyrelocs_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@pie_copyrelocs_test_DEPENDENCIES = gcctestdir/ld pie_copyrelocs_shared_test.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@pie_copyrelocs_test_CXXFLAGS = -fno-exceptions -fno-asynchronous-unwind-tables +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@pie_copyrelocs_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -pie +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@pie_copyrelocs_test_LDADD = pie_copyrelocs_shared_test.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@disable_pie_unsafe_size_test_SOURCES = disable_pie_unsafe_size_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@disable_pie_unsafe_size_test_LDFLAGS = -Bgcctestdir/ -pie +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_unresolved_symbols_test_SOURCES = weak_unresolved_symbols_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_unresolved_symbols_test_CXXFLAGS = -fPIE +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_unresolved_symbols_test_LDFLAGS = -Bgcctestdir/ -pie -Wl,--weak-unresolved-symbols +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_1_nonpic_test_SOURCES = \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_2.cc two_file_test_main.cc + +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_1_nonpic_test_DEPENDENCIES = \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_1_nonpic.so + +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_1_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_1_nonpic_test_LDADD = two_file_shared_1_nonpic.so +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_2_nonpic_test_SOURCES = \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_1.cc two_file_test_1b.cc two_file_test_main.cc + +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_2_nonpic_test_DEPENDENCIES = \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_2_nonpic.so + +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_2_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_2_nonpic_test_LDADD = two_file_shared_2_nonpic.so +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_same_shared_nonpic_test_SOURCES = two_file_test_main.cc +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_same_shared_nonpic_test_DEPENDENCIES = \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_nonpic.so + +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_same_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_same_shared_nonpic_test_LDADD = two_file_shared_nonpic.so +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_12_nonpic_test_SOURCES = two_file_test_main.cc +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_12_nonpic_test_DEPENDENCIES = \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so + +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_12_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_12_nonpic_test_LDADD = \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so + +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_21_nonpic_test_SOURCES = two_file_test_main.cc +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_21_nonpic_test_DEPENDENCIES = \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_1_nonpic.so two_file_shared_2_nonpic.so + +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_21_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_separate_shared_21_nonpic_test_LDADD = \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_shared_2_nonpic.so two_file_shared_1_nonpic.so + +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_mixed_shared_test_SOURCES = two_file_test_main.cc +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_mixed_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared_mixed.so +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_mixed_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_mixed_shared_test_LDADD = two_file_shared_mixed.so +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_mixed_2_shared_test_SOURCES = two_file_test_main.cc +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_mixed_2_shared_test_DEPENDENCIES = gcctestdir/ld two_file_shared_mixed_1.so two_file_shared_2.so +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_mixed_2_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_mixed_2_shared_test_LDADD = two_file_shared_mixed_1.so two_file_shared_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_same_shared_strip_test_SOURCES = two_file_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_same_shared_strip_test_DEPENDENCIES = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld two_file_shared_strip.so + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_same_shared_strip_test_LDFLAGS = -Bgcctestdir/ -Wl,-R. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_same_shared_strip_test_LDADD = two_file_shared_strip.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@common_test_1_SOURCES = common_test_1.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@common_test_1_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@common_test_1_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@common_test_1_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@common_test_2_SOURCES = common_test_1.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@common_test_2_DEPENDENCIES = common_test_2.so common_test_3.so gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@common_test_2_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@common_test_2_LDADD = common_test_2.so common_test_3.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_test_SOURCES = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_test_main.cc \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_test_1.cc \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_test_2.cc \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_test.h + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_test_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_test_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_test_LDADD = +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_static_test_SOURCES = $(exception_test_SOURCES) +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_static_test_DEPENDENCIES = $(exception_test_DEPENDENCIES) +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_static_test_LDFLAGS = $(exception_test_LDFLAGS) -static +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_static_test_LDADD = $(exception_test_LDADD) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_shared_1_test_SOURCES = exception_test_2.cc exception_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_shared_1_test_DEPENDENCIES = gcctestdir/ld exception_shared_1.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_shared_1_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_shared_1_test_LDADD = exception_shared_1.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_shared_2_test_SOURCES = exception_test_1.cc exception_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_shared_2_test_DEPENDENCIES = gcctestdir/ld exception_shared_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_shared_2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_shared_2_test_LDADD = exception_shared_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_same_shared_test_SOURCES = exception_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_same_shared_test_DEPENDENCIES = gcctestdir/ld exception_shared.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_same_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_same_shared_test_LDADD = exception_shared.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_separate_shared_12_test_SOURCES = exception_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_separate_shared_12_test_DEPENDENCIES = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld exception_shared_1.so exception_shared_2.so + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_separate_shared_12_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--no-as-needed + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_separate_shared_12_test_LDADD = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_shared_1.so exception_shared_2.so + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_separate_shared_21_test_SOURCES = exception_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_separate_shared_21_test_DEPENDENCIES = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld exception_shared_1.so exception_shared_2.so + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_separate_shared_21_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--no-as-needed + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_separate_shared_21_test_LDADD = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exception_shared_2.so exception_shared_1.so + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_test_SOURCES = weak_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_test_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_test_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_test_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_test_SOURCES = weak_undef_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_test_DEPENDENCIES = gcctestdir/ld weak_undef_lib.so alt/weak_undef_lib.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,alt +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_test_LDADD = -L . weak_undef_lib.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_test_2_SOURCES = weak_undef_test_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_test_2_DEPENDENCIES = gcctestdir/ld libweak_undef_2.a +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_test_2_LDFLAGS = -Bgcctestdir/ -u weak_undef_2 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_test_2_LDADD = -L . -lweak_undef_2 +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_nonpic_test_SOURCES = weak_undef_test.cc +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_nonpic_test_DEPENDENCIES = gcctestdir/ld weak_undef_lib_nonpic.so alt/weak_undef_lib_nonpic.so +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,alt +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_nonpic_test_LDADD = -L . weak_undef_lib_nonpic.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_alias_test_SOURCES = weak_alias_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_alias_test_DEPENDENCIES = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld weak_alias_test_1.so weak_alias_test_2.so \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_alias_test_3.o weak_alias_test_4.so weak_alias_test_5.so + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_alias_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_alias_test_LDADD = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_alias_test_1.so weak_alias_test_2.so weak_alias_test_3.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ weak_alias_test_4.so weak_alias_test_5.so + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@copy_test_SOURCES = copy_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@copy_test_DEPENDENCIES = gcctestdir/ld copy_test_1.so copy_test_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@copy_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@copy_test_LDADD = copy_test_1.so copy_test_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_SOURCES = tls_test.cc tls_test_file2.cc tls_test_main.cc tls_test.h +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_DEPENDENCIES = gcctestdir/ld tls_test_c.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_LDADD = tls_test_c.o -lpthread +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_pic_test_SOURCES = tls_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_pic_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o tls_test_file2_pic.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_c_pic.o + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_pic_test_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_pic_test_LDADD = tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ -lpthread + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_test_SOURCES = tls_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_test_DEPENDENCIES = gcctestdir/ld tls_test_shared.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_test_LDADD = tls_test_shared.so -lpthread +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_ie_test_SOURCES = tls_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_ie_test_DEPENDENCIES = gcctestdir/ld tls_test_ie_shared.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_ie_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_ie_test_LDADD = tls_test_ie_shared.so -lpthread +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_gd_to_ie_test_SOURCES = tls_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_gd_to_ie_test_DEPENDENCIES = gcctestdir/ld tls_test_pic.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_c_pic.o tls_test_shared2.so + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_gd_to_ie_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_gd_to_ie_test_LDADD = tls_test_pic.o tls_test_c_pic.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_shared2.so -lpthread + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_gd_to_ie_test_SOURCES = tls_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_gd_to_ie_test_DEPENDENCIES = gcctestdir/ld tls_test_gnu2.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@ tls_test_c_gnu2.o tls_test_gnu2_shared2.so + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_gd_to_ie_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_gd_to_ie_test_LDADD = tls_test_gnu2.o tls_test_c_gnu2.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@ tls_test_gnu2_shared2.so -lpthread + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_test_SOURCES = tls_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_test_DEPENDENCIES = gcctestdir/ld tls_test_gnu2_shared.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_shared_gnu2_test_LDADD = tls_test_gnu2_shared.so -lpthread +@GCC_TRUE@@HAVE_STATIC_TRUE@@STATIC_TLS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_static_test_SOURCES = $(tls_test_SOURCES) +@GCC_TRUE@@HAVE_STATIC_TRUE@@STATIC_TLS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_static_test_DEPENDENCIES = $(tls_test_DEPENDENCIES) +@GCC_TRUE@@HAVE_STATIC_TRUE@@STATIC_TLS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_static_test_LDFLAGS = $(tls_test_LDFLAGS) -static +@GCC_TRUE@@HAVE_STATIC_TRUE@@STATIC_TLS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_static_test_LDADD = $(tls_test_LDADD) +@GCC_TRUE@@HAVE_STATIC_TRUE@@STATIC_TLS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_static_pic_test_SOURCES = $(tls_pic_test_SOURCES) +@GCC_TRUE@@HAVE_STATIC_TRUE@@STATIC_TLS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_static_pic_test_DEPENDENCIES = $(tls_pic_test_DEPENDENCIES) +@GCC_TRUE@@HAVE_STATIC_TRUE@@STATIC_TLS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_static_pic_test_LDFLAGS = $(tls_pic_test_LDFLAGS) -static +@GCC_TRUE@@HAVE_STATIC_TRUE@@STATIC_TLS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_static_pic_test_LDADD = $(tls_pic_test_LDADD) +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_nonpic_test_SOURCES = tls_test_main.cc +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_nonpic_test_DEPENDENCIES = gcctestdir/ld tls_test_shared_nonpic.so +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_nonpic_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_shared_nonpic_test_LDADD = tls_test_shared_nonpic.so -lpthread +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@many_sections_test_SOURCES = many_sections_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@many_sections_test_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@many_sections_test_LDFLAGS = -Bgcctestdir/ -rdynamic +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@many_sections_test_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@initpri1_SOURCES = initpri1.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@initpri1_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@initpri1_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@initpri1_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@initpri2_SOURCES = initpri2.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@initpri2_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@initpri2_LDFLAGS = -Bgcctestdir/ -Wl,--ctors-in-init-array +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@initpri2_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@initpri3a_SOURCES = initpri3.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@initpri3a_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@initpri3a_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@initpri3a_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_SOURCES = ver_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_DEPENDENCIES = gcctestdir/ld ver_test_1.so ver_test_2.so ver_test_4.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_LDADD = ver_test_1.so ver_test_2.so ver_test_4.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_2_SOURCES = ver_test_main_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_2_DEPENDENCIES = gcctestdir/ld ver_test_4.so ver_test_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_2_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_2_LDADD = ver_test_4.so ver_test_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_6_SOURCES = ver_test_6.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_6_DEPENDENCIES = gcctestdir/ld ver_test_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_6_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_6_LDADD = ver_test_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_8_SOURCES = two_file_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_8_DEPENDENCIES = gcctestdir/ld ver_test_8_1.so ver_test_8_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_8_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_8_LDADD = ver_test_8_1.so ver_test_8_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_9_SOURCES = ver_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_9_DEPENDENCIES = gcctestdir/ld ver_test_9.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_9_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_9_LDADD = ver_test_9.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_11_SOURCES = ver_test_main_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_11_DEPENDENCIES = gcctestdir/ld ver_test_11.a +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_11_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_11_LDADD = ver_test_11.a +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_12_SOURCES = ver_test_main_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_12_DEPENDENCIES = gcctestdir/ld ver_test_12.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_12_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_12_LDADD = ver_test_12.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@protected_1_SOURCES = \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ protected_main_1.cc protected_main_2.cc protected_main_3.cc + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@protected_1_DEPENDENCIES = gcctestdir/ld protected_1.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@protected_1_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@protected_1_LDADD = protected_1.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@protected_2_SOURCES = protected_main_1.cc protected_3.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@protected_2_DEPENDENCIES = gcctestdir/ld protected_1.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@protected_2_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@protected_2_LDADD = protected_1.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_test_SOURCES = relro_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_test_DEPENDENCIES = gcctestdir/ld relro_test.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_test_LDADD = relro_test.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_now_test_SOURCES = relro_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_now_test_DEPENDENCIES = gcctestdir/ld relro_now_test.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_now_test_LDFLAGS = -Bgcctestdir -Wl,-R,. -Wl,-z,relro -Wl,-z,now +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_now_test_LDADD = relro_now_test.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_strip_test_SOURCES = relro_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_strip_test_DEPENDENCIES = gcctestdir/ld relro_strip_test.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_strip_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_strip_test_LDADD = relro_strip_test.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_script_test_SOURCES = relro_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_script_test_DEPENDENCIES = gcctestdir/ld relro_script_test.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_script_test_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_script_test_LDADD = relro_script_test.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_1_SOURCES = script_test_1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_1_DEPENDENCIES = gcctestdir/ld script_test_1.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_1_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -Wl,-T,$(srcdir)/script_test_1.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_1_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_2_SOURCES = script_test_2.cc script_test_2a.cc script_test_2b.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_2_DEPENDENCIES = gcctestdir/ld script_test_2.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_2_LDFLAGS = -Bgcctestdir/ -Wl,-R,. -Wl,-T,$(srcdir)/script_test_2.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_2_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@justsyms_SOURCES = justsyms_1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@justsyms_DEPENDENCIES = gcctestdir/ld justsyms_2r.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@justsyms_LDFLAGS = -Bgcctestdir/ -Wl,-R,justsyms_2r.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@justsyms_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@justsyms_exec_SOURCES = justsyms_exec.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@justsyms_exec_DEPENDENCIES = gcctestdir/ld justsyms_lib +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@justsyms_exec_LDFLAGS = -Bgcctestdir/ -Wl,-R,justsyms_lib +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@justsyms_exec_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@binary_test_SOURCES = binary_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@binary_test_DEPENDENCIES = gcctestdir/ld binary.txt +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@binary_test_LDFLAGS = -Bgcctestdir/ -Wl,--format,binary,binary.txt,--format,elf +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@binary_test_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@tls_phdrs_script_test_SOURCES = $(tls_test_SOURCES) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@tls_phdrs_script_test_DEPENDENCIES = $(tls_test_DEPENDENCIES) $(srcdir)/script_test_3.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@tls_phdrs_script_test_LDFLAGS = $(tls_test_LDFLAGS) -Wl,-T,$(srcdir)/script_test_3.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@tls_phdrs_script_test_LDADD = $(tls_test_LDADD) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@tls_script_test_SOURCES = $(tls_test_SOURCES) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@tls_script_test_DEPENDENCIES = $(tls_test_DEPENDENCIES) $(srcdir)/script_test_4.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@tls_script_test_LDFLAGS = $(tls_test_LDFLAGS) -Wl,-T,$(srcdir)/script_test_4.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@tls_script_test_LDADD = $(tls_test_LDADD) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dynamic_list_2_SOURCES = dynamic_list_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dynamic_list_2_DEPENDENCIES = gcctestdir/ld dynamic_list_lib1.so dynamic_list_lib2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dynamic_list_2_LDFLAGS = -Bgcctestdir/ -L. -Wl,-R,. -Wl,--no-as-needed +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dynamic_list_2_LDADD = dynamic_list_lib1.so dynamic_list_lib2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@thin_archive_test_1_SOURCES = thin_archive_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@thin_archive_test_1_DEPENDENCIES = gcctestdir/ld libthin1.a alt/libthin2.a +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@thin_archive_test_1_LDFLAGS = -Bgcctestdir/ -Lalt +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@thin_archive_test_1_LDADD = libthin1.a -lthin2 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@thin_archive_test_2_SOURCES = thin_archive_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@thin_archive_test_2_DEPENDENCIES = gcctestdir/ld libthinall.a +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@thin_archive_test_2_LDFLAGS = -Bgcctestdir/ -L. +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@thin_archive_test_2_LDADD = -lthinall +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@PLUGIN_TEST_11_SYMS = two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exclude_libs_test_SOURCES = exclude_libs_test.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exclude_libs_test_DEPENDENCIES = gcctestdir/ld libexclude_libs_test_1.a \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ libexclude_libs_test_2.a alt/libexclude_libs_test_3.a + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exclude_libs_test_LDFLAGS = -Bgcctestdir/ -L. -Lalt \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--exclude-libs,dummy:libexclude_libs_test_1 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--exclude-libs,libexclude_libs_test_3 + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exclude_libs_test_LDADD = -lexclude_libs_test_1 -lexclude_libs_test_2 \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ alt/libexclude_libs_test_3.a + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@discard_locals_test_SOURCES = discard_locals_test.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@discard_locals_test_LDFLAGS = -Bgcctestdir/ -Wl,--discard-locals +@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@large_SOURCES = large.c +@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@large_CFLAGS = -mcmodel=medium +@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@large_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@large_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@MCMODEL_MEDIUM_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@large_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@searched_file_test_SOURCES = searched_file_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@searched_file_test_DEPENDENCIES = alt/searched_file_test_lib.a +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@searched_file_test_LDFLAGS = -Bgcctestdir/ -Lalt +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@searched_file_test_LDADD = -l:searched_file_test_lib.a +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1static_SOURCES = ifuncmain1.c +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1static_DEPENDENCIES = gcctestdir/ld ifuncdep1.o +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1static_LDFLAGS = -Bgcctestdir/ -static +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1static_LDADD = ifuncdep1.o +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1_SOURCES = ifuncmain1.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1_DEPENDENCIES = gcctestdir/ld ifuncmod1.so +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1_LDADD = ifuncmod1.so +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1vis_SOURCES = ifuncmain1vis.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1vis_DEPENDENCIES = gcctestdir/ld ifuncmod1.so +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1vis_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1vis_LDADD = ifuncmod1.so +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain2static_SOURCES = ifuncmain2.c ifuncdep2.c +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain2static_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain2static_LDFLAGS = -Bgcctestdir/ -static +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain2static_LDADD = +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain2_SOURCES = ifuncmain2.c ifuncdep2.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain2_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain2_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain2_LDADD = +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain3_SOURCES = ifuncmain3.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain3_DEPENDENCIES = gcctestdir/ld ifuncmod3.so +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain3_LDFLAGS = -Bgcctestdir/ -Wl,--export-dynamic -Wl,-R,. +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain3_LDADD = -ldl +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain4static_SOURCES = ifuncmain4.c +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain4static_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain4static_LDFLAGS = -Bgcctestdir/ -static +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain4static_LDADD = +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain4_SOURCES = ifuncmain4.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain4_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain4_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain4_LDADD = +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain5static_SOURCES = ifuncmain5.c +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain5static_DEPENDENCIES = gcctestdir/ld ifuncdep5.o +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain5static_LDFLAGS = -Bgcctestdir/ -static +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain5static_LDADD = ifuncdep5.o +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain5_SOURCES = ifuncmain5.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain5_DEPENDENCIES = gcctestdir/ld ifuncmod5.so +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain5_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain5_LDADD = ifuncmod5.so +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain7static_SOURCES = ifuncmain7.c +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain7static_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain7static_LDFLAGS = -Bgcctestdir/ -static +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain7static_LDADD = +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain7_SOURCES = ifuncmain7.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain7_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain7_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain7_LDADD = +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncvar_SOURCES = ifuncvar3.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncvar_DEPENDENCIES = gcctestdir/ld ifuncvar.so +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncvar_LDFLAGS = -Bgcctestdir/ -Wl,-R,. +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncvar_LDADD = ifuncvar.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_1_SOURCES = ehdr_start_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_1_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_1_CXXFLAGS = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_1_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_1_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_2_SOURCES = ehdr_start_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_2_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_2_CXXFLAGS = -DEHDR_START_WEAK +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_2_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_2_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_3_SOURCES = ehdr_start_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_3_DEPENDENCIES = gcctestdir/ld $(srcdir)/ehdr_start_test.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_3_CXXFLAGS = -DEHDR_START_WEAK +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_3_LDFLAGS = -Bgcctestdir/ -Wl,-T,$(srcdir)/ehdr_start_test.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_3_LDADD = +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_5_SOURCES = ehdr_start_test.cc ehdr_start_def.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_5_DEPENDENCIES = gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_5_CXXFLAGS = -DEHDR_START_USER_DEF +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_5_LDFLAGS = -Bgcctestdir/ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_5_LDADD = +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_x86_64_bnd_test_SOURCES = exception_test_main.cc +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_x86_64_bnd_test_DEPENDENCIES = gcctestdir/ld exception_x86_64_bnd_1.o exception_x86_64_bnd_2.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_x86_64_bnd_test_LDFLAGS = $(exception_test_LDFLAGS) +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_x86_64_bnd_test_LDADD = exception_x86_64_bnd_1.o exception_x86_64_bnd_2.o @DEFAULT_TARGET_I386_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@SPLIT_DEFSYMS = --defsym __morestack=0x100 --defsym __morestack_non_split=0x200 @DEFAULT_TARGET_X32_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@SPLIT_DEFSYMS = --defsym __morestack=0x100 --defsym __morestack_non_split=0x200 @DEFAULT_TARGET_X86_64_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@SPLIT_DEFSYMS = --defsym __morestack=0x100 --defsym __morestack_non_split=0x200 @@ -2808,39 +2859,39 @@ clean-checkPROGRAMS: @GCC_FALSE@basic_pic_test$(EXEEXT): $(basic_pic_test_OBJECTS) $(basic_pic_test_DEPENDENCIES) @GCC_FALSE@ @rm -f basic_pic_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(basic_pic_test_OBJECTS) $(basic_pic_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@basic_pic_test$(EXEEXT): $(basic_pic_test_OBJECTS) $(basic_pic_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f basic_pic_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(basic_pic_test_OBJECTS) $(basic_pic_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@basic_pic_test$(EXEEXT): $(basic_pic_test_OBJECTS) $(basic_pic_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f basic_pic_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(basic_pic_test_OBJECTS) $(basic_pic_test_LDADD) $(LIBS) @GCC_FALSE@basic_pie_test$(EXEEXT): $(basic_pie_test_OBJECTS) $(basic_pie_test_DEPENDENCIES) @GCC_FALSE@ @rm -f basic_pie_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(basic_pie_test_OBJECTS) $(basic_pie_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@basic_pie_test$(EXEEXT): $(basic_pie_test_OBJECTS) $(basic_pie_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f basic_pie_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(basic_pie_test_OBJECTS) $(basic_pie_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@basic_pie_test$(EXEEXT): $(basic_pie_test_OBJECTS) $(basic_pie_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f basic_pie_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(basic_pie_test_OBJECTS) $(basic_pie_test_LDADD) $(LIBS) @GCC_FALSE@basic_static_pic_test$(EXEEXT): $(basic_static_pic_test_OBJECTS) $(basic_static_pic_test_DEPENDENCIES) @GCC_FALSE@ @rm -f basic_static_pic_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(basic_static_pic_test_OBJECTS) $(basic_static_pic_test_LDADD) $(LIBS) @HAVE_STATIC_FALSE@basic_static_pic_test$(EXEEXT): $(basic_static_pic_test_OBJECTS) $(basic_static_pic_test_DEPENDENCIES) @HAVE_STATIC_FALSE@ @rm -f basic_static_pic_test$(EXEEXT) @HAVE_STATIC_FALSE@ $(LINK) $(basic_static_pic_test_OBJECTS) $(basic_static_pic_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@basic_static_pic_test$(EXEEXT): $(basic_static_pic_test_OBJECTS) $(basic_static_pic_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f basic_static_pic_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(basic_static_pic_test_OBJECTS) $(basic_static_pic_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@basic_static_pic_test$(EXEEXT): $(basic_static_pic_test_OBJECTS) $(basic_static_pic_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f basic_static_pic_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(basic_static_pic_test_OBJECTS) $(basic_static_pic_test_LDADD) $(LIBS) @GCC_FALSE@basic_static_test$(EXEEXT): $(basic_static_test_OBJECTS) $(basic_static_test_DEPENDENCIES) @GCC_FALSE@ @rm -f basic_static_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(basic_static_test_OBJECTS) $(basic_static_test_LDADD) $(LIBS) @HAVE_STATIC_FALSE@basic_static_test$(EXEEXT): $(basic_static_test_OBJECTS) $(basic_static_test_DEPENDENCIES) @HAVE_STATIC_FALSE@ @rm -f basic_static_test$(EXEEXT) @HAVE_STATIC_FALSE@ $(LINK) $(basic_static_test_OBJECTS) $(basic_static_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@basic_static_test$(EXEEXT): $(basic_static_test_OBJECTS) $(basic_static_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f basic_static_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(basic_static_test_OBJECTS) $(basic_static_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@basic_static_test$(EXEEXT): $(basic_static_test_OBJECTS) $(basic_static_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f basic_static_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(basic_static_test_OBJECTS) $(basic_static_test_LDADD) $(LIBS) @GCC_FALSE@basic_test$(EXEEXT): $(basic_test_OBJECTS) $(basic_test_DEPENDENCIES) @GCC_FALSE@ @rm -f basic_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(basic_test_OBJECTS) $(basic_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@basic_test$(EXEEXT): $(basic_test_OBJECTS) $(basic_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f basic_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(basic_test_OBJECTS) $(basic_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@basic_test$(EXEEXT): $(basic_test_OBJECTS) $(basic_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f basic_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(basic_test_OBJECTS) $(basic_test_LDADD) $(LIBS) binary_test$(EXEEXT): $(binary_test_OBJECTS) $(binary_test_DEPENDENCIES) @rm -f binary_test$(EXEEXT) $(binary_test_LINK) $(binary_test_OBJECTS) $(binary_test_LDADD) $(LIBS) @@ -2862,6 +2913,9 @@ constructor_test$(EXEEXT): $(constructor_test_OBJECTS) $(constructor_test_DEPEND copy_test$(EXEEXT): $(copy_test_OBJECTS) $(copy_test_DEPENDENCIES) @rm -f copy_test$(EXEEXT) $(copy_test_LINK) $(copy_test_OBJECTS) $(copy_test_LDADD) $(LIBS) +disable_pie_unsafe_size_test$(EXEEXT): $(disable_pie_unsafe_size_test_OBJECTS) $(disable_pie_unsafe_size_test_DEPENDENCIES) + @rm -f disable_pie_unsafe_size_test$(EXEEXT) + $(disable_pie_unsafe_size_test_LINK) $(disable_pie_unsafe_size_test_OBJECTS) $(disable_pie_unsafe_size_test_LDADD) $(LIBS) discard_locals_test$(EXEEXT): $(discard_locals_test_OBJECTS) $(discard_locals_test_DEPENDENCIES) @rm -f discard_locals_test$(EXEEXT) $(discard_locals_test_LINK) $(discard_locals_test_OBJECTS) $(discard_locals_test_LDADD) $(LIBS) @@ -2913,36 +2967,36 @@ exclude_libs_test$(EXEEXT): $(exclude_libs_test_OBJECTS) $(exclude_libs_test_DEP @HAVE_ZLIB_FALSE@flagstest_compress_debug_sections$(EXEEXT): $(flagstest_compress_debug_sections_OBJECTS) $(flagstest_compress_debug_sections_DEPENDENCIES) @HAVE_ZLIB_FALSE@ @rm -f flagstest_compress_debug_sections$(EXEEXT) @HAVE_ZLIB_FALSE@ $(LINK) $(flagstest_compress_debug_sections_OBJECTS) $(flagstest_compress_debug_sections_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@flagstest_compress_debug_sections$(EXEEXT): $(flagstest_compress_debug_sections_OBJECTS) $(flagstest_compress_debug_sections_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f flagstest_compress_debug_sections$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(flagstest_compress_debug_sections_OBJECTS) $(flagstest_compress_debug_sections_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@flagstest_compress_debug_sections$(EXEEXT): $(flagstest_compress_debug_sections_OBJECTS) $(flagstest_compress_debug_sections_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f flagstest_compress_debug_sections$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(flagstest_compress_debug_sections_OBJECTS) $(flagstest_compress_debug_sections_LDADD) $(LIBS) @GCC_FALSE@flagstest_o_specialfile$(EXEEXT): $(flagstest_o_specialfile_OBJECTS) $(flagstest_o_specialfile_DEPENDENCIES) @GCC_FALSE@ @rm -f flagstest_o_specialfile$(EXEEXT) @GCC_FALSE@ $(LINK) $(flagstest_o_specialfile_OBJECTS) $(flagstest_o_specialfile_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@flagstest_o_specialfile$(EXEEXT): $(flagstest_o_specialfile_OBJECTS) $(flagstest_o_specialfile_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f flagstest_o_specialfile$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(flagstest_o_specialfile_OBJECTS) $(flagstest_o_specialfile_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@flagstest_o_specialfile$(EXEEXT): $(flagstest_o_specialfile_OBJECTS) $(flagstest_o_specialfile_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f flagstest_o_specialfile$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(flagstest_o_specialfile_OBJECTS) $(flagstest_o_specialfile_LDADD) $(LIBS) @GCC_FALSE@flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT): $(flagstest_o_specialfile_and_compress_debug_sections_OBJECTS) $(flagstest_o_specialfile_and_compress_debug_sections_DEPENDENCIES) @GCC_FALSE@ @rm -f flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT) @GCC_FALSE@ $(LINK) $(flagstest_o_specialfile_and_compress_debug_sections_OBJECTS) $(flagstest_o_specialfile_and_compress_debug_sections_LDADD) $(LIBS) @HAVE_ZLIB_FALSE@flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT): $(flagstest_o_specialfile_and_compress_debug_sections_OBJECTS) $(flagstest_o_specialfile_and_compress_debug_sections_DEPENDENCIES) @HAVE_ZLIB_FALSE@ @rm -f flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT) @HAVE_ZLIB_FALSE@ $(LINK) $(flagstest_o_specialfile_and_compress_debug_sections_OBJECTS) $(flagstest_o_specialfile_and_compress_debug_sections_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT): $(flagstest_o_specialfile_and_compress_debug_sections_OBJECTS) $(flagstest_o_specialfile_and_compress_debug_sections_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(flagstest_o_specialfile_and_compress_debug_sections_OBJECTS) $(flagstest_o_specialfile_and_compress_debug_sections_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT): $(flagstest_o_specialfile_and_compress_debug_sections_OBJECTS) $(flagstest_o_specialfile_and_compress_debug_sections_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(flagstest_o_specialfile_and_compress_debug_sections_OBJECTS) $(flagstest_o_specialfile_and_compress_debug_sections_LDADD) $(LIBS) @GCC_FALSE@flagstest_o_ttext_1$(EXEEXT): $(flagstest_o_ttext_1_OBJECTS) $(flagstest_o_ttext_1_DEPENDENCIES) @GCC_FALSE@ @rm -f flagstest_o_ttext_1$(EXEEXT) @GCC_FALSE@ $(LINK) $(flagstest_o_ttext_1_OBJECTS) $(flagstest_o_ttext_1_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@flagstest_o_ttext_1$(EXEEXT): $(flagstest_o_ttext_1_OBJECTS) $(flagstest_o_ttext_1_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f flagstest_o_ttext_1$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(flagstest_o_ttext_1_OBJECTS) $(flagstest_o_ttext_1_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@flagstest_o_ttext_1$(EXEEXT): $(flagstest_o_ttext_1_OBJECTS) $(flagstest_o_ttext_1_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f flagstest_o_ttext_1$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(flagstest_o_ttext_1_OBJECTS) $(flagstest_o_ttext_1_LDADD) $(LIBS) @GCC_FALSE@icf_virtual_function_folding_test$(EXEEXT): $(icf_virtual_function_folding_test_OBJECTS) $(icf_virtual_function_folding_test_DEPENDENCIES) @GCC_FALSE@ @rm -f icf_virtual_function_folding_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(icf_virtual_function_folding_test_OBJECTS) $(icf_virtual_function_folding_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@icf_virtual_function_folding_test$(EXEEXT): $(icf_virtual_function_folding_test_OBJECTS) $(icf_virtual_function_folding_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f icf_virtual_function_folding_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(icf_virtual_function_folding_test_OBJECTS) $(icf_virtual_function_folding_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@icf_virtual_function_folding_test$(EXEEXT): $(icf_virtual_function_folding_test_OBJECTS) $(icf_virtual_function_folding_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f icf_virtual_function_folding_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(icf_virtual_function_folding_test_OBJECTS) $(icf_virtual_function_folding_test_LDADD) $(LIBS) ifuncmain1$(EXEEXT): $(ifuncmain1_OBJECTS) $(ifuncmain1_DEPENDENCIES) @rm -f ifuncmain1$(EXEEXT) $(ifuncmain1_LINK) $(ifuncmain1_OBJECTS) $(ifuncmain1_LDADD) $(LIBS) @@ -2952,9 +3006,9 @@ ifuncmain1$(EXEEXT): $(ifuncmain1_OBJECTS) $(ifuncmain1_DEPENDENCIES) @IFUNC_FALSE@ifuncmain1pic$(EXEEXT): $(ifuncmain1pic_OBJECTS) $(ifuncmain1pic_DEPENDENCIES) @IFUNC_FALSE@ @rm -f ifuncmain1pic$(EXEEXT) @IFUNC_FALSE@ $(LINK) $(ifuncmain1pic_OBJECTS) $(ifuncmain1pic_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain1pic$(EXEEXT): $(ifuncmain1pic_OBJECTS) $(ifuncmain1pic_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain1pic$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain1pic_OBJECTS) $(ifuncmain1pic_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain1pic$(EXEEXT): $(ifuncmain1pic_OBJECTS) $(ifuncmain1pic_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain1pic$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain1pic_OBJECTS) $(ifuncmain1pic_LDADD) $(LIBS) @GCC_FALSE@ifuncmain1picstatic$(EXEEXT): $(ifuncmain1picstatic_OBJECTS) $(ifuncmain1picstatic_DEPENDENCIES) @GCC_FALSE@ @rm -f ifuncmain1picstatic$(EXEEXT) @GCC_FALSE@ $(LINK) $(ifuncmain1picstatic_OBJECTS) $(ifuncmain1picstatic_LDADD) $(LIBS) @@ -2967,18 +3021,18 @@ ifuncmain1$(EXEEXT): $(ifuncmain1_OBJECTS) $(ifuncmain1_DEPENDENCIES) @IFUNC_STATIC_FALSE@ifuncmain1picstatic$(EXEEXT): $(ifuncmain1picstatic_OBJECTS) $(ifuncmain1picstatic_DEPENDENCIES) @IFUNC_STATIC_FALSE@ @rm -f ifuncmain1picstatic$(EXEEXT) @IFUNC_STATIC_FALSE@ $(LINK) $(ifuncmain1picstatic_OBJECTS) $(ifuncmain1picstatic_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain1picstatic$(EXEEXT): $(ifuncmain1picstatic_OBJECTS) $(ifuncmain1picstatic_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain1picstatic$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain1picstatic_OBJECTS) $(ifuncmain1picstatic_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain1picstatic$(EXEEXT): $(ifuncmain1picstatic_OBJECTS) $(ifuncmain1picstatic_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain1picstatic$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain1picstatic_OBJECTS) $(ifuncmain1picstatic_LDADD) $(LIBS) @GCC_FALSE@ifuncmain1pie$(EXEEXT): $(ifuncmain1pie_OBJECTS) $(ifuncmain1pie_DEPENDENCIES) @GCC_FALSE@ @rm -f ifuncmain1pie$(EXEEXT) @GCC_FALSE@ $(LINK) $(ifuncmain1pie_OBJECTS) $(ifuncmain1pie_LDADD) $(LIBS) @IFUNC_FALSE@ifuncmain1pie$(EXEEXT): $(ifuncmain1pie_OBJECTS) $(ifuncmain1pie_DEPENDENCIES) @IFUNC_FALSE@ @rm -f ifuncmain1pie$(EXEEXT) @IFUNC_FALSE@ $(LINK) $(ifuncmain1pie_OBJECTS) $(ifuncmain1pie_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain1pie$(EXEEXT): $(ifuncmain1pie_OBJECTS) $(ifuncmain1pie_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain1pie$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain1pie_OBJECTS) $(ifuncmain1pie_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain1pie$(EXEEXT): $(ifuncmain1pie_OBJECTS) $(ifuncmain1pie_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain1pie$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain1pie_OBJECTS) $(ifuncmain1pie_LDADD) $(LIBS) ifuncmain1static$(EXEEXT): $(ifuncmain1static_OBJECTS) $(ifuncmain1static_DEPENDENCIES) @rm -f ifuncmain1static$(EXEEXT) $(ifuncmain1static_LINK) $(ifuncmain1static_OBJECTS) $(ifuncmain1static_LDADD) $(LIBS) @@ -2988,18 +3042,18 @@ ifuncmain1static$(EXEEXT): $(ifuncmain1static_OBJECTS) $(ifuncmain1static_DEPEND @IFUNC_FALSE@ifuncmain1staticpic$(EXEEXT): $(ifuncmain1staticpic_OBJECTS) $(ifuncmain1staticpic_DEPENDENCIES) @IFUNC_FALSE@ @rm -f ifuncmain1staticpic$(EXEEXT) @IFUNC_FALSE@ $(LINK) $(ifuncmain1staticpic_OBJECTS) $(ifuncmain1staticpic_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain1staticpic$(EXEEXT): $(ifuncmain1staticpic_OBJECTS) $(ifuncmain1staticpic_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain1staticpic$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain1staticpic_OBJECTS) $(ifuncmain1staticpic_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain1staticpic$(EXEEXT): $(ifuncmain1staticpic_OBJECTS) $(ifuncmain1staticpic_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain1staticpic$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain1staticpic_OBJECTS) $(ifuncmain1staticpic_LDADD) $(LIBS) @GCC_FALSE@ifuncmain1staticpie$(EXEEXT): $(ifuncmain1staticpie_OBJECTS) $(ifuncmain1staticpie_DEPENDENCIES) @GCC_FALSE@ @rm -f ifuncmain1staticpie$(EXEEXT) @GCC_FALSE@ $(LINK) $(ifuncmain1staticpie_OBJECTS) $(ifuncmain1staticpie_LDADD) $(LIBS) @IFUNC_FALSE@ifuncmain1staticpie$(EXEEXT): $(ifuncmain1staticpie_OBJECTS) $(ifuncmain1staticpie_DEPENDENCIES) @IFUNC_FALSE@ @rm -f ifuncmain1staticpie$(EXEEXT) @IFUNC_FALSE@ $(LINK) $(ifuncmain1staticpie_OBJECTS) $(ifuncmain1staticpie_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain1staticpie$(EXEEXT): $(ifuncmain1staticpie_OBJECTS) $(ifuncmain1staticpie_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain1staticpie$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain1staticpie_OBJECTS) $(ifuncmain1staticpie_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain1staticpie$(EXEEXT): $(ifuncmain1staticpie_OBJECTS) $(ifuncmain1staticpie_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain1staticpie$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain1staticpie_OBJECTS) $(ifuncmain1staticpie_LDADD) $(LIBS) ifuncmain1vis$(EXEEXT): $(ifuncmain1vis_OBJECTS) $(ifuncmain1vis_DEPENDENCIES) @rm -f ifuncmain1vis$(EXEEXT) $(ifuncmain1vis_LINK) $(ifuncmain1vis_OBJECTS) $(ifuncmain1vis_LDADD) $(LIBS) @@ -3009,18 +3063,18 @@ ifuncmain1vis$(EXEEXT): $(ifuncmain1vis_OBJECTS) $(ifuncmain1vis_DEPENDENCIES) @IFUNC_FALSE@ifuncmain1vispic$(EXEEXT): $(ifuncmain1vispic_OBJECTS) $(ifuncmain1vispic_DEPENDENCIES) @IFUNC_FALSE@ @rm -f ifuncmain1vispic$(EXEEXT) @IFUNC_FALSE@ $(LINK) $(ifuncmain1vispic_OBJECTS) $(ifuncmain1vispic_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain1vispic$(EXEEXT): $(ifuncmain1vispic_OBJECTS) $(ifuncmain1vispic_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain1vispic$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain1vispic_OBJECTS) $(ifuncmain1vispic_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain1vispic$(EXEEXT): $(ifuncmain1vispic_OBJECTS) $(ifuncmain1vispic_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain1vispic$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain1vispic_OBJECTS) $(ifuncmain1vispic_LDADD) $(LIBS) @GCC_FALSE@ifuncmain1vispie$(EXEEXT): $(ifuncmain1vispie_OBJECTS) $(ifuncmain1vispie_DEPENDENCIES) @GCC_FALSE@ @rm -f ifuncmain1vispie$(EXEEXT) @GCC_FALSE@ $(LINK) $(ifuncmain1vispie_OBJECTS) $(ifuncmain1vispie_LDADD) $(LIBS) @IFUNC_FALSE@ifuncmain1vispie$(EXEEXT): $(ifuncmain1vispie_OBJECTS) $(ifuncmain1vispie_DEPENDENCIES) @IFUNC_FALSE@ @rm -f ifuncmain1vispie$(EXEEXT) @IFUNC_FALSE@ $(LINK) $(ifuncmain1vispie_OBJECTS) $(ifuncmain1vispie_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain1vispie$(EXEEXT): $(ifuncmain1vispie_OBJECTS) $(ifuncmain1vispie_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain1vispie$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain1vispie_OBJECTS) $(ifuncmain1vispie_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain1vispie$(EXEEXT): $(ifuncmain1vispie_OBJECTS) $(ifuncmain1vispie_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain1vispie$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain1vispie_OBJECTS) $(ifuncmain1vispie_LDADD) $(LIBS) ifuncmain2$(EXEEXT): $(ifuncmain2_OBJECTS) $(ifuncmain2_DEPENDENCIES) @rm -f ifuncmain2$(EXEEXT) $(ifuncmain2_LINK) $(ifuncmain2_OBJECTS) $(ifuncmain2_LDADD) $(LIBS) @@ -3030,9 +3084,9 @@ ifuncmain2$(EXEEXT): $(ifuncmain2_OBJECTS) $(ifuncmain2_DEPENDENCIES) @IFUNC_FALSE@ifuncmain2pic$(EXEEXT): $(ifuncmain2pic_OBJECTS) $(ifuncmain2pic_DEPENDENCIES) @IFUNC_FALSE@ @rm -f ifuncmain2pic$(EXEEXT) @IFUNC_FALSE@ $(LINK) $(ifuncmain2pic_OBJECTS) $(ifuncmain2pic_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain2pic$(EXEEXT): $(ifuncmain2pic_OBJECTS) $(ifuncmain2pic_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain2pic$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain2pic_OBJECTS) $(ifuncmain2pic_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain2pic$(EXEEXT): $(ifuncmain2pic_OBJECTS) $(ifuncmain2pic_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain2pic$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain2pic_OBJECTS) $(ifuncmain2pic_LDADD) $(LIBS) @GCC_FALSE@ifuncmain2picstatic$(EXEEXT): $(ifuncmain2picstatic_OBJECTS) $(ifuncmain2picstatic_DEPENDENCIES) @GCC_FALSE@ @rm -f ifuncmain2picstatic$(EXEEXT) @GCC_FALSE@ $(LINK) $(ifuncmain2picstatic_OBJECTS) $(ifuncmain2picstatic_LDADD) $(LIBS) @@ -3045,9 +3099,9 @@ ifuncmain2$(EXEEXT): $(ifuncmain2_OBJECTS) $(ifuncmain2_DEPENDENCIES) @IFUNC_STATIC_FALSE@ifuncmain2picstatic$(EXEEXT): $(ifuncmain2picstatic_OBJECTS) $(ifuncmain2picstatic_DEPENDENCIES) @IFUNC_STATIC_FALSE@ @rm -f ifuncmain2picstatic$(EXEEXT) @IFUNC_STATIC_FALSE@ $(LINK) $(ifuncmain2picstatic_OBJECTS) $(ifuncmain2picstatic_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain2picstatic$(EXEEXT): $(ifuncmain2picstatic_OBJECTS) $(ifuncmain2picstatic_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain2picstatic$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain2picstatic_OBJECTS) $(ifuncmain2picstatic_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain2picstatic$(EXEEXT): $(ifuncmain2picstatic_OBJECTS) $(ifuncmain2picstatic_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain2picstatic$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain2picstatic_OBJECTS) $(ifuncmain2picstatic_LDADD) $(LIBS) ifuncmain2static$(EXEEXT): $(ifuncmain2static_OBJECTS) $(ifuncmain2static_DEPENDENCIES) @rm -f ifuncmain2static$(EXEEXT) $(ifuncmain2static_LINK) $(ifuncmain2static_OBJECTS) $(ifuncmain2static_LDADD) $(LIBS) @@ -3069,9 +3123,9 @@ ifuncmain4$(EXEEXT): $(ifuncmain4_OBJECTS) $(ifuncmain4_DEPENDENCIES) @IFUNC_STATIC_FALSE@ifuncmain4picstatic$(EXEEXT): $(ifuncmain4picstatic_OBJECTS) $(ifuncmain4picstatic_DEPENDENCIES) @IFUNC_STATIC_FALSE@ @rm -f ifuncmain4picstatic$(EXEEXT) @IFUNC_STATIC_FALSE@ $(LINK) $(ifuncmain4picstatic_OBJECTS) $(ifuncmain4picstatic_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain4picstatic$(EXEEXT): $(ifuncmain4picstatic_OBJECTS) $(ifuncmain4picstatic_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain4picstatic$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain4picstatic_OBJECTS) $(ifuncmain4picstatic_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain4picstatic$(EXEEXT): $(ifuncmain4picstatic_OBJECTS) $(ifuncmain4picstatic_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain4picstatic$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain4picstatic_OBJECTS) $(ifuncmain4picstatic_LDADD) $(LIBS) ifuncmain4static$(EXEEXT): $(ifuncmain4static_OBJECTS) $(ifuncmain4static_DEPENDENCIES) @rm -f ifuncmain4static$(EXEEXT) $(ifuncmain4static_LINK) $(ifuncmain4static_OBJECTS) $(ifuncmain4static_LDADD) $(LIBS) @@ -3084,9 +3138,9 @@ ifuncmain5$(EXEEXT): $(ifuncmain5_OBJECTS) $(ifuncmain5_DEPENDENCIES) @IFUNC_FALSE@ifuncmain5pic$(EXEEXT): $(ifuncmain5pic_OBJECTS) $(ifuncmain5pic_DEPENDENCIES) @IFUNC_FALSE@ @rm -f ifuncmain5pic$(EXEEXT) @IFUNC_FALSE@ $(LINK) $(ifuncmain5pic_OBJECTS) $(ifuncmain5pic_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain5pic$(EXEEXT): $(ifuncmain5pic_OBJECTS) $(ifuncmain5pic_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain5pic$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain5pic_OBJECTS) $(ifuncmain5pic_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain5pic$(EXEEXT): $(ifuncmain5pic_OBJECTS) $(ifuncmain5pic_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain5pic$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain5pic_OBJECTS) $(ifuncmain5pic_LDADD) $(LIBS) @GCC_FALSE@ifuncmain5picstatic$(EXEEXT): $(ifuncmain5picstatic_OBJECTS) $(ifuncmain5picstatic_DEPENDENCIES) @GCC_FALSE@ @rm -f ifuncmain5picstatic$(EXEEXT) @GCC_FALSE@ $(LINK) $(ifuncmain5picstatic_OBJECTS) $(ifuncmain5picstatic_LDADD) $(LIBS) @@ -3099,18 +3153,18 @@ ifuncmain5$(EXEEXT): $(ifuncmain5_OBJECTS) $(ifuncmain5_DEPENDENCIES) @IFUNC_STATIC_FALSE@ifuncmain5picstatic$(EXEEXT): $(ifuncmain5picstatic_OBJECTS) $(ifuncmain5picstatic_DEPENDENCIES) @IFUNC_STATIC_FALSE@ @rm -f ifuncmain5picstatic$(EXEEXT) @IFUNC_STATIC_FALSE@ $(LINK) $(ifuncmain5picstatic_OBJECTS) $(ifuncmain5picstatic_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain5picstatic$(EXEEXT): $(ifuncmain5picstatic_OBJECTS) $(ifuncmain5picstatic_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain5picstatic$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain5picstatic_OBJECTS) $(ifuncmain5picstatic_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain5picstatic$(EXEEXT): $(ifuncmain5picstatic_OBJECTS) $(ifuncmain5picstatic_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain5picstatic$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain5picstatic_OBJECTS) $(ifuncmain5picstatic_LDADD) $(LIBS) @GCC_FALSE@ifuncmain5pie$(EXEEXT): $(ifuncmain5pie_OBJECTS) $(ifuncmain5pie_DEPENDENCIES) @GCC_FALSE@ @rm -f ifuncmain5pie$(EXEEXT) @GCC_FALSE@ $(LINK) $(ifuncmain5pie_OBJECTS) $(ifuncmain5pie_LDADD) $(LIBS) @IFUNC_FALSE@ifuncmain5pie$(EXEEXT): $(ifuncmain5pie_OBJECTS) $(ifuncmain5pie_DEPENDENCIES) @IFUNC_FALSE@ @rm -f ifuncmain5pie$(EXEEXT) @IFUNC_FALSE@ $(LINK) $(ifuncmain5pie_OBJECTS) $(ifuncmain5pie_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain5pie$(EXEEXT): $(ifuncmain5pie_OBJECTS) $(ifuncmain5pie_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain5pie$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain5pie_OBJECTS) $(ifuncmain5pie_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain5pie$(EXEEXT): $(ifuncmain5pie_OBJECTS) $(ifuncmain5pie_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain5pie$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain5pie_OBJECTS) $(ifuncmain5pie_LDADD) $(LIBS) ifuncmain5static$(EXEEXT): $(ifuncmain5static_OBJECTS) $(ifuncmain5static_DEPENDENCIES) @rm -f ifuncmain5static$(EXEEXT) $(ifuncmain5static_LINK) $(ifuncmain5static_OBJECTS) $(ifuncmain5static_LDADD) $(LIBS) @@ -3120,18 +3174,18 @@ ifuncmain5static$(EXEEXT): $(ifuncmain5static_OBJECTS) $(ifuncmain5static_DEPEND @IFUNC_FALSE@ifuncmain5staticpic$(EXEEXT): $(ifuncmain5staticpic_OBJECTS) $(ifuncmain5staticpic_DEPENDENCIES) @IFUNC_FALSE@ @rm -f ifuncmain5staticpic$(EXEEXT) @IFUNC_FALSE@ $(LINK) $(ifuncmain5staticpic_OBJECTS) $(ifuncmain5staticpic_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain5staticpic$(EXEEXT): $(ifuncmain5staticpic_OBJECTS) $(ifuncmain5staticpic_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain5staticpic$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain5staticpic_OBJECTS) $(ifuncmain5staticpic_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain5staticpic$(EXEEXT): $(ifuncmain5staticpic_OBJECTS) $(ifuncmain5staticpic_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain5staticpic$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain5staticpic_OBJECTS) $(ifuncmain5staticpic_LDADD) $(LIBS) @GCC_FALSE@ifuncmain6pie$(EXEEXT): $(ifuncmain6pie_OBJECTS) $(ifuncmain6pie_DEPENDENCIES) @GCC_FALSE@ @rm -f ifuncmain6pie$(EXEEXT) @GCC_FALSE@ $(LINK) $(ifuncmain6pie_OBJECTS) $(ifuncmain6pie_LDADD) $(LIBS) @IFUNC_FALSE@ifuncmain6pie$(EXEEXT): $(ifuncmain6pie_OBJECTS) $(ifuncmain6pie_DEPENDENCIES) @IFUNC_FALSE@ @rm -f ifuncmain6pie$(EXEEXT) @IFUNC_FALSE@ $(LINK) $(ifuncmain6pie_OBJECTS) $(ifuncmain6pie_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain6pie$(EXEEXT): $(ifuncmain6pie_OBJECTS) $(ifuncmain6pie_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain6pie$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain6pie_OBJECTS) $(ifuncmain6pie_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain6pie$(EXEEXT): $(ifuncmain6pie_OBJECTS) $(ifuncmain6pie_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain6pie$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain6pie_OBJECTS) $(ifuncmain6pie_LDADD) $(LIBS) ifuncmain7$(EXEEXT): $(ifuncmain7_OBJECTS) $(ifuncmain7_DEPENDENCIES) @rm -f ifuncmain7$(EXEEXT) $(ifuncmain7_LINK) $(ifuncmain7_OBJECTS) $(ifuncmain7_LDADD) $(LIBS) @@ -3141,9 +3195,9 @@ ifuncmain7$(EXEEXT): $(ifuncmain7_OBJECTS) $(ifuncmain7_DEPENDENCIES) @IFUNC_FALSE@ifuncmain7pic$(EXEEXT): $(ifuncmain7pic_OBJECTS) $(ifuncmain7pic_DEPENDENCIES) @IFUNC_FALSE@ @rm -f ifuncmain7pic$(EXEEXT) @IFUNC_FALSE@ $(LINK) $(ifuncmain7pic_OBJECTS) $(ifuncmain7pic_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain7pic$(EXEEXT): $(ifuncmain7pic_OBJECTS) $(ifuncmain7pic_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain7pic$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain7pic_OBJECTS) $(ifuncmain7pic_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain7pic$(EXEEXT): $(ifuncmain7pic_OBJECTS) $(ifuncmain7pic_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain7pic$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain7pic_OBJECTS) $(ifuncmain7pic_LDADD) $(LIBS) @GCC_FALSE@ifuncmain7picstatic$(EXEEXT): $(ifuncmain7picstatic_OBJECTS) $(ifuncmain7picstatic_DEPENDENCIES) @GCC_FALSE@ @rm -f ifuncmain7picstatic$(EXEEXT) @GCC_FALSE@ $(LINK) $(ifuncmain7picstatic_OBJECTS) $(ifuncmain7picstatic_LDADD) $(LIBS) @@ -3156,18 +3210,18 @@ ifuncmain7$(EXEEXT): $(ifuncmain7_OBJECTS) $(ifuncmain7_DEPENDENCIES) @IFUNC_STATIC_FALSE@ifuncmain7picstatic$(EXEEXT): $(ifuncmain7picstatic_OBJECTS) $(ifuncmain7picstatic_DEPENDENCIES) @IFUNC_STATIC_FALSE@ @rm -f ifuncmain7picstatic$(EXEEXT) @IFUNC_STATIC_FALSE@ $(LINK) $(ifuncmain7picstatic_OBJECTS) $(ifuncmain7picstatic_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain7picstatic$(EXEEXT): $(ifuncmain7picstatic_OBJECTS) $(ifuncmain7picstatic_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain7picstatic$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain7picstatic_OBJECTS) $(ifuncmain7picstatic_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain7picstatic$(EXEEXT): $(ifuncmain7picstatic_OBJECTS) $(ifuncmain7picstatic_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain7picstatic$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain7picstatic_OBJECTS) $(ifuncmain7picstatic_LDADD) $(LIBS) @GCC_FALSE@ifuncmain7pie$(EXEEXT): $(ifuncmain7pie_OBJECTS) $(ifuncmain7pie_DEPENDENCIES) @GCC_FALSE@ @rm -f ifuncmain7pie$(EXEEXT) @GCC_FALSE@ $(LINK) $(ifuncmain7pie_OBJECTS) $(ifuncmain7pie_LDADD) $(LIBS) @IFUNC_FALSE@ifuncmain7pie$(EXEEXT): $(ifuncmain7pie_OBJECTS) $(ifuncmain7pie_DEPENDENCIES) @IFUNC_FALSE@ @rm -f ifuncmain7pie$(EXEEXT) @IFUNC_FALSE@ $(LINK) $(ifuncmain7pie_OBJECTS) $(ifuncmain7pie_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@ifuncmain7pie$(EXEEXT): $(ifuncmain7pie_OBJECTS) $(ifuncmain7pie_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f ifuncmain7pie$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain7pie_OBJECTS) $(ifuncmain7pie_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@ifuncmain7pie$(EXEEXT): $(ifuncmain7pie_OBJECTS) $(ifuncmain7pie_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f ifuncmain7pie$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(ifuncmain7pie_OBJECTS) $(ifuncmain7pie_LDADD) $(LIBS) ifuncmain7static$(EXEEXT): $(ifuncmain7static_OBJECTS) $(ifuncmain7static_DEPENDENCIES) @rm -f ifuncmain7static$(EXEEXT) $(ifuncmain7static_LINK) $(ifuncmain7static_OBJECTS) $(ifuncmain7static_LDADD) $(LIBS) @@ -3180,72 +3234,72 @@ ifuncvar$(EXEEXT): $(ifuncvar_OBJECTS) $(ifuncvar_DEPENDENCIES) @GCC_FALSE@incremental_comdat_test_1$(EXEEXT): $(incremental_comdat_test_1_OBJECTS) $(incremental_comdat_test_1_DEPENDENCIES) @GCC_FALSE@ @rm -f incremental_comdat_test_1$(EXEEXT) @GCC_FALSE@ $(LINK) $(incremental_comdat_test_1_OBJECTS) $(incremental_comdat_test_1_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@incremental_comdat_test_1$(EXEEXT): $(incremental_comdat_test_1_OBJECTS) $(incremental_comdat_test_1_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f incremental_comdat_test_1$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(incremental_comdat_test_1_OBJECTS) $(incremental_comdat_test_1_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@incremental_comdat_test_1$(EXEEXT): $(incremental_comdat_test_1_OBJECTS) $(incremental_comdat_test_1_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f incremental_comdat_test_1$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(incremental_comdat_test_1_OBJECTS) $(incremental_comdat_test_1_LDADD) $(LIBS) @DEFAULT_TARGET_X86_64_FALSE@incremental_common_test_1$(EXEEXT): $(incremental_common_test_1_OBJECTS) $(incremental_common_test_1_DEPENDENCIES) @DEFAULT_TARGET_X86_64_FALSE@ @rm -f incremental_common_test_1$(EXEEXT) @DEFAULT_TARGET_X86_64_FALSE@ $(LINK) $(incremental_common_test_1_OBJECTS) $(incremental_common_test_1_LDADD) $(LIBS) @GCC_FALSE@incremental_common_test_1$(EXEEXT): $(incremental_common_test_1_OBJECTS) $(incremental_common_test_1_DEPENDENCIES) @GCC_FALSE@ @rm -f incremental_common_test_1$(EXEEXT) @GCC_FALSE@ $(LINK) $(incremental_common_test_1_OBJECTS) $(incremental_common_test_1_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@incremental_common_test_1$(EXEEXT): $(incremental_common_test_1_OBJECTS) $(incremental_common_test_1_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f incremental_common_test_1$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(incremental_common_test_1_OBJECTS) $(incremental_common_test_1_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@incremental_common_test_1$(EXEEXT): $(incremental_common_test_1_OBJECTS) $(incremental_common_test_1_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f incremental_common_test_1$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(incremental_common_test_1_OBJECTS) $(incremental_common_test_1_LDADD) $(LIBS) @DEFAULT_TARGET_X86_64_FALSE@incremental_copy_test$(EXEEXT): $(incremental_copy_test_OBJECTS) $(incremental_copy_test_DEPENDENCIES) @DEFAULT_TARGET_X86_64_FALSE@ @rm -f incremental_copy_test$(EXEEXT) @DEFAULT_TARGET_X86_64_FALSE@ $(LINK) $(incremental_copy_test_OBJECTS) $(incremental_copy_test_LDADD) $(LIBS) @GCC_FALSE@incremental_copy_test$(EXEEXT): $(incremental_copy_test_OBJECTS) $(incremental_copy_test_DEPENDENCIES) @GCC_FALSE@ @rm -f incremental_copy_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(incremental_copy_test_OBJECTS) $(incremental_copy_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@incremental_copy_test$(EXEEXT): $(incremental_copy_test_OBJECTS) $(incremental_copy_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f incremental_copy_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(incremental_copy_test_OBJECTS) $(incremental_copy_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@incremental_copy_test$(EXEEXT): $(incremental_copy_test_OBJECTS) $(incremental_copy_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f incremental_copy_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(incremental_copy_test_OBJECTS) $(incremental_copy_test_LDADD) $(LIBS) @DEFAULT_TARGET_X86_64_FALSE@incremental_test_2$(EXEEXT): $(incremental_test_2_OBJECTS) $(incremental_test_2_DEPENDENCIES) @DEFAULT_TARGET_X86_64_FALSE@ @rm -f incremental_test_2$(EXEEXT) @DEFAULT_TARGET_X86_64_FALSE@ $(LINK) $(incremental_test_2_OBJECTS) $(incremental_test_2_LDADD) $(LIBS) @GCC_FALSE@incremental_test_2$(EXEEXT): $(incremental_test_2_OBJECTS) $(incremental_test_2_DEPENDENCIES) @GCC_FALSE@ @rm -f incremental_test_2$(EXEEXT) @GCC_FALSE@ $(LINK) $(incremental_test_2_OBJECTS) $(incremental_test_2_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@incremental_test_2$(EXEEXT): $(incremental_test_2_OBJECTS) $(incremental_test_2_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f incremental_test_2$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(incremental_test_2_OBJECTS) $(incremental_test_2_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@incremental_test_2$(EXEEXT): $(incremental_test_2_OBJECTS) $(incremental_test_2_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f incremental_test_2$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(incremental_test_2_OBJECTS) $(incremental_test_2_LDADD) $(LIBS) @DEFAULT_TARGET_X86_64_FALSE@incremental_test_3$(EXEEXT): $(incremental_test_3_OBJECTS) $(incremental_test_3_DEPENDENCIES) @DEFAULT_TARGET_X86_64_FALSE@ @rm -f incremental_test_3$(EXEEXT) @DEFAULT_TARGET_X86_64_FALSE@ $(LINK) $(incremental_test_3_OBJECTS) $(incremental_test_3_LDADD) $(LIBS) @GCC_FALSE@incremental_test_3$(EXEEXT): $(incremental_test_3_OBJECTS) $(incremental_test_3_DEPENDENCIES) @GCC_FALSE@ @rm -f incremental_test_3$(EXEEXT) @GCC_FALSE@ $(LINK) $(incremental_test_3_OBJECTS) $(incremental_test_3_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@incremental_test_3$(EXEEXT): $(incremental_test_3_OBJECTS) $(incremental_test_3_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f incremental_test_3$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(incremental_test_3_OBJECTS) $(incremental_test_3_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@incremental_test_3$(EXEEXT): $(incremental_test_3_OBJECTS) $(incremental_test_3_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f incremental_test_3$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(incremental_test_3_OBJECTS) $(incremental_test_3_LDADD) $(LIBS) @DEFAULT_TARGET_X86_64_FALSE@incremental_test_4$(EXEEXT): $(incremental_test_4_OBJECTS) $(incremental_test_4_DEPENDENCIES) @DEFAULT_TARGET_X86_64_FALSE@ @rm -f incremental_test_4$(EXEEXT) @DEFAULT_TARGET_X86_64_FALSE@ $(LINK) $(incremental_test_4_OBJECTS) $(incremental_test_4_LDADD) $(LIBS) @GCC_FALSE@incremental_test_4$(EXEEXT): $(incremental_test_4_OBJECTS) $(incremental_test_4_DEPENDENCIES) @GCC_FALSE@ @rm -f incremental_test_4$(EXEEXT) @GCC_FALSE@ $(LINK) $(incremental_test_4_OBJECTS) $(incremental_test_4_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@incremental_test_4$(EXEEXT): $(incremental_test_4_OBJECTS) $(incremental_test_4_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f incremental_test_4$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(incremental_test_4_OBJECTS) $(incremental_test_4_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@incremental_test_4$(EXEEXT): $(incremental_test_4_OBJECTS) $(incremental_test_4_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f incremental_test_4$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(incremental_test_4_OBJECTS) $(incremental_test_4_LDADD) $(LIBS) @DEFAULT_TARGET_X86_64_FALSE@incremental_test_5$(EXEEXT): $(incremental_test_5_OBJECTS) $(incremental_test_5_DEPENDENCIES) @DEFAULT_TARGET_X86_64_FALSE@ @rm -f incremental_test_5$(EXEEXT) @DEFAULT_TARGET_X86_64_FALSE@ $(LINK) $(incremental_test_5_OBJECTS) $(incremental_test_5_LDADD) $(LIBS) @GCC_FALSE@incremental_test_5$(EXEEXT): $(incremental_test_5_OBJECTS) $(incremental_test_5_DEPENDENCIES) @GCC_FALSE@ @rm -f incremental_test_5$(EXEEXT) @GCC_FALSE@ $(LINK) $(incremental_test_5_OBJECTS) $(incremental_test_5_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@incremental_test_5$(EXEEXT): $(incremental_test_5_OBJECTS) $(incremental_test_5_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f incremental_test_5$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(incremental_test_5_OBJECTS) $(incremental_test_5_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@incremental_test_5$(EXEEXT): $(incremental_test_5_OBJECTS) $(incremental_test_5_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f incremental_test_5$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(incremental_test_5_OBJECTS) $(incremental_test_5_LDADD) $(LIBS) @DEFAULT_TARGET_X86_64_FALSE@incremental_test_6$(EXEEXT): $(incremental_test_6_OBJECTS) $(incremental_test_6_DEPENDENCIES) @DEFAULT_TARGET_X86_64_FALSE@ @rm -f incremental_test_6$(EXEEXT) @DEFAULT_TARGET_X86_64_FALSE@ $(LINK) $(incremental_test_6_OBJECTS) $(incremental_test_6_LDADD) $(LIBS) @GCC_FALSE@incremental_test_6$(EXEEXT): $(incremental_test_6_OBJECTS) $(incremental_test_6_DEPENDENCIES) @GCC_FALSE@ @rm -f incremental_test_6$(EXEEXT) @GCC_FALSE@ $(LINK) $(incremental_test_6_OBJECTS) $(incremental_test_6_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@incremental_test_6$(EXEEXT): $(incremental_test_6_OBJECTS) $(incremental_test_6_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f incremental_test_6$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(incremental_test_6_OBJECTS) $(incremental_test_6_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@incremental_test_6$(EXEEXT): $(incremental_test_6_OBJECTS) $(incremental_test_6_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f incremental_test_6$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(incremental_test_6_OBJECTS) $(incremental_test_6_LDADD) $(LIBS) initpri1$(EXEEXT): $(initpri1_OBJECTS) $(initpri1_DEPENDENCIES) @rm -f initpri1$(EXEEXT) $(initpri1_LINK) $(initpri1_OBJECTS) $(initpri1_LDADD) $(LIBS) @@ -3273,15 +3327,15 @@ leb128_unittest$(EXEEXT): $(leb128_unittest_OBJECTS) $(leb128_unittest_DEPENDENC @GCC_FALSE@local_labels_test$(EXEEXT): $(local_labels_test_OBJECTS) $(local_labels_test_DEPENDENCIES) @GCC_FALSE@ @rm -f local_labels_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(local_labels_test_OBJECTS) $(local_labels_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@local_labels_test$(EXEEXT): $(local_labels_test_OBJECTS) $(local_labels_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f local_labels_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(local_labels_test_OBJECTS) $(local_labels_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@local_labels_test$(EXEEXT): $(local_labels_test_OBJECTS) $(local_labels_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f local_labels_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(local_labels_test_OBJECTS) $(local_labels_test_LDADD) $(LIBS) @GCC_FALSE@many_sections_r_test$(EXEEXT): $(many_sections_r_test_OBJECTS) $(many_sections_r_test_DEPENDENCIES) @GCC_FALSE@ @rm -f many_sections_r_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(many_sections_r_test_OBJECTS) $(many_sections_r_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@many_sections_r_test$(EXEEXT): $(many_sections_r_test_OBJECTS) $(many_sections_r_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f many_sections_r_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(many_sections_r_test_OBJECTS) $(many_sections_r_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@many_sections_r_test$(EXEEXT): $(many_sections_r_test_OBJECTS) $(many_sections_r_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f many_sections_r_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(many_sections_r_test_OBJECTS) $(many_sections_r_test_LDADD) $(LIBS) many_sections_test$(EXEEXT): $(many_sections_test_OBJECTS) $(many_sections_test_DEPENDENCIES) @rm -f many_sections_test$(EXEEXT) $(many_sections_test_LINK) $(many_sections_test_OBJECTS) $(many_sections_test_LDADD) $(LIBS) @@ -3291,111 +3345,111 @@ object_unittest$(EXEEXT): $(object_unittest_OBJECTS) $(object_unittest_DEPENDENC @GCC_FALSE@permission_test$(EXEEXT): $(permission_test_OBJECTS) $(permission_test_DEPENDENCIES) @GCC_FALSE@ @rm -f permission_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(permission_test_OBJECTS) $(permission_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@permission_test$(EXEEXT): $(permission_test_OBJECTS) $(permission_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f permission_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(permission_test_OBJECTS) $(permission_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@permission_test$(EXEEXT): $(permission_test_OBJECTS) $(permission_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f permission_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(permission_test_OBJECTS) $(permission_test_LDADD) $(LIBS) pie_copyrelocs_test$(EXEEXT): $(pie_copyrelocs_test_OBJECTS) $(pie_copyrelocs_test_DEPENDENCIES) @rm -f pie_copyrelocs_test$(EXEEXT) $(pie_copyrelocs_test_LINK) $(pie_copyrelocs_test_OBJECTS) $(pie_copyrelocs_test_LDADD) $(LIBS) @GCC_FALSE@plugin_test_1$(EXEEXT): $(plugin_test_1_OBJECTS) $(plugin_test_1_DEPENDENCIES) @GCC_FALSE@ @rm -f plugin_test_1$(EXEEXT) @GCC_FALSE@ $(LINK) $(plugin_test_1_OBJECTS) $(plugin_test_1_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@plugin_test_1$(EXEEXT): $(plugin_test_1_OBJECTS) $(plugin_test_1_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f plugin_test_1$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_1_OBJECTS) $(plugin_test_1_LDADD) $(LIBS) @PLUGINS_FALSE@plugin_test_1$(EXEEXT): $(plugin_test_1_OBJECTS) $(plugin_test_1_DEPENDENCIES) @PLUGINS_FALSE@ @rm -f plugin_test_1$(EXEEXT) @PLUGINS_FALSE@ $(LINK) $(plugin_test_1_OBJECTS) $(plugin_test_1_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@plugin_test_1$(EXEEXT): $(plugin_test_1_OBJECTS) $(plugin_test_1_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f plugin_test_1$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_1_OBJECTS) $(plugin_test_1_LDADD) $(LIBS) @GCC_FALSE@plugin_test_10$(EXEEXT): $(plugin_test_10_OBJECTS) $(plugin_test_10_DEPENDENCIES) @GCC_FALSE@ @rm -f plugin_test_10$(EXEEXT) @GCC_FALSE@ $(LINK) $(plugin_test_10_OBJECTS) $(plugin_test_10_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@plugin_test_10$(EXEEXT): $(plugin_test_10_OBJECTS) $(plugin_test_10_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f plugin_test_10$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_10_OBJECTS) $(plugin_test_10_LDADD) $(LIBS) @PLUGINS_FALSE@plugin_test_10$(EXEEXT): $(plugin_test_10_OBJECTS) $(plugin_test_10_DEPENDENCIES) @PLUGINS_FALSE@ @rm -f plugin_test_10$(EXEEXT) @PLUGINS_FALSE@ $(LINK) $(plugin_test_10_OBJECTS) $(plugin_test_10_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@plugin_test_10$(EXEEXT): $(plugin_test_10_OBJECTS) $(plugin_test_10_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f plugin_test_10$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_10_OBJECTS) $(plugin_test_10_LDADD) $(LIBS) @GCC_FALSE@plugin_test_11$(EXEEXT): $(plugin_test_11_OBJECTS) $(plugin_test_11_DEPENDENCIES) @GCC_FALSE@ @rm -f plugin_test_11$(EXEEXT) @GCC_FALSE@ $(LINK) $(plugin_test_11_OBJECTS) $(plugin_test_11_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@plugin_test_11$(EXEEXT): $(plugin_test_11_OBJECTS) $(plugin_test_11_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f plugin_test_11$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_11_OBJECTS) $(plugin_test_11_LDADD) $(LIBS) @PLUGINS_FALSE@plugin_test_11$(EXEEXT): $(plugin_test_11_OBJECTS) $(plugin_test_11_DEPENDENCIES) @PLUGINS_FALSE@ @rm -f plugin_test_11$(EXEEXT) @PLUGINS_FALSE@ $(LINK) $(plugin_test_11_OBJECTS) $(plugin_test_11_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@plugin_test_11$(EXEEXT): $(plugin_test_11_OBJECTS) $(plugin_test_11_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f plugin_test_11$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_11_OBJECTS) $(plugin_test_11_LDADD) $(LIBS) @GCC_FALSE@plugin_test_2$(EXEEXT): $(plugin_test_2_OBJECTS) $(plugin_test_2_DEPENDENCIES) @GCC_FALSE@ @rm -f plugin_test_2$(EXEEXT) @GCC_FALSE@ $(LINK) $(plugin_test_2_OBJECTS) $(plugin_test_2_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@plugin_test_2$(EXEEXT): $(plugin_test_2_OBJECTS) $(plugin_test_2_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f plugin_test_2$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_2_OBJECTS) $(plugin_test_2_LDADD) $(LIBS) @PLUGINS_FALSE@plugin_test_2$(EXEEXT): $(plugin_test_2_OBJECTS) $(plugin_test_2_DEPENDENCIES) @PLUGINS_FALSE@ @rm -f plugin_test_2$(EXEEXT) @PLUGINS_FALSE@ $(LINK) $(plugin_test_2_OBJECTS) $(plugin_test_2_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@plugin_test_2$(EXEEXT): $(plugin_test_2_OBJECTS) $(plugin_test_2_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f plugin_test_2$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_2_OBJECTS) $(plugin_test_2_LDADD) $(LIBS) @GCC_FALSE@plugin_test_3$(EXEEXT): $(plugin_test_3_OBJECTS) $(plugin_test_3_DEPENDENCIES) @GCC_FALSE@ @rm -f plugin_test_3$(EXEEXT) @GCC_FALSE@ $(LINK) $(plugin_test_3_OBJECTS) $(plugin_test_3_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@plugin_test_3$(EXEEXT): $(plugin_test_3_OBJECTS) $(plugin_test_3_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f plugin_test_3$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_3_OBJECTS) $(plugin_test_3_LDADD) $(LIBS) @PLUGINS_FALSE@plugin_test_3$(EXEEXT): $(plugin_test_3_OBJECTS) $(plugin_test_3_DEPENDENCIES) @PLUGINS_FALSE@ @rm -f plugin_test_3$(EXEEXT) @PLUGINS_FALSE@ $(LINK) $(plugin_test_3_OBJECTS) $(plugin_test_3_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@plugin_test_3$(EXEEXT): $(plugin_test_3_OBJECTS) $(plugin_test_3_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f plugin_test_3$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_3_OBJECTS) $(plugin_test_3_LDADD) $(LIBS) @GCC_FALSE@plugin_test_4$(EXEEXT): $(plugin_test_4_OBJECTS) $(plugin_test_4_DEPENDENCIES) @GCC_FALSE@ @rm -f plugin_test_4$(EXEEXT) @GCC_FALSE@ $(LINK) $(plugin_test_4_OBJECTS) $(plugin_test_4_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@plugin_test_4$(EXEEXT): $(plugin_test_4_OBJECTS) $(plugin_test_4_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f plugin_test_4$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_4_OBJECTS) $(plugin_test_4_LDADD) $(LIBS) @PLUGINS_FALSE@plugin_test_4$(EXEEXT): $(plugin_test_4_OBJECTS) $(plugin_test_4_DEPENDENCIES) @PLUGINS_FALSE@ @rm -f plugin_test_4$(EXEEXT) @PLUGINS_FALSE@ $(LINK) $(plugin_test_4_OBJECTS) $(plugin_test_4_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@plugin_test_4$(EXEEXT): $(plugin_test_4_OBJECTS) $(plugin_test_4_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f plugin_test_4$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_4_OBJECTS) $(plugin_test_4_LDADD) $(LIBS) @GCC_FALSE@plugin_test_5$(EXEEXT): $(plugin_test_5_OBJECTS) $(plugin_test_5_DEPENDENCIES) @GCC_FALSE@ @rm -f plugin_test_5$(EXEEXT) @GCC_FALSE@ $(LINK) $(plugin_test_5_OBJECTS) $(plugin_test_5_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@plugin_test_5$(EXEEXT): $(plugin_test_5_OBJECTS) $(plugin_test_5_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f plugin_test_5$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_5_OBJECTS) $(plugin_test_5_LDADD) $(LIBS) @PLUGINS_FALSE@plugin_test_5$(EXEEXT): $(plugin_test_5_OBJECTS) $(plugin_test_5_DEPENDENCIES) @PLUGINS_FALSE@ @rm -f plugin_test_5$(EXEEXT) @PLUGINS_FALSE@ $(LINK) $(plugin_test_5_OBJECTS) $(plugin_test_5_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@plugin_test_5$(EXEEXT): $(plugin_test_5_OBJECTS) $(plugin_test_5_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f plugin_test_5$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_5_OBJECTS) $(plugin_test_5_LDADD) $(LIBS) @GCC_FALSE@plugin_test_6$(EXEEXT): $(plugin_test_6_OBJECTS) $(plugin_test_6_DEPENDENCIES) @GCC_FALSE@ @rm -f plugin_test_6$(EXEEXT) @GCC_FALSE@ $(LINK) $(plugin_test_6_OBJECTS) $(plugin_test_6_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@plugin_test_6$(EXEEXT): $(plugin_test_6_OBJECTS) $(plugin_test_6_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f plugin_test_6$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_6_OBJECTS) $(plugin_test_6_LDADD) $(LIBS) @PLUGINS_FALSE@plugin_test_6$(EXEEXT): $(plugin_test_6_OBJECTS) $(plugin_test_6_DEPENDENCIES) @PLUGINS_FALSE@ @rm -f plugin_test_6$(EXEEXT) @PLUGINS_FALSE@ $(LINK) $(plugin_test_6_OBJECTS) $(plugin_test_6_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@plugin_test_6$(EXEEXT): $(plugin_test_6_OBJECTS) $(plugin_test_6_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f plugin_test_6$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_6_OBJECTS) $(plugin_test_6_LDADD) $(LIBS) @GCC_FALSE@plugin_test_7$(EXEEXT): $(plugin_test_7_OBJECTS) $(plugin_test_7_DEPENDENCIES) @GCC_FALSE@ @rm -f plugin_test_7$(EXEEXT) @GCC_FALSE@ $(LINK) $(plugin_test_7_OBJECTS) $(plugin_test_7_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@plugin_test_7$(EXEEXT): $(plugin_test_7_OBJECTS) $(plugin_test_7_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f plugin_test_7$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_7_OBJECTS) $(plugin_test_7_LDADD) $(LIBS) @PLUGINS_FALSE@plugin_test_7$(EXEEXT): $(plugin_test_7_OBJECTS) $(plugin_test_7_DEPENDENCIES) @PLUGINS_FALSE@ @rm -f plugin_test_7$(EXEEXT) @PLUGINS_FALSE@ $(LINK) $(plugin_test_7_OBJECTS) $(plugin_test_7_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@plugin_test_7$(EXEEXT): $(plugin_test_7_OBJECTS) $(plugin_test_7_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f plugin_test_7$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_7_OBJECTS) $(plugin_test_7_LDADD) $(LIBS) @GCC_FALSE@plugin_test_8$(EXEEXT): $(plugin_test_8_OBJECTS) $(plugin_test_8_DEPENDENCIES) @GCC_FALSE@ @rm -f plugin_test_8$(EXEEXT) @GCC_FALSE@ $(LINK) $(plugin_test_8_OBJECTS) $(plugin_test_8_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@plugin_test_8$(EXEEXT): $(plugin_test_8_OBJECTS) $(plugin_test_8_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f plugin_test_8$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_8_OBJECTS) $(plugin_test_8_LDADD) $(LIBS) @PLUGINS_FALSE@plugin_test_8$(EXEEXT): $(plugin_test_8_OBJECTS) $(plugin_test_8_DEPENDENCIES) @PLUGINS_FALSE@ @rm -f plugin_test_8$(EXEEXT) @PLUGINS_FALSE@ $(LINK) $(plugin_test_8_OBJECTS) $(plugin_test_8_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@plugin_test_8$(EXEEXT): $(plugin_test_8_OBJECTS) $(plugin_test_8_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f plugin_test_8$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_8_OBJECTS) $(plugin_test_8_LDADD) $(LIBS) @GCC_FALSE@plugin_test_tls$(EXEEXT): $(plugin_test_tls_OBJECTS) $(plugin_test_tls_DEPENDENCIES) @GCC_FALSE@ @rm -f plugin_test_tls$(EXEEXT) @GCC_FALSE@ $(LINK) $(plugin_test_tls_OBJECTS) $(plugin_test_tls_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@plugin_test_tls$(EXEEXT): $(plugin_test_tls_OBJECTS) $(plugin_test_tls_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f plugin_test_tls$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_tls_OBJECTS) $(plugin_test_tls_LDADD) $(LIBS) @PLUGINS_FALSE@plugin_test_tls$(EXEEXT): $(plugin_test_tls_OBJECTS) $(plugin_test_tls_DEPENDENCIES) @PLUGINS_FALSE@ @rm -f plugin_test_tls$(EXEEXT) @PLUGINS_FALSE@ $(LINK) $(plugin_test_tls_OBJECTS) $(plugin_test_tls_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@plugin_test_tls$(EXEEXT): $(plugin_test_tls_OBJECTS) $(plugin_test_tls_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f plugin_test_tls$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(plugin_test_tls_OBJECTS) $(plugin_test_tls_LDADD) $(LIBS) @TLS_FALSE@plugin_test_tls$(EXEEXT): $(plugin_test_tls_OBJECTS) $(plugin_test_tls_DEPENDENCIES) @TLS_FALSE@ @rm -f plugin_test_tls$(EXEEXT) @TLS_FALSE@ $(LINK) $(plugin_test_tls_OBJECTS) $(plugin_test_tls_LDADD) $(LIBS) @@ -3423,27 +3477,27 @@ script_test_1$(EXEEXT): $(script_test_1_OBJECTS) $(script_test_1_DEPENDENCIES) @GCC_FALSE@script_test_11$(EXEEXT): $(script_test_11_OBJECTS) $(script_test_11_DEPENDENCIES) @GCC_FALSE@ @rm -f script_test_11$(EXEEXT) @GCC_FALSE@ $(LINK) $(script_test_11_OBJECTS) $(script_test_11_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@script_test_11$(EXEEXT): $(script_test_11_OBJECTS) $(script_test_11_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f script_test_11$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(script_test_11_OBJECTS) $(script_test_11_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@script_test_11$(EXEEXT): $(script_test_11_OBJECTS) $(script_test_11_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f script_test_11$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(script_test_11_OBJECTS) $(script_test_11_LDADD) $(LIBS) script_test_2$(EXEEXT): $(script_test_2_OBJECTS) $(script_test_2_DEPENDENCIES) @rm -f script_test_2$(EXEEXT) $(script_test_2_LINK) $(script_test_2_OBJECTS) $(script_test_2_LDADD) $(LIBS) @GCC_FALSE@script_test_3$(EXEEXT): $(script_test_3_OBJECTS) $(script_test_3_DEPENDENCIES) @GCC_FALSE@ @rm -f script_test_3$(EXEEXT) @GCC_FALSE@ $(LINK) $(script_test_3_OBJECTS) $(script_test_3_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@script_test_3$(EXEEXT): $(script_test_3_OBJECTS) $(script_test_3_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f script_test_3$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(script_test_3_OBJECTS) $(script_test_3_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@script_test_3$(EXEEXT): $(script_test_3_OBJECTS) $(script_test_3_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f script_test_3$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(script_test_3_OBJECTS) $(script_test_3_LDADD) $(LIBS) searched_file_test$(EXEEXT): $(searched_file_test_OBJECTS) $(searched_file_test_DEPENDENCIES) @rm -f searched_file_test$(EXEEXT) $(searched_file_test_LINK) $(searched_file_test_OBJECTS) $(searched_file_test_LDADD) $(LIBS) @GCC_FALSE@start_lib_test$(EXEEXT): $(start_lib_test_OBJECTS) $(start_lib_test_DEPENDENCIES) @GCC_FALSE@ @rm -f start_lib_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(start_lib_test_OBJECTS) $(start_lib_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@start_lib_test$(EXEEXT): $(start_lib_test_OBJECTS) $(start_lib_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f start_lib_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(start_lib_test_OBJECTS) $(start_lib_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@start_lib_test$(EXEEXT): $(start_lib_test_OBJECTS) $(start_lib_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f start_lib_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(start_lib_test_OBJECTS) $(start_lib_test_LDADD) $(LIBS) thin_archive_test_1$(EXEEXT): $(thin_archive_test_1_OBJECTS) $(thin_archive_test_1_DEPENDENCIES) @rm -f thin_archive_test_1$(EXEEXT) $(thin_archive_test_1_LINK) $(thin_archive_test_1_OBJECTS) $(thin_archive_test_1_LDADD) $(LIBS) @@ -3459,18 +3513,18 @@ tls_pic_test$(EXEEXT): $(tls_pic_test_OBJECTS) $(tls_pic_test_DEPENDENCIES) @GCC_FALSE@tls_pie_pic_test$(EXEEXT): $(tls_pie_pic_test_OBJECTS) $(tls_pie_pic_test_DEPENDENCIES) @GCC_FALSE@ @rm -f tls_pie_pic_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(tls_pie_pic_test_OBJECTS) $(tls_pie_pic_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@tls_pie_pic_test$(EXEEXT): $(tls_pie_pic_test_OBJECTS) $(tls_pie_pic_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f tls_pie_pic_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(tls_pie_pic_test_OBJECTS) $(tls_pie_pic_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@tls_pie_pic_test$(EXEEXT): $(tls_pie_pic_test_OBJECTS) $(tls_pie_pic_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f tls_pie_pic_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(tls_pie_pic_test_OBJECTS) $(tls_pie_pic_test_LDADD) $(LIBS) @TLS_FALSE@tls_pie_pic_test$(EXEEXT): $(tls_pie_pic_test_OBJECTS) $(tls_pie_pic_test_DEPENDENCIES) @TLS_FALSE@ @rm -f tls_pie_pic_test$(EXEEXT) @TLS_FALSE@ $(LINK) $(tls_pie_pic_test_OBJECTS) $(tls_pie_pic_test_LDADD) $(LIBS) @GCC_FALSE@tls_pie_test$(EXEEXT): $(tls_pie_test_OBJECTS) $(tls_pie_test_DEPENDENCIES) @GCC_FALSE@ @rm -f tls_pie_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(tls_pie_test_OBJECTS) $(tls_pie_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@tls_pie_test$(EXEEXT): $(tls_pie_test_OBJECTS) $(tls_pie_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f tls_pie_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(tls_pie_test_OBJECTS) $(tls_pie_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@tls_pie_test$(EXEEXT): $(tls_pie_test_OBJECTS) $(tls_pie_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f tls_pie_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(tls_pie_test_OBJECTS) $(tls_pie_test_LDADD) $(LIBS) @TLS_FALSE@tls_pie_test$(EXEEXT): $(tls_pie_test_OBJECTS) $(tls_pie_test_DEPENDENCIES) @TLS_FALSE@ @rm -f tls_pie_test$(EXEEXT) @TLS_FALSE@ $(LINK) $(tls_pie_test_OBJECTS) $(tls_pie_test_LDADD) $(LIBS) @@ -3513,9 +3567,9 @@ two_file_mixed_2_shared_test$(EXEEXT): $(two_file_mixed_2_shared_test_OBJECTS) $ @GCC_FALSE@two_file_mixed_pie_test$(EXEEXT): $(two_file_mixed_pie_test_OBJECTS) $(two_file_mixed_pie_test_DEPENDENCIES) @GCC_FALSE@ @rm -f two_file_mixed_pie_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(two_file_mixed_pie_test_OBJECTS) $(two_file_mixed_pie_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@two_file_mixed_pie_test$(EXEEXT): $(two_file_mixed_pie_test_OBJECTS) $(two_file_mixed_pie_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f two_file_mixed_pie_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(two_file_mixed_pie_test_OBJECTS) $(two_file_mixed_pie_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@two_file_mixed_pie_test$(EXEEXT): $(two_file_mixed_pie_test_OBJECTS) $(two_file_mixed_pie_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f two_file_mixed_pie_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(two_file_mixed_pie_test_OBJECTS) $(two_file_mixed_pie_test_LDADD) $(LIBS) two_file_mixed_shared_test$(EXEEXT): $(two_file_mixed_shared_test_OBJECTS) $(two_file_mixed_shared_test_DEPENDENCIES) @rm -f two_file_mixed_shared_test$(EXEEXT) $(two_file_mixed_shared_test_LINK) $(two_file_mixed_shared_test_OBJECTS) $(two_file_mixed_shared_test_LDADD) $(LIBS) @@ -3525,9 +3579,9 @@ two_file_pic_test$(EXEEXT): $(two_file_pic_test_OBJECTS) $(two_file_pic_test_DEP @GCC_FALSE@two_file_pie_test$(EXEEXT): $(two_file_pie_test_OBJECTS) $(two_file_pie_test_DEPENDENCIES) @GCC_FALSE@ @rm -f two_file_pie_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(two_file_pie_test_OBJECTS) $(two_file_pie_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@two_file_pie_test$(EXEEXT): $(two_file_pie_test_OBJECTS) $(two_file_pie_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f two_file_pie_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(two_file_pie_test_OBJECTS) $(two_file_pie_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@two_file_pie_test$(EXEEXT): $(two_file_pie_test_OBJECTS) $(two_file_pie_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f two_file_pie_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(two_file_pie_test_OBJECTS) $(two_file_pie_test_LDADD) $(LIBS) two_file_relocatable_test$(EXEEXT): $(two_file_relocatable_test_OBJECTS) $(two_file_relocatable_test_DEPENDENCIES) @rm -f two_file_relocatable_test$(EXEEXT) $(two_file_relocatable_test_LINK) $(two_file_relocatable_test_OBJECTS) $(two_file_relocatable_test_LDADD) $(LIBS) @@ -3576,9 +3630,9 @@ two_file_static_test$(EXEEXT): $(two_file_static_test_OBJECTS) $(two_file_static @GCC_FALSE@two_file_strip_test$(EXEEXT): $(two_file_strip_test_OBJECTS) $(two_file_strip_test_DEPENDENCIES) @GCC_FALSE@ @rm -f two_file_strip_test$(EXEEXT) @GCC_FALSE@ $(LINK) $(two_file_strip_test_OBJECTS) $(two_file_strip_test_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@two_file_strip_test$(EXEEXT): $(two_file_strip_test_OBJECTS) $(two_file_strip_test_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f two_file_strip_test$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(two_file_strip_test_OBJECTS) $(two_file_strip_test_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@two_file_strip_test$(EXEEXT): $(two_file_strip_test_OBJECTS) $(two_file_strip_test_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f two_file_strip_test$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(two_file_strip_test_OBJECTS) $(two_file_strip_test_LDADD) $(LIBS) two_file_test$(EXEEXT): $(two_file_test_OBJECTS) $(two_file_test_DEPENDENCIES) @rm -f two_file_test$(EXEEXT) $(two_file_test_LINK) $(two_file_test_OBJECTS) $(two_file_test_LDADD) $(LIBS) @@ -3609,9 +3663,9 @@ weak_alias_test$(EXEEXT): $(weak_alias_test_OBJECTS) $(weak_alias_test_DEPENDENC @GCC_FALSE@weak_plt$(EXEEXT): $(weak_plt_OBJECTS) $(weak_plt_DEPENDENCIES) @GCC_FALSE@ @rm -f weak_plt$(EXEEXT) @GCC_FALSE@ $(LINK) $(weak_plt_OBJECTS) $(weak_plt_LDADD) $(LIBS) -@NATIVE_LINKER_FALSE@weak_plt$(EXEEXT): $(weak_plt_OBJECTS) $(weak_plt_DEPENDENCIES) -@NATIVE_LINKER_FALSE@ @rm -f weak_plt$(EXEEXT) -@NATIVE_LINKER_FALSE@ $(LINK) $(weak_plt_OBJECTS) $(weak_plt_LDADD) $(LIBS) +@TEST_AS_NATIVE_LINKER_FALSE@weak_plt$(EXEEXT): $(weak_plt_OBJECTS) $(weak_plt_DEPENDENCIES) +@TEST_AS_NATIVE_LINKER_FALSE@ @rm -f weak_plt$(EXEEXT) +@TEST_AS_NATIVE_LINKER_FALSE@ $(LINK) $(weak_plt_OBJECTS) $(weak_plt_LDADD) $(LIBS) weak_test$(EXEEXT): $(weak_test_OBJECTS) $(weak_test_DEPENDENCIES) @rm -f weak_test$(EXEEXT) $(weak_test_LINK) $(weak_test_OBJECTS) $(weak_test_LDADD) $(LIBS) @@ -3624,6 +3678,9 @@ weak_undef_test$(EXEEXT): $(weak_undef_test_OBJECTS) $(weak_undef_test_DEPENDENC weak_undef_test_2$(EXEEXT): $(weak_undef_test_2_OBJECTS) $(weak_undef_test_2_DEPENDENCIES) @rm -f weak_undef_test_2$(EXEEXT) $(weak_undef_test_2_LINK) $(weak_undef_test_2_OBJECTS) $(weak_undef_test_2_LDADD) $(LIBS) +weak_unresolved_symbols_test$(EXEEXT): $(weak_unresolved_symbols_test_OBJECTS) $(weak_unresolved_symbols_test_DEPENDENCIES) + @rm -f weak_unresolved_symbols_test$(EXEEXT) + $(weak_unresolved_symbols_test_LINK) $(weak_unresolved_symbols_test_OBJECTS) $(weak_unresolved_symbols_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -3641,6 +3698,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common_test_1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/constructor_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copy_test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/disable_pie_unsafe_size_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/discard_locals_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynamic_list_2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ehdr_start_test_1-ehdr_start_test.Po@am__quote@ @@ -3754,6 +3812,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/weak_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/weak_undef_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/weak_undef_test_2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/weak_unresolved_symbols_test-weak_unresolved_symbols_test.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -3881,6 +3940,20 @@ pie_copyrelocs_test-pie_copyrelocs_test.obj: pie_copyrelocs_test.cc @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pie_copyrelocs_test_CXXFLAGS) $(CXXFLAGS) -c -o pie_copyrelocs_test-pie_copyrelocs_test.obj `if test -f 'pie_copyrelocs_test.cc'; then $(CYGPATH_W) 'pie_copyrelocs_test.cc'; else $(CYGPATH_W) '$(srcdir)/pie_copyrelocs_test.cc'; fi` +weak_unresolved_symbols_test-weak_unresolved_symbols_test.o: weak_unresolved_symbols_test.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(weak_unresolved_symbols_test_CXXFLAGS) $(CXXFLAGS) -MT weak_unresolved_symbols_test-weak_unresolved_symbols_test.o -MD -MP -MF $(DEPDIR)/weak_unresolved_symbols_test-weak_unresolved_symbols_test.Tpo -c -o weak_unresolved_symbols_test-weak_unresolved_symbols_test.o `test -f 'weak_unresolved_symbols_test.cc' || echo '$(srcdir)/'`weak_unresolved_symbols_test.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/weak_unresolved_symbols_test-weak_unresolved_symbols_test.Tpo $(DEPDIR)/weak_unresolved_symbols_test-weak_unresolved_symbols_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='weak_unresolved_symbols_test.cc' object='weak_unresolved_symbols_test-weak_unresolved_symbols_test.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(weak_unresolved_symbols_test_CXXFLAGS) $(CXXFLAGS) -c -o weak_unresolved_symbols_test-weak_unresolved_symbols_test.o `test -f 'weak_unresolved_symbols_test.cc' || echo '$(srcdir)/'`weak_unresolved_symbols_test.cc + +weak_unresolved_symbols_test-weak_unresolved_symbols_test.obj: weak_unresolved_symbols_test.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(weak_unresolved_symbols_test_CXXFLAGS) $(CXXFLAGS) -MT weak_unresolved_symbols_test-weak_unresolved_symbols_test.obj -MD -MP -MF $(DEPDIR)/weak_unresolved_symbols_test-weak_unresolved_symbols_test.Tpo -c -o weak_unresolved_symbols_test-weak_unresolved_symbols_test.obj `if test -f 'weak_unresolved_symbols_test.cc'; then $(CYGPATH_W) 'weak_unresolved_symbols_test.cc'; else $(CYGPATH_W) '$(srcdir)/weak_unresolved_symbols_test.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/weak_unresolved_symbols_test-weak_unresolved_symbols_test.Tpo $(DEPDIR)/weak_unresolved_symbols_test-weak_unresolved_symbols_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='weak_unresolved_symbols_test.cc' object='weak_unresolved_symbols_test-weak_unresolved_symbols_test.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(weak_unresolved_symbols_test_CXXFLAGS) $(CXXFLAGS) -c -o weak_unresolved_symbols_test-weak_unresolved_symbols_test.obj `if test -f 'weak_unresolved_symbols_test.cc'; then $(CYGPATH_W) 'weak_unresolved_symbols_test.cc'; else $(CYGPATH_W) '$(srcdir)/weak_unresolved_symbols_test.cc'; fi` + ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ @@ -4119,10 +4192,16 @@ icf_sht_rel_addend_test.sh.log: icf_sht_rel_addend_test.sh @p='icf_sht_rel_addend_test.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) merge_string_literals.sh.log: merge_string_literals.sh @p='merge_string_literals.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +disable_pie_unsafe_size_test.sh.log: disable_pie_unsafe_size_test.sh + @p='disable_pie_unsafe_size_test.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) two_file_shared.sh.log: two_file_shared.sh @p='two_file_shared.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) weak_plt.sh.log: weak_plt.sh @p='weak_plt.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +tls_pie_test.sh.log: tls_pie_test.sh + @p='tls_pie_test.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +i386_mov_to_lea.sh.log: i386_mov_to_lea.sh + @p='i386_mov_to_lea.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) debug_msg.sh.log: debug_msg.sh @p='debug_msg.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) missing_key_func.sh.log: missing_key_func.sh @@ -4299,6 +4378,10 @@ two_file_pie_test.log: two_file_pie_test$(EXEEXT) @p='two_file_pie_test$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) pie_copyrelocs_test.log: pie_copyrelocs_test$(EXEEXT) @p='pie_copyrelocs_test$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +disable_pie_unsafe_size_test.log: disable_pie_unsafe_size_test$(EXEEXT) + @p='disable_pie_unsafe_size_test$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +weak_unresolved_symbols_test.log: weak_unresolved_symbols_test$(EXEEXT) + @p='weak_unresolved_symbols_test$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) two_file_shared_1_nonpic_test.log: two_file_shared_1_nonpic_test$(EXEEXT) @p='two_file_shared_1_nonpic_test$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) two_file_shared_2_nonpic_test.log: two_file_shared_2_nonpic_test$(EXEEXT) @@ -4730,1055 +4813,1110 @@ uninstall-am: # particularly useful for making sure ld-new's flags do what they're # supposed to (hence their names), but are used for many tests that # don't actually involve analyzing input data. -@GCC_TRUE@@NATIVE_LINKER_TRUE@flagstest_debug.o: constructor_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@flagstest_ndebug.o: constructor_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@incremental_test_1.o: incremental_test_1.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -c -ffunction-sections -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@incremental_test_2.o: incremental_test_2.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -c -ffunction-sections -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@incremental_test: incremental_test_1.o incremental_test_2.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,--incremental-full incremental_test_1.o incremental_test_2.o -Wl,-debug 2> incremental_test.cmdline -@GCC_TRUE@@NATIVE_LINKER_TRUE@incremental_test.stdout: incremental_test ../incremental-dump -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ../incremental-dump incremental_test > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_comdat_test_1.o: gc_comdat_test_1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_comdat_test_2.o: gc_comdat_test_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_comdat_test: gc_comdat_test_1.o gc_comdat_test_2.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--gc-sections gc_comdat_test_1.o gc_comdat_test_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_comdat_test.stdout: gc_comdat_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -C gc_comdat_test > gc_comdat_test.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_tls_test.o: gc_tls_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_tls_test:gc_tls_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--gc-sections gc_tls_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_tls_test.stdout: gc_tls_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -C gc_tls_test > gc_tls_test.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_orphan_section_test.o: gc_orphan_section_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_orphan_section_test:gc_orphan_section_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--gc-sections gc_orphan_section_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_orphan_section_test.stdout: gc_orphan_section_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) gc_orphan_section_test > gc_orphan_section_test.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@pr14265.o: pr14265.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@pr14265: pr14265.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,--gc-sections -Wl,-T,$(srcdir)/pr14265.t -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@pr14265.stdout: pr14265 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) --format=bsd --numeric-sort $< > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_dynamic_list_test.o: gc_dynamic_list_test.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -ffunction-sections -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_dynamic_list_test: gc_dynamic_list_test.o gcctestdir/ld $(srcdir)/gc_dynamic_list_test.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,--gc-sections -Wl,--dynamic-list,$(srcdir)/gc_dynamic_list_test.t gc_dynamic_list_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@gc_dynamic_list_test.stdout: gc_dynamic_list_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) gc_dynamic_list_test > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_test.o: icf_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_test: icf_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -o icf_test -Bgcctestdir/ -Wl,--icf=all,-Map,icf_test.map icf_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_test.map: icf_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @touch icf_test.map -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_keep_unique_test.o: icf_keep_unique_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_keep_unique_test: icf_keep_unique_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--icf=all -Wl,--keep-unique,_Z11unique_funcv icf_keep_unique_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_keep_unique_test.stdout: icf_keep_unique_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -C $< > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_safe_test.o: icf_safe_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_safe_test: icf_safe_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -o icf_safe_test -Bgcctestdir/ -Wl,--icf=safe,-Map,icf_safe_test.map icf_safe_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_safe_test.map: icf_safe_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @touch icf_safe_test.map -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_safe_test_1.stdout: icf_safe_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) $< > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_safe_test_2.stdout: icf_safe_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -h $< > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_safe_so_test.o: icf_safe_so_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_safe_so_test: icf_safe_so_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -o icf_safe_so_test -Bgcctestdir/ -Wl,--icf=safe,-Map,icf_safe_so_test.map icf_safe_so_test.o -fPIC -shared -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_safe_so_test.map: -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @touch icf_safe_so_test.map -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_safe_so_test_1.stdout: icf_safe_so_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) $< > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_safe_so_test_2.stdout: icf_safe_so_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -h $< > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@final_layout.o: final_layout.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fdata-sections -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@final_layout_sequence.txt: -@GCC_TRUE@@NATIVE_LINKER_TRUE@ (echo "*_Z3barv*" && echo ".text._Z3bazv" && echo "*_Z3foov*" && echo "*global_varb*" && echo "*global_vara*" && echo "*global_varc*") > final_layout_sequence.txt -@GCC_TRUE@@NATIVE_LINKER_TRUE@final_layout_script.lds: -@GCC_TRUE@@NATIVE_LINKER_TRUE@ (echo "SECTIONS { .text : { *(.text*) } .got : { *(.got .toc) } .sbss : { *(.sbss*) } .bss : { *(.bss*) } }") > final_layout_script.lds -@GCC_TRUE@@NATIVE_LINKER_TRUE@final_layout: final_layout.o final_layout_sequence.txt final_layout_script.lds gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--section-ordering-file,final_layout_sequence.txt -Wl,-T,final_layout_script.lds final_layout.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@final_layout.stdout: final_layout -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -n --synthetic final_layout > final_layout.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@text_section_grouping.o: text_section_grouping.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@text_section_grouping: text_section_grouping.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ text_section_grouping.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@text_section_no_grouping: text_section_grouping.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-text-reorder text_section_grouping.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@text_section_grouping.stdout: text_section_grouping -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -n --synthetic text_section_grouping > text_section_grouping.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@text_section_no_grouping.stdout: text_section_no_grouping -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -n --synthetic text_section_no_grouping > text_section_no_grouping.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@section_sorting_name.o: section_sorting_name.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@section_sorting_name: section_sorting_name.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--sort-section=name section_sorting_name.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@section_sorting_name.stdout: section_sorting_name -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -n --synthetic section_sorting_name > section_sorting_name.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_virtual_function_folding_test.o: icf_virtual_function_folding_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fPIE -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_virtual_function_folding_test: icf_virtual_function_folding_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--icf=all icf_virtual_function_folding_test.o -pie -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_preemptible_functions_test.o: icf_preemptible_functions_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_preemptible_functions_test: icf_preemptible_functions_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--icf=all icf_preemptible_functions_test.o -fPIC -shared -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_preemptible_functions_test.stdout: icf_preemptible_functions_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) icf_preemptible_functions_test > icf_preemptible_functions_test.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_string_merge_test.o: icf_string_merge_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_string_merge_test: icf_string_merge_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--icf=all icf_string_merge_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_string_merge_test.stdout: icf_string_merge_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) icf_string_merge_test > icf_string_merge_test.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_sht_rel_addend_test_1.o: icf_sht_rel_addend_test_1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_sht_rel_addend_test_2.o: icf_sht_rel_addend_test_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_sht_rel_addend_test: icf_sht_rel_addend_test_1.o icf_sht_rel_addend_test_2.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--icf=all icf_sht_rel_addend_test_1.o icf_sht_rel_addend_test_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@icf_sht_rel_addend_test.stdout: icf_sht_rel_addend_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) icf_sht_rel_addend_test > icf_sht_rel_addend_test.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@merge_string_literals_1.o: merge_string_literals_1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O2 -c -fPIC -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@merge_string_literals_2.o: merge_string_literals_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O2 -c -fPIC -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@merge_string_literals: merge_string_literals_1.o merge_string_literals_2.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ merge_string_literals_1.o merge_string_literals_2.o -O2 -shared -nostdlib -@GCC_TRUE@@NATIVE_LINKER_TRUE@merge_string_literals.stdout: merge_string_literals -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -s -j.rodata merge_string_literals > merge_string_literals.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@basic_test.o: basic_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@basic_test: basic_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@basic_static_test: basic_test.o gcctestdir/ld -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -static basic_test.o - -@GCC_TRUE@@NATIVE_LINKER_TRUE@basic_pic_test.o: basic_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@basic_pic_test: basic_pic_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_pic_test.o -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@basic_static_pic_test: basic_pic_test.o gcctestdir/ld -@GCC_TRUE@@HAVE_STATIC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -static basic_pic_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@basic_pie_test.o: basic_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -fpie -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@basic_pie_test: basic_pie_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -pie basic_pie_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_1_pic.o: two_file_test_1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_1b_pic.o: two_file_test_1b.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_2_pic.o: two_file_test_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_1.so: two_file_test_1_pic.o two_file_test_1b_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1_pic.o two_file_test_1b_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_2.so: two_file_test_2_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_2_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared.so: two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_relocatable.o: gcctestdir/ld two_file_test_1.o two_file_test_1b.o two_file_test_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -r -o $@ two_file_test_1.o two_file_test_1b.o two_file_test_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_1_pie.o: two_file_test_1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpie -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_1b_pie.o: two_file_test_1b.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpie -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_2_pie.o: two_file_test_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpie -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_main_pie.o: two_file_test_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpie -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_pie_test: two_file_test_1_pie.o two_file_test_1b_pie.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_2_pie.o two_file_test_main_pie.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -pie two_file_test_1_pie.o two_file_test_1b_pie.o two_file_test_2_pie.o two_file_test_main_pie.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@pie_copyrelocs_shared_test.o: pie_copyrelocs_shared_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O2 -fpic -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@pie_copyrelocs_shared_test.so: pie_copyrelocs_shared_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared pie_copyrelocs_shared_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared.dbg: two_file_shared.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -w $< >$@ 2>/dev/null -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_1_nonpic.so: two_file_test_1.o gcctestdir/ld -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1.o two_file_test_1b.o -Wl,-z,notext -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_2_nonpic.so: two_file_test_2.o gcctestdir/ld -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_2.o -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_nonpic.so: two_file_test_1.o two_file_test_1b.o two_file_test_2.o gcctestdir/ld -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1.o two_file_test_1b.o two_file_test_2.o -Wl,-z,notext -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_mixed.so: two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2.o gcctestdir/ld -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2.o -Wl,-z,notext -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_mixed_1.so: two_file_test_1.o two_file_test_1b_pic.o two_file_shared_2.so gcctestdir/ld -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1.o two_file_test_1b_pic.o two_file_shared_2.so -Wl,-z,notext -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_mixed_pie_test: two_file_test_1.o two_file_test_1b_pie.o \ -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_main_pie.o two_file_shared_2.so gcctestdir/ld -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,-R,. -pie two_file_test_1.o two_file_test_1b_pie.o two_file_test_main_pie.o two_file_shared_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_strip_test: two_file_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_STRIP) -o two_file_strip_test two_file_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_shared_strip.so: two_file_shared.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_STRIP) -S -o two_file_shared_strip.so two_file_shared.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_2_pic.o: common_test_2.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_2.so: common_test_2_pic.o common_test_3.so gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared common_test_2_pic.o common_test_3.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_3_pic.o: common_test_3.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@common_test_3.so: common_test_3_pic.o ver_test_2.script gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared common_test_3_pic.o -Wl,--version-script,$(srcdir)/ver_test_2.script -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_test_1_pic.o: exception_test_1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_test_2_pic.o: exception_test_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_shared_1.so: exception_test_1_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared exception_test_1_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_shared_2.so: exception_test_2_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared exception_test_2_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_shared.so: exception_test_1_pic.o exception_test_2_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared exception_test_1_pic.o exception_test_2_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_file1.o: weak_undef_file1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_file2.o: weak_undef_file2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_lib.so: weak_undef_file1.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_undef_file1.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@alt/weak_undef_lib.so: weak_undef_file2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d alt || mkdir -p alt -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_undef_file2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@libweak_undef_2.a: weak_undef_file3.o weak_undef_file4.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) rc $@ $^ -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_file3.o: weak_undef_file3.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_file4.o: weak_undef_file4.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_file1_nonpic.o: weak_undef_file1.cc -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_file2_nonpic.o: weak_undef_file2.cc -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_undef_lib_nonpic.so: weak_undef_file1_nonpic.o -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_undef_file1_nonpic.o -Wl,-z,notext -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@alt/weak_undef_lib_nonpic.so: weak_undef_file2_nonpic.o -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d alt || mkdir -p alt -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_undef_file2_nonpic.o -Wl,-z,notext -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_alias_test_1_pic.o: weak_alias_test_1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_alias_test_1.so: weak_alias_test_1_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_alias_test_1_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_alias_test_2_pic.o: weak_alias_test_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_alias_test_2.so: weak_alias_test_2_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_alias_test_2_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_alias_test_3.o: weak_alias_test_3.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_alias_test_4_pic.o: weak_alias_test_4.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_alias_test_4.so: weak_alias_test_4_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_alias_test_4_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_alias_test_5_pic.o: weak_alias_test_5.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_alias_test_5.so: weak_alias_test_5_pic.o $(srcdir)/weak_alias_test.script gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_alias_test_5_pic.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--version-script,$(srcdir)/weak_alias_test.script -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_plt_main_pic.o: weak_plt_main.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_plt: weak_plt_main_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ weak_plt_main_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_plt_shared_pic.o: weak_plt_shared.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@weak_plt_shared.so: weak_plt_shared_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_plt_shared_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@copy_test_1_pic.o: copy_test_1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@copy_test_1.so: gcctestdir/ld copy_test_1_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared copy_test_1_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@copy_test_2_pic.o: copy_test_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@copy_test_2.so: gcctestdir/ld copy_test_2_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared copy_test_2_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_pic.o: tls_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_file2_pic.o: tls_test_file2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_c_pic.o: tls_test_c.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(COMPILE) -c -fpic $(TLS_TEST_C_CFLAGS) -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_shared.so: tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o -Wl,-z,defs -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_shared2.so: tls_test_file2_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared tls_test_file2_pic.o - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_pic_ie.o: tls_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpic -ftls-model=initial-exec -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_file2_pic_ie.o: tls_test_file2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpic -ftls-model=initial-exec -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_c_pic_ie.o: tls_test_c.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(COMPILE) -c -fpic -ftls-model=initial-exec $(TLS_TEST_C_CFLAGS) -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_ie_shared.so: tls_test_pic_ie.o tls_test_file2_pic_ie.o tls_test_c_pic_ie.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared tls_test_pic_ie.o tls_test_file2_pic_ie.o tls_test_c_pic_ie.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_c.o: tls_test_c.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(COMPILE) -c $(TLS_TEST_C_CFLAGS) -o $@ $< - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_main_pie.o: tls_test_main.cc tls_test.h -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpie -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_pie.o: tls_test.cc tls_test.h -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpie -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_file2_pie.o: tls_test_file2.cc tls_test.h -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpie -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_c_pie.o: tls_test_c.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(COMPILE) -c -fpic $(TLS_TEST_C_CFLAGS) -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_pie_test: tls_test_main_pie.o tls_test_pie.o tls_test_file2_pie.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_c_pie.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -pie tls_test_main_pie.o tls_test_pie.o tls_test_file2_pie.o tls_test_c_pie.o -lpthread - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_pie_pic_test: tls_test_main_pie.o tls_test_pic.o tls_test_file2_pic.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_c_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -pie tls_test_main_pie.o tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o -lpthread - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_test_gnu2.o: tls_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpic -mtls-dialect=gnu2 -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_test_file2_gnu2.o: tls_test_file2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpic -mtls-dialect=gnu2 -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_test_c_gnu2.o: tls_test_c.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@ $(COMPILE) -c -fpic -mtls-dialect=gnu2 $(TLS_TEST_C_CFLAGS) -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_test_gnu2_shared2.so: tls_test_file2_gnu2.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared tls_test_file2_gnu2.o - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_test_gnu2_shared.so: tls_test_gnu2.o tls_test_file2_gnu2.o tls_test_c_gnu2.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared tls_test_gnu2.o tls_test_file2_gnu2.o tls_test_c_gnu2.o -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_shared_nonpic.so: tls_test.o tls_test_file2.o tls_test_c.o gcctestdir/ld -@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared tls_test.o tls_test_file2.o tls_test_c.o -Wl,-z,notext -@GCC_TRUE@@NATIVE_LINKER_TRUE@many_sections_define.h: -@GCC_TRUE@@NATIVE_LINKER_TRUE@ (for i in `seq 1 70000`; do \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "int var_$$i __attribute__((section(\"section_$$i\"))) = $$i;"; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ done) > $@.tmp -@GCC_TRUE@@NATIVE_LINKER_TRUE@ mv -f $@.tmp $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@many_sections_check.h: -@GCC_TRUE@@NATIVE_LINKER_TRUE@ (for i in `seq 1 1000 70000`; do \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "assert(var_$$i == $$i);"; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ done) > $@.tmp -@GCC_TRUE@@NATIVE_LINKER_TRUE@ mv -f $@.tmp $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@many_sections_r_test.o: many_sections_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -r -o $@ many_sections_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@many_sections_r_test: many_sections_r_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ many_sections_r_test.o $(LIBS) -@GCC_TRUE@@NATIVE_LINKER_TRUE@debug_msg.o: debug_msg.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g -c -w -o $@ $(srcdir)/debug_msg.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@odr_violation1.o: odr_violation1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g -c -w -o $@ $(srcdir)/odr_violation1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@flagstest_debug.o: constructor_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g -c -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@flagstest_ndebug.o: constructor_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@incremental_test_1.o: incremental_test_1.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -c -ffunction-sections -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@incremental_test_2.o: incremental_test_2.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -c -ffunction-sections -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@incremental_test: incremental_test_1.o incremental_test_2.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,--incremental-full -Wl,-z,norelro incremental_test_1.o incremental_test_2.o -Wl,-debug 2> incremental_test.cmdline +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@incremental_test.stdout: incremental_test ../incremental-dump +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ../incremental-dump incremental_test > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gc_comdat_test_1.o: gc_comdat_test_1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gc_comdat_test_2.o: gc_comdat_test_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gc_comdat_test: gc_comdat_test_1.o gc_comdat_test_2.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--gc-sections gc_comdat_test_1.o gc_comdat_test_2.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gc_comdat_test.stdout: gc_comdat_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) -C gc_comdat_test > gc_comdat_test.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gc_tls_test.o: gc_tls_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gc_tls_test:gc_tls_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--gc-sections gc_tls_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gc_tls_test.stdout: gc_tls_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) -C gc_tls_test > gc_tls_test.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gc_orphan_section_test.o: gc_orphan_section_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gc_orphan_section_test:gc_orphan_section_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--gc-sections gc_orphan_section_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gc_orphan_section_test.stdout: gc_orphan_section_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) gc_orphan_section_test > gc_orphan_section_test.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@pr14265.o: pr14265.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -c -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@pr14265: pr14265.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,--gc-sections -Wl,-T,$(srcdir)/pr14265.t -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@pr14265.stdout: pr14265 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) --format=bsd --numeric-sort $< > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gc_dynamic_list_test.o: gc_dynamic_list_test.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -ffunction-sections -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gc_dynamic_list_test: gc_dynamic_list_test.o gcctestdir/ld $(srcdir)/gc_dynamic_list_test.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,--gc-sections -Wl,--dynamic-list,$(srcdir)/gc_dynamic_list_test.t gc_dynamic_list_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gc_dynamic_list_test.stdout: gc_dynamic_list_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) gc_dynamic_list_test > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_test.o: icf_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_test: icf_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -o icf_test -Bgcctestdir/ -Wl,--icf=all,-Map,icf_test.map icf_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_test.map: icf_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @touch icf_test.map +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_keep_unique_test.o: icf_keep_unique_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_keep_unique_test: icf_keep_unique_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--icf=all -Wl,--keep-unique,_Z11unique_funcv icf_keep_unique_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_keep_unique_test.stdout: icf_keep_unique_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) -C $< > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_safe_test.o: icf_safe_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_safe_test: icf_safe_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -o icf_safe_test -Bgcctestdir/ -Wl,--icf=safe,-Map,icf_safe_test.map icf_safe_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_safe_test.map: icf_safe_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @touch icf_safe_test.map +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_safe_test_1.stdout: icf_safe_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) $< > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_safe_test_2.stdout: icf_safe_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -h $< > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_safe_so_test.o: icf_safe_so_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_safe_so_test: icf_safe_so_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -o icf_safe_so_test -Bgcctestdir/ -Wl,--icf=safe,-Map,icf_safe_so_test.map icf_safe_so_test.o -fPIC -shared +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_safe_so_test.map: +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @touch icf_safe_so_test.map +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_safe_so_test_1.stdout: icf_safe_so_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) $< > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_safe_so_test_2.stdout: icf_safe_so_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -h $< > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@final_layout.o: final_layout.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fdata-sections -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@final_layout_sequence.txt: +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ (echo "*_Z3barv*" && echo ".text._Z3bazv" && echo "*_Z3foov*" && echo "*global_varb*" && echo "*global_vara*" && echo "*global_varc*") > final_layout_sequence.txt +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@final_layout_script.lds: +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ (echo "SECTIONS { .text : { *(.text*) } .got : { *(.got .toc) } .sbss : { *(.sbss*) } .bss : { *(.bss*) } }") > final_layout_script.lds +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@final_layout: final_layout.o final_layout_sequence.txt final_layout_script.lds gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--section-ordering-file,final_layout_sequence.txt -Wl,-T,final_layout_script.lds final_layout.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@final_layout.stdout: final_layout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) -n --synthetic final_layout > final_layout.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@text_section_grouping.o: text_section_grouping.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@text_section_grouping: text_section_grouping.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ text_section_grouping.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@text_section_no_grouping: text_section_grouping.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-text-reorder text_section_grouping.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@text_section_grouping.stdout: text_section_grouping +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) -n --synthetic text_section_grouping > text_section_grouping.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@text_section_no_grouping.stdout: text_section_no_grouping +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) -n --synthetic text_section_no_grouping > text_section_no_grouping.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@section_sorting_name.o: section_sorting_name.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@section_sorting_name: section_sorting_name.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--sort-section=name section_sorting_name.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@section_sorting_name.stdout: section_sorting_name +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) -n --synthetic section_sorting_name > section_sorting_name.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_virtual_function_folding_test.o: icf_virtual_function_folding_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fPIE -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_virtual_function_folding_test: icf_virtual_function_folding_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--icf=all icf_virtual_function_folding_test.o -pie +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_preemptible_functions_test.o: icf_preemptible_functions_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_preemptible_functions_test: icf_preemptible_functions_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--icf=all icf_preemptible_functions_test.o -fPIC -shared +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_preemptible_functions_test.stdout: icf_preemptible_functions_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) icf_preemptible_functions_test > icf_preemptible_functions_test.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_string_merge_test.o: icf_string_merge_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_string_merge_test: icf_string_merge_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--icf=all icf_string_merge_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_string_merge_test.stdout: icf_string_merge_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) icf_string_merge_test > icf_string_merge_test.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_sht_rel_addend_test_1.o: icf_sht_rel_addend_test_1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_sht_rel_addend_test_2.o: icf_sht_rel_addend_test_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fPIC -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_sht_rel_addend_test: icf_sht_rel_addend_test_1.o icf_sht_rel_addend_test_2.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--icf=all icf_sht_rel_addend_test_1.o icf_sht_rel_addend_test_2.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@icf_sht_rel_addend_test.stdout: icf_sht_rel_addend_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) icf_sht_rel_addend_test > icf_sht_rel_addend_test.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@merge_string_literals_1.o: merge_string_literals_1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O2 -c -fPIC -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@merge_string_literals_2.o: merge_string_literals_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O2 -c -fPIC -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@merge_string_literals: merge_string_literals_1.o merge_string_literals_2.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ merge_string_literals_1.o merge_string_literals_2.o -O2 -shared -nostdlib +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@merge_string_literals.stdout: merge_string_literals +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -s -j.rodata merge_string_literals > merge_string_literals.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@basic_test.o: basic_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@basic_test: basic_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@basic_static_test: basic_test.o gcctestdir/ld +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -static basic_test.o + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@basic_pic_test.o: basic_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@basic_pic_test: basic_pic_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_pic_test.o +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@basic_static_pic_test: basic_pic_test.o gcctestdir/ld +@GCC_TRUE@@HAVE_STATIC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -static basic_pic_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@basic_pie_test.o: basic_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -fpie -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@basic_pie_test: basic_pie_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -pie basic_pie_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_1_pic.o: two_file_test_1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_1b_pic.o: two_file_test_1b.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_2_pic.o: two_file_test_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_1.so: two_file_test_1_pic.o two_file_test_1b_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1_pic.o two_file_test_1b_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_2.so: two_file_test_2_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_2_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared.so: two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_relocatable.o: gcctestdir/ld two_file_test_1.o two_file_test_1b.o two_file_test_2.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld -r -o $@ two_file_test_1.o two_file_test_1b.o two_file_test_2.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_1_pie.o: two_file_test_1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpie -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_1b_pie.o: two_file_test_1b.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpie -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_2_pie.o: two_file_test_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpie -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_main_pie.o: two_file_test_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpie -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_pie_test: two_file_test_1_pie.o two_file_test_1b_pie.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_2_pie.o two_file_test_main_pie.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -pie two_file_test_1_pie.o two_file_test_1b_pie.o two_file_test_2_pie.o two_file_test_main_pie.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@pie_copyrelocs_shared_test.o: pie_copyrelocs_shared_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O2 -fpic -c -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@pie_copyrelocs_shared_test.so: pie_copyrelocs_shared_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared pie_copyrelocs_shared_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@disable_pie_unsafe_size_test_readelf.stdout: disable_pie_unsafe_size_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -l $< >$@ 2>/dev/null +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared.dbg: two_file_shared.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -w $< >$@ 2>/dev/null +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_1_nonpic.so: two_file_test_1.o gcctestdir/ld +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1.o two_file_test_1b.o -Wl,-z,notext +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_2_nonpic.so: two_file_test_2.o gcctestdir/ld +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_2.o +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_nonpic.so: two_file_test_1.o two_file_test_1b.o two_file_test_2.o gcctestdir/ld +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1.o two_file_test_1b.o two_file_test_2.o -Wl,-z,notext +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_mixed.so: two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2.o gcctestdir/ld +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1_pic.o two_file_test_1b_pic.o two_file_test_2.o -Wl,-z,notext +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_mixed_1.so: two_file_test_1.o two_file_test_1b_pic.o two_file_shared_2.so gcctestdir/ld +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1.o two_file_test_1b_pic.o two_file_shared_2.so -Wl,-z,notext +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_mixed_pie_test: two_file_test_1.o two_file_test_1b_pie.o \ +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_main_pie.o two_file_shared_2.so gcctestdir/ld +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,-R,. -pie two_file_test_1.o two_file_test_1b_pie.o two_file_test_main_pie.o two_file_shared_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_strip_test: two_file_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_STRIP) -o two_file_strip_test two_file_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_shared_strip.so: two_file_shared.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_STRIP) -S -o two_file_shared_strip.so two_file_shared.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@common_test_2_pic.o: common_test_2.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@common_test_2.so: common_test_2_pic.o common_test_3.so gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared common_test_2_pic.o common_test_3.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@common_test_3_pic.o: common_test_3.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@common_test_3.so: common_test_3_pic.o ver_test_2.script gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared common_test_3_pic.o -Wl,--version-script,$(srcdir)/ver_test_2.script +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_test_1_pic.o: exception_test_1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_test_2_pic.o: exception_test_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_shared_1.so: exception_test_1_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared exception_test_1_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_shared_2.so: exception_test_2_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared exception_test_2_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_shared.so: exception_test_1_pic.o exception_test_2_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared exception_test_1_pic.o exception_test_2_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_file1.o: weak_undef_file1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_file2.o: weak_undef_file2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_lib.so: weak_undef_file1.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_undef_file1.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@alt/weak_undef_lib.so: weak_undef_file2.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ test -d alt || mkdir -p alt +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_undef_file2.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@libweak_undef_2.a: weak_undef_file3.o weak_undef_file4.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) rc $@ $^ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_file3.o: weak_undef_file3.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_file4.o: weak_undef_file4.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_file1_nonpic.o: weak_undef_file1.cc +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_file2_nonpic.o: weak_undef_file2.cc +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_undef_lib_nonpic.so: weak_undef_file1_nonpic.o +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_undef_file1_nonpic.o -Wl,-z,notext +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@alt/weak_undef_lib_nonpic.so: weak_undef_file2_nonpic.o +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ test -d alt || mkdir -p alt +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_undef_file2_nonpic.o -Wl,-z,notext +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_alias_test_1_pic.o: weak_alias_test_1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_alias_test_1.so: weak_alias_test_1_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_alias_test_1_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_alias_test_2_pic.o: weak_alias_test_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_alias_test_2.so: weak_alias_test_2_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_alias_test_2_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_alias_test_3.o: weak_alias_test_3.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_alias_test_4_pic.o: weak_alias_test_4.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_alias_test_4.so: weak_alias_test_4_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_alias_test_4_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_alias_test_5_pic.o: weak_alias_test_5.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_alias_test_5.so: weak_alias_test_5_pic.o $(srcdir)/weak_alias_test.script gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_alias_test_5_pic.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--version-script,$(srcdir)/weak_alias_test.script +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_plt_main_pic.o: weak_plt_main.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_plt: weak_plt_main_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ weak_plt_main_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_plt_shared_pic.o: weak_plt_shared.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@weak_plt_shared.so: weak_plt_shared_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared weak_plt_shared_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@copy_test_1_pic.o: copy_test_1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@copy_test_1.so: gcctestdir/ld copy_test_1_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared copy_test_1_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@copy_test_2_pic.o: copy_test_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@copy_test_2.so: gcctestdir/ld copy_test_2_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared copy_test_2_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_pic.o: tls_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_file2_pic.o: tls_test_file2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_c_pic.o: tls_test_c.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(COMPILE) -c -fpic $(TLS_TEST_C_CFLAGS) -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_shared.so: tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o -Wl,-z,defs +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_shared2.so: tls_test_file2_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared tls_test_file2_pic.o + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_pic_ie.o: tls_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpic -ftls-model=initial-exec -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_file2_pic_ie.o: tls_test_file2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpic -ftls-model=initial-exec -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_c_pic_ie.o: tls_test_c.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(COMPILE) -c -fpic -ftls-model=initial-exec $(TLS_TEST_C_CFLAGS) -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_ie_shared.so: tls_test_pic_ie.o tls_test_file2_pic_ie.o tls_test_c_pic_ie.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared tls_test_pic_ie.o tls_test_file2_pic_ie.o tls_test_c_pic_ie.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_c.o: tls_test_c.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(COMPILE) -c $(TLS_TEST_C_CFLAGS) -o $@ $< + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_main_pie.o: tls_test_main.cc tls_test.h +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpie -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_pie.o: tls_test.cc tls_test.h +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpie -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_file2_pie.o: tls_test_file2.cc tls_test.h +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpie -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_c_pie.o: tls_test_c.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(COMPILE) -c -fpic $(TLS_TEST_C_CFLAGS) -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_pie_test: tls_test_main_pie.o tls_test_pie.o tls_test_file2_pie.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_c_pie.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -pie tls_test_main_pie.o tls_test_pie.o tls_test_file2_pie.o tls_test_c_pie.o -lpthread +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_pie_test.stdout: tls_pie_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(TEST_READELF) -rW $< > $@ 2>/dev/null + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_pie_pic_test: tls_test_main_pie.o tls_test_pic.o tls_test_file2_pic.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ tls_test_c_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -pie tls_test_main_pie.o tls_test_pic.o tls_test_file2_pic.o tls_test_c_pic.o -lpthread + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_test_gnu2.o: tls_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpic -mtls-dialect=gnu2 -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_test_file2_gnu2.o: tls_test_file2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@ $(CXXCOMPILE) -c -fpic -mtls-dialect=gnu2 -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_test_c_gnu2.o: tls_test_c.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@ $(COMPILE) -c -fpic -mtls-dialect=gnu2 $(TLS_TEST_C_CFLAGS) -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_test_gnu2_shared2.so: tls_test_file2_gnu2.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared tls_test_file2_gnu2.o + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@tls_test_gnu2_shared.so: tls_test_gnu2.o tls_test_file2_gnu2.o tls_test_c_gnu2.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_DESCRIPTORS_TRUE@@TLS_GNU2_DIALECT_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared tls_test_gnu2.o tls_test_file2_gnu2.o tls_test_c_gnu2.o +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@tls_test_shared_nonpic.so: tls_test.o tls_test_file2.o tls_test_c.o gcctestdir/ld +@FN_PTRS_IN_SO_WITHOUT_PIC_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared tls_test.o tls_test_file2.o tls_test_c.o -Wl,-z,notext + +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea1.o: i386_mov_to_lea1.s +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AS) --32 -o $@ $< +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea2.o: i386_mov_to_lea2.s +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AS) --32 -o $@ $< +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea3.o: i386_mov_to_lea3.s +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AS) --32 -o $@ $< +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea4.o: i386_mov_to_lea4.s +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AS) --32 -o $@ $< +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea5.o: i386_mov_to_lea5.s +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AS) --32 -o $@ $< +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea1: i386_mov_to_lea1.o +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ../ld-new -Bsymbolic -shared -melf_i386 -o $@ $< +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea2: i386_mov_to_lea1.o +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ../ld-new -pie -melf_i386 -o $@ $< +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea3: i386_mov_to_lea1.o +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ../ld-new -melf_i386 -o $@ $< +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea4: i386_mov_to_lea1.o +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ../ld-new -melf_i386 -shared -o $@ $< +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea5: i386_mov_to_lea2.o +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ../ld-new -melf_i386 -shared -o $@ $< +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea6: i386_mov_to_lea3.o +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ../ld-new -melf_i386 -shared -o $@ $< +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea7: i386_mov_to_lea4.o +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ../ld-new -melf_i386 -shared -o $@ $< +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea8: i386_mov_to_lea5.o +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ../ld-new -melf_i386 -shared -o $@ $< +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea1.stdout: i386_mov_to_lea1 +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -dw $< > $@ +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea2.stdout: i386_mov_to_lea2 +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -dw $< > $@ +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea3.stdout: i386_mov_to_lea3 +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -dw $< > $@ +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea4.stdout: i386_mov_to_lea4 +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -dw $< > $@ +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea5.stdout: i386_mov_to_lea5 +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -dw $< > $@ +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea6.stdout: i386_mov_to_lea6 +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -dw $< > $@ +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea7.stdout: i386_mov_to_lea7 +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -dw $< > $@ +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@i386_mov_to_lea8.stdout: i386_mov_to_lea8 +@DEFAULT_TARGET_I386_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -dw $< > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@many_sections_define.h: +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ (for i in `seq 1 70000`; do \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo "int var_$$i __attribute__((section(\"section_$$i\"))) = $$i;"; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ done) > $@.tmp +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ mv -f $@.tmp $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@many_sections_check.h: +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ (for i in `seq 1 1000 70000`; do \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo "assert(var_$$i == $$i);"; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ done) > $@.tmp +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ mv -f $@.tmp $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@many_sections_r_test.o: many_sections_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld -r -o $@ many_sections_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@many_sections_r_test: many_sections_r_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ many_sections_r_test.o $(LIBS) +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@debug_msg.o: debug_msg.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g -c -w -o $@ $(srcdir)/debug_msg.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@odr_violation1.o: odr_violation1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g -c -w -o $@ $(srcdir)/odr_violation1.cc # Compile with different optimization flags to check that rearranged # instructions don't cause a false positive. -@GCC_TRUE@@NATIVE_LINKER_TRUE@odr_violation2.o: odr_violation2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O2 -g -c -w -o $@ $(srcdir)/odr_violation2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@debug_msg.err: debug_msg.o odr_violation1.o odr_violation2.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @echo $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o "2>$@" -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @if $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o 2>$@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ then \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo 1>&2 "Link of debug_msg should have failed"; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exit 1; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ fi -@GCC_TRUE@@NATIVE_LINKER_TRUE@missing_key_func.o: missing_key_func.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g -c -o $@ $(srcdir)/missing_key_func.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@missing_key_func.err: missing_key_func.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @echo $(CXXLINK) -Bgcctestdir/ -o missing_key_func missing_key_func.o "2>$@" -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @if $(CXXLINK) -Bgcctestdir/ -o missing_key_func missing_key_func.o 2>$@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ then \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo 1>&2 "Link of missing_key_func should have failed"; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exit 1; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ fi -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@debug_msg_cdebug.o: debug_msg.cc gcctestdir/as -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/debug_msg.cc -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@odr_violation1_cdebug.o: odr_violation1.cc gcctestdir/as -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/odr_violation1.cc -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@odr_violation2_cdebug.o: odr_violation2.cc gcctestdir/as -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O2 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/odr_violation2.cc -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@debug_msg_cdebug.err: debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o gcctestdir/ld -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ @echo $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_cdebug debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o "2>$@" -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ @if $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_cdebug debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o 2>$@; \ -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ then \ -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ echo 1>&2 "Link of debug_msg_cdebug should have failed"; \ -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@; \ -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ exit 1; \ -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ fi -@GCC_TRUE@@NATIVE_LINKER_TRUE@debug_msg.so: debug_msg.cc gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g -shared -fPIC -w -o $@ $(srcdir)/debug_msg.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@odr_violation1.so: odr_violation1.cc gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g -shared -fPIC -w -o $@ $(srcdir)/odr_violation1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@odr_violation2.so: odr_violation2.cc gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O2 -g -shared -fPIC -w -o $@ $(srcdir)/odr_violation2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@debug_msg_so.err: debug_msg.so odr_violation1.so odr_violation2.so gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @echo $(CXXLINK_S) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_so debug_msg.so odr_violation1.so odr_violation2.so "2>$@" -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @if $(CXXLINK_S) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_so debug_msg.so odr_violation1.so odr_violation2.so 2>$@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ then \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo 1>&2 "Link of debug_msg_so should have failed"; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exit 1; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ fi -@GCC_TRUE@@NATIVE_LINKER_TRUE@debug_msg_ndebug.so: debug_msg.cc gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g0 -shared -fPIC -w -o $@ $(srcdir)/debug_msg.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@odr_violation1_ndebug.so: odr_violation1.cc gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g0 -shared -fPIC -w -o $@ $(srcdir)/odr_violation1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@odr_violation2_ndebug.so: odr_violation2.cc gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O2 -g0 -shared -fPIC -w -o $@ $(srcdir)/odr_violation2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@debug_msg_ndebug.err: debug_msg_ndebug.so odr_violation1_ndebug.so odr_violation2_ndebug.so gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @echo $(CXXLINK_S) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_ndebug debug_msg_ndebug.so odr_violation1_ndebug.so odr_violation2_ndebug.so -shared-libgcc -Bdynamic -lstdc++ "2>$@" -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @if $(CXXLINK_S) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_ndebug debug_msg_ndebug.so odr_violation1_ndebug.so odr_violation2_ndebug.so -shared-libgcc -Bdynamic -lstdc++ 2>$@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ then \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo 1>&2 "Link of debug_msg_ndebug should have failed"; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exit 1; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ fi -@GCC_TRUE@@NATIVE_LINKER_TRUE@undef_symbol.o: undef_symbol.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g -c -fPIC $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@undef_symbol.so: undef_symbol.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared undef_symbol.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@undef_symbol.err: undef_symbol_main.o undef_symbol.so gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @echo $(CXXLINK) -Bgcctestdir/ -o undef_symbol_test undef_symbol_main.o undef_symbol.so "2>$@" -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @if $(CXXLINK) -Bgcctestdir/ -o undef_symbol_test undef_symbol_main.o undef_symbol.so 2>$@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ then \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo 1>&2 "Link of undef_symbol_test should have failed"; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exit 1; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ fi -@GCC_TRUE@@NATIVE_LINKER_TRUE@flagstest_o_specialfile: flagstest_debug.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o /dev/stdout $< 2>&1 | cat > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ chmod a+x $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -s $@ -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@flagstest_compress_debug_sections: flagstest_debug.o gcctestdir/ld -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,--compress-debug-sections=zlib -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ test -s $@ -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@flagstest_o_specialfile_and_compress_debug_sections: flagstest_debug.o \ -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o /dev/stdout $< -Wl,--compress-debug-sections=zlib 2>&1 | cat > $@ -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ chmod a+x $@ -@GCC_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ test -s $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@flagstest_o_ttext_1: flagstest_debug.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,-Ttext,0x400000 -Wl,-Tdata,0x800000 -@GCC_TRUE@@NATIVE_LINKER_TRUE@flagstest_o_ttext_2: flagstest_debug.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,-Ttext,0x400010 -Wl,-Tdata,0x800010 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_1.so: ver_test_1.o ver_test_2.so ver_test_3.o ver_test_4.so gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared ver_test_1.o ver_test_2.so ver_test_3.o ver_test_4.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_2.so: ver_test_2.o $(srcdir)/ver_test_2.script ver_test_4.so gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_2.script -Wl,-R,. ver_test_2.o ver_test_4.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_4.so: ver_test_4.o $(srcdir)/ver_test_4.script gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_4.script ver_test_4.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_1.o: ver_test_1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_2.o: ver_test_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_3.o: ver_test_3.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_4.o: ver_test_4.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_1.syms: ver_test_1.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -s $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_2.syms: ver_test_2 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -s $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_4.syms: ver_test_4.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -s $< >$@ 2>/dev/null - -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_5.so: ver_test_5.o $(srcdir)/ver_test_5.script ver_test_4.so gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_5.script ver_test_5.o ver_test_4.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_5.o: ver_test_5.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_5.syms: ver_test_5.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -s $< >$@ 2>/dev/null - -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_7.so: ver_test_4.o $(srcdir)/ver_test_4.script ver_test_7.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_4.script ver_test_4.o ver_test_7.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_7.o: ver_test_7.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_7.syms: ver_test_7.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -s $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_8_1.so: two_file_test_1_pic.o two_file_test_1b_pic.o ver_test_8_2.so gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1_pic.o two_file_test_1b_pic.o ver_test_8_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_8_2.so: two_file_test_2_pic.o $(srcdir)/ver_test_8.script gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_8.script two_file_test_2_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_9.so: ver_test_9.o ver_test_4.so ver_test_5.so gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-R,. ver_test_9.o ver_test_5.so ver_test_4.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_9.o: ver_test_9.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_10.syms: ver_test_10.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -s $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_10.so: gcctestdir/ld ver_test_2.o ver_test_10.script -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_10.script ver_test_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_11.a: ver_test_1.o ver_test_2.o ver_test_4.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) rc $@ $^ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_test_12.o: gcctestdir/ld ver_test_1.o ver_test_2.o ver_test_4.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -r -o $@ ver_test_1.o ver_test_2.o ver_test_4.o - -@GCC_TRUE@@NATIVE_LINKER_TRUE@protected_1.so: gcctestdir/ld protected_1_pic.o protected_2_pic.o protected_3_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared protected_1_pic.o protected_2_pic.o protected_3_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@protected_1_pic.o: protected_1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@protected_2_pic.o: protected_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@protected_3_pic.o: protected_3.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@protected_4_pic.o: protected_4.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@protected_3.err: protected_4_pic.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @echo $(CXXLINK) -Bgcctestdir/ -shared -o protected_4.so protected_4_pic.o "2>$@" -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @if $(CXXLINK) -Bgcctestdir/ -shared -o protected_4.so protected_4_pic.o 2>$@; then \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo 1>&2 "Link of protected_4.so should have failed"; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ exit 1; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ fi -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_test.so: gcctestdir/ld relro_test_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-z,relro relro_test_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_test_pic.o: relro_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_test.stdout: relro_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -SlW relro_test.so > relro_test.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_now_test.so: gcctestdir/ld relro_test_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-z,relro -Wl,-z,now relro_test_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_strip_test.so: relro_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_STRIP) -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@relro_script_test.so: gcctestdir/ld relro_script_test.t relro_test_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-z,relro -Wl,-T,$(srcdir)/relro_script_test.t relro_test_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@justsyms_2.o: justsyms_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@justsyms_2r.o: justsyms_2.o gcctestdir/ld $(srcdir)/justsyms.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -o $@ -r -T $(srcdir)/justsyms.t justsyms_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@justsyms_lib.o: justsyms_lib.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@justsyms_lib: justsyms_lib.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -o $@ -Ttext=0x1000200 -Tdata=0x2000000 -e exported_func justsyms_lib.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@odr_violation2.o: odr_violation2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O2 -g -c -w -o $@ $(srcdir)/odr_violation2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@debug_msg.err: debug_msg.o odr_violation1.o odr_violation2.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @echo $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o "2>$@" +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @if $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg debug_msg.o odr_violation1.o odr_violation2.o 2>$@; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ then \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo 1>&2 "Link of debug_msg should have failed"; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exit 1; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ fi +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@missing_key_func.o: missing_key_func.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g -c -o $@ $(srcdir)/missing_key_func.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@missing_key_func.err: missing_key_func.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @echo $(CXXLINK) -Bgcctestdir/ -o missing_key_func missing_key_func.o "2>$@" +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @if $(CXXLINK) -Bgcctestdir/ -o missing_key_func missing_key_func.o 2>$@; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ then \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo 1>&2 "Link of missing_key_func should have failed"; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exit 1; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ fi +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@debug_msg_cdebug.o: debug_msg.cc gcctestdir/as +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/debug_msg.cc +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@odr_violation1_cdebug.o: odr_violation1.cc gcctestdir/as +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/odr_violation1.cc +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@odr_violation2_cdebug.o: odr_violation2.cc gcctestdir/as +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O2 -g -Wa,--compress-debug-sections -c -w -o $@ $(srcdir)/odr_violation2.cc +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@debug_msg_cdebug.err: debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o gcctestdir/ld +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @echo $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_cdebug debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o "2>$@" +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @if $(CXXLINK) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_cdebug debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_cdebug.o 2>$@; \ +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ then \ +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo 1>&2 "Link of debug_msg_cdebug should have failed"; \ +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@; \ +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exit 1; \ +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ fi +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@debug_msg.so: debug_msg.cc gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g -shared -fPIC -w -o $@ $(srcdir)/debug_msg.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@odr_violation1.so: odr_violation1.cc gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g -shared -fPIC -w -o $@ $(srcdir)/odr_violation1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@odr_violation2.so: odr_violation2.cc gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O2 -g -shared -fPIC -w -o $@ $(srcdir)/odr_violation2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@debug_msg_so.err: debug_msg.so odr_violation1.so odr_violation2.so gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @echo $(CXXLINK_S) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_so debug_msg.so odr_violation1.so odr_violation2.so "2>$@" +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @if $(CXXLINK_S) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_so debug_msg.so odr_violation1.so odr_violation2.so 2>$@; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ then \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo 1>&2 "Link of debug_msg_so should have failed"; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exit 1; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ fi +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@debug_msg_ndebug.so: debug_msg.cc gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g0 -shared -fPIC -w -o $@ $(srcdir)/debug_msg.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@odr_violation1_ndebug.so: odr_violation1.cc gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g0 -shared -fPIC -w -o $@ $(srcdir)/odr_violation1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@odr_violation2_ndebug.so: odr_violation2.cc gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O2 -g0 -shared -fPIC -w -o $@ $(srcdir)/odr_violation2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@debug_msg_ndebug.err: debug_msg_ndebug.so odr_violation1_ndebug.so odr_violation2_ndebug.so gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @echo $(CXXLINK_S) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_ndebug debug_msg_ndebug.so odr_violation1_ndebug.so odr_violation2_ndebug.so -shared-libgcc -Bdynamic -lstdc++ "2>$@" +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @if $(CXXLINK_S) -Bgcctestdir/ -Wl,--detect-odr-violations -o debug_msg_ndebug debug_msg_ndebug.so odr_violation1_ndebug.so odr_violation2_ndebug.so -shared-libgcc -Bdynamic -lstdc++ 2>$@; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ then \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo 1>&2 "Link of debug_msg_ndebug should have failed"; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exit 1; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ fi +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@undef_symbol.o: undef_symbol.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g -c -fPIC $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@undef_symbol.so: undef_symbol.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared undef_symbol.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@undef_symbol.err: undef_symbol_main.o undef_symbol.so gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @echo $(CXXLINK) -Bgcctestdir/ -o undef_symbol_test undef_symbol_main.o undef_symbol.so "2>$@" +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @if $(CXXLINK) -Bgcctestdir/ -o undef_symbol_test undef_symbol_main.o undef_symbol.so 2>$@; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ then \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo 1>&2 "Link of undef_symbol_test should have failed"; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exit 1; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ fi +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@flagstest_o_specialfile: flagstest_debug.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o /dev/stdout $< 2>&1 | cat > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ chmod a+x $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ test -s $@ +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@flagstest_compress_debug_sections: flagstest_debug.o gcctestdir/ld +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,--compress-debug-sections=zlib +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ test -s $@ +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@flagstest_o_specialfile_and_compress_debug_sections: flagstest_debug.o \ +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o /dev/stdout $< -Wl,--compress-debug-sections=zlib 2>&1 | cat > $@ +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ chmod a+x $@ +@GCC_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ test -s $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@flagstest_o_ttext_1: flagstest_debug.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,-Ttext,0x400000 -Wl,-Tdata,0x800000 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@flagstest_o_ttext_2: flagstest_debug.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,-Ttext,0x400010 -Wl,-Tdata,0x800010 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_1.so: ver_test_1.o ver_test_2.so ver_test_3.o ver_test_4.so gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared ver_test_1.o ver_test_2.so ver_test_3.o ver_test_4.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_2.so: ver_test_2.o $(srcdir)/ver_test_2.script ver_test_4.so gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_2.script -Wl,-R,. ver_test_2.o ver_test_4.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_4.so: ver_test_4.o $(srcdir)/ver_test_4.script gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_4.script ver_test_4.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_1.o: ver_test_1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_2.o: ver_test_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_3.o: ver_test_3.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_4.o: ver_test_4.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_1.syms: ver_test_1.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -s $< >$@ 2>/dev/null +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_2.syms: ver_test_2 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -s $< >$@ 2>/dev/null +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_4.syms: ver_test_4.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -s $< >$@ 2>/dev/null + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_5.so: ver_test_5.o $(srcdir)/ver_test_5.script ver_test_4.so gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_5.script ver_test_5.o ver_test_4.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_5.o: ver_test_5.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_5.syms: ver_test_5.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -s $< >$@ 2>/dev/null + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_7.so: ver_test_4.o $(srcdir)/ver_test_4.script ver_test_7.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_4.script ver_test_4.o ver_test_7.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_7.o: ver_test_7.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_7.syms: ver_test_7.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -s $< >$@ 2>/dev/null +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_8_1.so: two_file_test_1_pic.o two_file_test_1b_pic.o ver_test_8_2.so gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared two_file_test_1_pic.o two_file_test_1b_pic.o ver_test_8_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_8_2.so: two_file_test_2_pic.o $(srcdir)/ver_test_8.script gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_8.script two_file_test_2_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_9.so: ver_test_9.o ver_test_4.so ver_test_5.so gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-R,. ver_test_9.o ver_test_5.so ver_test_4.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_9.o: ver_test_9.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_10.syms: ver_test_10.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -s $< >$@ 2>/dev/null +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_10.so: gcctestdir/ld ver_test_2.o ver_test_10.script +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--version-script,$(srcdir)/ver_test_10.script ver_test_2.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_11.a: ver_test_1.o ver_test_2.o ver_test_4.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) rc $@ $^ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_test_12.o: gcctestdir/ld ver_test_1.o ver_test_2.o ver_test_4.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld -r -o $@ ver_test_1.o ver_test_2.o ver_test_4.o + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@protected_1.so: gcctestdir/ld protected_1_pic.o protected_2_pic.o protected_3_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared protected_1_pic.o protected_2_pic.o protected_3_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@protected_1_pic.o: protected_1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@protected_2_pic.o: protected_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@protected_3_pic.o: protected_3.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@protected_4_pic.o: protected_4.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@protected_3.err: protected_4_pic.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @echo $(CXXLINK) -Bgcctestdir/ -shared -o protected_4.so protected_4_pic.o "2>$@" +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @if $(CXXLINK) -Bgcctestdir/ -shared -o protected_4.so protected_4_pic.o 2>$@; then \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo 1>&2 "Link of protected_4.so should have failed"; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exit 1; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ fi +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_test.so: gcctestdir/ld relro_test_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-z,relro relro_test_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_test_pic.o: relro_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_test.stdout: relro_test.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -SlW relro_test.so > relro_test.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_now_test.so: gcctestdir/ld relro_test_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-z,relro -Wl,-z,now relro_test_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_strip_test.so: relro_test.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_STRIP) -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@relro_script_test.so: gcctestdir/ld relro_script_test.t relro_test_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-z,relro -Wl,-T,$(srcdir)/relro_script_test.t relro_test_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@justsyms_2.o: justsyms_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@justsyms_2r.o: justsyms_2.o gcctestdir/ld $(srcdir)/justsyms.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld -o $@ -r -T $(srcdir)/justsyms.t justsyms_2.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@justsyms_lib.o: justsyms_lib.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@justsyms_lib: justsyms_lib.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld -o $@ -Ttext=0x1000200 -Tdata=0x2000000 -e exported_func justsyms_lib.o # Copy the file to the build directory to avoid worrying about the # full pathname in the generated symbols. -@GCC_TRUE@@NATIVE_LINKER_TRUE@binary.txt: $(srcdir)/binary.in -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LN_S) $< $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_matching_def.so: ver_matching_def_pic.o $(srcdir)/version_script.map gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -O0 -Bgcctestdir/ -shared ver_matching_def_pic.o -Wl,--version-script=$(srcdir)/version_script.map -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_matching_def_pic.o: ver_matching_def.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@ver_matching_test.stdout: ver_matching_def.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -T ver_matching_def.so | $(TEST_CXXFILT) > ver_matching_test.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_3: basic_test.o gcctestdir/ld script_test_3.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o -Wl,-T,$(srcdir)/script_test_3.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_3.stdout: script_test_3 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -SlW script_test_3 > script_test_3.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_4: basic_test.o gcctestdir/ld $(srcdir)/script_test_4.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o -Wl,-T,$(srcdir)/script_test_4.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_4.stdout: script_test_4 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -SlW script_test_4 > script_test_4.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_5: script_test_5.o gcctestdir/ld $(srcdir)/script_test_5.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ script_test_5.o -Wl,-T,$(srcdir)/script_test_5.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_5.stdout: script_test_5 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -SW script_test_5 > script_test_5.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_6: basic_test.o gcctestdir/ld $(srcdir)/script_test_6.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o -Wl,-T,$(srcdir)/script_test_6.t \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,-Ttext=0x10001000 -Wl,-Tdata=0x10200000 -Wl,-Tbss=0x10400000 -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_6.stdout: script_test_6 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -SlW script_test_6 > script_test_6.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_7: basic_test.o gcctestdir/ld $(srcdir)/script_test_7.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o -Wl,-T,$(srcdir)/script_test_7.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_7.stdout: script_test_7 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -SlW script_test_7 > script_test_7.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_8: basic_test.o gcctestdir/ld $(srcdir)/script_test_7.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o -Wl,-T,$(srcdir)/script_test_7.t \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,-Ttext=0x20001000 -Wl,-Tdata=0x20200000 -Wl,-Tbss=0x20400000 -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_8.stdout: script_test_8 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -SlW script_test_8 > script_test_8.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_9.o: script_test_9.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_9: gcctestdir/ld $(srcdir)/script_test_9.t script_test_9.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ script_test_9.o -Wl,-T,$(srcdir)/script_test_9.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_9.stdout: script_test_9 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -lW script_test_9 > script_test_9.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_11: gcctestdir/ld script_test_11_r.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ script_test_11_r.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_11_r.o: gcctestdir/ld $(srcdir)/script_test_11.t script_test_11.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -r -o $@ -T $(srcdir)/script_test_11.t script_test_11.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_11.o: script_test_11.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list: basic_test.o gcctestdir/ld $(srcdir)/dynamic_list.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--dynamic-list $(srcdir)/dynamic_list.t \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--dynamic-list-data \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--dynamic-list-cpp-new \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--dynamic-list-cpp-typeinfo -@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list.stdout: dynamic_list -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -W --dyn-syms dynamic_list > dynamic_list.stdout - -@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib1.so: gcctestdir/ld dynamic_list_lib1.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared dynamic_list_lib1.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib1.o: dynamic_list_lib1.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< - -@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib2.o: dynamic_list_lib2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< - -@GCC_TRUE@@NATIVE_LINKER_TRUE@libthin1.a: thin_archive_test_1.o alt/thin_archive_test_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) crT $@ $^ -@GCC_TRUE@@NATIVE_LINKER_TRUE@alt/libthin2.a: thin_archive_test_3.o alt/thin_archive_test_4.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) crT $@ $^ -@GCC_TRUE@@NATIVE_LINKER_TRUE@libthin3.a: thin_archive_test_1.o alt/thin_archive_test_4.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) crT $@ $^ -@GCC_TRUE@@NATIVE_LINKER_TRUE@alt/libthin4.a: alt/thin_archive_test_2.o thin_archive_test_3.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) crT $@ $^ -@GCC_TRUE@@NATIVE_LINKER_TRUE@libthinall.a: libthin3.a alt/libthin4.a -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) crT $@ $^ -@GCC_TRUE@@NATIVE_LINKER_TRUE@alt/thin_archive_test_2.o: thin_archive_test_2.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d alt || mkdir -p alt -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@alt/thin_archive_test_4.o: thin_archive_test_4.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d alt || mkdir -p alt -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_1: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms empty.o.syms gcctestdir/ld plugin_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms empty.o.syms 2>plugin_test_1.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_1.err: plugin_test_1 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ @touch plugin_test_1.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_2: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_shared_2.so gcctestdir/ld plugin_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,-R,.,--plugin,"./plugin_test.so" two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_shared_2.so 2>plugin_test_2.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_2.err: plugin_test_2 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ @touch plugin_test_2.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_3: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms empty.o.syms gcctestdir/ld plugin_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--export-dynamic -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms empty.o.syms 2>plugin_test_3.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_3.err: plugin_test_3 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ @touch plugin_test_3.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_4: two_file_test_main.o plugin_test_4.a gcctestdir/ld plugin_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_main.o -Wl,--whole-archive,plugin_test_4.a,--no-whole-archive 2>plugin_test_4.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_4.err: plugin_test_4 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ @touch plugin_test_4.err - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_4.a: two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_AR) cr $@ $^ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_5: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms unused.o.syms gcctestdir/ld plugin_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv",--gc-sections two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms unused.o.syms -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_6: plugin_common_test_1.o.syms plugin_common_test_2.o.syms gcctestdir/ld plugin_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so" plugin_common_test_1.o.syms plugin_common_test_2.o.syms 2>plugin_test_6.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_6.err: plugin_test_6 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ @touch plugin_test_6.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_7: plugin_test_7_1.o plugin_test_7_1.o.syms plugin_test_7_2.o gcctestdir/ld plugin_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(LINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so",--gc-sections,--print-gc-sections plugin_test_7_1.o.syms plugin_test_7_2.o 2>plugin_test_7.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_7.o.syms: plugin_test_7 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_7_1.o: plugin_test_7_1.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(COMPILE) -DLTO -O0 -c -ffunction-sections -fdata-sections -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_7_1_orig.o: plugin_test_7_1.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(COMPILE) -O0 -c -ffunction-sections -fdata-sections -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_7_1.o.syms: plugin_test_7_1_orig.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_7_2.o: plugin_test_7_2.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(COMPILE) -O0 -c -ffunction-sections -fdata-sections -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_7.err: plugin_test_7 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_8.o: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o ../ld-new plugin_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ ../ld-new -r -o $@ --no-demangle --plugin "./plugin_test.so" two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_8: plugin_test_8.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle plugin_test_8.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_9.err: two_file_test_main.o two_file_test_1c.o.syms two_file_test_2.o.syms gcctestdir/ld plugin_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ @echo $(CXXLINK) -Bgcctestdir/ -o plugin_test_9 -Wl,--no-demangle,--plugin,"./plugin_test.so" two_file_test_main.o two_file_test_1c.o.syms two_file_test_2.o.syms "2>$@" -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ @if $(CXXLINK) -Bgcctestdir/ -o plugin_test_9 -Wl,--no-demangle,--plugin,"./plugin_test.so" two_file_test_main.o two_file_test_1c.o.syms two_file_test_2.o.syms 2>$@; then \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ echo 1>&2 "Link of plugin_test_9 should have failed"; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ rm -f $@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ exit 1; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ fi +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@binary.txt: $(srcdir)/binary.in +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LN_S) $< $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_matching_def.so: ver_matching_def_pic.o $(srcdir)/version_script.map gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -O0 -Bgcctestdir/ -shared ver_matching_def_pic.o -Wl,--version-script=$(srcdir)/version_script.map +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_matching_def_pic.o: ver_matching_def.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ver_matching_test.stdout: ver_matching_def.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -T ver_matching_def.so | $(TEST_CXXFILT) > ver_matching_test.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_3: basic_test.o gcctestdir/ld script_test_3.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o -Wl,-T,$(srcdir)/script_test_3.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_3.stdout: script_test_3 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -SlW script_test_3 > script_test_3.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_4: basic_test.o gcctestdir/ld $(srcdir)/script_test_4.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o -Wl,-T,$(srcdir)/script_test_4.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_4.stdout: script_test_4 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -SlW script_test_4 > script_test_4.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_5: script_test_5.o gcctestdir/ld $(srcdir)/script_test_5.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ script_test_5.o -Wl,-T,$(srcdir)/script_test_5.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_5.stdout: script_test_5 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -SW script_test_5 > script_test_5.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_6: basic_test.o gcctestdir/ld $(srcdir)/script_test_6.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o -Wl,-T,$(srcdir)/script_test_6.t \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,-Ttext=0x10001000 -Wl,-Tdata=0x10200000 -Wl,-Tbss=0x10400000 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_6.stdout: script_test_6 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -SlW script_test_6 > script_test_6.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_7: basic_test.o gcctestdir/ld $(srcdir)/script_test_7.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o -Wl,-T,$(srcdir)/script_test_7.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_7.stdout: script_test_7 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -SlW script_test_7 > script_test_7.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_8: basic_test.o gcctestdir/ld $(srcdir)/script_test_7.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o -Wl,-T,$(srcdir)/script_test_7.t \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,-Ttext=0x20001000 -Wl,-Tdata=0x20200000 -Wl,-Tbss=0x20400000 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_8.stdout: script_test_8 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -SlW script_test_8 > script_test_8.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_9.o: script_test_9.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_9: gcctestdir/ld $(srcdir)/script_test_9.t script_test_9.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ script_test_9.o -Wl,-T,$(srcdir)/script_test_9.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_9.stdout: script_test_9 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -lW script_test_9 > script_test_9.stdout +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_11: gcctestdir/ld script_test_11_r.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ script_test_11_r.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_11_r.o: gcctestdir/ld $(srcdir)/script_test_11.t script_test_11.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld -r -o $@ -T $(srcdir)/script_test_11.t script_test_11.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@script_test_11.o: script_test_11.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -g -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dynamic_list: basic_test.o gcctestdir/ld $(srcdir)/dynamic_list.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--dynamic-list $(srcdir)/dynamic_list.t \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--dynamic-list-data \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--dynamic-list-cpp-new \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--dynamic-list-cpp-typeinfo +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dynamic_list.stdout: dynamic_list +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -W --dyn-syms dynamic_list > dynamic_list.stdout + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dynamic_list_lib1.so: gcctestdir/ld dynamic_list_lib1.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared dynamic_list_lib1.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dynamic_list_lib1.o: dynamic_list_lib1.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dynamic_list_lib2.o: dynamic_list_lib2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@libthin1.a: thin_archive_test_1.o alt/thin_archive_test_2.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) crT $@ $^ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@alt/libthin2.a: thin_archive_test_3.o alt/thin_archive_test_4.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) crT $@ $^ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@libthin3.a: thin_archive_test_1.o alt/thin_archive_test_4.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) crT $@ $^ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@alt/libthin4.a: alt/thin_archive_test_2.o thin_archive_test_3.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) crT $@ $^ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@libthinall.a: libthin3.a alt/libthin4.a +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) crT $@ $^ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@alt/thin_archive_test_2.o: thin_archive_test_2.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ test -d alt || mkdir -p alt +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@alt/thin_archive_test_4.o: thin_archive_test_4.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ test -d alt || mkdir -p alt +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_1: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms empty.o.syms gcctestdir/ld plugin_test.so +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms empty.o.syms 2>plugin_test_1.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_1.err: plugin_test_1 +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @touch plugin_test_1.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_2: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_shared_2.so gcctestdir/ld plugin_test.so +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,-R,.,--plugin,"./plugin_test.so" two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_shared_2.so 2>plugin_test_2.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_2.err: plugin_test_2 +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @touch plugin_test_2.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_3: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms empty.o.syms gcctestdir/ld plugin_test.so +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--export-dynamic -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms empty.o.syms 2>plugin_test_3.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_3.err: plugin_test_3 +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @touch plugin_test_3.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_4: two_file_test_main.o plugin_test_4.a gcctestdir/ld plugin_test.so +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_main.o -Wl,--whole-archive,plugin_test_4.a,--no-whole-archive 2>plugin_test_4.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_4.err: plugin_test_4 +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @touch plugin_test_4.err + +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_4.a: two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) cr $@ $^ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_5: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms unused.o.syms gcctestdir/ld plugin_test.so +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv",--gc-sections two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o.syms unused.o.syms +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_6: plugin_common_test_1.o.syms plugin_common_test_2.o.syms gcctestdir/ld plugin_test.so +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so" plugin_common_test_1.o.syms plugin_common_test_2.o.syms 2>plugin_test_6.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_6.err: plugin_test_6 +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @touch plugin_test_6.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_7: plugin_test_7_1.o plugin_test_7_1.o.syms plugin_test_7_2.o gcctestdir/ld plugin_test.so +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so",--gc-sections,--print-gc-sections plugin_test_7_1.o.syms plugin_test_7_2.o 2>plugin_test_7.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_7.o.syms: plugin_test_7 +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_7_1.o: plugin_test_7_1.c +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -DLTO -O0 -c -ffunction-sections -fdata-sections -o $@ $< +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_7_1_orig.o: plugin_test_7_1.c +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -c -ffunction-sections -fdata-sections -o $@ $< +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_7_1.o.syms: plugin_test_7_1_orig.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_7_2.o: plugin_test_7_2.c +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -c -ffunction-sections -fdata-sections -o $@ $< +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_7.err: plugin_test_7 +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_8.o: two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o ../ld-new plugin_test.so +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ../ld-new -r -o $@ --no-demangle --plugin "./plugin_test.so" two_file_test_main.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_8: plugin_test_8.o gcctestdir/ld +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle plugin_test_8.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_9.err: two_file_test_main.o two_file_test_1c.o.syms two_file_test_2.o.syms gcctestdir/ld plugin_test.so +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @echo $(CXXLINK) -Bgcctestdir/ -o plugin_test_9 -Wl,--no-demangle,--plugin,"./plugin_test.so" two_file_test_main.o two_file_test_1c.o.syms two_file_test_2.o.syms "2>$@" +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @if $(CXXLINK) -Bgcctestdir/ -o plugin_test_9 -Wl,--no-demangle,--plugin,"./plugin_test.so" two_file_test_main.o two_file_test_1c.o.syms two_file_test_2.o.syms 2>$@; then \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo 1>&2 "Link of plugin_test_9 should have failed"; \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@; \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ exit 1; \ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ fi # Make a .syms file that claims to define the symbol _Z4t16av. -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@two_file_test_1c.o.syms: two_file_test_1.o.syms two_file_test_1c.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ cp two_file_test_1.o.syms $@.tmp -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ grep "_Z4t16av" two_file_test_1b.o.syms >> $@.tmp -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ mv -f $@.tmp $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@two_file_test_1c.o: two_file_test_1.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ cp two_file_test_1.o $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_10: plugin_common_test_1.o.syms plugin_common_test_2.o gcctestdir/ld plugin_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so" plugin_common_test_1.o.syms plugin_common_test_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_10.sections: plugin_test_10 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -SW $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_11: two_file_test_main.o plugin_test_thin.a gcctestdir/ld plugin_test.so $(PLUGIN_TEST_11_SYMS) -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_main.o plugin_test_thin.a 2>plugin_test_11.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_11.err: plugin_test_11 -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ @touch plugin_test_11.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test_thin.a: two_file_test_1.o two_file_test_1b.o two_file_test_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ rm -f $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_AR) crT $@ $^ - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test.so: plugin_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(LINK) -Bgcctestdir/ -shared plugin_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_test.o: plugin_test.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(COMPILE) -O0 -c -fpic -o $@ $< - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@two_file_test_main.o.syms: two_file_test_main.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@two_file_test_1.o.syms: two_file_test_1.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@two_file_test_1b.o.syms: two_file_test_1b.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@two_file_test_2.o.syms: two_file_test_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_common_test_1.o.syms: plugin_common_test_1.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_common_test_2.o.syms: plugin_common_test_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@empty.o.syms: -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ @echo "" >$@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ @echo "Symbol table" >>$@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@plugin_test_tls: two_file_test_tls.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2_tls.o.syms gcctestdir/ld plugin_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_tls.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2_tls.o.syms 2>plugin_test_tls.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@plugin_test_tls.err: plugin_test_tls -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@ @touch plugin_test_tls.err - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@two_file_test_2_tls.o.syms: two_file_test_2_tls.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@@TLS_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@unused.o.syms: unused.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ @echo " 1: 00000000 4 FUNC GLOBAL DEFAULT 1 UNUSED" >>$@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@unused.o: unused.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(COMPILE) -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@unused.c: -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ @cp /dev/null $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_final_layout.o: plugin_final_layout.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fdata-sections -g -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_final_layout: plugin_final_layout.o plugin_section_order.so gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--plugin,"./plugin_section_order.so" plugin_final_layout.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_final_layout.stdout: plugin_final_layout -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_NM) -n --synthetic plugin_final_layout > plugin_final_layout.stdout -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_final_layout_readelf.stdout: plugin_final_layout -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -Wl plugin_final_layout > plugin_final_layout_readelf.stdout - -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_section_order.so: plugin_section_order.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(LINK) -Bgcctestdir/ -shared plugin_section_order.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_section_order.o: plugin_section_order.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(COMPILE) -O0 -c -fpic -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@exclude_libs_test.syms: exclude_libs_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@libexclude_libs_test_1.a: exclude_libs_test_1.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) rc $@ $^ -@GCC_TRUE@@NATIVE_LINKER_TRUE@libexclude_libs_test_2.a: exclude_libs_test_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) rc $@ $^ -@GCC_TRUE@@NATIVE_LINKER_TRUE@alt/libexclude_libs_test_3.a: exclude_libs_test_3.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d alt || mkdir -p alt -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) rc $@ $^ -@GCC_TRUE@@NATIVE_LINKER_TRUE@local_labels_test.o: ver_test_6.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -g -c -Wa,-L -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@local_labels_test: local_labels_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ local_labels_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@discard_locals_test.syms: discard_locals_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_1c.o.syms: two_file_test_1.o.syms two_file_test_1c.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp two_file_test_1.o.syms $@.tmp +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ grep "_Z4t16av" two_file_test_1b.o.syms >> $@.tmp +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ mv -f $@.tmp $@ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_1c.o: two_file_test_1.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp two_file_test_1.o $@ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_10: plugin_common_test_1.o.syms plugin_common_test_2.o gcctestdir/ld plugin_test.so +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so" plugin_common_test_1.o.syms plugin_common_test_2.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_10.sections: plugin_test_10 +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -SW $< >$@ 2>/dev/null +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_11: two_file_test_main.o plugin_test_thin.a gcctestdir/ld plugin_test.so $(PLUGIN_TEST_11_SYMS) +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_main.o plugin_test_thin.a 2>plugin_test_11.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_11.err: plugin_test_11 +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @touch plugin_test_11.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test_thin.a: two_file_test_1.o two_file_test_1b.o two_file_test_2.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) crT $@ $^ + +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test.so: plugin_test.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared plugin_test.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_test.o: plugin_test.c +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -c -fpic -o $@ $< + +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_main.o.syms: two_file_test_main.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_1.o.syms: two_file_test_1.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_1b.o.syms: two_file_test_1b.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_2.o.syms: two_file_test_2.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_common_test_1.o.syms: plugin_common_test_1.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_common_test_2.o.syms: plugin_common_test_2.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null + +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@empty.o.syms: +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @echo "" >$@ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @echo "Symbol table" >>$@ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@plugin_test_tls: two_file_test_tls.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2_tls.o.syms gcctestdir/ld plugin_test.so +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--no-demangle,--plugin,"./plugin_test.so",--plugin-opt,"_Z4f13iv" two_file_test_tls.o two_file_test_1.o.syms two_file_test_1b.o.syms two_file_test_2_tls.o.syms 2>plugin_test_tls.err +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@plugin_test_tls.err: plugin_test_tls +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ @touch plugin_test_tls.err + +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@two_file_test_2_tls.o.syms: two_file_test_2_tls.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@@TLS_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@unused.o.syms: unused.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @echo " 1: 00000000 4 FUNC GLOBAL DEFAULT 1 UNUSED" >>$@ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@unused.o: unused.c +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@unused.c: +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @cp /dev/null $@ +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_final_layout.o: plugin_final_layout.cc +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fdata-sections -g -o $@ $< +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_final_layout: plugin_final_layout.o plugin_section_order.so gcctestdir/ld +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--plugin,"./plugin_section_order.so" plugin_final_layout.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_final_layout.stdout: plugin_final_layout +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) -n --synthetic plugin_final_layout > plugin_final_layout.stdout +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_final_layout_readelf.stdout: plugin_final_layout +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -Wl plugin_final_layout > plugin_final_layout_readelf.stdout + +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_section_order.so: plugin_section_order.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared plugin_section_order.o +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@plugin_section_order.o: plugin_section_order.c +@GCC_TRUE@@PLUGINS_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -c -fpic -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exclude_libs_test.syms: exclude_libs_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@libexclude_libs_test_1.a: exclude_libs_test_1.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) rc $@ $^ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@libexclude_libs_test_2.a: exclude_libs_test_2.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) rc $@ $^ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@alt/libexclude_libs_test_3.a: exclude_libs_test_3.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ test -d alt || mkdir -p alt +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) rc $@ $^ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@local_labels_test.o: ver_test_6.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -g -c -Wa,-L -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@local_labels_test: local_labels_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ local_labels_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@discard_locals_test.syms: discard_locals_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null # '-Wa,-L' is required to preserve the local label used for testing. -@GCC_TRUE@@NATIVE_LINKER_TRUE@discard_locals_test.o: discard_locals_test.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -Wa,-L -o $@ $< - -@GCC_TRUE@@NATIVE_LINKER_TRUE@discard_locals_relocatable_test1.syms: discard_locals_relocatable_test1.out -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@discard_locals_relocatable_test.o: discard_locals_relocatable_test.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -Wa,-L -fPIC -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@discard_locals_relocatable_test1.out: discard_locals_relocatable_test.o ../ld-new -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ../ld-new --discard-locals -relocatable -o $@ $< - -@GCC_TRUE@@NATIVE_LINKER_TRUE@discard_locals_relocatable_test2.syms: discard_locals_relocatable_test2.out -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null -@GCC_TRUE@@NATIVE_LINKER_TRUE@discard_locals_relocatable_test2.out: discard_locals_relocatable_test.o ../ld-new -@GCC_TRUE@@NATIVE_LINKER_TRUE@ ../ld-new --discard-all -relocatable -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@libhidden.so: hidden_test_1.c gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -Bgcctestdir/ -g -shared -fPIC -w -o $@ $(srcdir)/hidden_test_1.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@hidden_test: hidden_test_main.o libhidden.so gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,-R,. hidden_test_main.o libhidden.so 2>hidden_test.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@hidden_test.err: hidden_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ @touch hidden_test.err -@GCC_TRUE@@NATIVE_LINKER_TRUE@retain_symbols_file_test.so: basic_pic_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo 'main' > retain_symbols_file_test.in -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo 't1' >> retain_symbols_file_test.in -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo '_ZN4t16bC1Ev' >> retain_symbols_file_test.in -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo '_ZNK4t20a3getEv' >> retain_symbols_file_test.in -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo '_Z3t18v' >> retain_symbols_file_test.in -@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo '__tcf_0' >> retain_symbols_file_test.in -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-retain-symbols-file,retain_symbols_file_test.in basic_pic_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@retain_symbols_file_test.stdout: retain_symbols_file_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -C retain_symbols_file_test.so > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@permission_test: basic_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ umask 022; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ touch $@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ chmod 600 $@; \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@searched_file_test_lib.o: searched_file_test_lib.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@alt/searched_file_test_lib.a: searched_file_test_lib.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d alt || mkdir -p alt -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) rc $@ $^ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@discard_locals_test.o: discard_locals_test.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -Wa,-L -o $@ $< + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@discard_locals_relocatable_test1.syms: discard_locals_relocatable_test1.out +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@discard_locals_relocatable_test.o: discard_locals_relocatable_test.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -Wa,-L -fPIC -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@discard_locals_relocatable_test1.out: discard_locals_relocatable_test.o ../ld-new +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ../ld-new --discard-locals -relocatable -o $@ $< + +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@discard_locals_relocatable_test2.syms: discard_locals_relocatable_test2.out +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@discard_locals_relocatable_test2.out: discard_locals_relocatable_test.o ../ld-new +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ ../ld-new --discard-all -relocatable -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@libhidden.so: hidden_test_1.c gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -Bgcctestdir/ -g -shared -fPIC -w -o $@ $(srcdir)/hidden_test_1.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@hidden_test: hidden_test_main.o libhidden.so gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,-R,. hidden_test_main.o libhidden.so 2>hidden_test.err +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@hidden_test.err: hidden_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @touch hidden_test.err +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@retain_symbols_file_test.so: basic_pic_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo 'main' > retain_symbols_file_test.in +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo 't1' >> retain_symbols_file_test.in +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo '_ZN4t16bC1Ev' >> retain_symbols_file_test.in +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo '_ZNK4t20a3getEv' >> retain_symbols_file_test.in +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo '_Z3t18v' >> retain_symbols_file_test.in +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ echo '__tcf_0' >> retain_symbols_file_test.in +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-retain-symbols-file,retain_symbols_file_test.in basic_pic_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@retain_symbols_file_test.stdout: retain_symbols_file_test.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) -C retain_symbols_file_test.so > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@permission_test: basic_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ umask 022; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ rm -f $@; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ touch $@; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ chmod 600 $@; \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@searched_file_test_lib.o: searched_file_test_lib.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@alt/searched_file_test_lib.a: searched_file_test_lib.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ test -d alt || mkdir -p alt +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) rc $@ $^ # We invoke the linker directly since gcc may include additional objects that # uses symbol versioning. -@GCC_TRUE@@NATIVE_LINKER_TRUE@libno_version_test.so: no_version_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -shared -o $@ no_version_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@no_version_test.o: no_version_test.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c -fPIC $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@no_version_test.stdout: libno_version_test.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -h $< > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@libno_version_test.so: no_version_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld -shared -o $@ no_version_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@no_version_test.o: no_version_test.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c -fPIC $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@no_version_test.stdout: libno_version_test.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_OBJDUMP) -h $< > $@ # Test STT_GNU_IFUNC symbols. -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmod1.o: ifuncmod1.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmod1.so: ifuncmod1.o gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared ifuncmod1.o - -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncdep1.o: ifuncmod1.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< - -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1pic.o: ifuncmain1.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1pie.o: ifuncmain1.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIE -o $@ $< -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1picstatic: ifuncmain1pic.o ifuncmod1.o gcctestdir/ld -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -static ifuncmain1pic.o ifuncmod1.o -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1pic: ifuncmain1pic.o ifuncmod1.so gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ ifuncmain1pic.o ifuncmod1.so -Wl,-R,. -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1vispic.o: ifuncmain1vis.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1vispic: ifuncmain1vispic.o ifuncmod1.so gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ ifuncmain1pic.o ifuncmod1.so -Wl,-R,. -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1staticpic: ifuncmain1pic.o ifuncmod1.o gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ ifuncmain1pic.o ifuncmod1.o -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1pie: ifuncmain1pie.o ifuncmod1.so gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -pie ifuncmain1pie.o ifuncmod1.so -Wl,-R,. -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1vispie.o: ifuncmain1vis.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIE -o $@ $< -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1vispie: ifuncmain1vispie.o ifuncmod1.so gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -pie ifuncmain1vispie.o ifuncmod1.so -Wl,-R,. -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain1staticpie: ifuncmain1pie.o ifuncmod1.o gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -pie ifuncmain1pie.o ifuncmod1.o - -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain2pic.o: ifuncmain2.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< - -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncdep2pic.o: ifuncdep2.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain2picstatic: ifuncmain2pic.o ifuncdep2pic.o gcctestdir/ld -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -static ifuncmain2pic.o ifuncdep2pic.o -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain2pic: ifuncmain2pic.o ifuncdep2pic.o gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ ifuncmain2pic.o ifuncdep2pic.o - -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmod3.o: ifuncmod3.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmod3.so: ifuncmod3.o gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared ifuncmod3.o - -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain4pic.o: ifuncmain4.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain4picstatic: ifuncmain4pic.o gcctestdir/ld -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -static ifuncmain4pic.o - -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain5pic.o: ifuncmain5.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< - -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain5pie.o: ifuncmain5.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIE -o $@ $< - -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmod5.o: ifuncmod5.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmod5.so: ifuncmod5.o gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared ifuncmod5.o - -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncdep5.o: ifuncmod5.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain5picstatic: ifuncmain5pic.o ifuncmod5.o gcctestdir/ld -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -static ifuncmain5pic.o ifuncmod5.o -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain5pic: ifuncmain5pic.o ifuncmod5.so gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ ifuncmain5pic.o ifuncmod5.so -Wl,-R,. -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain5staticpic: ifuncmain5pic.o ifuncmod5.o gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ ifuncmain5pic.o ifuncmod5.o -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain5pie: ifuncmain5pie.o ifuncmod5.so gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -pie ifuncmain5pie.o ifuncmod5.so -Wl,-R,. - -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain6pie.o: ifuncmain6pie.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIE -o $@ $< - -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmod6.o: ifuncmod6.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmod6.so: ifuncmod6.o gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared ifuncmod6.o -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain6pie: ifuncmain6pie.o ifuncmod6.so gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -pie ifuncmain6pie.o ifuncmod6.so -Wl,-R,. - -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain7pic.o: ifuncmain7.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< - -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain7pie.o: ifuncmain7.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIE -o $@ $< -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain7picstatic: ifuncmain7pic.o gcctestdir/ld -@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -static ifuncmain7pic.o -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain7pic: ifuncmain7pic.o gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ ifuncmain7pic.o -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncmain7pie: ifuncmain7pie.o gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -pie ifuncmain7pie.o -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncvar1_pic.o: ifuncvar1.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncvar2_pic.o: ifuncvar2.c -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ifuncvar.so: ifuncvar1_pic.o ifuncvar2_pic.o gcctestdir/ld -@GCC_TRUE@@IFUNC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared ifuncvar1_pic.o ifuncvar2_pic.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@strong_ref_weak_def_2.o: strong_ref_weak_def_2.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c -fPIC $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@strong_ref_weak_def_2.so: strong_ref_weak_def_2.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -shared -o $@ strong_ref_weak_def_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@strong_ref_weak_def_1.o: strong_ref_weak_def_1.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c -fPIC $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@strong_ref_weak_def_1.so: strong_ref_weak_def_1.o strong_ref_weak_def_2.so \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -shared -o $@ strong_ref_weak_def_1.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ strong_ref_weak_def_2.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@strong_ref_weak_def.stdout: strong_ref_weak_def_1.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -sWD $< > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@dyn_weak_ref_2.o: dyn_weak_ref_2.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c -fPIC $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@dyn_weak_ref_2.so: dyn_weak_ref_2.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -shared -o $@ dyn_weak_ref_2.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@dyn_weak_ref_1.o: dyn_weak_ref_1.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c -fPIC $< +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmod1.o: ifuncmod1.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmod1.so: ifuncmod1.o gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared ifuncmod1.o + +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncdep1.o: ifuncmod1.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< + +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1pic.o: ifuncmain1.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1pie.o: ifuncmain1.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIE -o $@ $< +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1picstatic: ifuncmain1pic.o ifuncmod1.o gcctestdir/ld +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -static ifuncmain1pic.o ifuncmod1.o +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1pic: ifuncmain1pic.o ifuncmod1.so gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ ifuncmain1pic.o ifuncmod1.so -Wl,-R,. +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1vispic.o: ifuncmain1vis.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1vispic: ifuncmain1vispic.o ifuncmod1.so gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ ifuncmain1pic.o ifuncmod1.so -Wl,-R,. +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1staticpic: ifuncmain1pic.o ifuncmod1.o gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ ifuncmain1pic.o ifuncmod1.o +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1pie: ifuncmain1pie.o ifuncmod1.so gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -pie ifuncmain1pie.o ifuncmod1.so -Wl,-R,. +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1vispie.o: ifuncmain1vis.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIE -o $@ $< +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1vispie: ifuncmain1vispie.o ifuncmod1.so gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -pie ifuncmain1vispie.o ifuncmod1.so -Wl,-R,. +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain1staticpie: ifuncmain1pie.o ifuncmod1.o gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -pie ifuncmain1pie.o ifuncmod1.o + +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain2pic.o: ifuncmain2.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< + +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncdep2pic.o: ifuncdep2.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain2picstatic: ifuncmain2pic.o ifuncdep2pic.o gcctestdir/ld +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -static ifuncmain2pic.o ifuncdep2pic.o +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain2pic: ifuncmain2pic.o ifuncdep2pic.o gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ ifuncmain2pic.o ifuncdep2pic.o + +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmod3.o: ifuncmod3.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmod3.so: ifuncmod3.o gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared ifuncmod3.o + +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain4pic.o: ifuncmain4.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain4picstatic: ifuncmain4pic.o gcctestdir/ld +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -static ifuncmain4pic.o + +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain5pic.o: ifuncmain5.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< + +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain5pie.o: ifuncmain5.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIE -o $@ $< + +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmod5.o: ifuncmod5.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmod5.so: ifuncmod5.o gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared ifuncmod5.o + +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncdep5.o: ifuncmod5.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain5picstatic: ifuncmain5pic.o ifuncmod5.o gcctestdir/ld +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -static ifuncmain5pic.o ifuncmod5.o +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain5pic: ifuncmain5pic.o ifuncmod5.so gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ ifuncmain5pic.o ifuncmod5.so -Wl,-R,. +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain5staticpic: ifuncmain5pic.o ifuncmod5.o gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ ifuncmain5pic.o ifuncmod5.o +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain5pie: ifuncmain5pie.o ifuncmod5.so gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -pie ifuncmain5pie.o ifuncmod5.so -Wl,-R,. + +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain6pie.o: ifuncmain6pie.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIE -o $@ $< + +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmod6.o: ifuncmod6.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmod6.so: ifuncmod6.o gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared ifuncmod6.o +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain6pie: ifuncmain6pie.o ifuncmod6.so gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -pie ifuncmain6pie.o ifuncmod6.so -Wl,-R,. + +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain7pic.o: ifuncmain7.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< + +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain7pie.o: ifuncmain7.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIE -o $@ $< +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain7picstatic: ifuncmain7pic.o gcctestdir/ld +@GCC_TRUE@@HAVE_STATIC_TRUE@@IFUNC_STATIC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -static ifuncmain7pic.o +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain7pic: ifuncmain7pic.o gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ ifuncmain7pic.o +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncmain7pie: ifuncmain7pie.o gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -pie ifuncmain7pie.o +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncvar1_pic.o: ifuncvar1.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncvar2_pic.o: ifuncvar2.c +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -fPIC -o $@ $< +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ifuncvar.so: ifuncvar1_pic.o ifuncvar2_pic.o gcctestdir/ld +@GCC_TRUE@@IFUNC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -shared ifuncvar1_pic.o ifuncvar2_pic.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@strong_ref_weak_def_2.o: strong_ref_weak_def_2.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c -fPIC $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@strong_ref_weak_def_2.so: strong_ref_weak_def_2.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld -shared -o $@ strong_ref_weak_def_2.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@strong_ref_weak_def_1.o: strong_ref_weak_def_1.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c -fPIC $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@strong_ref_weak_def_1.so: strong_ref_weak_def_1.o strong_ref_weak_def_2.so \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld -shared -o $@ strong_ref_weak_def_1.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ strong_ref_weak_def_2.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@strong_ref_weak_def.stdout: strong_ref_weak_def_1.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sWD $< > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dyn_weak_ref_2.o: dyn_weak_ref_2.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c -fPIC $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dyn_weak_ref_2.so: dyn_weak_ref_2.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld -shared -o $@ dyn_weak_ref_2.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dyn_weak_ref_1.o: dyn_weak_ref_1.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c -fPIC $< # We intentionally put dyn_weak_ref_2.so in front of dyn_weak_ref_1.o # so that the weak ref there goes to gold's symbol table first. -@GCC_TRUE@@NATIVE_LINKER_TRUE@dyn_weak_ref_1.so: dyn_weak_ref_1.o dyn_weak_ref_2.so gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -shared -o $@ dyn_weak_ref_2.so dyn_weak_ref_1.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@dyn_weak_ref.stdout: dyn_weak_ref_1.so -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -sWD $< > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@start_lib_test: start_lib_test_main.o libstart_lib_test.a start_lib_test_2.o start_lib_test_3.o \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -o $@ start_lib_test_main.o -L. -lstart_lib_test \ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--start-lib start_lib_test_2.o start_lib_test_3.o -Wl,--end-lib -@GCC_TRUE@@NATIVE_LINKER_TRUE@libstart_lib_test.a: start_lib_test_1.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) rc $@ $^ -@GCC_TRUE@@NATIVE_LINKER_TRUE@memory_test.o: memory_test.s -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@memory_test: memory_test.o gcctestdir/ld $(srcdir)/memory_test.t -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -nostartfiles -nostdlib -z max-page-size=0x1000 -z common-page-size=0x1000 -Wl,-T,$(srcdir)/memory_test.t -o $@ memory_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@memory_test.stdout: memory_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -lWS $< > $@ -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@gdb_index_test.o: gdb_index_test.cc -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g -gno-pubnames -c -o $@ $< -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@gdb_index_test_1: gdb_index_test.o gcctestdir/ld -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--gdb-index $< -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@gdb_index_test_1.stdout: gdb_index_test_1 -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) --debug-dump=gdb_index $< > $@ -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@gdb_index_test_cdebug.o: gdb_index_test.cc -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g -Wa,--compress-debug-sections -c -o $@ $< -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@gdb_index_test_2: gdb_index_test_cdebug.o gcctestdir/ld -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--gdb-index $< -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@gdb_index_test_2.stdout: gdb_index_test_2 -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) --debug-dump=gdb_index $< > $@ -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@gdb_index_test_3.o: gdb_index_test_3.c -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -g -c -o $@ $< -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@gdb_index_test_3: gdb_index_test_3.o gcctestdir/ld -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,--gdb-index,--fatal-warnings $< -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@gdb_index_test_3.stdout: gdb_index_test_3 -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) --debug-dump=gdb_index $< > $@ -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@gdb_index_test_pub.o: gdb_index_test.cc -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g -gpubnames -c -o $@ $< -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@gdb_index_test_4: gdb_index_test_pub.o gcctestdir/ld -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--gdb-index $< -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@gdb_index_test_4.stdout: gdb_index_test_4 -@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) --debug-dump=gdb_index $< > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_4.syms: ehdr_start_test_4 -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) ehdr_start_test_4 > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_4: ehdr_start_test_4.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,-Ttext=0x100100 $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@ehdr_start_test_4.o: ehdr_start_test.cc -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -DEHDR_START_WEAK -o $@ $< -@GCC_TRUE@@NATIVE_LINKER_TRUE@defsym_test.syms: defsym_test -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< > $@ -@GCC_TRUE@@NATIVE_LINKER_TRUE@defsym_test: defsym_test.o gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,--defsym=bar=foo defsym_test.o -@GCC_TRUE@@NATIVE_LINKER_TRUE@defsym_test.o: defsym_test.c -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dyn_weak_ref_1.so: dyn_weak_ref_1.o dyn_weak_ref_2.so gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld -shared -o $@ dyn_weak_ref_2.so dyn_weak_ref_1.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@dyn_weak_ref.stdout: dyn_weak_ref_1.so +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sWD $< > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@start_lib_test: start_lib_test_main.o libstart_lib_test.a start_lib_test_2.o start_lib_test_3.o \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -o $@ start_lib_test_main.o -L. -lstart_lib_test \ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ -Wl,--start-lib start_lib_test_2.o start_lib_test_3.o -Wl,--end-lib +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@libstart_lib_test.a: start_lib_test_1.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) rc $@ $^ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@memory_test.o: memory_test.s +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@memory_test: memory_test.o gcctestdir/ld $(srcdir)/memory_test.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -nostartfiles -nostdlib -z max-page-size=0x1000 -z common-page-size=0x1000 -Wl,-T,$(srcdir)/memory_test.t -o $@ memory_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@memory_test.stdout: memory_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -lWS $< > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@memory_test_inc_1.t: $(srcdir)/memory_test_inc_1.t.src +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp $< $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@memory_test_inc_2.t: $(srcdir)/memory_test_inc_2.t.src +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp $< $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@memory_test_inc_3.t: $(srcdir)/memory_test_inc_3.t.src +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp $< $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@memory_test_2: memory_test.o gcctestdir/ld $(srcdir)/memory_test.t memory_test_inc_1.t memory_test_inc_2.t memory_test_inc_3.t +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -nostartfiles -nostdlib -z max-page-size=0x1000 -z common-page-size=0x1000 -Wl,-T,$(srcdir)/memory_test.t -o $@ memory_test.o +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gdb_index_test.o: gdb_index_test.cc +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g -gno-pubnames -c -o $@ $< +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gdb_index_test_1: gdb_index_test.o gcctestdir/ld +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--gdb-index $< +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gdb_index_test_1.stdout: gdb_index_test_1 +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) --debug-dump=gdb_index $< > $@ +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gdb_index_test_cdebug.o: gdb_index_test.cc +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g -Wa,--compress-debug-sections -c -o $@ $< +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gdb_index_test_2: gdb_index_test_cdebug.o gcctestdir/ld +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--gdb-index $< +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gdb_index_test_2.stdout: gdb_index_test_2 +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@HAVE_ZLIB_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) --debug-dump=gdb_index $< > $@ +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gdb_index_test_3.o: gdb_index_test_3.c +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -g -c -o $@ $< +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gdb_index_test_3: gdb_index_test_3.o gcctestdir/ld +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,--gdb-index,--fatal-warnings $< +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gdb_index_test_3.stdout: gdb_index_test_3 +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) --debug-dump=gdb_index $< > $@ +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gdb_index_test_pub.o: gdb_index_test.cc +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g -gpubnames -c -o $@ $< +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gdb_index_test_4: gdb_index_test_pub.o gcctestdir/ld +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--gdb-index $< +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@gdb_index_test_4.stdout: gdb_index_test_4 +@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) --debug-dump=gdb_index $< > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_4.syms: ehdr_start_test_4 +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_NM) ehdr_start_test_4 > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_4: ehdr_start_test_4.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,-Ttext=0x100100 $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ehdr_start_test_4.o: ehdr_start_test.cc +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -DEHDR_START_WEAK -o $@ $< +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@defsym_test.syms: defsym_test +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< > $@ +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@defsym_test: defsym_test.o gcctestdir/ld +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,--defsym=bar=foo defsym_test.o +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@defsym_test.o: defsym_test.c +@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(COMPILE) -c -o $@ $< # End-to-end incremental linking tests. # Incremental linking is currently supported only on the x86_64 target. -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_1_v1_ndebug.o: two_file_test_1_v1.cc -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g0 -c -o $@ $< -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_1_ndebug.o: two_file_test_1.cc -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g0 -c -o $@ $< -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_1b_ndebug.o: two_file_test_1b.cc -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g0 -c -o $@ $< -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_2_ndebug.o: two_file_test_2.cc -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g0 -c -o $@ $< -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@two_file_test_main_ndebug.o: two_file_test_main.cc -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g0 -c -o $@ $< -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@incremental_test_2: two_file_test_1_v1_ndebug.o two_file_test_1_ndebug.o two_file_test_1b_ndebug.o \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_2_ndebug.o two_file_test_main_ndebug.o gcctestdir/ld -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f two_file_test_1_v1_ndebug.o two_file_test_tmp_2.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ two_file_test_tmp_2.o two_file_test_1b_ndebug.o two_file_test_2_ndebug.o two_file_test_main_ndebug.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ @sleep 1 -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f two_file_test_1_ndebug.o two_file_test_tmp_2.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ two_file_test_tmp_2.o two_file_test_1b_ndebug.o two_file_test_2_ndebug.o two_file_test_main_ndebug.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@incremental_test_3: two_file_test_1.o two_file_test_1b_v1.o two_file_test_1b.o \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_2.o two_file_test_main.o gcctestdir/ld -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f two_file_test_1b_v1.o two_file_test_tmp_3.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ two_file_test_1.o two_file_test_tmp_3.o two_file_test_2.o two_file_test_main.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ @sleep 1 -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f two_file_test_1b.o two_file_test_tmp_3.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ two_file_test_1.o two_file_test_tmp_3.o two_file_test_2.o two_file_test_main.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@incremental_test_4: two_file_test_1.o two_file_test_1b.o two_file_test_2_v1.o \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_2.o two_file_test_main.o gcctestdir/ld -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f two_file_test_2_v1.o two_file_test_tmp_4.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ two_file_test_1.o two_file_test_1b.o two_file_test_tmp_4.o two_file_test_main.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ mv -f incremental_test_4 incremental_test_4.base -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ @sleep 1 -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f two_file_test_2.o two_file_test_tmp_4.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update,--incremental-base=incremental_test_4.base -Bgcctestdir/ two_file_test_1.o two_file_test_1b.o two_file_test_tmp_4.o two_file_test_main.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@incremental_test_5: two_file_test_1.o two_file_test_1b_v1.o two_file_test_1b.o \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_2.o two_file_test_main.o gcctestdir/ld -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f two_file_test_1b_v1.o two_file_test_tmp_5.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) rc two_file_test_5.a two_file_test_1.o two_file_test_tmp_5.o two_file_test_2.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ two_file_test_main.o two_file_test_5.a -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ @sleep 1 -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f two_file_test_1b.o two_file_test_tmp_5.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) rc two_file_test_5.a two_file_test_1.o two_file_test_tmp_5.o two_file_test_2.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ two_file_test_main.o two_file_test_5.a -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@incremental_test_6: two_file_test_1.o two_file_test_1b_v1.o two_file_test_1b.o \ -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ two_file_test_2.o two_file_test_main.o gcctestdir/ld -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f two_file_test_1b.o two_file_test_tmp_6.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) rc two_file_test_6.a two_file_test_1.o two_file_test_tmp_6.o two_file_test_2.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ two_file_test_main.o two_file_test_6.a -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ @sleep 1 -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f two_file_test_1b_v1.o two_file_test_tmp_6.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_AR) rc two_file_test_6.a two_file_test_1.o two_file_test_tmp_6.o two_file_test_2.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ two_file_test_main.o -Wl,--incremental-unchanged two_file_test_6.a -Wl,--incremental-unknown -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@incremental_copy_test: copy_test_v1.o copy_test.o copy_test_1.so copy_test_2.so -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f copy_test_v1.o copy_test_tmp.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ -Wl,-R,. -Wl,--no-as-needed copy_test_tmp.o copy_test_1.so copy_test_2.so -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ @sleep 1 -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f copy_test.o copy_test_tmp.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ -Wl,-R,. -Wl,--no-as-needed copy_test_tmp.o copy_test_1.so copy_test_2.so -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@incremental_common_test_1: common_test_1_v1.o common_test_1_v2.o gcctestdir/ld -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f common_test_1_v1.o common_test_1_tmp.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ common_test_1_tmp.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ @sleep 1 -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f common_test_1_v2.o common_test_1_tmp.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ common_test_1_tmp.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@incremental_comdat_test_1: incr_comdat_test_1.o incr_comdat_test_2_v1.o incr_comdat_test_2_v2.o incr_comdat_test_2_v3.o gcctestdir/ld -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f incr_comdat_test_2_v1.o incr_comdat_test_1_tmp.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Bgcctestdir/ incr_comdat_test_1.o incr_comdat_test_1_tmp.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ @sleep 1 -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f incr_comdat_test_2_v2.o incr_comdat_test_1_tmp.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ incr_comdat_test_1.o incr_comdat_test_1_tmp.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ @sleep 1 -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ cp -f incr_comdat_test_2_v3.o incr_comdat_test_1_tmp.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Bgcctestdir/ incr_comdat_test_1.o incr_comdat_test_1_tmp.o -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_x86_64_bnd_1.o: exception_test_1.cc gcctestdir/as -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -Bgcctestdir/ -Wa,-madd-bnd-prefix -o $@ $< -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@exception_x86_64_bnd_2.o: exception_test_2.cc gcctestdir/as -@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -Bgcctestdir/ -Wa,-madd-bnd-prefix -o $@ $< +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_1_v1_ndebug.o: two_file_test_1_v1.cc +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g0 -c -o $@ $< +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_1_ndebug.o: two_file_test_1.cc +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g0 -c -o $@ $< +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_1b_ndebug.o: two_file_test_1b.cc +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g0 -c -o $@ $< +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_2_ndebug.o: two_file_test_2.cc +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g0 -c -o $@ $< +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@two_file_test_main_ndebug.o: two_file_test_main.cc +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -g0 -c -o $@ $< +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@incremental_test_2: two_file_test_1_v1_ndebug.o two_file_test_1_ndebug.o two_file_test_1b_ndebug.o \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_2_ndebug.o two_file_test_main_ndebug.o gcctestdir/ld +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f two_file_test_1_v1_ndebug.o two_file_test_tmp_2.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ two_file_test_tmp_2.o two_file_test_1b_ndebug.o two_file_test_2_ndebug.o two_file_test_main_ndebug.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @sleep 1 +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f two_file_test_1_ndebug.o two_file_test_tmp_2.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ two_file_test_tmp_2.o two_file_test_1b_ndebug.o two_file_test_2_ndebug.o two_file_test_main_ndebug.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@incremental_test_3: two_file_test_1.o two_file_test_1b_v1.o two_file_test_1b.o \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_2.o two_file_test_main.o gcctestdir/ld +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f two_file_test_1b_v1.o two_file_test_tmp_3.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ two_file_test_1.o two_file_test_tmp_3.o two_file_test_2.o two_file_test_main.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @sleep 1 +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f two_file_test_1b.o two_file_test_tmp_3.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ two_file_test_1.o two_file_test_tmp_3.o two_file_test_2.o two_file_test_main.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@incremental_test_4: two_file_test_1.o two_file_test_1b.o two_file_test_2_v1.o \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_2.o two_file_test_main.o gcctestdir/ld +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f two_file_test_2_v1.o two_file_test_tmp_4.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ two_file_test_1.o two_file_test_1b.o two_file_test_tmp_4.o two_file_test_main.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ mv -f incremental_test_4 incremental_test_4.base +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @sleep 1 +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f two_file_test_2.o two_file_test_tmp_4.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update,--incremental-base=incremental_test_4.base -Wl,-z,norelro -Bgcctestdir/ two_file_test_1.o two_file_test_1b.o two_file_test_tmp_4.o two_file_test_main.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@incremental_test_5: two_file_test_1.o two_file_test_1b_v1.o two_file_test_1b.o \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_2.o two_file_test_main.o gcctestdir/ld +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f two_file_test_1b_v1.o two_file_test_tmp_5.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) rc two_file_test_5.a two_file_test_1.o two_file_test_tmp_5.o two_file_test_2.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ two_file_test_main.o two_file_test_5.a +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @sleep 1 +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f two_file_test_1b.o two_file_test_tmp_5.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) rc two_file_test_5.a two_file_test_1.o two_file_test_tmp_5.o two_file_test_2.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ two_file_test_main.o two_file_test_5.a +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@incremental_test_6: two_file_test_1.o two_file_test_1b_v1.o two_file_test_1b.o \ +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ two_file_test_2.o two_file_test_main.o gcctestdir/ld +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f two_file_test_1b.o two_file_test_tmp_6.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) rc two_file_test_6.a two_file_test_1.o two_file_test_tmp_6.o two_file_test_2.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ two_file_test_main.o two_file_test_6.a +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @sleep 1 +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f two_file_test_1b_v1.o two_file_test_tmp_6.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(TEST_AR) rc two_file_test_6.a two_file_test_1.o two_file_test_tmp_6.o two_file_test_2.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ two_file_test_main.o -Wl,--incremental-unchanged two_file_test_6.a -Wl,--incremental-unknown +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@incremental_copy_test: copy_test_v1.o copy_test.o copy_test_1.so copy_test_2.so +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f copy_test_v1.o copy_test_tmp.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ -Wl,-R,. -Wl,--no-as-needed copy_test_tmp.o copy_test_1.so copy_test_2.so +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @sleep 1 +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f copy_test.o copy_test_tmp.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ -Wl,-R,. -Wl,--no-as-needed copy_test_tmp.o copy_test_1.so copy_test_2.so +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@incremental_common_test_1: common_test_1_v1.o common_test_1_v2.o gcctestdir/ld +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f common_test_1_v1.o common_test_1_tmp.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ common_test_1_tmp.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @sleep 1 +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f common_test_1_v2.o common_test_1_tmp.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ common_test_1_tmp.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@incremental_comdat_test_1: incr_comdat_test_1.o incr_comdat_test_2_v1.o incr_comdat_test_2_v2.o incr_comdat_test_2_v3.o gcctestdir/ld +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f incr_comdat_test_2_v1.o incr_comdat_test_1_tmp.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-full,--incremental-patch=100 -Wl,-z,norelro -Bgcctestdir/ incr_comdat_test_1.o incr_comdat_test_1_tmp.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @sleep 1 +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f incr_comdat_test_2_v2.o incr_comdat_test_1_tmp.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ incr_comdat_test_1.o incr_comdat_test_1_tmp.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ @sleep 1 +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ cp -f incr_comdat_test_2_v3.o incr_comdat_test_1_tmp.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXLINK) -Wl,--incremental-update -Wl,-z,norelro -Bgcctestdir/ incr_comdat_test_1.o incr_comdat_test_1_tmp.o +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_x86_64_bnd_1.o: exception_test_1.cc gcctestdir/as +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -Bgcctestdir/ -Wa,-madd-bnd-prefix -o $@ $< +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@exception_x86_64_bnd_2.o: exception_test_2.cc gcctestdir/as +@DEFAULT_TARGET_X86_64_TRUE@@GCC_TRUE@@TEST_AS_NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -Bgcctestdir/ -Wa,-madd-bnd-prefix -o $@ $< @NATIVE_OR_CROSS_LINKER_TRUE@script_test_10.o: script_test_10.s @NATIVE_OR_CROSS_LINKER_TRUE@ $(TEST_AS) -o $@ $< @NATIVE_OR_CROSS_LINKER_TRUE@script_test_10: $(srcdir)/script_test_10.t script_test_10.o gcctestdir/ld diff --git a/binutils-2.25/gold/testsuite/arm_abs_global.sh b/binutils-2.25/gold/testsuite/arm_abs_global.sh index aed8ef3..7445b1c 100755 --- a/binutils-2.25/gold/testsuite/arm_abs_global.sh +++ b/binutils-2.25/gold/testsuite/arm_abs_global.sh @@ -2,7 +2,7 @@ # arm_abs_global.sh -- test ARM absolute relocations against global symbols. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com> # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/arm_attr_merge.sh b/binutils-2.25/gold/testsuite/arm_attr_merge.sh index 6fbe9bf..a579bb4 100755 --- a/binutils-2.25/gold/testsuite/arm_attr_merge.sh +++ b/binutils-2.25/gold/testsuite/arm_attr_merge.sh @@ -2,7 +2,7 @@ # arm_attr_merge.sh -- test ARM attributes merging. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com> # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/arm_branch_in_range.sh b/binutils-2.25/gold/testsuite/arm_branch_in_range.sh index 9ec3827..b034c9b 100755 --- a/binutils-2.25/gold/testsuite/arm_branch_in_range.sh +++ b/binutils-2.25/gold/testsuite/arm_branch_in_range.sh @@ -3,7 +3,7 @@ # arm_branch_in_range.sh -- test ARM/THUMB/THUMB branch instructions whose # targets are just within the branch range limits. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com> # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/arm_branch_out_of_range.sh b/binutils-2.25/gold/testsuite/arm_branch_out_of_range.sh index 1cc8936..aba1873 100755 --- a/binutils-2.25/gold/testsuite/arm_branch_out_of_range.sh +++ b/binutils-2.25/gold/testsuite/arm_branch_out_of_range.sh @@ -3,7 +3,7 @@ # arm_branch_out_of_range.sh -- test ARM/THUMB/THUMB branch instructions whose # targets are just out of the branch range limits. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com> # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/arm_branch_range.t b/binutils-2.25/gold/testsuite/arm_branch_range.t index 1b04ce0..7db4c64 100644 --- a/binutils-2.25/gold/testsuite/arm_branch_range.t +++ b/binutils-2.25/gold/testsuite/arm_branch_range.t @@ -1,6 +1,6 @@ /* arm_banch_range.t -- linker script to test ARM branch range. - Copyright (C) 2010-2015 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Doug Kwan <dougkwan@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/arm_cortex_a8.sh b/binutils-2.25/gold/testsuite/arm_cortex_a8.sh index d6341d2..cd7c3c8 100755 --- a/binutils-2.25/gold/testsuite/arm_cortex_a8.sh +++ b/binutils-2.25/gold/testsuite/arm_cortex_a8.sh @@ -2,7 +2,7 @@ # arm_cortex_a8.sh -- a test case for the Cortex-A8 workaround. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/arm_exidx_test.sh b/binutils-2.25/gold/testsuite/arm_exidx_test.sh index 43dd579..9f7bd75 100755 --- a/binutils-2.25/gold/testsuite/arm_exidx_test.sh +++ b/binutils-2.25/gold/testsuite/arm_exidx_test.sh @@ -2,7 +2,7 @@ # arm_exidx_test.sh -- a test case for .ARM.exidx section. -# Copyright (C) 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 2011-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/arm_farcall_arm_arm.sh b/binutils-2.25/gold/testsuite/arm_farcall_arm_arm.sh index 187a950..ae59dd2 100755 --- a/binutils-2.25/gold/testsuite/arm_farcall_arm_arm.sh +++ b/binutils-2.25/gold/testsuite/arm_farcall_arm_arm.sh @@ -2,7 +2,7 @@ # arm_farcall_arm_arm.sh -- a test case for ARM->ARM farcall veneers -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Matthew Gretton-Dann <matthew.gretton-dann@arm.com> # Based upon arm_cortex_a8.sh # Written by Doug Kwan <dougkwan@google.com>. diff --git a/binutils-2.25/gold/testsuite/arm_farcall_arm_thumb.sh b/binutils-2.25/gold/testsuite/arm_farcall_arm_thumb.sh index cfc2169..8847f44 100755 --- a/binutils-2.25/gold/testsuite/arm_farcall_arm_thumb.sh +++ b/binutils-2.25/gold/testsuite/arm_farcall_arm_thumb.sh @@ -2,7 +2,7 @@ # arm_farcall_arm_thumb.sh -- a test case for ARM->Thumb farcall veneers. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Matthew Gretton-Dann <matthew.gretton-dann@arm.com> # Based upon arm_cortex_a8.sh # Written by Doug Kwan <dougkwan@google.com>. diff --git a/binutils-2.25/gold/testsuite/arm_farcall_thumb_arm.sh b/binutils-2.25/gold/testsuite/arm_farcall_thumb_arm.sh index b9f2f67..b13e783 100755 --- a/binutils-2.25/gold/testsuite/arm_farcall_thumb_arm.sh +++ b/binutils-2.25/gold/testsuite/arm_farcall_thumb_arm.sh @@ -2,7 +2,7 @@ # arm_farcall_thumb_arm.sh -- a test case for Thumb->ARM farcall veneers. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Matthew Gretton-Dann <matthew.gretton-dann@arm.com> # Based upon arm_cortex_a8.sh # Written by Doug Kwan <dougkwan@google.com>. diff --git a/binutils-2.25/gold/testsuite/arm_farcall_thumb_thumb.sh b/binutils-2.25/gold/testsuite/arm_farcall_thumb_thumb.sh index 45fb2d5..838535c 100755 --- a/binutils-2.25/gold/testsuite/arm_farcall_thumb_thumb.sh +++ b/binutils-2.25/gold/testsuite/arm_farcall_thumb_thumb.sh @@ -2,7 +2,7 @@ # arm_farcall_thumb_thumb.sh -- a test case for Thumb->Thumb farcall veneers. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Matthew Gretton-Dann <matthew.gretton-dann@arm.com> # Based upon arm_cortex_a8.sh # Written by Doug Kwan <dougkwan@google.com>. diff --git a/binutils-2.25/gold/testsuite/arm_fix_1176.sh b/binutils-2.25/gold/testsuite/arm_fix_1176.sh index 5b29f68..4fe5465 100755 --- a/binutils-2.25/gold/testsuite/arm_fix_1176.sh +++ b/binutils-2.25/gold/testsuite/arm_fix_1176.sh @@ -2,7 +2,7 @@ # arm_fix_1176.sh -- a test case for the ARM1176 workaround. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Matthew Gretton-Dann <matthew.gretton-dann@arm.com> # Based upon arm_cortex_a8.sh # Written by Doug Kwan <dougkwan@google.com>. diff --git a/binutils-2.25/gold/testsuite/arm_fix_v4bx.sh b/binutils-2.25/gold/testsuite/arm_fix_v4bx.sh index 869ca8e..aeead67 100755 --- a/binutils-2.25/gold/testsuite/arm_fix_v4bx.sh +++ b/binutils-2.25/gold/testsuite/arm_fix_v4bx.sh @@ -2,7 +2,7 @@ # arm_v4bx.sh -- a test case for --fix-v4bx and --fix-v4bx-interworking. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/arm_thm_jump11.t b/binutils-2.25/gold/testsuite/arm_thm_jump11.t index b935e54..abd2252 100644 --- a/binutils-2.25/gold/testsuite/arm_thm_jump11.t +++ b/binutils-2.25/gold/testsuite/arm_thm_jump11.t @@ -1,6 +1,6 @@ /* arm_thm_jump11.t -- linker script to test R_ARM_THM_JUMP11 relocation. - Copyright (C) 2011-2015 Free Software Foundation, Inc. + Copyright (C) 2011-2014 Free Software Foundation, Inc. Written by Doug Kwan <dougkwan@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/arm_thm_jump8.t b/binutils-2.25/gold/testsuite/arm_thm_jump8.t index 98abce8..d2af57d 100644 --- a/binutils-2.25/gold/testsuite/arm_thm_jump8.t +++ b/binutils-2.25/gold/testsuite/arm_thm_jump8.t @@ -1,6 +1,6 @@ /* arm_thm_jump8.t -- linker script to test R_ARM_THM_JUMP8 relocation. - Copyright (C) 2011-2015 Free Software Foundation, Inc. + Copyright (C) 2011-2014 Free Software Foundation, Inc. Written by Doug Kwan <dougkwan@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/arm_unaligned_reloc.sh b/binutils-2.25/gold/testsuite/arm_unaligned_reloc.sh index d187453..bb1c43e 100755 --- a/binutils-2.25/gold/testsuite/arm_unaligned_reloc.sh +++ b/binutils-2.25/gold/testsuite/arm_unaligned_reloc.sh @@ -2,7 +2,7 @@ # arm_unaligned_reloc.sh -- test ARM unaligned static data relocations. -# Copyright (C) 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 2011-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com> # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/basic_test.cc b/binutils-2.25/gold/testsuite/basic_test.cc index 0c03289..a8729cf 100644 --- a/binutils-2.25/gold/testsuite/basic_test.cc +++ b/binutils-2.25/gold/testsuite/basic_test.cc @@ -1,6 +1,6 @@ // basic_test.cc -- a test case for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/binary_test.cc b/binutils-2.25/gold/testsuite/binary_test.cc index 4ee9868..be788bd 100644 --- a/binutils-2.25/gold/testsuite/binary_test.cc +++ b/binutils-2.25/gold/testsuite/binary_test.cc @@ -1,6 +1,6 @@ // binary_test.cc -- test --format binary for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/binary_unittest.cc b/binutils-2.25/gold/testsuite/binary_unittest.cc index 35e2629..f920de8 100644 --- a/binutils-2.25/gold/testsuite/binary_unittest.cc +++ b/binutils-2.25/gold/testsuite/binary_unittest.cc @@ -1,6 +1,6 @@ // binary_unittest.cc -- test Binary_to_elf -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/common_test_1.c b/binutils-2.25/gold/testsuite/common_test_1.c index a5b3707..8c79a0b 100644 --- a/binutils-2.25/gold/testsuite/common_test_1.c +++ b/binutils-2.25/gold/testsuite/common_test_1.c @@ -1,6 +1,6 @@ /* common_test_1.c -- test common symbol sorting - Copyright (C) 2008-2015 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/common_test_1_v1.c b/binutils-2.25/gold/testsuite/common_test_1_v1.c index 29ccdc1..db65063 100644 --- a/binutils-2.25/gold/testsuite/common_test_1_v1.c +++ b/binutils-2.25/gold/testsuite/common_test_1_v1.c @@ -1,6 +1,6 @@ /* common_test_1_v1.c -- test common symbol sorting - Copyright (C) 2008-2015 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/common_test_1_v2.c b/binutils-2.25/gold/testsuite/common_test_1_v2.c index 0acb433..81614bf 100644 --- a/binutils-2.25/gold/testsuite/common_test_1_v2.c +++ b/binutils-2.25/gold/testsuite/common_test_1_v2.c @@ -1,6 +1,6 @@ /* common_test_1_v2.c -- test common symbol sorting - Copyright (C) 2008-2015 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/common_test_2.c b/binutils-2.25/gold/testsuite/common_test_2.c index 68b329e..9f29dfb 100644 --- a/binutils-2.25/gold/testsuite/common_test_2.c +++ b/binutils-2.25/gold/testsuite/common_test_2.c @@ -1,6 +1,6 @@ /* common_test_2.c -- test common symbol name conflicts - Copyright (C) 2009-2015 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/common_test_3.c b/binutils-2.25/gold/testsuite/common_test_3.c index d13abbd..a8d8120 100644 --- a/binutils-2.25/gold/testsuite/common_test_3.c +++ b/binutils-2.25/gold/testsuite/common_test_3.c @@ -1,6 +1,6 @@ /* common_test_3.c -- test common symbol name conflicts - Copyright (C) 2009-2015 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/constructor_test.cc b/binutils-2.25/gold/testsuite/constructor_test.cc index 795be82..5c3aa53 100644 --- a/binutils-2.25/gold/testsuite/constructor_test.cc +++ b/binutils-2.25/gold/testsuite/constructor_test.cc @@ -1,6 +1,6 @@ // constructor_test.cc -- a test case for gold global constructors -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/copy_test.cc b/binutils-2.25/gold/testsuite/copy_test.cc index 3de132e..856511d 100644 --- a/binutils-2.25/gold/testsuite/copy_test.cc +++ b/binutils-2.25/gold/testsuite/copy_test.cc @@ -1,6 +1,6 @@ // copy_test.cc -- test copy relocs for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/copy_test_1.cc b/binutils-2.25/gold/testsuite/copy_test_1.cc index 7e8c41d..b653ded 100644 --- a/binutils-2.25/gold/testsuite/copy_test_1.cc +++ b/binutils-2.25/gold/testsuite/copy_test_1.cc @@ -1,6 +1,6 @@ // copy_test_1.cc -- test copy relocs for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/copy_test_2.cc b/binutils-2.25/gold/testsuite/copy_test_2.cc index c949ba1..8fd722a 100644 --- a/binutils-2.25/gold/testsuite/copy_test_2.cc +++ b/binutils-2.25/gold/testsuite/copy_test_2.cc @@ -1,6 +1,6 @@ // copy_test_2.cc -- test copy relocs variables for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/copy_test_v1.cc b/binutils-2.25/gold/testsuite/copy_test_v1.cc index b01f673..ce02884 100644 --- a/binutils-2.25/gold/testsuite/copy_test_v1.cc +++ b/binutils-2.25/gold/testsuite/copy_test_v1.cc @@ -1,6 +1,6 @@ // copy_test_v1.cc -- test copy relocs for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/debug_msg.cc b/binutils-2.25/gold/testsuite/debug_msg.cc index 13efa98..a48c141 100644 --- a/binutils-2.25/gold/testsuite/debug_msg.cc +++ b/binutils-2.25/gold/testsuite/debug_msg.cc @@ -1,6 +1,6 @@ // debug_msg.cc -- a test case for printing debug info for missing symbols. -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/debug_msg.sh b/binutils-2.25/gold/testsuite/debug_msg.sh index 785e5c5..891b4b8 100755 --- a/binutils-2.25/gold/testsuite/debug_msg.sh +++ b/binutils-2.25/gold/testsuite/debug_msg.sh @@ -2,7 +2,7 @@ # debug_msg.sh -- a test case for printing debug info for missing symbols. -# Copyright (C) 2006-2015 Free Software Foundation, Inc. +# Copyright (C) 2006-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. @@ -74,7 +74,7 @@ fi # Check we detected the ODR (One Definition Rule) violation. check debug_msg.err ": symbol 'Ordering::operator()(int, int)' defined in multiple places (possible ODR violation):" check debug_msg.err "odr_violation1.cc:6" -check debug_msg.err "odr_violation2.cc:12" +check debug_msg.err "odr_violation2.cc:1[25]" # Check we don't have ODR false positives: check_missing debug_msg.err "OdrDerived::~OdrDerived()" @@ -88,7 +88,7 @@ check_missing debug_msg.err "odr_violation1.cc:16" check_missing debug_msg.err "odr_violation2.cc:23" check debug_msg.err ": symbol 'SometimesInlineFunction(int)' defined in multiple places (possible ODR violation):" check debug_msg.err "debug_msg.cc:68" -check debug_msg.err "odr_violation2.cc:27" +check debug_msg.err "odr_violation2.cc:2[78]" # Check for the same error messages when using --compressed-debug-sections. if test -r debug_msg_cdebug.err @@ -106,7 +106,7 @@ then fi check debug_msg_cdebug.err ": symbol 'Ordering::operator()(int, int)' defined in multiple places (possible ODR violation):" check debug_msg_cdebug.err "odr_violation1.cc:6" - check debug_msg_cdebug.err "odr_violation2.cc:12" + check debug_msg_cdebug.err "odr_violation2.cc:1[25]" check_missing debug_msg_cdebug.err "OdrDerived::~OdrDerived()" check_missing debug_msg_cdebug.err "__adjust_heap" check_missing debug_msg_cdebug.err ": symbol 'OverriddenCFunction' defined in multiple places (possible ODR violation):" @@ -114,7 +114,7 @@ then check_missing debug_msg_cdebug.err "odr_violation2.cc:23" check debug_msg_cdebug.err ": symbol 'SometimesInlineFunction(int)' defined in multiple places (possible ODR violation):" check debug_msg_cdebug.err "debug_msg.cc:68" - check debug_msg_cdebug.err "odr_violation2.cc:27" + check debug_msg_cdebug.err "odr_violation2.cc:2[78]" fi # When linking together .so's, we don't catch the line numbers, but we @@ -124,7 +124,7 @@ check debug_msg_so.err "debug_msg.so: error: undefined reference to 'undef_fn2() check debug_msg_so.err "debug_msg.so: error: undefined reference to 'undef_int'" check debug_msg_so.err ": symbol 'Ordering::operator()(int, int)' defined in multiple places (possible ODR violation):" check debug_msg_so.err "odr_violation1.cc:6" -check debug_msg_so.err "odr_violation2.cc:12" +check debug_msg_so.err "odr_violation2.cc:1[25]" check_missing debug_msg_so.err "OdrDerived::~OdrDerived()" check_missing debug_msg_so.err "__adjust_heap" check_missing debug_msg_so.err ": symbol 'OverriddenCFunction' defined in multiple places (possible ODR violation):" @@ -132,7 +132,7 @@ check_missing debug_msg_so.err "odr_violation1.cc:16" check_missing debug_msg_so.err "odr_violation2.cc:23" check debug_msg_so.err ": symbol 'SometimesInlineFunction(int)' defined in multiple places (possible ODR violation):" check debug_msg_so.err "debug_msg.cc:68" -check debug_msg_so.err "odr_violation2.cc:27" +check debug_msg_so.err "odr_violation2.cc:2[78]" # These messages shouldn't need any debug info to detect: check debug_msg_ndebug.err "debug_msg_ndebug.so: error: undefined reference to 'undef_fn1()'" diff --git a/binutils-2.25/gold/testsuite/defsym_test.sh b/binutils-2.25/gold/testsuite/defsym_test.sh index 2bedcf6..6c1ff11 100755 --- a/binutils-2.25/gold/testsuite/defsym_test.sh +++ b/binutils-2.25/gold/testsuite/defsym_test.sh @@ -2,7 +2,7 @@ # defsym_test.sh -- test that --defsym copies type and visiblity. -# Copyright (C) 2014-2015 Free Software Foundation, Inc. +# Copyright (C) 2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/disable_pie_unsafe_size_test.cc b/binutils-2.25/gold/testsuite/disable_pie_unsafe_size_test.cc new file mode 100644 index 0000000..90fc788 --- /dev/null +++ b/binutils-2.25/gold/testsuite/disable_pie_unsafe_size_test.cc @@ -0,0 +1,29 @@ +// disable_pie_unsafe_size_test.cc -- test if PIE disabled for large data sizes. + +// Copyright (C) 2015 Free Software Foundation, Inc. +// Written by Sriraman Tallam <tmsriram@google.com> + +// This file is part of gold. + +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, +// MA 02110-1301, USA. + +// Create a huge data segment, 128 MB, with this array. +char arr[128 * 1024 * 1024]; + +int main() +{ + return 0; +} diff --git a/binutils-2.25/gold/testsuite/disable_pie_unsafe_size_test.sh b/binutils-2.25/gold/testsuite/disable_pie_unsafe_size_test.sh new file mode 100755 index 0000000..c36c033 --- /dev/null +++ b/binutils-2.25/gold/testsuite/disable_pie_unsafe_size_test.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +# disable_pie_unsafe_size_test.sh -- test if PIE disabled for large data sizes. + +# Copyright (C) 2015 Free Software Foundation, Inc. +# Written by Sriraman Tallam <tmsriram@google.com>. + +# This file is part of gold. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, +# MA 02110-1301, USA. + +# This tests a call to a weak undefined function. We use LD_PRELOAD +# to force the function to be defined. + +# Check if PIE is disabled, output of readelf must have EXEC instead of DYN +# for file type. PIE must be disabled for executable +# disable_pie_unsafe_size_test.cc since it has a data segment size of > 128 MB. + +grep 'Elf file type is EXEC (Executable file)' ./disable_pie_unsafe_size_test_readelf.stdout diff --git a/binutils-2.25/gold/testsuite/discard_locals_relocatable_test.c b/binutils-2.25/gold/testsuite/discard_locals_relocatable_test.c index 95ceb0c..79f82db 100644 --- a/binutils-2.25/gold/testsuite/discard_locals_relocatable_test.c +++ b/binutils-2.25/gold/testsuite/discard_locals_relocatable_test.c @@ -1,6 +1,6 @@ /* discard_locals_relocatable_test.c -- test --discard-locals/--discard-all -r - Copyright (C) 2010-2015 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Viktor Kutuzov <vkutuzov@accesssoftek.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/discard_locals_test.c b/binutils-2.25/gold/testsuite/discard_locals_test.c index f1c68e2..e8766c8 100644 --- a/binutils-2.25/gold/testsuite/discard_locals_test.c +++ b/binutils-2.25/gold/testsuite/discard_locals_test.c @@ -1,6 +1,6 @@ /* discard_locals_test.c -- test --discard-locals option. - Copyright (C) 2009-2015 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. Doug Kwan <dougkwan@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/discard_locals_test.sh b/binutils-2.25/gold/testsuite/discard_locals_test.sh index 0a9ab82..185d09b 100755 --- a/binutils-2.25/gold/testsuite/discard_locals_test.sh +++ b/binutils-2.25/gold/testsuite/discard_locals_test.sh @@ -2,7 +2,7 @@ # discard_locals_test.sh -- test that local symbols are discarded. -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com> # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dwp_test.h b/binutils-2.25/gold/testsuite/dwp_test.h index 1e17fd3..8e265ee 100644 --- a/binutils-2.25/gold/testsuite/dwp_test.h +++ b/binutils-2.25/gold/testsuite/dwp_test.h @@ -1,6 +1,6 @@ // dwp_test.h -- a test case for dwp, header file -*- C++ -*- -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dwp_test_1.cc b/binutils-2.25/gold/testsuite/dwp_test_1.cc index 01a22b0..b3ae8bc 100644 --- a/binutils-2.25/gold/testsuite/dwp_test_1.cc +++ b/binutils-2.25/gold/testsuite/dwp_test_1.cc @@ -1,6 +1,6 @@ // dwp_test_1.cc -- a test case for dwp -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dwp_test_1.sh b/binutils-2.25/gold/testsuite/dwp_test_1.sh index dfec67d..90146ac 100755 --- a/binutils-2.25/gold/testsuite/dwp_test_1.sh +++ b/binutils-2.25/gold/testsuite/dwp_test_1.sh @@ -2,7 +2,7 @@ # dwp_test_1.sh -- Test the dwp tool. -# Copyright (C) 2012-2015 Free Software Foundation, Inc. +# Copyright (C) 2012-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dwp_test_1b.cc b/binutils-2.25/gold/testsuite/dwp_test_1b.cc index 1720316..7ca28a5 100644 --- a/binutils-2.25/gold/testsuite/dwp_test_1b.cc +++ b/binutils-2.25/gold/testsuite/dwp_test_1b.cc @@ -1,6 +1,6 @@ // dwp_test_1b.cc -- a test case for dwp -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dwp_test_2.cc b/binutils-2.25/gold/testsuite/dwp_test_2.cc index db96196..10baef0 100644 --- a/binutils-2.25/gold/testsuite/dwp_test_2.cc +++ b/binutils-2.25/gold/testsuite/dwp_test_2.cc @@ -1,6 +1,6 @@ // dwp_test_2.cc -- a test case for dwp -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dwp_test_2.sh b/binutils-2.25/gold/testsuite/dwp_test_2.sh index 3db5408..dd0fe51 100755 --- a/binutils-2.25/gold/testsuite/dwp_test_2.sh +++ b/binutils-2.25/gold/testsuite/dwp_test_2.sh @@ -2,7 +2,7 @@ # dwp_test_2.sh -- Test the dwp tool. -# Copyright (C) 2012-2015 Free Software Foundation, Inc. +# Copyright (C) 2012-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dwp_test_main.cc b/binutils-2.25/gold/testsuite/dwp_test_main.cc index fc8eac3..7cf72ca 100644 --- a/binutils-2.25/gold/testsuite/dwp_test_main.cc +++ b/binutils-2.25/gold/testsuite/dwp_test_main.cc @@ -1,6 +1,6 @@ // dwp_test_main.cc -- a test case for dwp -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dyn_weak_ref.sh b/binutils-2.25/gold/testsuite/dyn_weak_ref.sh index 9591edc..e2d200d 100755 --- a/binutils-2.25/gold/testsuite/dyn_weak_ref.sh +++ b/binutils-2.25/gold/testsuite/dyn_weak_ref.sh @@ -3,7 +3,7 @@ # dyn_weak_ref.sh -- test weak reference remains weak in output even if # gold sees a dynamic weak reference before a static one. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dyn_weak_ref_1.c b/binutils-2.25/gold/testsuite/dyn_weak_ref_1.c index d9dd996..b32f3a8 100644 --- a/binutils-2.25/gold/testsuite/dyn_weak_ref_1.c +++ b/binutils-2.25/gold/testsuite/dyn_weak_ref_1.c @@ -1,7 +1,7 @@ // dyn_weak_ref_1.c -- test that a weak ref remains weak in output when // there is a DSO with the same weak ref. -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Doug Kwan <dougkwan@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dyn_weak_ref_2.c b/binutils-2.25/gold/testsuite/dyn_weak_ref_2.c index 2804aa5..dfd4be1 100644 --- a/binutils-2.25/gold/testsuite/dyn_weak_ref_2.c +++ b/binutils-2.25/gold/testsuite/dyn_weak_ref_2.c @@ -1,7 +1,7 @@ // dyn_weak_ref_1.c -- test that a weak ref remains weak in output when // there is a DSO with the same weak ref. -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Doug Kwan <dougkwan@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dynamic_list.sh b/binutils-2.25/gold/testsuite/dynamic_list.sh index 1f5817f..e2ef9fd 100755 --- a/binutils-2.25/gold/testsuite/dynamic_list.sh +++ b/binutils-2.25/gold/testsuite/dynamic_list.sh @@ -2,7 +2,7 @@ # dynamic_list.sh -- test --dynamic-list and --dynamic-list-* -# Copyright (C) 2008-2015 Free Software Foundation, Inc. +# Copyright (C) 2008-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dynamic_list_2.cc b/binutils-2.25/gold/testsuite/dynamic_list_2.cc index 63f552c..5913312 100644 --- a/binutils-2.25/gold/testsuite/dynamic_list_2.cc +++ b/binutils-2.25/gold/testsuite/dynamic_list_2.cc @@ -1,6 +1,6 @@ // dynamic_list_test_2.cc -- Test --dynamic-list with shared libraries. -// Copyright (C) 2014-2015 Free Software Foundation, Inc. +// Copyright (C) 2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dynamic_list_2.t b/binutils-2.25/gold/testsuite/dynamic_list_2.t index 44e6c6c..eef848d 100644 --- a/binutils-2.25/gold/testsuite/dynamic_list_2.t +++ b/binutils-2.25/gold/testsuite/dynamic_list_2.t @@ -1,6 +1,6 @@ /* dynamic_list_2.t -- script file for building dynamic_list_lib2.so. - Copyright (C) 2014-2015 Free Software Foundation, Inc. + Copyright (C) 2014 Free Software Foundation, Inc. Written by Cary Coutant <ccoutant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dynamic_list_lib1.cc b/binutils-2.25/gold/testsuite/dynamic_list_lib1.cc index ccf70e7..afc36ca 100644 --- a/binutils-2.25/gold/testsuite/dynamic_list_lib1.cc +++ b/binutils-2.25/gold/testsuite/dynamic_list_lib1.cc @@ -1,6 +1,6 @@ // dynamic_list_test_lib1.cc -- Test --dynamic-list with shared libraries. -// Copyright (C) 2014-2015 Free Software Foundation, Inc. +// Copyright (C) 2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/dynamic_list_lib2.cc b/binutils-2.25/gold/testsuite/dynamic_list_lib2.cc index 54d722d..8ed5be5 100644 --- a/binutils-2.25/gold/testsuite/dynamic_list_lib2.cc +++ b/binutils-2.25/gold/testsuite/dynamic_list_lib2.cc @@ -1,6 +1,6 @@ // dynamic_list_test_lib2.cc -- Test --dynamic-list with shared libraries. -// Copyright (C) 2014-2015 Free Software Foundation, Inc. +// Copyright (C) 2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ehdr_start_def.cc b/binutils-2.25/gold/testsuite/ehdr_start_def.cc index 6a5723d..f102a78 100644 --- a/binutils-2.25/gold/testsuite/ehdr_start_def.cc +++ b/binutils-2.25/gold/testsuite/ehdr_start_def.cc @@ -1,6 +1,6 @@ // ehdr_start_def.cc -- test for __ehdr_start linker-defined symbol. -// Copyright (C) 2014-2015 Free Software Foundation, Inc. +// Copyright (C) 2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ehdr_start_test.cc b/binutils-2.25/gold/testsuite/ehdr_start_test.cc index 0d21601..a119b5e 100644 --- a/binutils-2.25/gold/testsuite/ehdr_start_test.cc +++ b/binutils-2.25/gold/testsuite/ehdr_start_test.cc @@ -1,6 +1,6 @@ // ehdr_start_test.cc -- test for __ehdr_start linker-defined symbol. -// Copyright (C) 2014-2015 Free Software Foundation, Inc. +// Copyright (C) 2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ehdr_start_test.t b/binutils-2.25/gold/testsuite/ehdr_start_test.t index e898136..50daa64 100644 --- a/binutils-2.25/gold/testsuite/ehdr_start_test.t +++ b/binutils-2.25/gold/testsuite/ehdr_start_test.t @@ -1,6 +1,6 @@ /* ehdr_start_test.t -- __ehdr_start test for gold - Copyright (C) 2008-2015 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ehdr_start_test_4.sh b/binutils-2.25/gold/testsuite/ehdr_start_test_4.sh index 2d998e0..5e3d20f 100755 --- a/binutils-2.25/gold/testsuite/ehdr_start_test_4.sh +++ b/binutils-2.25/gold/testsuite/ehdr_start_test_4.sh @@ -2,7 +2,7 @@ # ehdr_start_test_4.sh -- test that __ehdr_start symbol is undefined. -# Copyright (C) 2014-2015 Free Software Foundation, Inc. +# Copyright (C) 2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/exception_test.h b/binutils-2.25/gold/testsuite/exception_test.h index efab758..f7825bf 100644 --- a/binutils-2.25/gold/testsuite/exception_test.h +++ b/binutils-2.25/gold/testsuite/exception_test.h @@ -1,6 +1,6 @@ // exception_test.h -- exception test case for gold, header file -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/exception_test_1.cc b/binutils-2.25/gold/testsuite/exception_test_1.cc index cb7c8ec..7972f01 100644 --- a/binutils-2.25/gold/testsuite/exception_test_1.cc +++ b/binutils-2.25/gold/testsuite/exception_test_1.cc @@ -1,6 +1,6 @@ // exception_test_1.cc -- test exception handling for gold, file 1 of 2 -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/exception_test_2.cc b/binutils-2.25/gold/testsuite/exception_test_2.cc index 5100133..1267cf6 100644 --- a/binutils-2.25/gold/testsuite/exception_test_2.cc +++ b/binutils-2.25/gold/testsuite/exception_test_2.cc @@ -1,6 +1,6 @@ // exception_test_1.cc -- test exception handling for gold, file 1 of 2 -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/exception_test_main.cc b/binutils-2.25/gold/testsuite/exception_test_main.cc index 4eca1be..a4c644b 100644 --- a/binutils-2.25/gold/testsuite/exception_test_main.cc +++ b/binutils-2.25/gold/testsuite/exception_test_main.cc @@ -1,6 +1,6 @@ // exception_test_main.cc -- an exception test case for gold, main function -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/exclude_libs_test.sh b/binutils-2.25/gold/testsuite/exclude_libs_test.sh index 6993d05..09f50b9 100755 --- a/binutils-2.25/gold/testsuite/exclude_libs_test.sh +++ b/binutils-2.25/gold/testsuite/exclude_libs_test.sh @@ -2,7 +2,7 @@ # exclude_libs_test.sh -- test that library symbols are not exported. -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com> # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/final_layout.cc b/binutils-2.25/gold/testsuite/final_layout.cc index 61d24ce..71065c7 100644 --- a/binutils-2.25/gold/testsuite/final_layout.cc +++ b/binutils-2.25/gold/testsuite/final_layout.cc @@ -1,6 +1,6 @@ // final_layout.cc -- a test case for gold -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/final_layout.sh b/binutils-2.25/gold/testsuite/final_layout.sh index 4b51210..c93e265 100755 --- a/binutils-2.25/gold/testsuite/final_layout.sh +++ b/binutils-2.25/gold/testsuite/final_layout.sh @@ -2,7 +2,7 @@ # final_layout.sh -- test --final-layout -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Sriraman Tallam <tmsriram@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gc_comdat_test.sh b/binutils-2.25/gold/testsuite/gc_comdat_test.sh index 0b4bdf8..1a38f21 100755 --- a/binutils-2.25/gold/testsuite/gc_comdat_test.sh +++ b/binutils-2.25/gold/testsuite/gc_comdat_test.sh @@ -2,7 +2,7 @@ # gc_comdat_test.sh -- test --gc-sections -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Sriraman Tallam <tmsriram@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gc_comdat_test_1.cc b/binutils-2.25/gold/testsuite/gc_comdat_test_1.cc index e3b3a5f..8db55e9 100644 --- a/binutils-2.25/gold/testsuite/gc_comdat_test_1.cc +++ b/binutils-2.25/gold/testsuite/gc_comdat_test_1.cc @@ -1,6 +1,6 @@ // gc_comdat_test_1.cc -- a test case for gold -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gc_comdat_test_2.cc b/binutils-2.25/gold/testsuite/gc_comdat_test_2.cc index 2c471a2..1d68be2 100644 --- a/binutils-2.25/gold/testsuite/gc_comdat_test_2.cc +++ b/binutils-2.25/gold/testsuite/gc_comdat_test_2.cc @@ -1,6 +1,6 @@ // gc_comdat_test_2.cc -- a test case for gold -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gc_dynamic_list_test.c b/binutils-2.25/gold/testsuite/gc_dynamic_list_test.c index efc0263..fb9a92e 100644 --- a/binutils-2.25/gold/testsuite/gc_dynamic_list_test.c +++ b/binutils-2.25/gold/testsuite/gc_dynamic_list_test.c @@ -1,6 +1,6 @@ // gc_dynamic_list_test.cc -- Check that --gc-sections honors --dynamic-list. -// Copyright (C) 2014-2015 Free Software Foundation, Inc. +// Copyright (C) 2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gc_dynamic_list_test.sh b/binutils-2.25/gold/testsuite/gc_dynamic_list_test.sh index cbe7cd1..a586929 100755 --- a/binutils-2.25/gold/testsuite/gc_dynamic_list_test.sh +++ b/binutils-2.25/gold/testsuite/gc_dynamic_list_test.sh @@ -2,7 +2,7 @@ # gc_comdat_test.sh -- test --gc-sections -# Copyright (C) 2014-2015 Free Software Foundation, Inc. +# Copyright (C) 2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gc_dynamic_list_test.t b/binutils-2.25/gold/testsuite/gc_dynamic_list_test.t index 0af5607..c0b818e 100644 --- a/binutils-2.25/gold/testsuite/gc_dynamic_list_test.t +++ b/binutils-2.25/gold/testsuite/gc_dynamic_list_test.t @@ -1,6 +1,6 @@ /* gc_dynamic_list_test.t -- script file for gc_dynamic_list_test.cc - Copyright (C) 2014-2015 Free Software Foundation, Inc. + Copyright (C) 2014 Free Software Foundation, Inc. Written by Cary Coutant <ccoutant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gc_orphan_section_test.cc b/binutils-2.25/gold/testsuite/gc_orphan_section_test.cc index 308b46e..bcf06e4 100644 --- a/binutils-2.25/gold/testsuite/gc_orphan_section_test.cc +++ b/binutils-2.25/gold/testsuite/gc_orphan_section_test.cc @@ -1,6 +1,6 @@ // gc_orphan_section_test.cc -- a test case for gold -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gc_orphan_section_test.sh b/binutils-2.25/gold/testsuite/gc_orphan_section_test.sh index a6bfa26..de2d2fe 100755 --- a/binutils-2.25/gold/testsuite/gc_orphan_section_test.sh +++ b/binutils-2.25/gold/testsuite/gc_orphan_section_test.sh @@ -2,7 +2,7 @@ # gc_orphan_section_test.sh -- test --gc-sections -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Sriraman Tallam <tmsriram@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gc_tls_test.cc b/binutils-2.25/gold/testsuite/gc_tls_test.cc index bc4b867..2d29d68 100644 --- a/binutils-2.25/gold/testsuite/gc_tls_test.cc +++ b/binutils-2.25/gold/testsuite/gc_tls_test.cc @@ -1,6 +1,6 @@ // gc_tls_test.cc -- a test case for gold -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gc_tls_test.sh b/binutils-2.25/gold/testsuite/gc_tls_test.sh index 2241c53..7b6485e 100755 --- a/binutils-2.25/gold/testsuite/gc_tls_test.sh +++ b/binutils-2.25/gold/testsuite/gc_tls_test.sh @@ -2,7 +2,7 @@ # gc_tls_test.sh -- test -- gc + tls -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Sriraman Tallam <tmsriram@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gdb_index_test.cc b/binutils-2.25/gold/testsuite/gdb_index_test.cc index b9592a8..6a562c3 100644 --- a/binutils-2.25/gold/testsuite/gdb_index_test.cc +++ b/binutils-2.25/gold/testsuite/gdb_index_test.cc @@ -1,6 +1,6 @@ // gdb_index_test.cc -- a test case for the --gdb-index option. -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gdb_index_test_1.sh b/binutils-2.25/gold/testsuite/gdb_index_test_1.sh index 14d023d..5fae550 100755 --- a/binutils-2.25/gold/testsuite/gdb_index_test_1.sh +++ b/binutils-2.25/gold/testsuite/gdb_index_test_1.sh @@ -2,7 +2,7 @@ # gdb_index_test_1.sh -- a test case for the --gdb-index option. -# Copyright (C) 2012-2015 Free Software Foundation, Inc. +# Copyright (C) 2012-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gdb_index_test_2.sh b/binutils-2.25/gold/testsuite/gdb_index_test_2.sh index 9d8b52b..a1d4d83 100755 --- a/binutils-2.25/gold/testsuite/gdb_index_test_2.sh +++ b/binutils-2.25/gold/testsuite/gdb_index_test_2.sh @@ -2,7 +2,7 @@ # gdb_index_test_2.sh -- a test case for the --gdb-index option. -# Copyright (C) 2012-2015 Free Software Foundation, Inc. +# Copyright (C) 2012-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gdb_index_test_3.c b/binutils-2.25/gold/testsuite/gdb_index_test_3.c index f64eaff..683510c 100644 --- a/binutils-2.25/gold/testsuite/gdb_index_test_3.c +++ b/binutils-2.25/gold/testsuite/gdb_index_test_3.c @@ -1,6 +1,6 @@ // gdb_index_test.c -- a test case for the --gdb-index option. -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gdb_index_test_3.sh b/binutils-2.25/gold/testsuite/gdb_index_test_3.sh index c7ba93c..7b4948d 100755 --- a/binutils-2.25/gold/testsuite/gdb_index_test_3.sh +++ b/binutils-2.25/gold/testsuite/gdb_index_test_3.sh @@ -2,7 +2,7 @@ # gdb_index_test_3.sh -- a test case for the --gdb-index option. -# Copyright (C) 2012-2015 Free Software Foundation, Inc. +# Copyright (C) 2012-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gdb_index_test_4.sh b/binutils-2.25/gold/testsuite/gdb_index_test_4.sh index 8f82f8f..3d5d66b 100755 --- a/binutils-2.25/gold/testsuite/gdb_index_test_4.sh +++ b/binutils-2.25/gold/testsuite/gdb_index_test_4.sh @@ -2,7 +2,7 @@ # gdb_index_test_4.sh -- a test case for the --gdb-index option. -# Copyright (C) 2012-2015 Free Software Foundation, Inc. +# Copyright (C) 2012-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/gdb_index_test_comm.sh b/binutils-2.25/gold/testsuite/gdb_index_test_comm.sh index e743661..e888825 100755 --- a/binutils-2.25/gold/testsuite/gdb_index_test_comm.sh +++ b/binutils-2.25/gold/testsuite/gdb_index_test_comm.sh @@ -2,7 +2,7 @@ # gdb_index_test_comm.sh -- common code for --gdb-index tests. -# Copyright (C) 2012-2015 Free Software Foundation, Inc. +# Copyright (C) 2012-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/hidden_test.sh b/binutils-2.25/gold/testsuite/hidden_test.sh index 8366bc9..39ebbf6 100755 --- a/binutils-2.25/gold/testsuite/hidden_test.sh +++ b/binutils-2.25/gold/testsuite/hidden_test.sh @@ -2,7 +2,7 @@ # hidden_test.sh -- a test case for hidden and internal symbols. -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/hidden_test_1.c b/binutils-2.25/gold/testsuite/hidden_test_1.c index ea24027..e9c96e6 100644 --- a/binutils-2.25/gold/testsuite/hidden_test_1.c +++ b/binutils-2.25/gold/testsuite/hidden_test_1.c @@ -1,6 +1,6 @@ /* hidden_test_1.c -- test hidden and internal symbols - Copyright (C) 2009-2015 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. Written by Cary Coutant <ccoutant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/hidden_test_main.c b/binutils-2.25/gold/testsuite/hidden_test_main.c index 9feb678..60b8893 100644 --- a/binutils-2.25/gold/testsuite/hidden_test_main.c +++ b/binutils-2.25/gold/testsuite/hidden_test_main.c @@ -1,6 +1,6 @@ /* hidden_test_main.c -- test hidden and internal symbols - Copyright (C) 2009-2015 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. Written by Cary Coutant <ccoutant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_keep_unique_test.cc b/binutils-2.25/gold/testsuite/icf_keep_unique_test.cc index 4a196e7..75a8385 100644 --- a/binutils-2.25/gold/testsuite/icf_keep_unique_test.cc +++ b/binutils-2.25/gold/testsuite/icf_keep_unique_test.cc @@ -1,6 +1,6 @@ // icf_keep_unique_test.cc -- a test case for gold -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_keep_unique_test.sh b/binutils-2.25/gold/testsuite/icf_keep_unique_test.sh index eabe9f7..d481d01 100755 --- a/binutils-2.25/gold/testsuite/icf_keep_unique_test.sh +++ b/binutils-2.25/gold/testsuite/icf_keep_unique_test.sh @@ -2,7 +2,7 @@ # icf_keep_unique_test.sh -- test --icf --keep-unique -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Sriraman Tallam <tmsriram@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_preemptible_functions_test.cc b/binutils-2.25/gold/testsuite/icf_preemptible_functions_test.cc index e22197a..dc588a3 100644 --- a/binutils-2.25/gold/testsuite/icf_preemptible_functions_test.cc +++ b/binutils-2.25/gold/testsuite/icf_preemptible_functions_test.cc @@ -1,6 +1,6 @@ // icf_preemptible_functions_test.cc -- a test case for gold -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_preemptible_functions_test.sh b/binutils-2.25/gold/testsuite/icf_preemptible_functions_test.sh index 4446f3b..c2a9f1c 100755 --- a/binutils-2.25/gold/testsuite/icf_preemptible_functions_test.sh +++ b/binutils-2.25/gold/testsuite/icf_preemptible_functions_test.sh @@ -2,7 +2,7 @@ # icf_preemptible_functions_test.sh -- test --icf=all -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Sriraman Tallam <tmsriram@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_safe_so_test.cc b/binutils-2.25/gold/testsuite/icf_safe_so_test.cc index a0732be..29bc6d4 100644 --- a/binutils-2.25/gold/testsuite/icf_safe_so_test.cc +++ b/binutils-2.25/gold/testsuite/icf_safe_so_test.cc @@ -1,6 +1,6 @@ // icf_safe_so_test.cc -- a test case for gold -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_safe_so_test.sh b/binutils-2.25/gold/testsuite/icf_safe_so_test.sh index dd33a13..804334d 100755 --- a/binutils-2.25/gold/testsuite/icf_safe_so_test.sh +++ b/binutils-2.25/gold/testsuite/icf_safe_so_test.sh @@ -2,7 +2,7 @@ # icf_safe_so_test.sh -- test --icf=safe -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Sriraman Tallam <tmsriram@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_safe_test.cc b/binutils-2.25/gold/testsuite/icf_safe_test.cc index cb042e5..46bced1 100644 --- a/binutils-2.25/gold/testsuite/icf_safe_test.cc +++ b/binutils-2.25/gold/testsuite/icf_safe_test.cc @@ -1,6 +1,6 @@ // icf_safe_test.cc -- a test case for gold -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_safe_test.sh b/binutils-2.25/gold/testsuite/icf_safe_test.sh index 9e6fffa..691b839 100755 --- a/binutils-2.25/gold/testsuite/icf_safe_test.sh +++ b/binutils-2.25/gold/testsuite/icf_safe_test.sh @@ -2,7 +2,7 @@ # icf_safe_test.sh -- test --icf=safe -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Sriraman Tallam <tmsriram@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_sht_rel_addend_test.sh b/binutils-2.25/gold/testsuite/icf_sht_rel_addend_test.sh index f35d155..64b69d3 100755 --- a/binutils-2.25/gold/testsuite/icf_sht_rel_addend_test.sh +++ b/binutils-2.25/gold/testsuite/icf_sht_rel_addend_test.sh @@ -2,7 +2,7 @@ # icf_sht_rel_addend_test.sh -- test --icf=all -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Sriraman Tallam <tmsriram@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_sht_rel_addend_test_1.cc b/binutils-2.25/gold/testsuite/icf_sht_rel_addend_test_1.cc index 2dacc1f..8f20a71 100644 --- a/binutils-2.25/gold/testsuite/icf_sht_rel_addend_test_1.cc +++ b/binutils-2.25/gold/testsuite/icf_sht_rel_addend_test_1.cc @@ -1,6 +1,6 @@ // icf_sht_rel_addend_test_1.cc -- a test case for gold -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_sht_rel_addend_test_2.cc b/binutils-2.25/gold/testsuite/icf_sht_rel_addend_test_2.cc index 904b475..dfc2bd4 100644 --- a/binutils-2.25/gold/testsuite/icf_sht_rel_addend_test_2.cc +++ b/binutils-2.25/gold/testsuite/icf_sht_rel_addend_test_2.cc @@ -1,6 +1,6 @@ // icf_sht_rel_addend_test_2.cc -- a test case for gold -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_string_merge_test.cc b/binutils-2.25/gold/testsuite/icf_string_merge_test.cc index 7b9ae27..869ee80 100644 --- a/binutils-2.25/gold/testsuite/icf_string_merge_test.cc +++ b/binutils-2.25/gold/testsuite/icf_string_merge_test.cc @@ -1,6 +1,6 @@ // icf_string_merge_test.cc -- a test case for gold -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_string_merge_test.sh b/binutils-2.25/gold/testsuite/icf_string_merge_test.sh index 281cc79..a86728c 100755 --- a/binutils-2.25/gold/testsuite/icf_string_merge_test.sh +++ b/binutils-2.25/gold/testsuite/icf_string_merge_test.sh @@ -2,7 +2,7 @@ # icf_string_merge_test.sh -- test --icf=all -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Sriraman Tallam <tmsriram@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_test.cc b/binutils-2.25/gold/testsuite/icf_test.cc index 5f99bce..41168ec 100644 --- a/binutils-2.25/gold/testsuite/icf_test.cc +++ b/binutils-2.25/gold/testsuite/icf_test.cc @@ -1,6 +1,6 @@ // icf_test.cc -- a test case for gold -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_test.sh b/binutils-2.25/gold/testsuite/icf_test.sh index 57d2081..07af1a9 100755 --- a/binutils-2.25/gold/testsuite/icf_test.sh +++ b/binutils-2.25/gold/testsuite/icf_test.sh @@ -2,7 +2,7 @@ # icf_test.sh -- test --icf -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Sriraman Tallam <tmsriram@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/icf_virtual_function_folding_test.cc b/binutils-2.25/gold/testsuite/icf_virtual_function_folding_test.cc index 41e95d2..ba144bf 100644 --- a/binutils-2.25/gold/testsuite/icf_virtual_function_folding_test.cc +++ b/binutils-2.25/gold/testsuite/icf_virtual_function_folding_test.cc @@ -1,6 +1,6 @@ // icf_virtual_function_folding_test.cc -- a test case for gold -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/incr_comdat_test_1.cc b/binutils-2.25/gold/testsuite/incr_comdat_test_1.cc index 4c15246..7a798bd 100644 --- a/binutils-2.25/gold/testsuite/incr_comdat_test_1.cc +++ b/binutils-2.25/gold/testsuite/incr_comdat_test_1.cc @@ -1,6 +1,6 @@ // incr_comdat_test_1.cc -- test incremental update with comdat sections -// Copyright (C) 2011-2015 Free Software Foundation, Inc. +// Copyright (C) 2011-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/incr_comdat_test_2_v1.cc b/binutils-2.25/gold/testsuite/incr_comdat_test_2_v1.cc index c6b329b..02307ac 100644 --- a/binutils-2.25/gold/testsuite/incr_comdat_test_2_v1.cc +++ b/binutils-2.25/gold/testsuite/incr_comdat_test_2_v1.cc @@ -1,6 +1,6 @@ // incr_comdat_test_2.cc -- test incremental update with comdat sections -// Copyright (C) 2011-2015 Free Software Foundation, Inc. +// Copyright (C) 2011-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/incr_comdat_test_2_v2.cc b/binutils-2.25/gold/testsuite/incr_comdat_test_2_v2.cc index bec4401..936d7a1 100644 --- a/binutils-2.25/gold/testsuite/incr_comdat_test_2_v2.cc +++ b/binutils-2.25/gold/testsuite/incr_comdat_test_2_v2.cc @@ -1,6 +1,6 @@ // incr_comdat_test_2.cc -- test incremental update with comdat sections -// Copyright (C) 2011-2015 Free Software Foundation, Inc. +// Copyright (C) 2011-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/incr_comdat_test_2_v3.cc b/binutils-2.25/gold/testsuite/incr_comdat_test_2_v3.cc index de0248c..3c402e9 100644 --- a/binutils-2.25/gold/testsuite/incr_comdat_test_2_v3.cc +++ b/binutils-2.25/gold/testsuite/incr_comdat_test_2_v3.cc @@ -1,6 +1,6 @@ // incr_comdat_test_2.cc -- test incremental update with comdat sections -// Copyright (C) 2011-2015 Free Software Foundation, Inc. +// Copyright (C) 2011-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/incremental_test.sh b/binutils-2.25/gold/testsuite/incremental_test.sh index cee1a0c..d8c0c84 100755 --- a/binutils-2.25/gold/testsuite/incremental_test.sh +++ b/binutils-2.25/gold/testsuite/incremental_test.sh @@ -2,7 +2,7 @@ # incremental_test.sh -- test that incremental linking information is correct. -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Rafael Avila de Espindola <espindola@google.com> # and Cary Coutant <ccoutant@google.com> diff --git a/binutils-2.25/gold/testsuite/incremental_test_1.c b/binutils-2.25/gold/testsuite/incremental_test_1.c index 2d5df6c..850d116 100644 --- a/binutils-2.25/gold/testsuite/incremental_test_1.c +++ b/binutils-2.25/gold/testsuite/incremental_test_1.c @@ -1,4 +1,4 @@ -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Rafael Avila de Espindola <espindola@google.com> // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/incremental_test_2.c b/binutils-2.25/gold/testsuite/incremental_test_2.c index 0da76c1..a86c0fb 100644 --- a/binutils-2.25/gold/testsuite/incremental_test_2.c +++ b/binutils-2.25/gold/testsuite/incremental_test_2.c @@ -1,4 +1,4 @@ -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Rafael Avila de Espindola <espindola@google.com> // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/initpri1.c b/binutils-2.25/gold/testsuite/initpri1.c index b37b977..2fbe6bd 100644 --- a/binutils-2.25/gold/testsuite/initpri1.c +++ b/binutils-2.25/gold/testsuite/initpri1.c @@ -1,6 +1,6 @@ /* initpri1.c -- test constructor priorities. - Copyright (C) 2007-2015 Free Software Foundation, Inc. + Copyright (C) 2007-2014 Free Software Foundation, Inc. Copied from the gcc testsuite, where the test was contributed by Mark Mitchell <mark@codesourcery.com>. diff --git a/binutils-2.25/gold/testsuite/initpri2.c b/binutils-2.25/gold/testsuite/initpri2.c index ac84e0d..023d76a 100644 --- a/binutils-2.25/gold/testsuite/initpri2.c +++ b/binutils-2.25/gold/testsuite/initpri2.c @@ -1,6 +1,6 @@ /* initpri2.c -- test mixing init_array and ctor priorities. - Copyright (C) 2011-2015 Free Software Foundation, Inc. + Copyright (C) 2011-2014 Free Software Foundation, Inc. Copied from the gcc configury, where the test was contributed by H.J. Lu <hongjiu.lu@intel.com>. diff --git a/binutils-2.25/gold/testsuite/initpri3.c b/binutils-2.25/gold/testsuite/initpri3.c index c8c4d04..65963a9 100644 --- a/binutils-2.25/gold/testsuite/initpri3.c +++ b/binutils-2.25/gold/testsuite/initpri3.c @@ -1,6 +1,6 @@ /* initpri3.c -- test ctor odering when using init_array. - Copyright (C) 2011-2015 Free Software Foundation, Inc. + Copyright (C) 2011-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/justsyms.t b/binutils-2.25/gold/testsuite/justsyms.t index 450abc1..2af2d01 100644 --- a/binutils-2.25/gold/testsuite/justsyms.t +++ b/binutils-2.25/gold/testsuite/justsyms.t @@ -1,6 +1,6 @@ /* justsyms.t -- test --just-symbols for gold. - Copyright (C) 2008-2015 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/justsyms_1.cc b/binutils-2.25/gold/testsuite/justsyms_1.cc index fff7920..362f939 100644 --- a/binutils-2.25/gold/testsuite/justsyms_1.cc +++ b/binutils-2.25/gold/testsuite/justsyms_1.cc @@ -1,6 +1,6 @@ // justsyms_1.cc -- test --just-symbols for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/justsyms_2.cc b/binutils-2.25/gold/testsuite/justsyms_2.cc index 215d92e..c0d9c94 100644 --- a/binutils-2.25/gold/testsuite/justsyms_2.cc +++ b/binutils-2.25/gold/testsuite/justsyms_2.cc @@ -1,6 +1,6 @@ // justsyms_2.cc -- test --just-symbols for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/justsyms_exec.c b/binutils-2.25/gold/testsuite/justsyms_exec.c index 4950080..3bb6d2f 100644 --- a/binutils-2.25/gold/testsuite/justsyms_exec.c +++ b/binutils-2.25/gold/testsuite/justsyms_exec.c @@ -1,6 +1,6 @@ // justsyms_exec.c -- test --just-symbols for gold -// Copyright (C) 2011-2015 Free Software Foundation, Inc. +// Copyright (C) 2011-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/justsyms_lib.c b/binutils-2.25/gold/testsuite/justsyms_lib.c index 4882f3a..9e043d9 100644 --- a/binutils-2.25/gold/testsuite/justsyms_lib.c +++ b/binutils-2.25/gold/testsuite/justsyms_lib.c @@ -1,6 +1,6 @@ // justsyms_lib.cc -- test --just-symbols for gold -// Copyright (C) 2011-2015 Free Software Foundation, Inc. +// Copyright (C) 2011-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/large.c b/binutils-2.25/gold/testsuite/large.c index fa1c052..0702d11 100644 --- a/binutils-2.25/gold/testsuite/large.c +++ b/binutils-2.25/gold/testsuite/large.c @@ -1,6 +1,6 @@ /* large.c -- a test case for gold - Copyright (C) 2009-2015 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/large_symbol_alignment.cc b/binutils-2.25/gold/testsuite/large_symbol_alignment.cc index 190c3e9..296d7aa 100644 --- a/binutils-2.25/gold/testsuite/large_symbol_alignment.cc +++ b/binutils-2.25/gold/testsuite/large_symbol_alignment.cc @@ -1,6 +1,6 @@ // large_symbol_alignment.cc -- a test case for gold -// Copyright (C) 2013-2015 Free Software Foundation, Inc. +// Copyright (C) 2013-2014 Free Software Foundation, Inc. // Written by Alexander Ivchenko <alexander.ivchenko@intel.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/leb128_unittest.cc b/binutils-2.25/gold/testsuite/leb128_unittest.cc index c2d1be6..5b438b3 100644 --- a/binutils-2.25/gold/testsuite/leb128_unittest.cc +++ b/binutils-2.25/gold/testsuite/leb128_unittest.cc @@ -1,6 +1,6 @@ // leb_unittest.cc -- test read_signed_LEB_128 and read_unsigned_LEB_128 -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/many_sections_test.cc b/binutils-2.25/gold/testsuite/many_sections_test.cc index 4a82008..44530e2 100644 --- a/binutils-2.25/gold/testsuite/many_sections_test.cc +++ b/binutils-2.25/gold/testsuite/many_sections_test.cc @@ -1,6 +1,6 @@ // many_sections_test.cc -- test lots of sections for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/memory_test.sh b/binutils-2.25/gold/testsuite/memory_test.sh index 5b12971..4e85801 100755 --- a/binutils-2.25/gold/testsuite/memory_test.sh +++ b/binutils-2.25/gold/testsuite/memory_test.sh @@ -2,7 +2,7 @@ # memory_test.sh -- test MEMORY regions. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Nick Clifton <nickc@redhat.com> # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/memory_test_inc.t b/binutils-2.25/gold/testsuite/memory_test_inc.t new file mode 100644 index 0000000..b835ab7 --- /dev/null +++ b/binutils-2.25/gold/testsuite/memory_test_inc.t @@ -0,0 +1,28 @@ +MEMORY +{ + region1 : ORIGIN = 0x1000, LENGTH = 0x1000 , + INCLUDE memory_test_inc_1.t + region3 (wx) : o = 0x4000, l = 4 + region4 (!r) : o = 0x6000 + 60, len = 0x30 * 0x6 +} + +SECTIONS +{ + .sec0 : { *(*.sec0) } + + .sec1 ORIGIN (region1) : { *(*.sec1) } AT> region2 + + INCLUDE memory_test_inc_2.t + + .sec2 : { *(*.sec2) } > region3 AT> region4 + + .sec3 0x5000 : { + INCLUDE memory_test_inc_3.t + } + + .sec4 : { *(*.sec4) } AT> region2 + + .sec5 : { LONG(0x5555) } > region2 + + /DISCARD/ : { *(*) } +} diff --git a/binutils-2.25/gold/testsuite/memory_test_inc_1.t.src b/binutils-2.25/gold/testsuite/memory_test_inc_1.t.src new file mode 100644 index 0000000..21c0851 --- /dev/null +++ b/binutils-2.25/gold/testsuite/memory_test_inc_1.t.src @@ -0,0 +1 @@ + region2 (r) : org = 0x2000, len = 300 diff --git a/binutils-2.25/gold/testsuite/memory_test_inc_2.t.src b/binutils-2.25/gold/testsuite/memory_test_inc_2.t.src new file mode 100644 index 0000000..b0bc4de --- /dev/null +++ b/binutils-2.25/gold/testsuite/memory_test_inc_2.t.src @@ -0,0 +1 @@ + fred = ORIGIN (region1) + LENGTH (region1); diff --git a/binutils-2.25/gold/testsuite/memory_test_inc_3.t.src b/binutils-2.25/gold/testsuite/memory_test_inc_3.t.src new file mode 100644 index 0000000..fe58e3b --- /dev/null +++ b/binutils-2.25/gold/testsuite/memory_test_inc_3.t.src @@ -0,0 +1 @@ + *(*.sec3) diff --git a/binutils-2.25/gold/testsuite/merge_string_literals.sh b/binutils-2.25/gold/testsuite/merge_string_literals.sh index db65615..f17ab13 100755 --- a/binutils-2.25/gold/testsuite/merge_string_literals.sh +++ b/binutils-2.25/gold/testsuite/merge_string_literals.sh @@ -2,7 +2,7 @@ # merge_string_literals.sh -- test -# Copyright (C) 2013-2015 Free Software Foundation, Inc. +# Copyright (C) 2013-2014 Free Software Foundation, Inc. # Written by Alexander Ivchenko <alexander.ivchenko@intel.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/merge_string_literals_1.cc b/binutils-2.25/gold/testsuite/merge_string_literals_1.cc index c57b8b5..b313dfc 100644 --- a/binutils-2.25/gold/testsuite/merge_string_literals_1.cc +++ b/binutils-2.25/gold/testsuite/merge_string_literals_1.cc @@ -1,6 +1,6 @@ // merge_string_literals_1.c -- a test case for gold -// Copyright (C) 2013-2015 Free Software Foundation, Inc. +// Copyright (C) 2013-2014 Free Software Foundation, Inc. // Written by Alexander Ivchenko <alexander.ivchenko@intel.com> // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/merge_string_literals_2.cc b/binutils-2.25/gold/testsuite/merge_string_literals_2.cc index 2c931c3..73265f5 100644 --- a/binutils-2.25/gold/testsuite/merge_string_literals_2.cc +++ b/binutils-2.25/gold/testsuite/merge_string_literals_2.cc @@ -1,6 +1,6 @@ // merge_string_literals_2.c -- a test case for gold -// Copyright (C) 2013-2015 Free Software Foundation, Inc. +// Copyright (C) 2013-2014 Free Software Foundation, Inc. // Written by Alexander Ivchenko <alexander.ivchenko@intel.com> // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/missing_key_func.cc b/binutils-2.25/gold/testsuite/missing_key_func.cc index c685c79..e89e95a 100644 --- a/binutils-2.25/gold/testsuite/missing_key_func.cc +++ b/binutils-2.25/gold/testsuite/missing_key_func.cc @@ -1,6 +1,6 @@ // basic_test.cc -- a test case for gold -// Copyright (C) 2013-2015 Free Software Foundation, Inc. +// Copyright (C) 2013-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/missing_key_func.sh b/binutils-2.25/gold/testsuite/missing_key_func.sh index 465f567..0027c7f 100755 --- a/binutils-2.25/gold/testsuite/missing_key_func.sh +++ b/binutils-2.25/gold/testsuite/missing_key_func.sh @@ -3,7 +3,7 @@ # missing_key_func.sh -- a test case for printing error messages when # a class is missing its key function. -# Copyright (C) 2013-2015 Free Software Foundation, Inc. +# Copyright (C) 2013-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com> # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/no_version_test.c b/binutils-2.25/gold/testsuite/no_version_test.c index de3fe45..1171fad 100644 --- a/binutils-2.25/gold/testsuite/no_version_test.c +++ b/binutils-2.25/gold/testsuite/no_version_test.c @@ -1,6 +1,6 @@ // ver_no_default.c -- a test case for gold -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Doug Kwan <dougkwan@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/no_version_test.sh b/binutils-2.25/gold/testsuite/no_version_test.sh index 6d86c34..cbcf24f 100755 --- a/binutils-2.25/gold/testsuite/no_version_test.sh +++ b/binutils-2.25/gold/testsuite/no_version_test.sh @@ -3,7 +3,7 @@ # no_version_test.sh -- test that .gnu.version* sections are not created # in a shared object when symbol versioning is not used. -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com> # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/object_unittest.cc b/binutils-2.25/gold/testsuite/object_unittest.cc index 1764d73..adbd275 100644 --- a/binutils-2.25/gold/testsuite/object_unittest.cc +++ b/binutils-2.25/gold/testsuite/object_unittest.cc @@ -1,6 +1,6 @@ // object_unittest.cc -- test Object, Relobj, etc. -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/pie_copyrelocs_shared_test.cc b/binutils-2.25/gold/testsuite/pie_copyrelocs_shared_test.cc index 3beacd8..8513417 100644 --- a/binutils-2.25/gold/testsuite/pie_copyrelocs_shared_test.cc +++ b/binutils-2.25/gold/testsuite/pie_copyrelocs_shared_test.cc @@ -1,7 +1,7 @@ // pie_copyrelocs_shared_test.cc -- a test case for gold, used // by pie_copyrelocs_test -// Copyright (C) 2014-2015 Free Software Foundation, Inc. +// Copyright (C) 2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/pie_copyrelocs_test.cc b/binutils-2.25/gold/testsuite/pie_copyrelocs_test.cc index a2ca746..bebe89d 100644 --- a/binutils-2.25/gold/testsuite/pie_copyrelocs_test.cc +++ b/binutils-2.25/gold/testsuite/pie_copyrelocs_test.cc @@ -1,6 +1,6 @@ // pie_coprelocs_test.cc -- a test case for gold -// Copyright (C) 2014-2015 Free Software Foundation, Inc. +// Copyright (C) 2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_common_test_1.c b/binutils-2.25/gold/testsuite/plugin_common_test_1.c index f8b3291..6f764fd 100644 --- a/binutils-2.25/gold/testsuite/plugin_common_test_1.c +++ b/binutils-2.25/gold/testsuite/plugin_common_test_1.c @@ -1,6 +1,6 @@ /* plugin_common_test_1.c -- test common symbol handling in plugins - Copyright (C) 2010-2015 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Cary Coutant <ccoutant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_common_test_2.c b/binutils-2.25/gold/testsuite/plugin_common_test_2.c index fa9114e..df9f7f1 100644 --- a/binutils-2.25/gold/testsuite/plugin_common_test_2.c +++ b/binutils-2.25/gold/testsuite/plugin_common_test_2.c @@ -1,6 +1,6 @@ /* plugin_common_test_2.c -- test common symbol handling in plugins - Copyright (C) 2010-2015 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Cary Coutant <ccoutant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_final_layout.cc b/binutils-2.25/gold/testsuite/plugin_final_layout.cc index d00c8d5..a40c5d6 100644 --- a/binutils-2.25/gold/testsuite/plugin_final_layout.cc +++ b/binutils-2.25/gold/testsuite/plugin_final_layout.cc @@ -1,6 +1,6 @@ // plugin_final_layout.cc -- a test case for gold -// Copyright (C) 2011-2015 Free Software Foundation, Inc. +// Copyright (C) 2011-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_final_layout.sh b/binutils-2.25/gold/testsuite/plugin_final_layout.sh index 47a6a20..dc456fa 100755 --- a/binutils-2.25/gold/testsuite/plugin_final_layout.sh +++ b/binutils-2.25/gold/testsuite/plugin_final_layout.sh @@ -2,7 +2,7 @@ # plugin_final_layout.sh -- test -# Copyright (C) 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 2011-2014 Free Software Foundation, Inc. # Written by Sriraman Tallam <tmsriram@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_section_order.c b/binutils-2.25/gold/testsuite/plugin_section_order.c index 29fcae7..48d30df 100644 --- a/binutils-2.25/gold/testsuite/plugin_section_order.c +++ b/binutils-2.25/gold/testsuite/plugin_section_order.c @@ -1,6 +1,6 @@ /* plugin_section_reorder.c -- Simple plugin to reorder function sections - Copyright (C) 2011-2015 Free Software Foundation, Inc. + Copyright (C) 2011-2014 Free Software Foundation, Inc. Written by Sriraman Tallam <tmsriram@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_test.c b/binutils-2.25/gold/testsuite/plugin_test.c index cf6adf3..e1dccea 100644 --- a/binutils-2.25/gold/testsuite/plugin_test.c +++ b/binutils-2.25/gold/testsuite/plugin_test.c @@ -1,6 +1,6 @@ /* test_plugin.c -- simple linker plugin test - Copyright (C) 2008-2015 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Written by Cary Coutant <ccoutant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_test_1.sh b/binutils-2.25/gold/testsuite/plugin_test_1.sh index c54a74f..e20935f 100755 --- a/binutils-2.25/gold/testsuite/plugin_test_1.sh +++ b/binutils-2.25/gold/testsuite/plugin_test_1.sh @@ -2,7 +2,7 @@ # plugin_test_1.sh -- a test case for the plugin API. -# Copyright (C) 2008-2015 Free Software Foundation, Inc. +# Copyright (C) 2008-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_test_10.sh b/binutils-2.25/gold/testsuite/plugin_test_10.sh index 62d22e7..80b9f15 100755 --- a/binutils-2.25/gold/testsuite/plugin_test_10.sh +++ b/binutils-2.25/gold/testsuite/plugin_test_10.sh @@ -2,7 +2,7 @@ # plugin_test_10.sh -- a test case for the plugin API. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Rafael Ávila de Espíndola <rafael.espindola@gmail.com> # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_test_11.sh b/binutils-2.25/gold/testsuite/plugin_test_11.sh index 4e1057a..4e1057a 100755..100644 --- a/binutils-2.25/gold/testsuite/plugin_test_11.sh +++ b/binutils-2.25/gold/testsuite/plugin_test_11.sh diff --git a/binutils-2.25/gold/testsuite/plugin_test_2.sh b/binutils-2.25/gold/testsuite/plugin_test_2.sh index cb8c71c..c3bec28 100755 --- a/binutils-2.25/gold/testsuite/plugin_test_2.sh +++ b/binutils-2.25/gold/testsuite/plugin_test_2.sh @@ -2,7 +2,7 @@ # plugin_test_2.sh -- a test case for the plugin API. -# Copyright (C) 2008-2015 Free Software Foundation, Inc. +# Copyright (C) 2008-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_test_3.sh b/binutils-2.25/gold/testsuite/plugin_test_3.sh index c61a662..a80567f 100755 --- a/binutils-2.25/gold/testsuite/plugin_test_3.sh +++ b/binutils-2.25/gold/testsuite/plugin_test_3.sh @@ -2,7 +2,7 @@ # plugin_test_3.sh -- a test case for the plugin API. -# Copyright (C) 2008-2015 Free Software Foundation, Inc. +# Copyright (C) 2008-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_test_4.sh b/binutils-2.25/gold/testsuite/plugin_test_4.sh index dae9688..9500e41 100755 --- a/binutils-2.25/gold/testsuite/plugin_test_4.sh +++ b/binutils-2.25/gold/testsuite/plugin_test_4.sh @@ -2,7 +2,7 @@ # plugin_test_4.sh -- a test case for the plugin API. -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_test_6.sh b/binutils-2.25/gold/testsuite/plugin_test_6.sh index b81ef3e..eec5073 100755 --- a/binutils-2.25/gold/testsuite/plugin_test_6.sh +++ b/binutils-2.25/gold/testsuite/plugin_test_6.sh @@ -2,7 +2,7 @@ # plugin_test_6.sh -- a test case for the plugin API. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_test_7.sh b/binutils-2.25/gold/testsuite/plugin_test_7.sh index 6ecd78f..04a554a 100755 --- a/binutils-2.25/gold/testsuite/plugin_test_7.sh +++ b/binutils-2.25/gold/testsuite/plugin_test_7.sh @@ -2,7 +2,7 @@ # plugin_test_7.sh -- a test case for the plugin API with GC. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Rafael Avila de Espindola <espindola@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_test_7_1.c b/binutils-2.25/gold/testsuite/plugin_test_7_1.c index 61aaffc..fdb0074 100644 --- a/binutils-2.25/gold/testsuite/plugin_test_7_1.c +++ b/binutils-2.25/gold/testsuite/plugin_test_7_1.c @@ -1,6 +1,6 @@ /* plugin_test_7_1.c -- a test case for the plugin API with GC. - Copyright (C) 2010-2015 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Rafael Avila de Espindola <espindola@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_test_7_2.c b/binutils-2.25/gold/testsuite/plugin_test_7_2.c index 8e02520..e2ca426 100644 --- a/binutils-2.25/gold/testsuite/plugin_test_7_2.c +++ b/binutils-2.25/gold/testsuite/plugin_test_7_2.c @@ -1,6 +1,6 @@ /* plugin_test_7_1.c -- a test case for the plugin API with GC. - Copyright (C) 2010-2015 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Rafael Avila de Espindola <espindola@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/plugin_test_tls.sh b/binutils-2.25/gold/testsuite/plugin_test_tls.sh index 9873f2e..0e7e7f3 100755 --- a/binutils-2.25/gold/testsuite/plugin_test_tls.sh +++ b/binutils-2.25/gold/testsuite/plugin_test_tls.sh @@ -2,7 +2,7 @@ # plugin_test_tls.sh -- a test case for the plugin API. -# Copyright (C) 2013-2015 Free Software Foundation, Inc. +# Copyright (C) 2013-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/pr12826.sh b/binutils-2.25/gold/testsuite/pr12826.sh index 9ec4d73..bd3e3a9 100755 --- a/binutils-2.25/gold/testsuite/pr12826.sh +++ b/binutils-2.25/gold/testsuite/pr12826.sh @@ -2,7 +2,7 @@ # pr12826.sh -- a test case for combining ARM arch attributes. -# Copyright (C) 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 2011-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/pr14265.sh b/binutils-2.25/gold/testsuite/pr14265.sh index 137c595..c82875f 100755 --- a/binutils-2.25/gold/testsuite/pr14265.sh +++ b/binutils-2.25/gold/testsuite/pr14265.sh @@ -2,7 +2,7 @@ # pr14265.sh -- test --gc-sections with KEEP -# Copyright (C) 2012-2015 Free Software Foundation, Inc. +# Copyright (C) 2012-2014 Free Software Foundation, Inc. # Written by Nick Clifton <nickc@redhat.com> # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/protected_1.cc b/binutils-2.25/gold/testsuite/protected_1.cc index 32c4686..e9725a9 100644 --- a/binutils-2.25/gold/testsuite/protected_1.cc +++ b/binutils-2.25/gold/testsuite/protected_1.cc @@ -1,6 +1,6 @@ // protected_1.cc -- a test case for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/protected_2.cc b/binutils-2.25/gold/testsuite/protected_2.cc index e966c3a..44bd9af 100644 --- a/binutils-2.25/gold/testsuite/protected_2.cc +++ b/binutils-2.25/gold/testsuite/protected_2.cc @@ -1,6 +1,6 @@ // protected_2.cc -- a test case for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/protected_3.cc b/binutils-2.25/gold/testsuite/protected_3.cc index 4b9469b..b22181c 100644 --- a/binutils-2.25/gold/testsuite/protected_3.cc +++ b/binutils-2.25/gold/testsuite/protected_3.cc @@ -1,6 +1,6 @@ // protected_2.cc -- a test case for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/protected_4.cc b/binutils-2.25/gold/testsuite/protected_4.cc index bdeb483..918d7c1 100644 --- a/binutils-2.25/gold/testsuite/protected_4.cc +++ b/binutils-2.25/gold/testsuite/protected_4.cc @@ -1,6 +1,6 @@ // protected_4.cc -- a test case for gold -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/protected_main_1.cc b/binutils-2.25/gold/testsuite/protected_main_1.cc index bf95fd8..b1c3b87 100644 --- a/binutils-2.25/gold/testsuite/protected_main_1.cc +++ b/binutils-2.25/gold/testsuite/protected_main_1.cc @@ -1,6 +1,6 @@ // protected_main_1.cc -- a test case for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/protected_main_2.cc b/binutils-2.25/gold/testsuite/protected_main_2.cc index f4d5bf9..29bfcfa 100644 --- a/binutils-2.25/gold/testsuite/protected_main_2.cc +++ b/binutils-2.25/gold/testsuite/protected_main_2.cc @@ -1,6 +1,6 @@ // protected_main_2.cc -- a test case for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/protected_main_3.cc b/binutils-2.25/gold/testsuite/protected_main_3.cc index 82a5f6e..02f4c94 100644 --- a/binutils-2.25/gold/testsuite/protected_main_3.cc +++ b/binutils-2.25/gold/testsuite/protected_main_3.cc @@ -1,6 +1,6 @@ // protected_main_3.cc -- a test case for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/relro_script_test.t b/binutils-2.25/gold/testsuite/relro_script_test.t index f940ebd..e4af879 100644 --- a/binutils-2.25/gold/testsuite/relro_script_test.t +++ b/binutils-2.25/gold/testsuite/relro_script_test.t @@ -1,6 +1,6 @@ /* relro_test.t -- relro script test for gold - Copyright (C) 2008-2015 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/relro_test.cc b/binutils-2.25/gold/testsuite/relro_test.cc index 2eadf6e..b64e5cf 100644 --- a/binutils-2.25/gold/testsuite/relro_test.cc +++ b/binutils-2.25/gold/testsuite/relro_test.cc @@ -1,6 +1,6 @@ // relro_test.cc -- test -z relro for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/relro_test.sh b/binutils-2.25/gold/testsuite/relro_test.sh index c721d01..69f0ff7 100755 --- a/binutils-2.25/gold/testsuite/relro_test.sh +++ b/binutils-2.25/gold/testsuite/relro_test.sh @@ -2,7 +2,7 @@ # relro_test.sh -- test -z relro -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/relro_test_main.cc b/binutils-2.25/gold/testsuite/relro_test_main.cc index 2106b5e..8a14274 100644 --- a/binutils-2.25/gold/testsuite/relro_test_main.cc +++ b/binutils-2.25/gold/testsuite/relro_test_main.cc @@ -1,6 +1,6 @@ // relro_test_main.cc -- test -z relro for gold, main function -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/retain_symbols_file_test.sh b/binutils-2.25/gold/testsuite/retain_symbols_file_test.sh index d36a1bd..21373d1 100755 --- a/binutils-2.25/gold/testsuite/retain_symbols_file_test.sh +++ b/binutils-2.25/gold/testsuite/retain_symbols_file_test.sh @@ -2,7 +2,7 @@ # retain_symbols_file_test.sh -- a test case for -retain-symbols-file -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Craig Silverstein <csilvers@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_1.cc b/binutils-2.25/gold/testsuite/script_test_1.cc index 32ff102..ecdf67e 100644 --- a/binutils-2.25/gold/testsuite/script_test_1.cc +++ b/binutils-2.25/gold/testsuite/script_test_1.cc @@ -1,6 +1,6 @@ // script_test_1.cc -- linker script test 1 for gold -*- C++ -*- -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_1.t b/binutils-2.25/gold/testsuite/script_test_1.t index 53c6b90..22a1e39 100644 --- a/binutils-2.25/gold/testsuite/script_test_1.t +++ b/binutils-2.25/gold/testsuite/script_test_1.t @@ -1,6 +1,6 @@ /* script_test_1.t -- linker script test 1 for gold - Copyright (C) 2008-2015 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_10.sh b/binutils-2.25/gold/testsuite/script_test_10.sh index c565c48..41b2bc7 100755 --- a/binutils-2.25/gold/testsuite/script_test_10.sh +++ b/binutils-2.25/gold/testsuite/script_test_10.sh @@ -2,7 +2,7 @@ # script_test_10.sh -- test for the section order. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Viktor Kutuzov <vkutuzov@accesssoftek.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_10.t b/binutils-2.25/gold/testsuite/script_test_10.t index 185b826..14b0578 100644 --- a/binutils-2.25/gold/testsuite/script_test_10.t +++ b/binutils-2.25/gold/testsuite/script_test_10.t @@ -1,6 +1,6 @@ /* script_test_10.t -- test section order for gold. - Copyright (C) 2010-2015 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Viktor Kutuzov <vkutuzov@accesssoftek.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_2.cc b/binutils-2.25/gold/testsuite/script_test_2.cc index 80ca246..59c007c 100644 --- a/binutils-2.25/gold/testsuite/script_test_2.cc +++ b/binutils-2.25/gold/testsuite/script_test_2.cc @@ -1,6 +1,6 @@ // script_test_2.cc -- linker script test 2 for gold -*- C++ -*- -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_2.t b/binutils-2.25/gold/testsuite/script_test_2.t index e852e38..eabf4ec 100644 --- a/binutils-2.25/gold/testsuite/script_test_2.t +++ b/binutils-2.25/gold/testsuite/script_test_2.t @@ -1,6 +1,6 @@ /* script_test_2.t -- linker script test 2 for gold - Copyright (C) 2008-2015 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_2a.cc b/binutils-2.25/gold/testsuite/script_test_2a.cc index 3129373..7c1990d 100644 --- a/binutils-2.25/gold/testsuite/script_test_2a.cc +++ b/binutils-2.25/gold/testsuite/script_test_2a.cc @@ -1,6 +1,6 @@ // script_test_2a.cc -- linker script test 2, file 1 -*- C++ -*- -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_2b.cc b/binutils-2.25/gold/testsuite/script_test_2b.cc index c352957..c99d10d 100644 --- a/binutils-2.25/gold/testsuite/script_test_2b.cc +++ b/binutils-2.25/gold/testsuite/script_test_2b.cc @@ -1,6 +1,6 @@ // script_test_2a.cc -- linker script test 2, file 2 -*- C++ -*- -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_3.sh b/binutils-2.25/gold/testsuite/script_test_3.sh index dec0d11..a24505e 100755 --- a/binutils-2.25/gold/testsuite/script_test_3.sh +++ b/binutils-2.25/gold/testsuite/script_test_3.sh @@ -2,7 +2,7 @@ # script_test_3.sh -- test PHDRS -# Copyright (C) 2008-2015 Free Software Foundation, Inc. +# Copyright (C) 2008-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_3.t b/binutils-2.25/gold/testsuite/script_test_3.t index c4b4fd6..22a0c6f 100644 --- a/binutils-2.25/gold/testsuite/script_test_3.t +++ b/binutils-2.25/gold/testsuite/script_test_3.t @@ -1,6 +1,6 @@ /* script_test_3.t -- linker script test 3 for gold - Copyright (C) 2008-2015 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_4.sh b/binutils-2.25/gold/testsuite/script_test_4.sh index 074b3d3..6a0a26b 100755 --- a/binutils-2.25/gold/testsuite/script_test_4.sh +++ b/binutils-2.25/gold/testsuite/script_test_4.sh @@ -2,7 +2,7 @@ # script_test_4.sh -- test load segment -# Copyright (C) 2008-2015 Free Software Foundation, Inc. +# Copyright (C) 2008-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_4.t b/binutils-2.25/gold/testsuite/script_test_4.t index 169b950..c441ad5 100644 --- a/binutils-2.25/gold/testsuite/script_test_4.t +++ b/binutils-2.25/gold/testsuite/script_test_4.t @@ -1,6 +1,6 @@ /* script_test_4.t -- linker script test 4 for gold - Copyright (C) 2008-2015 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_5.cc b/binutils-2.25/gold/testsuite/script_test_5.cc index 9ed612b..d90477c 100644 --- a/binutils-2.25/gold/testsuite/script_test_5.cc +++ b/binutils-2.25/gold/testsuite/script_test_5.cc @@ -1,6 +1,6 @@ // script_test_5.cc -- a test case for gold -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_5.sh b/binutils-2.25/gold/testsuite/script_test_5.sh index d5f644e..9ff9486 100755 --- a/binutils-2.25/gold/testsuite/script_test_5.sh +++ b/binutils-2.25/gold/testsuite/script_test_5.sh @@ -2,7 +2,7 @@ # script_test_5.sh -- test linker script with uncovered sections -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Cary Coutant <ccoutant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_5.t b/binutils-2.25/gold/testsuite/script_test_5.t index fa6a0e7..65ada93 100644 --- a/binutils-2.25/gold/testsuite/script_test_5.t +++ b/binutils-2.25/gold/testsuite/script_test_5.t @@ -1,6 +1,6 @@ /* script_test_5.t -- linker script test 5 for gold - Copyright (C) 2009-2015 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. Written by Cary Coutant <ccoutant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_6.sh b/binutils-2.25/gold/testsuite/script_test_6.sh index 263e686..fc8d504 100755 --- a/binutils-2.25/gold/testsuite/script_test_6.sh +++ b/binutils-2.25/gold/testsuite/script_test_6.sh @@ -2,7 +2,7 @@ # script_test_6.sh -- test for -Ttext, -Tdata and -Tbss with a script. -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_6.t b/binutils-2.25/gold/testsuite/script_test_6.t index 31fdd9e..e123a1e 100644 --- a/binutils-2.25/gold/testsuite/script_test_6.t +++ b/binutils-2.25/gold/testsuite/script_test_6.t @@ -1,6 +1,6 @@ /* script_test_5.t -- linker script test 5 for gold - Copyright (C) 2009-2015 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. Written by Cary Coutant <ccoutant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_7.sh b/binutils-2.25/gold/testsuite/script_test_7.sh index 1e5c9d0..efcbb4c 100755 --- a/binutils-2.25/gold/testsuite/script_test_7.sh +++ b/binutils-2.25/gold/testsuite/script_test_7.sh @@ -2,7 +2,7 @@ # script_test_7.sh -- test for SEGMENT_START expressions. -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_7.t b/binutils-2.25/gold/testsuite/script_test_7.t index 96adcea..575225d 100644 --- a/binutils-2.25/gold/testsuite/script_test_7.t +++ b/binutils-2.25/gold/testsuite/script_test_7.t @@ -1,6 +1,6 @@ /* script_test_5.t -- linker script test 5 for gold - Copyright (C) 2009-2015 Free Software Foundation, Inc. + Copyright (C) 2009-2014 Free Software Foundation, Inc. Written by Cary Coutant <ccoutant@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_8.sh b/binutils-2.25/gold/testsuite/script_test_8.sh index 0533545..02531d2 100755 --- a/binutils-2.25/gold/testsuite/script_test_8.sh +++ b/binutils-2.25/gold/testsuite/script_test_8.sh @@ -3,7 +3,7 @@ # script_test_8.sh -- test for SEGMENT_START expressions with # -Ttext, -Tdata and -Tbss in a script. -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_9.cc b/binutils-2.25/gold/testsuite/script_test_9.cc index 691bc4a..19d7153 100644 --- a/binutils-2.25/gold/testsuite/script_test_9.cc +++ b/binutils-2.25/gold/testsuite/script_test_9.cc @@ -1,6 +1,6 @@ // script_test_9.cc -- a test case for gold -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Rafael Avila de Espindola <espindola@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/script_test_9.sh b/binutils-2.25/gold/testsuite/script_test_9.sh index c149bf0..29a8efe 100755 --- a/binutils-2.25/gold/testsuite/script_test_9.sh +++ b/binutils-2.25/gold/testsuite/script_test_9.sh @@ -3,7 +3,7 @@ # script_test_9.sh -- Check that the script_test_9.t script has placed # .init and .text in the same segment. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Rafael Avila de Espindola <espindola@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/searched_file_test.cc b/binutils-2.25/gold/testsuite/searched_file_test.cc index ece362f..31277f1 100644 --- a/binutils-2.25/gold/testsuite/searched_file_test.cc +++ b/binutils-2.25/gold/testsuite/searched_file_test.cc @@ -1,6 +1,6 @@ // searched_file_test.cc -- test -l:foo.a for gold -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Chris Demetriou <cgd@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/searched_file_test_lib.cc b/binutils-2.25/gold/testsuite/searched_file_test_lib.cc index 038130b..340afc4 100644 --- a/binutils-2.25/gold/testsuite/searched_file_test_lib.cc +++ b/binutils-2.25/gold/testsuite/searched_file_test_lib.cc @@ -1,6 +1,6 @@ // searched_file_test_lib.cc -- test -l:foo.a for gold -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Chris Demetriou <cgd@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/section_sorting_name.cc b/binutils-2.25/gold/testsuite/section_sorting_name.cc index b198fe4..cb7260c 100644 --- a/binutils-2.25/gold/testsuite/section_sorting_name.cc +++ b/binutils-2.25/gold/testsuite/section_sorting_name.cc @@ -1,6 +1,6 @@ // section_sorting_name.cc -- a test case for gold -// Copyright (C) 2013-2015 Free Software Foundation, Inc. +// Copyright (C) 2013-2014 Free Software Foundation, Inc. // Written by Alexander Ivchenko <alexander.ivchenko@intel.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/section_sorting_name.sh b/binutils-2.25/gold/testsuite/section_sorting_name.sh index 19f908b..b413299 100755 --- a/binutils-2.25/gold/testsuite/section_sorting_name.sh +++ b/binutils-2.25/gold/testsuite/section_sorting_name.sh @@ -2,7 +2,7 @@ # section_sorting_name.sh -- test -# Copyright (C) 2013-2015 Free Software Foundation, Inc. +# Copyright (C) 2013-2014 Free Software Foundation, Inc. # Written by Alexander Ivchenko <alexander.ivchenko@intel.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/split_i386.sh b/binutils-2.25/gold/testsuite/split_i386.sh index 0499cc9..f48ea5d 100755 --- a/binutils-2.25/gold/testsuite/split_i386.sh +++ b/binutils-2.25/gold/testsuite/split_i386.sh @@ -2,7 +2,7 @@ # split_i386.sh -- test -fstack-split for i386 -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/split_x32.sh b/binutils-2.25/gold/testsuite/split_x32.sh index 0bc0cf3..0bc0cf3 100755..100644 --- a/binutils-2.25/gold/testsuite/split_x32.sh +++ b/binutils-2.25/gold/testsuite/split_x32.sh diff --git a/binutils-2.25/gold/testsuite/split_x86_64.sh b/binutils-2.25/gold/testsuite/split_x86_64.sh index fdba1f8..530c4b1 100755 --- a/binutils-2.25/gold/testsuite/split_x86_64.sh +++ b/binutils-2.25/gold/testsuite/split_x86_64.sh @@ -2,7 +2,7 @@ # split_x86_64.sh -- test -fstack-split for x86_64 -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/start_lib_test_1.c b/binutils-2.25/gold/testsuite/start_lib_test_1.c index bc7c508..3cd8a51 100644 --- a/binutils-2.25/gold/testsuite/start_lib_test_1.c +++ b/binutils-2.25/gold/testsuite/start_lib_test_1.c @@ -1,6 +1,6 @@ /* start_lib_test_1.c -- test --start-lib/--end-lib. - Copyright (C) 2010-2015 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Cary Coutant <ccoutant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/start_lib_test_2.c b/binutils-2.25/gold/testsuite/start_lib_test_2.c index b08eaa6..b6a99a1 100644 --- a/binutils-2.25/gold/testsuite/start_lib_test_2.c +++ b/binutils-2.25/gold/testsuite/start_lib_test_2.c @@ -1,6 +1,6 @@ /* start_lib_test_2.c -- test --start-lib/--end-lib. - Copyright (C) 2010-2015 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Cary Coutant <ccoutant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/start_lib_test_3.c b/binutils-2.25/gold/testsuite/start_lib_test_3.c index 04a72ae..64a1ebf 100644 --- a/binutils-2.25/gold/testsuite/start_lib_test_3.c +++ b/binutils-2.25/gold/testsuite/start_lib_test_3.c @@ -1,6 +1,6 @@ /* start_lib_test_3.c -- test --start-lib/--end-lib. - Copyright (C) 2010-2015 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Cary Coutant <ccoutant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/start_lib_test_main.c b/binutils-2.25/gold/testsuite/start_lib_test_main.c index 256ff25..6531ba9 100644 --- a/binutils-2.25/gold/testsuite/start_lib_test_main.c +++ b/binutils-2.25/gold/testsuite/start_lib_test_main.c @@ -1,6 +1,6 @@ /* start_lib_test_main.c -- test --start-lib/--end-lib. - Copyright (C) 2010-2015 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Cary Coutant <ccoutant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/strong_ref_weak_def.sh b/binutils-2.25/gold/testsuite/strong_ref_weak_def.sh index f22410e..d5b766f 100755 --- a/binutils-2.25/gold/testsuite/strong_ref_weak_def.sh +++ b/binutils-2.25/gold/testsuite/strong_ref_weak_def.sh @@ -3,7 +3,7 @@ # strong_ref_weak_def.sh -- test non-weak reference to a weak symbol defined # in a DSO. -# Copyright (C) 2010-2015 Free Software Foundation, Inc. +# Copyright (C) 2010-2014 Free Software Foundation, Inc. # Written by Doug Kwan <dougkwan@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/strong_ref_weak_def_1.c b/binutils-2.25/gold/testsuite/strong_ref_weak_def_1.c index d04b1cc..61493f2 100644 --- a/binutils-2.25/gold/testsuite/strong_ref_weak_def_1.c +++ b/binutils-2.25/gold/testsuite/strong_ref_weak_def_1.c @@ -1,7 +1,7 @@ // strong_ref_weak_def_1.c -- test a strong reference to a weak definition // in a DSO. -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Doug Kwan <dougkwan@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/strong_ref_weak_def_2.c b/binutils-2.25/gold/testsuite/strong_ref_weak_def_2.c index f6c8067..c7c9ede 100644 --- a/binutils-2.25/gold/testsuite/strong_ref_weak_def_2.c +++ b/binutils-2.25/gold/testsuite/strong_ref_weak_def_2.c @@ -1,7 +1,7 @@ // strong_ref_weak_def_2.c -- test a strong reference to a weak definition // in a DSO. -// Copyright (C) 2010-2015 Free Software Foundation, Inc. +// Copyright (C) 2010-2014 Free Software Foundation, Inc. // Written by Doug Kwan <dougkwan@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/test.cc b/binutils-2.25/gold/testsuite/test.cc index ced8f3d..80f2ab5 100644 --- a/binutils-2.25/gold/testsuite/test.cc +++ b/binutils-2.25/gold/testsuite/test.cc @@ -1,6 +1,6 @@ // test.cc -- simplistic test framework for gold. -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/test.h b/binutils-2.25/gold/testsuite/test.h index 9952acd..1522bcf 100644 --- a/binutils-2.25/gold/testsuite/test.h +++ b/binutils-2.25/gold/testsuite/test.h @@ -1,6 +1,6 @@ // test.h -- simplistic test framework for gold unittests -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/testfile.cc b/binutils-2.25/gold/testsuite/testfile.cc index c67caff..3defb4d 100644 --- a/binutils-2.25/gold/testsuite/testfile.cc +++ b/binutils-2.25/gold/testsuite/testfile.cc @@ -1,6 +1,6 @@ // testfile.cc -- Dummy ELF objects for testing purposes. -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/testfile.h b/binutils-2.25/gold/testsuite/testfile.h index 582cd67..dac02ff 100644 --- a/binutils-2.25/gold/testsuite/testfile.h +++ b/binutils-2.25/gold/testsuite/testfile.h @@ -1,6 +1,6 @@ // testfile.h -- test input files -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/testmain.cc b/binutils-2.25/gold/testsuite/testmain.cc index b11eefb..a3a105c 100644 --- a/binutils-2.25/gold/testsuite/testmain.cc +++ b/binutils-2.25/gold/testsuite/testmain.cc @@ -1,6 +1,6 @@ // testmain.cc -- main function for simplisitic gold test framework. -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/text_section_grouping.cc b/binutils-2.25/gold/testsuite/text_section_grouping.cc index 3a6fcba..dc29a1f 100644 --- a/binutils-2.25/gold/testsuite/text_section_grouping.cc +++ b/binutils-2.25/gold/testsuite/text_section_grouping.cc @@ -1,6 +1,6 @@ // text_section_grouping.cc -- a test case for gold -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // Written by Sriraman Tallam <tmsriram@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/text_section_grouping.sh b/binutils-2.25/gold/testsuite/text_section_grouping.sh index 6bbbd31..a819e57 100755 --- a/binutils-2.25/gold/testsuite/text_section_grouping.sh +++ b/binutils-2.25/gold/testsuite/text_section_grouping.sh @@ -2,7 +2,7 @@ # text_section_grouping.sh -- test -# Copyright (C) 2012-2015 Free Software Foundation, Inc. +# Copyright (C) 2012-2014 Free Software Foundation, Inc. # Written by Sriraman Tallam <tmsriram@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/thin_archive_main.cc b/binutils-2.25/gold/testsuite/thin_archive_main.cc index 31e9db2..6f19c0a 100644 --- a/binutils-2.25/gold/testsuite/thin_archive_main.cc +++ b/binutils-2.25/gold/testsuite/thin_archive_main.cc @@ -1,6 +1,6 @@ // thin_archive_main.cc -- a test case for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/thin_archive_test_1.cc b/binutils-2.25/gold/testsuite/thin_archive_test_1.cc index be60fd5..f44b3dd 100644 --- a/binutils-2.25/gold/testsuite/thin_archive_test_1.cc +++ b/binutils-2.25/gold/testsuite/thin_archive_test_1.cc @@ -1,6 +1,6 @@ // thin_archive_test_1.cc -- part of a test case for thin archives -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/thin_archive_test_2.cc b/binutils-2.25/gold/testsuite/thin_archive_test_2.cc index 518e316..15c9a7a 100644 --- a/binutils-2.25/gold/testsuite/thin_archive_test_2.cc +++ b/binutils-2.25/gold/testsuite/thin_archive_test_2.cc @@ -1,6 +1,6 @@ // thin_archive_test_2.cc -- part of a test case for thin archives -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/thin_archive_test_3.cc b/binutils-2.25/gold/testsuite/thin_archive_test_3.cc index fda886d..96cd79d 100644 --- a/binutils-2.25/gold/testsuite/thin_archive_test_3.cc +++ b/binutils-2.25/gold/testsuite/thin_archive_test_3.cc @@ -1,6 +1,6 @@ // thin_archive_test_3.cc -- part of a test case for thin archives -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/thin_archive_test_4.cc b/binutils-2.25/gold/testsuite/thin_archive_test_4.cc index 77db724..903de11 100644 --- a/binutils-2.25/gold/testsuite/thin_archive_test_4.cc +++ b/binutils-2.25/gold/testsuite/thin_archive_test_4.cc @@ -1,6 +1,6 @@ // thin_archive_test_4.cc -- part of a test case for thin archives -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/thumb2_branch_range.t b/binutils-2.25/gold/testsuite/thumb2_branch_range.t index 2cc5dff..2002fb9 100644 --- a/binutils-2.25/gold/testsuite/thumb2_branch_range.t +++ b/binutils-2.25/gold/testsuite/thumb2_branch_range.t @@ -1,6 +1,6 @@ /* thumb2_banch_range.t -- linker script to test THUMB-2 branch range. - Copyright (C) 2010-2015 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Doug Kwan <dougkwan@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/thumb_branch_range.t b/binutils-2.25/gold/testsuite/thumb_branch_range.t index 4feed83..2b0e54e 100644 --- a/binutils-2.25/gold/testsuite/thumb_branch_range.t +++ b/binutils-2.25/gold/testsuite/thumb_branch_range.t @@ -1,6 +1,6 @@ /* thumb_banch_range.t -- linker script to test ARM branch range. - Copyright (C) 2010-2015 Free Software Foundation, Inc. + Copyright (C) 2010-2014 Free Software Foundation, Inc. Written by Doug Kwan <dougkwan@google.com>. This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/tls_pie_test.sh b/binutils-2.25/gold/testsuite/tls_pie_test.sh new file mode 100755 index 0000000..009154f --- /dev/null +++ b/binutils-2.25/gold/testsuite/tls_pie_test.sh @@ -0,0 +1,58 @@ +#!/bin/sh + +# tls_pie_test.sh -- a test case for TLS symbols in PIE executables. + +# Copyright (C) 2015 Free Software Foundation, Inc. +# Written by Cary Coutant <ccoutant@gmail.com>. + +# This file is part of gold. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, +# MA 02110-1301, USA. + +# This file goes with tls_pie_test, a program compiled and linked +# with -fpie -pie. Since TLS offsets are known at link time, even +# in a PIE executable, we want to make sure that there are no +# dynamic relocations for the TLS symbols. + +check() +{ + if ! grep -q "$2" "$1" + then + echo "Did not find expected output in $1:" + echo " $2" + echo "" + echo "Actual output below:" + cat "$1" + exit 1 + fi +} + +check_missing() +{ + if grep -q "$2" "$1" + then + echo "Found unexpected output in $1:" + echo " $2" + echo "" + echo "Actual output below:" + cat "$1" + exit 1 + fi +} + +check_missing tls_pie_test.stdout "o1 + 0" +check_missing tls_pie_test.stdout "o2 + 0" +check_missing tls_pie_test.stdout "o3 + 0" diff --git a/binutils-2.25/gold/testsuite/tls_test.cc b/binutils-2.25/gold/testsuite/tls_test.cc index 8864320..7d38658 100644 --- a/binutils-2.25/gold/testsuite/tls_test.cc +++ b/binutils-2.25/gold/testsuite/tls_test.cc @@ -1,6 +1,6 @@ // tls_test.cc -- test TLS variables for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/tls_test.h b/binutils-2.25/gold/testsuite/tls_test.h index be56915..b70c0ee 100644 --- a/binutils-2.25/gold/testsuite/tls_test.h +++ b/binutils-2.25/gold/testsuite/tls_test.h @@ -1,6 +1,6 @@ // tls_test.h -- test TLS variables for gold, header file -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/tls_test_c.c b/binutils-2.25/gold/testsuite/tls_test_c.c index 0e68070..918a5b2 100644 --- a/binutils-2.25/gold/testsuite/tls_test_c.c +++ b/binutils-2.25/gold/testsuite/tls_test_c.c @@ -1,6 +1,6 @@ /* tls_test_c.c -- test TLS common symbol - Copyright (C) 2008-2015 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/tls_test_file2.cc b/binutils-2.25/gold/testsuite/tls_test_file2.cc index 01156cb..86cee67 100644 --- a/binutils-2.25/gold/testsuite/tls_test_file2.cc +++ b/binutils-2.25/gold/testsuite/tls_test_file2.cc @@ -1,6 +1,6 @@ // tls_test.cc -- test TLS variables for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/tls_test_main.cc b/binutils-2.25/gold/testsuite/tls_test_main.cc index dc35840..42db36f 100644 --- a/binutils-2.25/gold/testsuite/tls_test_main.cc +++ b/binutils-2.25/gold/testsuite/tls_test_main.cc @@ -1,6 +1,6 @@ // tls_test.cc -- test TLS variables for gold, main function -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/two_file_shared.sh b/binutils-2.25/gold/testsuite/two_file_shared.sh index 32b8706..84465f8 100755 --- a/binutils-2.25/gold/testsuite/two_file_shared.sh +++ b/binutils-2.25/gold/testsuite/two_file_shared.sh @@ -2,7 +2,7 @@ # two_file_shared.sh -- check that debug info gets symbol addresses -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/two_file_test.h b/binutils-2.25/gold/testsuite/two_file_test.h index 4925552..617b8d2 100644 --- a/binutils-2.25/gold/testsuite/two_file_test.h +++ b/binutils-2.25/gold/testsuite/two_file_test.h @@ -1,6 +1,6 @@ // two_file_test.h -- a two file test case for gold, header file -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/two_file_test_1.cc b/binutils-2.25/gold/testsuite/two_file_test_1.cc index b0c7e48..fdcb7d5 100644 --- a/binutils-2.25/gold/testsuite/two_file_test_1.cc +++ b/binutils-2.25/gold/testsuite/two_file_test_1.cc @@ -1,6 +1,6 @@ // two_file_test_1.cc -- a two file test case for gold, file 1 of 2 -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/two_file_test_1_v1.cc b/binutils-2.25/gold/testsuite/two_file_test_1_v1.cc index a7ea4c8..2518479 100644 --- a/binutils-2.25/gold/testsuite/two_file_test_1_v1.cc +++ b/binutils-2.25/gold/testsuite/two_file_test_1_v1.cc @@ -1,6 +1,6 @@ // two_file_test_1_v1.cc -- a two file test case for gold, file 1 of 2 -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/two_file_test_1b.cc b/binutils-2.25/gold/testsuite/two_file_test_1b.cc index d72b5e2..4083f0b 100644 --- a/binutils-2.25/gold/testsuite/two_file_test_1b.cc +++ b/binutils-2.25/gold/testsuite/two_file_test_1b.cc @@ -1,7 +1,7 @@ // two_file_test_1b.cc -- supplementary file for a three-file test case // for gold. -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/two_file_test_1b_v1.cc b/binutils-2.25/gold/testsuite/two_file_test_1b_v1.cc index b6f2413..3306e9c 100644 --- a/binutils-2.25/gold/testsuite/two_file_test_1b_v1.cc +++ b/binutils-2.25/gold/testsuite/two_file_test_1b_v1.cc @@ -1,7 +1,7 @@ // two_file_test_1b_v1.cc -- supplementary file for a three-file test case // for gold. -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/two_file_test_2.cc b/binutils-2.25/gold/testsuite/two_file_test_2.cc index ab56b21..e3818f9 100644 --- a/binutils-2.25/gold/testsuite/two_file_test_2.cc +++ b/binutils-2.25/gold/testsuite/two_file_test_2.cc @@ -1,6 +1,6 @@ // two_file_test_2.cc -- a two file test case for gold, file 2 of 2 -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/two_file_test_2_tls.cc b/binutils-2.25/gold/testsuite/two_file_test_2_tls.cc index 4b49f01..3f6dc0b 100644 --- a/binutils-2.25/gold/testsuite/two_file_test_2_tls.cc +++ b/binutils-2.25/gold/testsuite/two_file_test_2_tls.cc @@ -1,6 +1,6 @@ // two_file_test_2_tls.cc -- a two file test case for gold, with a TLS symbol -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/two_file_test_2_v1.cc b/binutils-2.25/gold/testsuite/two_file_test_2_v1.cc index c546792..664380b 100644 --- a/binutils-2.25/gold/testsuite/two_file_test_2_v1.cc +++ b/binutils-2.25/gold/testsuite/two_file_test_2_v1.cc @@ -1,6 +1,6 @@ // two_file_test_2_v1.cc -- a two file test case for gold, file 2 of 2 -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/two_file_test_main.cc b/binutils-2.25/gold/testsuite/two_file_test_main.cc index 21c6f5e..6c1c52c 100644 --- a/binutils-2.25/gold/testsuite/two_file_test_main.cc +++ b/binutils-2.25/gold/testsuite/two_file_test_main.cc @@ -1,6 +1,6 @@ // two_file_test_main.cc -- a two file test case for gold, main function -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/two_file_test_tls.cc b/binutils-2.25/gold/testsuite/two_file_test_tls.cc index 56e8bd1..5f450a4 100644 --- a/binutils-2.25/gold/testsuite/two_file_test_tls.cc +++ b/binutils-2.25/gold/testsuite/two_file_test_tls.cc @@ -1,6 +1,6 @@ // two_file_test_tls.cc -- a two file test case for gold, main function, with TLS -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/undef_symbol.cc b/binutils-2.25/gold/testsuite/undef_symbol.cc index 24908a3..306f29a 100644 --- a/binutils-2.25/gold/testsuite/undef_symbol.cc +++ b/binutils-2.25/gold/testsuite/undef_symbol.cc @@ -1,6 +1,6 @@ // undef_symbol.cc -- a test case for undefined references -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/undef_symbol.sh b/binutils-2.25/gold/testsuite/undef_symbol.sh index 661b803..4f6308f 100755 --- a/binutils-2.25/gold/testsuite/undef_symbol.sh +++ b/binutils-2.25/gold/testsuite/undef_symbol.sh @@ -2,7 +2,7 @@ # undef_symbol.sh -- a test case for undefined symbols in shared libraries -# Copyright (C) 2007-2015 Free Software Foundation, Inc. +# Copyright (C) 2007-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/undef_symbol_main.cc b/binutils-2.25/gold/testsuite/undef_symbol_main.cc index bed71c1..537eed8 100644 --- a/binutils-2.25/gold/testsuite/undef_symbol_main.cc +++ b/binutils-2.25/gold/testsuite/undef_symbol_main.cc @@ -1,6 +1,6 @@ // undef_symbol_1.cc -- a test case for undefined references -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_matching_def.cc b/binutils-2.25/gold/testsuite/ver_matching_def.cc index 1024af9..ee2edc3 100644 --- a/binutils-2.25/gold/testsuite/ver_matching_def.cc +++ b/binutils-2.25/gold/testsuite/ver_matching_def.cc @@ -1,6 +1,6 @@ // ver_matching_def.cc - test matching rules in version_script.map -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_matching_test.sh b/binutils-2.25/gold/testsuite/ver_matching_test.sh index 9cde23b..9c7722e 100755 --- a/binutils-2.25/gold/testsuite/ver_matching_test.sh +++ b/binutils-2.25/gold/testsuite/ver_matching_test.sh @@ -2,7 +2,7 @@ # ver_matching_test.sh -- a test case for version script matching -# Copyright (C) 2008-2015 Free Software Foundation, Inc. +# Copyright (C) 2008-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test.h b/binutils-2.25/gold/testsuite/ver_test.h index 947b5ba..62a4b37 100644 --- a/binutils-2.25/gold/testsuite/ver_test.h +++ b/binutils-2.25/gold/testsuite/ver_test.h @@ -1,6 +1,6 @@ // ver_test.h -- a test case for gold -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_1.cc b/binutils-2.25/gold/testsuite/ver_test_1.cc index 8162461..6336234 100644 --- a/binutils-2.25/gold/testsuite/ver_test_1.cc +++ b/binutils-2.25/gold/testsuite/ver_test_1.cc @@ -1,6 +1,6 @@ // ver_test_1.cc -- a test case for gold -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_1.sh b/binutils-2.25/gold/testsuite/ver_test_1.sh index 35dd576..63d5d49 100755 --- a/binutils-2.25/gold/testsuite/ver_test_1.sh +++ b/binutils-2.25/gold/testsuite/ver_test_1.sh @@ -2,7 +2,7 @@ # ver_test_1.sh -- check that protected symbols are local -# Copyright (C) 2009-2015 Free Software Foundation, Inc. +# Copyright (C) 2009-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_10.script b/binutils-2.25/gold/testsuite/ver_test_10.script index e21c1e7..720220c 100644 --- a/binutils-2.25/gold/testsuite/ver_test_10.script +++ b/binutils-2.25/gold/testsuite/ver_test_10.script @@ -1,6 +1,6 @@ ## ver_test_10.script -- a test case for gold -## Copyright (C) 2008-2015 Free Software Foundation, Inc. +## Copyright (C) 2008-2014 Free Software Foundation, Inc. ## Written by Ian Lance Taylor <iant@google.com>. ## This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_10.sh b/binutils-2.25/gold/testsuite/ver_test_10.sh index 3127ef3..11044f3 100755 --- a/binutils-2.25/gold/testsuite/ver_test_10.sh +++ b/binutils-2.25/gold/testsuite/ver_test_10.sh @@ -2,7 +2,7 @@ # ver_test_10.sh -- test global/local symbols -# Copyright (C) 2008-2015 Free Software Foundation, Inc. +# Copyright (C) 2008-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_2.cc b/binutils-2.25/gold/testsuite/ver_test_2.cc index ca63555..bf230d3 100644 --- a/binutils-2.25/gold/testsuite/ver_test_2.cc +++ b/binutils-2.25/gold/testsuite/ver_test_2.cc @@ -1,6 +1,6 @@ // ver_test_2.cc -- a test case for gold -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_2.script b/binutils-2.25/gold/testsuite/ver_test_2.script index ed4e8ab..bd62fc1 100644 --- a/binutils-2.25/gold/testsuite/ver_test_2.script +++ b/binutils-2.25/gold/testsuite/ver_test_2.script @@ -1,6 +1,6 @@ ## ver_test_2.script -- a test case for gold -## Copyright (C) 2007-2015 Free Software Foundation, Inc. +## Copyright (C) 2007-2014 Free Software Foundation, Inc. ## Written by Cary Coutant <ccoutant@google.com>. ## This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_2.sh b/binutils-2.25/gold/testsuite/ver_test_2.sh index 978c8c7..bd973bc 100755 --- a/binutils-2.25/gold/testsuite/ver_test_2.sh +++ b/binutils-2.25/gold/testsuite/ver_test_2.sh @@ -2,7 +2,7 @@ # ver_test_2.sh -- test that symbol has correct version -# Copyright (C) 2008-2015 Free Software Foundation, Inc. +# Copyright (C) 2008-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_3.cc b/binutils-2.25/gold/testsuite/ver_test_3.cc index d4c4089..ec05792 100644 --- a/binutils-2.25/gold/testsuite/ver_test_3.cc +++ b/binutils-2.25/gold/testsuite/ver_test_3.cc @@ -1,6 +1,6 @@ // ver_test_3.cc -- a test case for gold -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_4.cc b/binutils-2.25/gold/testsuite/ver_test_4.cc index 7a5544e..ef06e2c 100644 --- a/binutils-2.25/gold/testsuite/ver_test_4.cc +++ b/binutils-2.25/gold/testsuite/ver_test_4.cc @@ -1,6 +1,6 @@ // ver_test_4.cc -- a test case for gold -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_4.script b/binutils-2.25/gold/testsuite/ver_test_4.script index 23c1a76..071e3f6 100644 --- a/binutils-2.25/gold/testsuite/ver_test_4.script +++ b/binutils-2.25/gold/testsuite/ver_test_4.script @@ -1,6 +1,6 @@ ## ver_test_4.script -- a test case for gold -## Copyright (C) 2007-2015 Free Software Foundation, Inc. +## Copyright (C) 2007-2014 Free Software Foundation, Inc. ## Written by Cary Coutant <ccoutant@google.com>. ## This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_4.sh b/binutils-2.25/gold/testsuite/ver_test_4.sh index 05305b1..f125f2b 100755 --- a/binutils-2.25/gold/testsuite/ver_test_4.sh +++ b/binutils-2.25/gold/testsuite/ver_test_4.sh @@ -2,7 +2,7 @@ # ver_test_4.sh -- test that version symbol is visible. -# Copyright (C) 2008-2015 Free Software Foundation, Inc. +# Copyright (C) 2008-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_5.cc b/binutils-2.25/gold/testsuite/ver_test_5.cc index 96d69fb..d861d48 100644 --- a/binutils-2.25/gold/testsuite/ver_test_5.cc +++ b/binutils-2.25/gold/testsuite/ver_test_5.cc @@ -1,6 +1,6 @@ // ver_test_5.cc -- a test case for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com> // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_5.script b/binutils-2.25/gold/testsuite/ver_test_5.script index f773b57..950adc8 100644 --- a/binutils-2.25/gold/testsuite/ver_test_5.script +++ b/binutils-2.25/gold/testsuite/ver_test_5.script @@ -1,6 +1,6 @@ ## ver_test_5.script -- a test case for gold -## Copyright (C) 2008-2015 Free Software Foundation, Inc. +## Copyright (C) 2008-2014 Free Software Foundation, Inc. ## Written by Ian Lance Taylor <iant@google.com> ## This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_5.sh b/binutils-2.25/gold/testsuite/ver_test_5.sh index e69b065..0c9b024 100755 --- a/binutils-2.25/gold/testsuite/ver_test_5.sh +++ b/binutils-2.25/gold/testsuite/ver_test_5.sh @@ -2,7 +2,7 @@ # ver_test_5.sh -- test that symbol has correct version -# Copyright (C) 2008-2015 Free Software Foundation, Inc. +# Copyright (C) 2008-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_6.c b/binutils-2.25/gold/testsuite/ver_test_6.c index 2270650..fb96c77 100644 --- a/binutils-2.25/gold/testsuite/ver_test_6.c +++ b/binutils-2.25/gold/testsuite/ver_test_6.c @@ -1,6 +1,6 @@ /* ver_test_6.c -- test common symbol with shared library version - Copyright (C) 2008-2015 Free Software Foundation, Inc. + Copyright (C) 2008-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com> This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_7.cc b/binutils-2.25/gold/testsuite/ver_test_7.cc index 1dd489c..2badcea 100644 --- a/binutils-2.25/gold/testsuite/ver_test_7.cc +++ b/binutils-2.25/gold/testsuite/ver_test_7.cc @@ -1,6 +1,6 @@ // ver_test_7.cc -- test weak duplicate symbol with version -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com> // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_7.sh b/binutils-2.25/gold/testsuite/ver_test_7.sh index b336d83..f0fe8f6 100755 --- a/binutils-2.25/gold/testsuite/ver_test_7.sh +++ b/binutils-2.25/gold/testsuite/ver_test_7.sh @@ -2,7 +2,7 @@ # ver_test_7.sh -- test that symbol has correct version -# Copyright (C) 2008-2015 Free Software Foundation, Inc. +# Copyright (C) 2008-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_8.script b/binutils-2.25/gold/testsuite/ver_test_8.script index 92b96b6..9e48e38 100644 --- a/binutils-2.25/gold/testsuite/ver_test_8.script +++ b/binutils-2.25/gold/testsuite/ver_test_8.script @@ -1,6 +1,6 @@ ## ver_test_8.script -- a test case for gold -## Copyright (C) 2008-2015 Free Software Foundation, Inc. +## Copyright (C) 2008-2014 Free Software Foundation, Inc. ## Written by Ian Lance Taylor <iant@google.com> ## This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_9.cc b/binutils-2.25/gold/testsuite/ver_test_9.cc index fac9799..d0cc4e7 100644 --- a/binutils-2.25/gold/testsuite/ver_test_9.cc +++ b/binutils-2.25/gold/testsuite/ver_test_9.cc @@ -1,6 +1,6 @@ // ver_test_9.cc -- a test case for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_main.cc b/binutils-2.25/gold/testsuite/ver_test_main.cc index 410aa5b..c24beb4 100644 --- a/binutils-2.25/gold/testsuite/ver_test_main.cc +++ b/binutils-2.25/gold/testsuite/ver_test_main.cc @@ -1,6 +1,6 @@ // ver_test_main.cc -- a test case for gold -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/ver_test_main_2.cc b/binutils-2.25/gold/testsuite/ver_test_main_2.cc index b2d515c..9a03191 100644 --- a/binutils-2.25/gold/testsuite/ver_test_main_2.cc +++ b/binutils-2.25/gold/testsuite/ver_test_main_2.cc @@ -1,6 +1,6 @@ // ver_test_main_2.cc -- a test case for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_alias_test_1.cc b/binutils-2.25/gold/testsuite/weak_alias_test_1.cc index 8665391..67c709d 100644 --- a/binutils-2.25/gold/testsuite/weak_alias_test_1.cc +++ b/binutils-2.25/gold/testsuite/weak_alias_test_1.cc @@ -1,6 +1,6 @@ // weak_alias_test_1.cc -- test weak aliases for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_alias_test_2.cc b/binutils-2.25/gold/testsuite/weak_alias_test_2.cc index c18b0f7..5933314 100644 --- a/binutils-2.25/gold/testsuite/weak_alias_test_2.cc +++ b/binutils-2.25/gold/testsuite/weak_alias_test_2.cc @@ -1,6 +1,6 @@ // weak_alias_test_2.cc -- test weak aliases for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_alias_test_3.cc b/binutils-2.25/gold/testsuite/weak_alias_test_3.cc index 82056a5..ef7b252 100644 --- a/binutils-2.25/gold/testsuite/weak_alias_test_3.cc +++ b/binutils-2.25/gold/testsuite/weak_alias_test_3.cc @@ -1,6 +1,6 @@ // weak_alias_test_3.cc -- test weak aliases for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_alias_test_4.cc b/binutils-2.25/gold/testsuite/weak_alias_test_4.cc index e4383e6..04a0098 100644 --- a/binutils-2.25/gold/testsuite/weak_alias_test_4.cc +++ b/binutils-2.25/gold/testsuite/weak_alias_test_4.cc @@ -1,6 +1,6 @@ // weak_alias_test_4.cc -- test weak aliases for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_alias_test_5.cc b/binutils-2.25/gold/testsuite/weak_alias_test_5.cc index 8bb13c7..c3e746e 100644 --- a/binutils-2.25/gold/testsuite/weak_alias_test_5.cc +++ b/binutils-2.25/gold/testsuite/weak_alias_test_5.cc @@ -1,6 +1,6 @@ // weak_alias_test_5.cc -- test versioned weak aliases for gold -// Copyright (C) 2011-2015 Free Software Foundation, Inc. +// Copyright (C) 2011-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_alias_test_main.cc b/binutils-2.25/gold/testsuite/weak_alias_test_main.cc index abc3d88..1b4778d 100644 --- a/binutils-2.25/gold/testsuite/weak_alias_test_main.cc +++ b/binutils-2.25/gold/testsuite/weak_alias_test_main.cc @@ -1,6 +1,6 @@ // weak_alias_test_main.cc -- test weak aliases for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_plt.sh b/binutils-2.25/gold/testsuite/weak_plt.sh index 9d334f6..2098011 100755 --- a/binutils-2.25/gold/testsuite/weak_plt.sh +++ b/binutils-2.25/gold/testsuite/weak_plt.sh @@ -2,7 +2,7 @@ # weak_plt.sh -- test calling a weak undefined function. -# Copyright (C) 2008-2015 Free Software Foundation, Inc. +# Copyright (C) 2008-2014 Free Software Foundation, Inc. # Written by Ian Lance Taylor <iant@google.com>. # This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_plt_main.cc b/binutils-2.25/gold/testsuite/weak_plt_main.cc index 0c4ebfb..39fe46f 100644 --- a/binutils-2.25/gold/testsuite/weak_plt_main.cc +++ b/binutils-2.25/gold/testsuite/weak_plt_main.cc @@ -1,6 +1,6 @@ // weak_plt_main.cc -- test call to weak undefined function for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_plt_shared.cc b/binutils-2.25/gold/testsuite/weak_plt_shared.cc index ca774fd..0275a2e 100644 --- a/binutils-2.25/gold/testsuite/weak_plt_shared.cc +++ b/binutils-2.25/gold/testsuite/weak_plt_shared.cc @@ -1,6 +1,6 @@ // weak_plt_shared.cc -- test call to weak undefined function for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_test.cc b/binutils-2.25/gold/testsuite/weak_test.cc index e0c2d12..67c4438 100644 --- a/binutils-2.25/gold/testsuite/weak_test.cc +++ b/binutils-2.25/gold/testsuite/weak_test.cc @@ -1,6 +1,6 @@ // weak_test.cc -- test handling of weak symbols for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_undef.h b/binutils-2.25/gold/testsuite/weak_undef.h index c7a898a..796dca5 100644 --- a/binutils-2.25/gold/testsuite/weak_undef.h +++ b/binutils-2.25/gold/testsuite/weak_undef.h @@ -1,6 +1,6 @@ // weak_undef.h -- test handling of weak undefined symbols for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_undef_file1.cc b/binutils-2.25/gold/testsuite/weak_undef_file1.cc index b5656f5..60cf5c3 100644 --- a/binutils-2.25/gold/testsuite/weak_undef_file1.cc +++ b/binutils-2.25/gold/testsuite/weak_undef_file1.cc @@ -1,6 +1,6 @@ // weak_undef_file1.cc -- test handling of weak undefined symbols for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_undef_file2.cc b/binutils-2.25/gold/testsuite/weak_undef_file2.cc index 79e5da1..7ceff00 100644 --- a/binutils-2.25/gold/testsuite/weak_undef_file2.cc +++ b/binutils-2.25/gold/testsuite/weak_undef_file2.cc @@ -1,6 +1,6 @@ // weak_undef_file2.cc -- test handling of weak undefined symbols for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_undef_file3.cc b/binutils-2.25/gold/testsuite/weak_undef_file3.cc index 87ad01f..1597447 100644 --- a/binutils-2.25/gold/testsuite/weak_undef_file3.cc +++ b/binutils-2.25/gold/testsuite/weak_undef_file3.cc @@ -1,6 +1,6 @@ // weak_undef_file3.cc -- test handling of weak undefined symbols for gold -// Copyright (C) 2014-2015 Free Software Foundation, Inc. +// Copyright (C) 2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_undef_file4.cc b/binutils-2.25/gold/testsuite/weak_undef_file4.cc index f873030..a82a49f 100644 --- a/binutils-2.25/gold/testsuite/weak_undef_file4.cc +++ b/binutils-2.25/gold/testsuite/weak_undef_file4.cc @@ -1,6 +1,6 @@ // weak_undef_file4.cc -- test handling of weak undefined symbols for gold -// Copyright (C) 2014-2015 Free Software Foundation, Inc. +// Copyright (C) 2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_undef_test.cc b/binutils-2.25/gold/testsuite/weak_undef_test.cc index 07f373e..16277a2 100644 --- a/binutils-2.25/gold/testsuite/weak_undef_test.cc +++ b/binutils-2.25/gold/testsuite/weak_undef_test.cc @@ -1,6 +1,6 @@ // weak_undef_test.cc -- test handling of weak undefined symbols for gold -// Copyright (C) 2008-2015 Free Software Foundation, Inc. +// Copyright (C) 2008-2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_undef_test_2.cc b/binutils-2.25/gold/testsuite/weak_undef_test_2.cc index bfaaec8..549bd3f 100644 --- a/binutils-2.25/gold/testsuite/weak_undef_test_2.cc +++ b/binutils-2.25/gold/testsuite/weak_undef_test_2.cc @@ -1,6 +1,6 @@ // weak_undef_test_2.cc -- test handling of weak undefined symbols for gold -// Copyright (C) 2014-2015 Free Software Foundation, Inc. +// Copyright (C) 2014 Free Software Foundation, Inc. // Written by Cary Coutant <ccoutant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/testsuite/weak_unresolved_symbols_test.cc b/binutils-2.25/gold/testsuite/weak_unresolved_symbols_test.cc new file mode 100644 index 0000000..ec2c462 --- /dev/null +++ b/binutils-2.25/gold/testsuite/weak_unresolved_symbols_test.cc @@ -0,0 +1,45 @@ +// weak_unresolved_symbols_test.cc -- a test case for gold + +// Copyright (C) 2015 Free Software Foundation, Inc. +// Written by Sriraman Tallam <tmsriram@google.com>. + +// This file is part of gold. + +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 3 of the License, or +// (at your option) any later version. + +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, +// MA 02110-1301, USA. + +// Test --weak-unresolved-symbols. Symbol foo remains unresolved but +// with -fPIE, needs a GOT entry and has a dynsym entry and a dynamic +// relocation against it created. This will fail to link and run without +// --weak-unresolved-symbols. With --warn-unresolved-symbols, it will link +// but the dynamic linker will complain that foo(_Z3foov) is unresolved. + +extern int foo(); + +int bar() { + return 0; +} + +int (*p)() = &bar; + +int main() { + if (p == &foo) + { + foo(); + } + else + (*p)(); + return 0; +} diff --git a/binutils-2.25/gold/tilegx.cc b/binutils-2.25/gold/tilegx.cc index 5d97271..1a14dea 100644 --- a/binutils-2.25/gold/tilegx.cc +++ b/binutils-2.25/gold/tilegx.cc @@ -1,6 +1,6 @@ // tilegx.cc -- tilegx target support for gold. -// Copyright (C) 2012-2015 Free Software Foundation, Inc. +// Copyright (C) 2012-2014 Free Software Foundation, Inc. // Written by Jiong Wang (jiwang@tilera.com) // This file is part of gold. diff --git a/binutils-2.25/gold/timer.cc b/binutils-2.25/gold/timer.cc index 1744ade..671439f 100644 --- a/binutils-2.25/gold/timer.cc +++ b/binutils-2.25/gold/timer.cc @@ -1,6 +1,6 @@ // timer.cc -- helper class for time accounting -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Rafael Avila de Espindola <espindola@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/timer.h b/binutils-2.25/gold/timer.h index 32e3ec3..fca5b12 100644 --- a/binutils-2.25/gold/timer.h +++ b/binutils-2.25/gold/timer.h @@ -1,6 +1,6 @@ // timer.h -- helper class for time accounting -*- C++ -*- -// Copyright (C) 2009-2015 Free Software Foundation, Inc. +// Copyright (C) 2009-2014 Free Software Foundation, Inc. // Written by Rafael Avila de Espindola <espindola@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/tls.h b/binutils-2.25/gold/tls.h index 351032c..1a287ad 100644 --- a/binutils-2.25/gold/tls.h +++ b/binutils-2.25/gold/tls.h @@ -1,6 +1,6 @@ // tls.h -- Thread-Local Storage utility routines for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/token.h b/binutils-2.25/gold/token.h index 090aee1..47091cb 100644 --- a/binutils-2.25/gold/token.h +++ b/binutils-2.25/gold/token.h @@ -1,6 +1,6 @@ // token.h -- lock tokens for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/version.cc b/binutils-2.25/gold/version.cc index 486a85a..fe1372a 100644 --- a/binutils-2.25/gold/version.cc +++ b/binutils-2.25/gold/version.cc @@ -1,6 +1,6 @@ // version.c -- print gold version information -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/workqueue-internal.h b/binutils-2.25/gold/workqueue-internal.h index 937651a..f27d075 100644 --- a/binutils-2.25/gold/workqueue-internal.h +++ b/binutils-2.25/gold/workqueue-internal.h @@ -1,6 +1,6 @@ // workqueue-internal.h -- internal work queue header for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/workqueue-threads.cc b/binutils-2.25/gold/workqueue-threads.cc index 52931c0..41f0543 100644 --- a/binutils-2.25/gold/workqueue-threads.cc +++ b/binutils-2.25/gold/workqueue-threads.cc @@ -1,6 +1,6 @@ // workqueue-threads.cc -- the threaded workqueue for gold -// Copyright (C) 2007-2015 Free Software Foundation, Inc. +// Copyright (C) 2007-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/workqueue.cc b/binutils-2.25/gold/workqueue.cc index bdd3233..2d5684e 100644 --- a/binutils-2.25/gold/workqueue.cc +++ b/binutils-2.25/gold/workqueue.cc @@ -1,6 +1,6 @@ // workqueue.cc -- the workqueue for gold -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/workqueue.h b/binutils-2.25/gold/workqueue.h index 8609142..d62071e 100644 --- a/binutils-2.25/gold/workqueue.h +++ b/binutils-2.25/gold/workqueue.h @@ -1,6 +1,6 @@ // workqueue.h -- the work queue for gold -*- C++ -*- -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. diff --git a/binutils-2.25/gold/x86_64.cc b/binutils-2.25/gold/x86_64.cc index 4543c8a..02090df 100644 --- a/binutils-2.25/gold/x86_64.cc +++ b/binutils-2.25/gold/x86_64.cc @@ -1,6 +1,6 @@ // x86_64.cc -- x86_64 target support for gold. -// Copyright (C) 2006-2015 Free Software Foundation, Inc. +// Copyright (C) 2006-2014 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -427,6 +427,12 @@ class Target_x86_64 : public Sized_target<size, false> tls_base_symbol_defined_(false) { } + // The safe value for data segment size for PIE links. Anything more + // than this is prone to go/unsafe-pie. + uint64_t + max_pie_data_segment_size() const + { return (128 * 1024 * 1024); } + // Hook for a new output section. void do_new_output_section(Output_section*) const; diff --git a/binutils-2.25/gold/yyscript.y b/binutils-2.25/gold/yyscript.y index 87aab58..f498fc5 100644 --- a/binutils-2.25/gold/yyscript.y +++ b/binutils-2.25/gold/yyscript.y @@ -1,6 +1,6 @@ /* yyscript.y -- linker script grammar for gold. */ -/* Copyright (C) 2006-2015 Free Software Foundation, Inc. +/* Copyright (C) 2006-2014 Free Software Foundation, Inc. Written by Ian Lance Taylor <iant@google.com>. This file is part of gold. @@ -201,6 +201,9 @@ %token PARSING_VERSION_SCRIPT %token PARSING_DEFSYM %token PARSING_DYNAMIC_LIST +%token PARSING_SECTIONS_BLOCK +%token PARSING_SECTION_COMMANDS +%token PARSING_MEMORY_DEF /* Non-terminal types, where needed. */ @@ -232,6 +235,9 @@ top: | PARSING_VERSION_SCRIPT version_script | PARSING_DEFSYM defsym_expr | PARSING_DYNAMIC_LIST dynamic_list_expr + | PARSING_SECTIONS_BLOCK sections_block + | PARSING_SECTION_COMMANDS section_cmds + | PARSING_MEMORY_DEF memory_defs ; /* A file contains a list of commands. */ @@ -281,7 +287,14 @@ file_cmd: { script_push_lex_into_version_mode(closure); } version_script '}' { script_pop_lex_mode(closure); } - | file_or_sections_cmd + | ENTRY '(' string ')' + { script_set_entry(closure, $3.value, $3.length); } + | assignment end + | ASSERT_K '(' parse_exp ',' string ')' + { script_add_assertion(closure, $3, $5.value, $5.length); } + | INCLUDE string + { script_include_directive(PARSING_LINKER_SCRIPT, closure, + $2.value, $2.length); } | ignore_cmd | ';' ; @@ -339,7 +352,14 @@ sections_block: /* A command which may appear within a SECTIONS block. */ section_block_cmd: - file_or_sections_cmd + ENTRY '(' string ')' + { script_set_entry(closure, $3.value, $3.length); } + | assignment end + | ASSERT_K '(' parse_exp ',' string ')' + { script_add_assertion(closure, $3, $5.value, $5.length); } + | INCLUDE string + { script_include_directive(PARSING_SECTIONS_BLOCK, closure, + $2.value, $2.length); } | string section_header { script_start_output_section(closure, $1.value, $1.length, &$2); } '{' section_cmds '}' section_trailer @@ -529,7 +549,8 @@ section_cmd: } | SORT_BY_NAME '(' CONSTRUCTORS ')' | INCLUDE string - { script_include_directive(closure, $2.value, $2.length); } + { script_include_directive(PARSING_SECTION_COMMANDS, closure, + $2.value, $2.length); } | ';' ; @@ -683,18 +704,6 @@ wildcard_name: } ; -/* A command which may appear at the top level of a linker script, or - within a SECTIONS block. */ -file_or_sections_cmd: - ENTRY '(' string ')' - { script_set_entry(closure, $3.value, $3.length); } - | assignment end - | ASSERT_K '(' parse_exp ',' string ')' - { script_add_assertion(closure, $3, $5.value, $5.length); } - | INCLUDE string - { script_include_directive(closure, $2.value, $2.length); } - ; - /* A list of MEMORY definitions. */ memory_defs: memory_defs opt_comma memory_def @@ -706,9 +715,9 @@ memory_def: string memory_attr ':' memory_origin '=' parse_exp opt_comma memory_length '=' parse_exp { script_add_memory(closure, $1.value, $1.length, $2, $6, $10); } | - /* LD supports an INCLUDE directive here, currently GOLD does not. */ INCLUDE string - { script_include_directive(closure, $2.value, $2.length); } + { script_include_directive(PARSING_MEMORY_DEF, closure, + $2.value, $2.length); } | ; diff --git a/binutils-2.25/gprof/.gitignore b/binutils-2.25/gprof/.gitignore new file mode 100644 index 0000000..28f9e80 --- /dev/null +++ b/binutils-2.25/gprof/.gitignore @@ -0,0 +1,8 @@ +/gprof + +/bsd_callg_bl.c +/config.texi +/flat_bl.c +/fsf_callg_bl.c +/gconfig.h +/gprof.1 diff --git a/binutils-2.25/gprof/ChangeLog b/binutils-2.25/gprof/ChangeLog index 19ee500..b29f463 100644 --- a/binutils-2.25/gprof/ChangeLog +++ b/binutils-2.25/gprof/ChangeLog @@ -10,7 +10,7 @@ * po/bg.po: Updated Bulgarian translation. * po/sr.po: Updated Serbian translation. -2014-10-14 Andreas Schwab <schwab@linux-m68k.org> +2014-10-15 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. diff --git a/binutils-2.25/gprof/Makefile.am b/binutils-2.25/gprof/Makefile.am index ef54c38..221b8e3 100644 --- a/binutils-2.25/gprof/Makefile.am +++ b/binutils-2.25/gprof/Makefile.am @@ -78,7 +78,7 @@ MANCONF = -Dman TEXI2POD = perl $(srcdir)/../etc/texi2pod.pl $(AM_MAKEINFOFLAGS) -POD2MAN = pod2man --center="GNU" --release="binutils-$(VERSION)" --section=1 +POD2MAN = pod2man --center="GNU" --release="binutils-$(VERSION)" --section=1 --date=" " info_TEXINFOS = gprof.texi gprof_TEXINFOS = config.texi diff --git a/binutils-2.25/gprof/Makefile.in b/binutils-2.25/gprof/Makefile.in index 01797b6..c89a704 100644 --- a/binutils-2.25/gprof/Makefile.in +++ b/binutils-2.25/gprof/Makefile.in @@ -16,7 +16,7 @@ @SET_MAKE@ # -# Copyright (C) 2012-2014 Free Software Foundation, Inc. +# Copyright (C) 2012-2015 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -329,7 +329,7 @@ CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh POTFILES = $(sources) $(noinst_HEADERS) MANCONF = -Dman TEXI2POD = perl $(srcdir)/../etc/texi2pod.pl $(AM_MAKEINFOFLAGS) -POD2MAN = pod2man --center="GNU" --release="binutils-$(VERSION)" --section=1 +POD2MAN = pod2man --center="GNU" --release="binutils-$(VERSION)" --section=1 --date=" " info_TEXINFOS = gprof.texi gprof_TEXINFOS = config.texi man_MANS = gprof.1 diff --git a/binutils-2.25/gprof/configure b/binutils-2.25/gprof/configure index 53897bc..3d2ecd1 100755 --- a/binutils-2.25/gprof/configure +++ b/binutils-2.25/gprof/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for gprof 2.24.90. +# Generated by GNU Autoconf 2.64 for gprof 2.25.51. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software @@ -556,8 +556,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='gprof' PACKAGE_TARNAME='gprof' -PACKAGE_VERSION='2.24.90' -PACKAGE_STRING='gprof 2.24.90' +PACKAGE_VERSION='2.25.51' +PACKAGE_STRING='gprof 2.25.51' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1299,7 +1299,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures gprof 2.24.90 to adapt to many kinds of systems. +\`configure' configures gprof 2.25.51 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1370,7 +1370,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of gprof 2.24.90:";; + short | recursive ) echo "Configuration of gprof 2.25.51:";; esac cat <<\_ACEOF @@ -1476,7 +1476,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -gprof configure 2.24.90 +gprof configure 2.25.51 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -1841,7 +1841,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by gprof $as_me 2.24.90, which was +It was created by gprof $as_me 2.25.51, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -3649,7 +3649,7 @@ fi # Define the identity of the package. PACKAGE='gprof' - VERSION='2.24.90' + VERSION='2.25.51' cat >>confdefs.h <<_ACEOF @@ -12706,7 +12706,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by gprof $as_me 2.24.90, which was +This file was extended by gprof $as_me 2.25.51, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -12770,7 +12770,7 @@ Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -gprof config.status 2.24.90 +gprof config.status 2.25.51 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/binutils-2.25/include/ChangeLog b/binutils-2.25/include/ChangeLog index 43e06f7..0204432 100644 --- a/binutils-2.25/include/ChangeLog +++ b/binutils-2.25/include/ChangeLog @@ -1,11 +1,10 @@ -2014-11-18 Igor Zamyatin <igor.zamyatin@intel.com> +2014-10-30 Andrew Pinski <apinski@cavium.com> - * bfdlink.h (struct bfd_link_info): Add bndplt. + * elf/mips.h (AFL_EXT_OCTEON3): Define. + INSN_OCTEON3, CPU_OCTEON3): Define. -2014-10-28 Matthew Fortune <matthew.fortune@imgtec.com> +2014-10-22 Matthew Fortune <matthew.fortune@imgtec.com> - Apply trunk patches - 2014-10-22 Matthew Fortune <matthew.fortune@imgtec.com> * elf/mips.h (AFL_ASE_MASK): Define. 2014-09-26 Max Ostapenko <m.ostapenko@partner.samsung.com> diff --git a/binutils-2.25/include/bfdlink.h b/binutils-2.25/include/bfdlink.h index f3181ba..125683d 100644 --- a/binutils-2.25/include/bfdlink.h +++ b/binutils-2.25/include/bfdlink.h @@ -417,9 +417,6 @@ struct bfd_link_info /* TRUE if the linker script contained an explicit PHDRS command. */ unsigned int user_phdrs: 1; - /* TRUE if BND prefix in PLT entries is always generated. */ - unsigned int bndplt: 1; - /* Char that may appear as the first char of a symbol, but should be skipped (like symbol_leading_char) when looking up symbols in wrap_hash. Used by PowerPC Linux for 'dot' symbols. */ diff --git a/binutils-2.25/include/dwarf2.def b/binutils-2.25/include/dwarf2.def index 71a37b3..215d29d 100644 --- a/binutils-2.25/include/dwarf2.def +++ b/binutils-2.25/include/dwarf2.def @@ -202,6 +202,8 @@ DW_FORM (DW_FORM_sec_offset, 0x17) DW_FORM (DW_FORM_exprloc, 0x18) DW_FORM (DW_FORM_flag_present, 0x19) DW_FORM (DW_FORM_ref_sig8, 0x20) +/* DWARF 5. */ +DW_FORM (DW_FORM_line_strp, 0x1f) /* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */ DW_FORM (DW_FORM_GNU_addr_index, 0x1f01) DW_FORM (DW_FORM_GNU_str_index, 0x1f02) diff --git a/binutils-2.25/include/dwarf2.h b/binutils-2.25/include/dwarf2.h index e05955c..b303024 100644 --- a/binutils-2.25/include/dwarf2.h +++ b/binutils-2.25/include/dwarf2.h @@ -224,7 +224,13 @@ enum dwarf_line_number_ops /* DWARF 3. */ DW_LNS_set_prologue_end = 10, DW_LNS_set_epilogue_begin = 11, - DW_LNS_set_isa = 12 + DW_LNS_set_isa = 12, + /* Experimental DWARF 5 extensions. + See http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables. */ + DW_LNS_set_address_from_logical = 13, /* Actuals table only. */ + DW_LNS_set_subprogram = 13, /* Logicals table only. */ + DW_LNS_inlined_call = 14, /* Logicals table only. */ + DW_LNS_pop_context = 15 /* Logicals table only. */ }; /* Line number extended opcodes. */ @@ -270,6 +276,22 @@ enum dwarf_location_list_entry_type DW_LLE_GNU_start_length_entry = 3 }; +/* Type codes for line number program content descriptors (DWARF 5). */ + +enum dwarf_line_number_content_type + { + DW_LNCT_path = 1, + DW_LNCT_directory_index = 2, + DW_LNCT_timestamp = 3, + DW_LNCT_size = 4, + DW_LNCT_MD5 = 5, + /* Experimental DWARF 5 extensions. + See http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables. */ + DW_LNCT_subprogram_name = 6, + DW_LNCT_decl_file = 7, + DW_LNCT_decl_line = 8 + }; + #define DW_CIE_ID 0xffffffff #define DW64_CIE_ID 0xffffffffffffffffULL #define DW_CIE_VERSION 1 diff --git a/binutils-2.25/include/elf/ChangeLog b/binutils-2.25/include/elf/ChangeLog index 17978ba..d7767f5 100644 --- a/binutils-2.25/include/elf/ChangeLog +++ b/binutils-2.25/include/elf/ChangeLog @@ -1,3 +1,15 @@ +2014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com> + + * arm.h: New AEABI_FP_number_model_* and AEABI_VFP_args_* enum values. + +2014-11-13 H.J. Lu <hongjiu.lu@intel.com> + + * x86-64.h (R_X86_64_GOTPLT64): Mark it obsolete. + +2014-10-17 Jose E. Marchesi <jose.marchesi@oracle.com> + + * sparc.h (ELF_SPARC_HWCAP2_VIS3B): Documentation improved. + 2014-10-09 Jose E. Marchesi <jose.marchesi@oracle.com> * sparc.h (Tag_GNU_Sparc_HWCAPS2): New object attribute. diff --git a/binutils-2.25/include/elf/arm.h b/binutils-2.25/include/elf/arm.h index 34afdfd..e85536b 100644 --- a/binutils-2.25/include/elf/arm.h +++ b/binutils-2.25/include/elf/arm.h @@ -319,6 +319,23 @@ enum Tag_VFP_HP_extension = Tag_FP_HP_extension }; +/* Values for Tag_ABI_FP_number_model. */ +enum +{ + AEABI_FP_number_model_none = 0, + AEABI_FP_number_model_ieee754_number = 1, + AEABI_FP_number_model_rtabi = 2, + AEABI_FP_number_model_ieee754_all = 3 +}; + +/* Values for Tag_ABI_VFP_args. */ +enum +{ + AEABI_VFP_args_base = 0, + AEABI_VFP_args_vfp = 1, + AEABI_VFP_args_toolchain = 2, + AEABI_VFP_args_compatible = 3 +}; #endif /* The name of the note section used to identify arm variants. */ diff --git a/binutils-2.25/include/elf/epiphany.h b/binutils-2.25/include/elf/epiphany.h index 38f973f..38f973f 100644..100755 --- a/binutils-2.25/include/elf/epiphany.h +++ b/binutils-2.25/include/elf/epiphany.h diff --git a/binutils-2.25/include/elf/mips.h b/binutils-2.25/include/elf/mips.h index f3589ff..87704e0 100644 --- a/binutils-2.25/include/elf/mips.h +++ b/binutils-2.25/include/elf/mips.h @@ -1250,6 +1250,7 @@ extern void bfd_mips_elf_swap_abiflags_v0_out #define AFL_EXT_5500 16 /* NEC VR5500 instruction. */ #define AFL_EXT_LOONGSON_2E 17 /* ST Microelectronics Loongson 2E. */ #define AFL_EXT_LOONGSON_2F 18 /* ST Microelectronics Loongson 2F. */ +#define AFL_EXT_OCTEON3 19 /* Cavium Networks Octeon3. */ /* Masks for the flags1 word of an ABI flags structure. */ #define AFL_FLAGS1_ODDSPREG 1 /* Uses odd single-precision registers. */ diff --git a/binutils-2.25/include/elf/sparc.h b/binutils-2.25/include/elf/sparc.h index d41ba35b..fd17a24 100644 --- a/binutils-2.25/include/elf/sparc.h +++ b/binutils-2.25/include/elf/sparc.h @@ -237,7 +237,7 @@ enum #define ELF_SPARC_HWCAP_CRC32C 0x20000000 /* CRC32C insn */ #define ELF_SPARC_HWCAP2_FJATHPLUS 0x00000001 /* Fujitsu Athena+ */ -#define ELF_SPARC_HWCAP2_VIS3B 0x00000002 /* VIS3 present on multiple chips */ +#define ELF_SPARC_HWCAP2_VIS3B 0x00000002 /* Subset of VIS3 present on sparc64 X+ */ #define ELF_SPARC_HWCAP2_ADP 0x00000004 /* Application Data Protection */ #define ELF_SPARC_HWCAP2_SPARC5 0x00000008 /* The 29 new fp and sub instructions */ #define ELF_SPARC_HWCAP2_MWAIT 0x00000010 /* mwait instruction and load/monitor ASIs */ diff --git a/binutils-2.25/include/elf/x86-64.h b/binutils-2.25/include/elf/x86-64.h index d0dda47..13f87b2 100644 --- a/binutils-2.25/include/elf/x86-64.h +++ b/binutils-2.25/include/elf/x86-64.h @@ -58,8 +58,7 @@ START_RELOC_NUMBERS (elf_x86_64_reloc_type) offset to GOT entry */ RELOC_NUMBER (R_X86_64_GOTPC64, 29) /* 64 bit signed pc relative offset to GOT */ - RELOC_NUMBER (R_X86_64_GOTPLT64, 30) /* like GOT64, but indicates - that PLT entry is needed */ + RELOC_NUMBER (R_X86_64_GOTPLT64, 30) /* Obsolete. The same as GOT64. */ RELOC_NUMBER (R_X86_64_PLTOFF64, 31) /* 64 bit GOT relative offset to PLT entry */ RELOC_NUMBER (R_X86_64_SIZE32, 32) /* 32-bit symbol size */ diff --git a/binutils-2.25/include/opcode/ChangeLog b/binutils-2.25/include/opcode/ChangeLog index d378910..d40c9fd 100644 --- a/binutils-2.25/include/opcode/ChangeLog +++ b/binutils-2.25/include/opcode/ChangeLog @@ -1,3 +1,62 @@ +2014-11-06 Sandra Loosemore <sandra@codesourcery.com> + + * nios2.h (nios2_find_opcode_hash): Add mach parameter to + declaration. Fix obsolete comment. + +2014-10-23 Sandra Loosemore <sandra@codesourcery.com> + + * nios2.h (enum iw_format_type): New. + (struct nios2_opcode): Update comments. Add size and format fields. + (NIOS2_INSN_OPTARG): New. + (REG_NORMAL, REG_CONTROL, REG_COPROCESSOR): New. + (struct nios2_reg): Add regtype field. + (GET_INSN_FIELD, SET_INSN_FIELD): Delete. + (IW_A_LSB, IW_A_MSB, IW_A_SZ, IW_A_MASK): Delete. + (IW_B_LSB, IW_B_MSB, IW_B_SZ, IW_B_MASK): Delete. + (IW_C_LSB, IW_C_MSB, IW_C_SZ, IW_C_MASK): Delete. + (IW_IMM16_LSB, IW_IMM16_MSB, IW_IMM16_SZ, IW_IMM16_MASK): Delete. + (IW_IMM26_LSB, IW_IMM26_MSB, IW_IMM26_SZ, IW_IMM26_MASK): Delete. + (IW_OP_LSB, IW_OP_MSB, IW_OP_SZ, IW_OP_MASK): Delete. + (IW_OPX_LSB, IW_OPX_MSB, IW_OPX_SZ, IW_OPX_MASK): Delete. + (IW_SHIFT_IMM5_LSB, IW_SHIFT_IMM5_MSB): Delete. + (IW_SHIFT_IMM5_SZ, IW_SHIFT_IMM5_MASK): Delete. + (IW_CONTROL_REGNUM_LSB, IW_CONTROL_REGNUM_MSB): Delete. + (IW_CONTROL_REGNUM_SZ, IW_CONTROL_REGNUM_MASK): Delete. + (OP_MASK_OP, OP_SH_OP): Delete. + (OP_MASK_IOP, OP_SH_IOP): Delete. + (OP_MASK_IRD, OP_SH_IRD): Delete. + (OP_MASK_IRT, OP_SH_IRT): Delete. + (OP_MASK_IRS, OP_SH_IRS): Delete. + (OP_MASK_ROP, OP_SH_ROP): Delete. + (OP_MASK_RRD, OP_SH_RRD): Delete. + (OP_MASK_RRT, OP_SH_RRT): Delete. + (OP_MASK_RRS, OP_SH_RRS): Delete. + (OP_MASK_JOP, OP_SH_JOP): Delete. + (OP_MASK_IMM26, OP_SH_IMM26): Delete. + (OP_MASK_RCTL, OP_SH_RCTL): Delete. + (OP_MASK_IMM5, OP_SH_IMM5): Delete. + (OP_MASK_CACHE_OPX, OP_SH_CACHE_OPX): Delete. + (OP_MASK_CACHE_RRS, OP_SH_CACHE_RRS): Delete. + (OP_MASK_CUSTOM_A, OP_SH_CUSTOM_A): Delete. + (OP_MASK_CUSTOM_B, OP_SH_CUSTOM_B): Delete. + (OP_MASK_CUSTOM_C, OP_SH_CUSTOM_C): Delete. + (OP_MASK_CUSTOM_N, OP_SH_CUSTOM_N): Delete. + (OP_<insn>, OPX_<insn>, OP_MATCH_<insn>, OPX_MATCH_<insn>): Delete. + (OP_MASK_<insn>, OP_MASK): Delete. + (GET_IW_A, GET_IW_B, GET_IW_C, GET_IW_CONTROL_REGNUM): Delete. + (GET_IW_IMM16, GET_IW_IMM26, GET_IW_OP, GET_IW_OPX): Delete. + Include nios2r1.h to define new instruction opcode constants + and accessors. + (nios2_builtin_opcodes): Rename to nios2_r1_opcodes. + (bfd_nios2_num_builtin_opcodes): Rename to nios2_num_r1_opcodes. + (bfd_nios2_num_opcodes): Rename to nios2_num_opcodes. + (NUMOPCODES, NUMREGISTERS): Delete. + * nios2r1.h: New file. + +2014-10-17 Jose E. Marchesi <jose.marchesi@oracle.com> + + * sparc.h (HWCAP2_VIS3B): Documentation improved. + 2014-10-09 Jose E. Marchesi <jose.marchesi@oracle.com> * sparc.h (sparc_opcode): new field `hwcaps2'. diff --git a/binutils-2.25/include/opcode/bfin.h b/binutils-2.25/include/opcode/bfin.h index fafe0d8..fafe0d8 100644..100755 --- a/binutils-2.25/include/opcode/bfin.h +++ b/binutils-2.25/include/opcode/bfin.h diff --git a/binutils-2.25/include/opcode/mips.h b/binutils-2.25/include/opcode/mips.h index 2882699..471f6c8 100644 --- a/binutils-2.25/include/opcode/mips.h +++ b/binutils-2.25/include/opcode/mips.h @@ -1216,6 +1216,7 @@ static const unsigned int mips_isa_table[] = { #define INSN_OCTEON 0x00000800 #define INSN_OCTEONP 0x00000200 #define INSN_OCTEON2 0x00000100 +#define INSN_OCTEON3 0x00000040 /* MIPS R5900 instruction */ #define INSN_5900 0x00004000 @@ -1346,6 +1347,7 @@ static const unsigned int mips_isa_table[] = { #define CPU_OCTEON 6501 #define CPU_OCTEONP 6601 #define CPU_OCTEON2 6502 +#define CPU_OCTEON3 6503 #define CPU_XLR 887682 /* decimal 'XLR' */ /* Return true if the given CPU is included in INSN_* mask MASK. */ @@ -1411,6 +1413,9 @@ cpu_is_member (int cpu, unsigned int mask) case CPU_OCTEON2: return (mask & INSN_OCTEON2) != 0; + case CPU_OCTEON3: + return (mask & INSN_OCTEON3) != 0; + case CPU_XLR: return (mask & INSN_XLR) != 0; diff --git a/binutils-2.25/include/opcode/nios2.h b/binutils-2.25/include/opcode/nios2.h index 04beff9..6b4c2f5 100644 --- a/binutils-2.25/include/opcode/nios2.h +++ b/binutils-2.25/include/opcode/nios2.h @@ -31,6 +31,15 @@ * access various opcode fields. ****************************************************************************/ +/* Instruction encoding formats. */ +enum iw_format_type { + /* R1 formats */ + iw_i_type, + iw_r_type, + iw_j_type, + iw_custom_type +}; + /* Identify different overflow situations for error messages. */ enum overflow_type { @@ -56,12 +65,14 @@ enum overflow_type u - a 16-bit unsigned immediate o - a 16-bit signed program counter relative offset j - a 5-bit unsigned immediate - b - a 5-bit break instruction constant l - a 8-bit custom instruction constant m - a 26-bit unsigned immediate Literal ',', '(', and ')' characters may also appear in the args as delimiters. + Note that the args describe the semantics and assembly-language syntax + of the operands, not their encoding into the instruction word. + The pinfo field is INSN_MACRO for a macro. Otherwise, it is a collection of bits describing the instruction, notably any relevant hazard information. @@ -84,6 +95,8 @@ struct nios2_opcode the expected opcode. */ unsigned long num_args; /* The number of arguments the instruction takes. */ + unsigned size; /* Size in bytes of the instruction. */ + enum iw_format_type format; /* Instruction format. */ unsigned long match; /* The basic opcode for the instruction. */ unsigned long mask; /* Mask for the opcode field of the instruction. */ @@ -112,398 +125,28 @@ struct nios2_opcode #define NIOS2_INSN_ORI 0x00000200 #define NIOS2_INSN_XORI 0x00000400 +#define NIOS2_INSN_OPTARG 0x00000800 + +/* Register attributes. */ +#define REG_NORMAL (1<<0) /* Normal registers. */ +#define REG_CONTROL (1<<1) /* Control registers. */ +#define REG_COPROCESSOR (1<<2) /* For custom instructions. */ -/* Associates a register name ($6) with a 5-bit index (eg 6). */ struct nios2_reg { const char *name; const int index; + unsigned long regtype; }; +/* Pull in the instruction field accessors, opcodes, and masks. */ +#include "nios2r1.h" -/* These are bit masks and shift counts for accessing the various - fields of a Nios II instruction. */ - -/* Macros for getting and setting an instruction field. */ -#define GET_INSN_FIELD(X, i) \ - (((i) & OP_MASK_##X) >> OP_SH_##X) -#define SET_INSN_FIELD(X, i, j) \ - ((i) = (((i) & ~OP_MASK_##X) | (((j) << OP_SH_##X) & OP_MASK_##X))) - -/* Instruction field definitions. */ -#define IW_A_LSB 27 -#define IW_A_MSB 31 -#define IW_A_SZ 5 -#define IW_A_MASK 0x1f - -#define IW_B_LSB 22 -#define IW_B_MSB 26 -#define IW_B_SZ 5 -#define IW_B_MASK 0x1f - -#define IW_C_LSB 17 -#define IW_C_MSB 21 -#define IW_C_SZ 5 -#define IW_C_MASK 0x1f - -#define IW_IMM16_LSB 6 -#define IW_IMM16_MSB 21 -#define IW_IMM16_SZ 16 -#define IW_IMM16_MASK 0xffff - -#define IW_IMM26_LSB 6 -#define IW_IMM26_MSB 31 -#define IW_IMM26_SZ 26 -#define IW_IMM26_MASK 0x3ffffff - -#define IW_OP_LSB 0 -#define IW_OP_MSB 5 -#define IW_OP_SZ 6 -#define IW_OP_MASK 0x3f - -#define IW_OPX_LSB 11 -#define IW_OPX_MSB 16 -#define IW_OPX_SZ 6 -#define IW_OPX_MASK 0x3f - -#define IW_SHIFT_IMM5_LSB 6 -#define IW_SHIFT_IMM5_MSB 10 -#define IW_SHIFT_IMM5_SZ 5 -#define IW_SHIFT_IMM5_MASK 0x1f - -#define IW_CONTROL_REGNUM_LSB 6 -#define IW_CONTROL_REGNUM_MSB 9 -#define IW_CONTROL_REGNUM_SZ 4 -#define IW_CONTROL_REGNUM_MASK 0xf - -/* Operator mask and shift. */ -#define OP_MASK_OP (IW_OP_MASK << IW_OP_LSB) -#define OP_SH_OP IW_OP_LSB - -/* Masks and shifts for I-type instructions. */ -#define OP_MASK_IOP (IW_OP_MASK << IW_OP_LSB) -#define OP_SH_IOP IW_OP_LSB - -#define OP_MASK_IMM16 (IW_IMM16_MASK << IW_IMM16_LSB) -#define OP_SH_IMM16 IW_IMM16_LSB - -#define OP_MASK_IRD (IW_B_MASK << IW_B_LSB) -#define OP_SH_IRD IW_B_LSB /* The same as T for I-type. */ - -#define OP_MASK_IRT (IW_B_MASK << IW_B_LSB) -#define OP_SH_IRT IW_B_LSB - -#define OP_MASK_IRS (IW_A_MASK << IW_A_LSB) -#define OP_SH_IRS IW_A_LSB - -/* Masks and shifts for R-type instructions. */ -#define OP_MASK_ROP (IW_OP_MASK << IW_OP_LSB) -#define OP_SH_ROP IW_OP_LSB - -#define OP_MASK_ROPX (IW_OPX_MASK << IW_OPX_LSB) -#define OP_SH_ROPX IW_OPX_LSB - -#define OP_MASK_RRD (IW_C_MASK << IW_C_LSB) -#define OP_SH_RRD IW_C_LSB - -#define OP_MASK_RRT (IW_B_MASK << IW_B_LSB) -#define OP_SH_RRT IW_B_LSB - -#define OP_MASK_RRS (IW_A_MASK << IW_A_LSB) -#define OP_SH_RRS IW_A_LSB - -/* Masks and shifts for J-type instructions. */ -#define OP_MASK_JOP (IW_OP_MASK << IW_OP_LSB) -#define OP_SH_JOP IW_OP_LSB - -#define OP_MASK_IMM26 (IW_IMM26_MASK << IW_IMM26_LSB) -#define OP_SH_IMM26 IW_IMM26_LSB - -/* Masks and shifts for CTL instructions. */ -#define OP_MASK_RCTL 0x000007c0 -#define OP_SH_RCTL 6 - -/* Break instruction imm5 field. */ -#define OP_MASK_TRAP_IMM5 0x000007c0 -#define OP_SH_TRAP_IMM5 6 - -/* Instruction imm5 field. */ -#define OP_MASK_IMM5 (IW_SHIFT_IMM5_MASK << IW_SHIFT_IMM5_LSB) -#define OP_SH_IMM5 IW_SHIFT_IMM5_LSB - -/* Cache operation fields (type j,i(s)). */ -#define OP_MASK_CACHE_OPX (IW_B_MASK << IW_B_LSB) -#define OP_SH_CACHE_OPX IW_B_LSB -#define OP_MASK_CACHE_RRS (IW_A_MASK << IW_A_LSB) -#define OP_SH_CACHE_RRS IW_A_LSB - -/* Custom instruction masks. */ -#define OP_MASK_CUSTOM_A 0x00010000 -#define OP_SH_CUSTOM_A 16 - -#define OP_MASK_CUSTOM_B 0x00008000 -#define OP_SH_CUSTOM_B 15 - -#define OP_MASK_CUSTOM_C 0x00004000 -#define OP_SH_CUSTOM_C 14 - -#define OP_MASK_CUSTOM_N 0x00003fc0 -#define OP_SH_CUSTOM_N 6 -#define OP_MAX_CUSTOM_N 255 - -/* OP instruction values. */ -#define OP_ADDI 4 -#define OP_ANDHI 44 -#define OP_ANDI 12 -#define OP_BEQ 38 -#define OP_BGE 14 -#define OP_BGEU 46 -#define OP_BLT 22 -#define OP_BLTU 54 -#define OP_BNE 30 -#define OP_BR 6 -#define OP_CALL 0 -#define OP_CMPEQI 32 -#define OP_CMPGEI 8 -#define OP_CMPGEUI 40 -#define OP_CMPLTI 16 -#define OP_CMPLTUI 48 -#define OP_CMPNEI 24 -#define OP_CUSTOM 50 -#define OP_FLUSHD 59 -#define OP_FLUSHDA 27 -#define OP_INITD 51 -#define OP_INITDA 19 -#define OP_JMPI 1 -#define OP_LDB 7 -#define OP_LDBIO 39 -#define OP_LDBU 3 -#define OP_LDBUIO 35 -#define OP_LDH 15 -#define OP_LDHIO 47 -#define OP_LDHU 11 -#define OP_LDHUIO 43 -#define OP_LDL 31 -#define OP_LDW 23 -#define OP_LDWIO 55 -#define OP_MULI 36 -#define OP_OPX 58 -#define OP_ORHI 52 -#define OP_ORI 20 -#define OP_RDPRS 56 -#define OP_STB 5 -#define OP_STBIO 37 -#define OP_STC 29 -#define OP_STH 13 -#define OP_STHIO 45 -#define OP_STW 21 -#define OP_STWIO 53 -#define OP_XORHI 60 -#define OP_XORI 28 - -/* OPX instruction values. */ -#define OPX_ADD 49 -#define OPX_AND 14 -#define OPX_BREAK 52 -#define OPX_BRET 9 -#define OPX_CALLR 29 -#define OPX_CMPEQ 32 -#define OPX_CMPGE 8 -#define OPX_CMPGEU 40 -#define OPX_CMPLT 16 -#define OPX_CMPLTU 48 -#define OPX_CMPNE 24 -#define OPX_CRST 62 -#define OPX_DIV 37 -#define OPX_DIVU 36 -#define OPX_ERET 1 -#define OPX_FLUSHI 12 -#define OPX_FLUSHP 4 -#define OPX_HBREAK 53 -#define OPX_INITI 41 -#define OPX_INTR 61 -#define OPX_JMP 13 -#define OPX_MUL 39 -#define OPX_MULXSS 31 -#define OPX_MULXSU 23 -#define OPX_MULXUU 7 -#define OPX_NEXTPC 28 -#define OPX_NOR 6 -#define OPX_OR 22 -#define OPX_RDCTL 38 -#define OPX_RET 5 -#define OPX_ROL 3 -#define OPX_ROLI 2 -#define OPX_ROR 11 -#define OPX_SLL 19 -#define OPX_SLLI 18 -#define OPX_SRA 59 -#define OPX_SRAI 58 -#define OPX_SRL 27 -#define OPX_SRLI 26 -#define OPX_SUB 57 -#define OPX_SYNC 54 -#define OPX_TRAP 45 -#define OPX_WRCTL 46 -#define OPX_WRPRS 20 -#define OPX_XOR 30 - -/* The following macros define the opcode matches for each - instruction code & OP_MASK_INST == OP_MATCH_INST. */ - -/* OP instruction matches. */ -#define OP_MATCH_ADDI OP_ADDI -#define OP_MATCH_ANDHI OP_ANDHI -#define OP_MATCH_ANDI OP_ANDI -#define OP_MATCH_BEQ OP_BEQ -#define OP_MATCH_BGE OP_BGE -#define OP_MATCH_BGEU OP_BGEU -#define OP_MATCH_BLT OP_BLT -#define OP_MATCH_BLTU OP_BLTU -#define OP_MATCH_BNE OP_BNE -#define OP_MATCH_BR OP_BR -#define OP_MATCH_FLUSHD OP_FLUSHD -#define OP_MATCH_FLUSHDA OP_FLUSHDA -#define OP_MATCH_INITD OP_INITD -#define OP_MATCH_INITDA OP_INITDA -#define OP_MATCH_CALL OP_CALL -#define OP_MATCH_CMPEQI OP_CMPEQI -#define OP_MATCH_CMPGEI OP_CMPGEI -#define OP_MATCH_CMPGEUI OP_CMPGEUI -#define OP_MATCH_CMPLTI OP_CMPLTI -#define OP_MATCH_CMPLTUI OP_CMPLTUI -#define OP_MATCH_CMPNEI OP_CMPNEI -#define OP_MATCH_JMPI OP_JMPI -#define OP_MATCH_LDB OP_LDB -#define OP_MATCH_LDBIO OP_LDBIO -#define OP_MATCH_LDBU OP_LDBU -#define OP_MATCH_LDBUIO OP_LDBUIO -#define OP_MATCH_LDH OP_LDH -#define OP_MATCH_LDHIO OP_LDHIO -#define OP_MATCH_LDHU OP_LDHU -#define OP_MATCH_LDHUIO OP_LDHUIO -#define OP_MATCH_LDL OP_LDL -#define OP_MATCH_LDW OP_LDW -#define OP_MATCH_LDWIO OP_LDWIO -#define OP_MATCH_MULI OP_MULI -#define OP_MATCH_OPX OP_OPX -#define OP_MATCH_ORHI OP_ORHI -#define OP_MATCH_ORI OP_ORI -#define OP_MATCH_RDPRS OP_RDPRS -#define OP_MATCH_STB OP_STB -#define OP_MATCH_STBIO OP_STBIO -#define OP_MATCH_STC OP_STC -#define OP_MATCH_STH OP_STH -#define OP_MATCH_STHIO OP_STHIO -#define OP_MATCH_STW OP_STW -#define OP_MATCH_STWIO OP_STWIO -#define OP_MATCH_CUSTOM OP_CUSTOM -#define OP_MATCH_XORHI OP_XORHI -#define OP_MATCH_XORI OP_XORI -#define OP_MATCH_OPX OP_OPX - -/* OPX instruction values. */ -#define OPX_MATCH(code) ((code << IW_OPX_LSB) | OP_OPX) - -#define OP_MATCH_ADD OPX_MATCH (OPX_ADD) -#define OP_MATCH_AND OPX_MATCH (OPX_AND) -#define OP_MATCH_BREAK ((0x1e << 17) | OPX_MATCH (OPX_BREAK)) -#define OP_MATCH_BRET (0xf0000000 | OPX_MATCH (OPX_BRET)) -#define OP_MATCH_CALLR ((0x1f << 17) | OPX_MATCH (OPX_CALLR)) -#define OP_MATCH_CMPEQ OPX_MATCH (OPX_CMPEQ) -#define OP_MATCH_CMPGE OPX_MATCH (OPX_CMPGE) -#define OP_MATCH_CMPGEU OPX_MATCH (OPX_CMPGEU) -#define OP_MATCH_CMPLT OPX_MATCH (OPX_CMPLT) -#define OP_MATCH_CMPLTU OPX_MATCH (OPX_CMPLTU) -#define OP_MATCH_CMPNE OPX_MATCH (OPX_CMPNE) -#define OP_MATCH_DIV OPX_MATCH (OPX_DIV) -#define OP_MATCH_DIVU OPX_MATCH (OPX_DIVU) -#define OP_MATCH_JMP OPX_MATCH (OPX_JMP) -#define OP_MATCH_MUL OPX_MATCH (OPX_MUL) -#define OP_MATCH_MULXSS OPX_MATCH (OPX_MULXSS) -#define OP_MATCH_MULXSU OPX_MATCH (OPX_MULXSU) -#define OP_MATCH_MULXUU OPX_MATCH (OPX_MULXUU) -#define OP_MATCH_NEXTPC OPX_MATCH (OPX_NEXTPC) -#define OP_MATCH_NOR OPX_MATCH (OPX_NOR) -#define OP_MATCH_OR OPX_MATCH (OPX_OR) -#define OP_MATCH_RDCTL OPX_MATCH (OPX_RDCTL) -#define OP_MATCH_RET (0xf8000000 | OPX_MATCH (OPX_RET)) -#define OP_MATCH_ROL OPX_MATCH (OPX_ROL) -#define OP_MATCH_ROLI OPX_MATCH (OPX_ROLI) -#define OP_MATCH_ROR OPX_MATCH (OPX_ROR) -#define OP_MATCH_SLL OPX_MATCH (OPX_SLL) -#define OP_MATCH_SLLI OPX_MATCH (OPX_SLLI) -#define OP_MATCH_SRA OPX_MATCH (OPX_SRA) -#define OP_MATCH_SRAI OPX_MATCH (OPX_SRAI) -#define OP_MATCH_SRL OPX_MATCH (OPX_SRL) -#define OP_MATCH_SRLI OPX_MATCH (OPX_SRLI) -#define OP_MATCH_SUB OPX_MATCH (OPX_SUB) -#define OP_MATCH_SYNC OPX_MATCH (OPX_SYNC) -#define OP_MATCH_TRAP ((0x1d << 17) | OPX_MATCH (OPX_TRAP)) -#define OP_MATCH_ERET (0xef800000 | OPX_MATCH (OPX_ERET)) -#define OP_MATCH_WRCTL OPX_MATCH (OPX_WRCTL) -#define OP_MATCH_WRPRS OPX_MATCH (OPX_WRPRS) -#define OP_MATCH_XOR OPX_MATCH (OPX_XOR) -#define OP_MATCH_FLUSHI OPX_MATCH (OPX_FLUSHI) -#define OP_MATCH_FLUSHP OPX_MATCH (OPX_FLUSHP) -#define OP_MATCH_INITI OPX_MATCH (OPX_INITI) - -/* Some unusual op masks. */ -#define OP_MASK_BREAK ((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_RRD \ - | OP_MASK_ROPX | OP_MASK_OP) \ - & 0xfffff03f) -#define OP_MASK_CALLR ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX \ - | OP_MASK_OP)) -#define OP_MASK_JMP ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX \ - | OP_MASK_OP)) -#define OP_MASK_SYNC ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX \ - | OP_MASK_OP)) -#define OP_MASK_TRAP ((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_RRD \ - | OP_MASK_ROPX | OP_MASK_OP) \ - & 0xfffff83f) -#define OP_MASK_WRCTL ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX \ - | OP_MASK_OP)) /*& 0xfffff83f */ -#define OP_MASK_NEXTPC ((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_ROPX \ - | OP_MASK_OP)) -#define OP_MASK_FLUSHI ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX \ - | OP_MASK_OP)) -#define OP_MASK_INITI ((OP_MASK_RRT | OP_MASK_RRD | OP_MASK_ROPX \ - | OP_MASK_OP)) - -#define OP_MASK_ROLI ((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP)) -#define OP_MASK_SLLI ((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP)) -#define OP_MASK_SRAI ((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP)) -#define OP_MASK_SRLI ((OP_MASK_RRT | OP_MASK_ROPX | OP_MASK_OP)) -#define OP_MASK_RDCTL ((OP_MASK_RRS | OP_MASK_RRT | OP_MASK_ROPX \ - | OP_MASK_OP)) /*& 0xfffff83f */ - -#ifndef OP_MASK -#define OP_MASK 0xffffffff -#endif - -/* These convenience macros to extract instruction fields are used by GDB. */ -#define GET_IW_A(Iw) \ - (((Iw) >> IW_A_LSB) & IW_A_MASK) -#define GET_IW_B(Iw) \ - (((Iw) >> IW_B_LSB) & IW_B_MASK) -#define GET_IW_C(Iw) \ - (((Iw) >> IW_C_LSB) & IW_C_MASK) -#define GET_IW_CONTROL_REGNUM(Iw) \ - (((Iw) >> IW_CONTROL_REGNUM_LSB) & IW_CONTROL_REGNUM_MASK) -#define GET_IW_IMM16(Iw) \ - (((Iw) >> IW_IMM16_LSB) & IW_IMM16_MASK) -#define GET_IW_IMM26(Iw) \ - (((Iw) >> IW_IMM26_LSB) & IW_IMM26_MASK) -#define GET_IW_OP(Iw) \ - (((Iw) >> IW_OP_LSB) & IW_OP_MASK) -#define GET_IW_OPX(Iw) \ - (((Iw) >> IW_OPX_LSB) & IW_OPX_MASK) - -/* These are the data structures we use to hold the instruction information. */ -extern const struct nios2_opcode nios2_builtin_opcodes[]; -extern const int bfd_nios2_num_builtin_opcodes; +/* These are the data structures used to hold the instruction information. */ +extern const struct nios2_opcode nios2_r1_opcodes[]; +extern const int nios2_num_r1_opcodes; extern struct nios2_opcode *nios2_opcodes; -extern int bfd_nios2_num_opcodes; +extern int nios2_num_opcodes; /* These are the data structures used to hold the register information. */ extern const struct nios2_reg nios2_builtin_regs[]; @@ -511,12 +154,8 @@ extern struct nios2_reg *nios2_regs; extern const int nios2_num_builtin_regs; extern int nios2_num_regs; -/* Machine-independent macro for number of opcodes. */ -#define NUMOPCODES bfd_nios2_num_opcodes -#define NUMREGISTERS nios2_num_regs; - -/* This is made extern so that the assembler can use it to find out - what instruction caused an error. */ -extern const struct nios2_opcode *nios2_find_opcode_hash (unsigned long); +/* Return the opcode descriptor for a single instruction. */ +extern const struct nios2_opcode * +nios2_find_opcode_hash (unsigned long, unsigned long); #endif /* _NIOS2_H */ diff --git a/binutils-2.25/include/opcode/nios2r1.h b/binutils-2.25/include/opcode/nios2r1.h new file mode 100644 index 0000000..32a517d --- /dev/null +++ b/binutils-2.25/include/opcode/nios2r1.h @@ -0,0 +1,474 @@ +/* Nios II R1 opcode list for GAS, the GNU assembler. + Copyright (C) 2013-2014 Free Software Foundation, Inc. + Contributed by Mentor Graphics, Inc. + + This file is part of GAS, the GNU Assembler, and GDB, the GNU disassembler. + + GAS/GDB is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + GAS/GDB is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GAS or GDB; see the file COPYING3. If not, write to + the Free Software Foundation, 51 Franklin Street - Fifth Floor, + Boston, MA 02110-1301, USA. */ + +#ifndef _NIOS2R1_H_ +#define _NIOS2R1_H_ + +/* R1 fields. */ +#define IW_R1_OP_LSB 0 +#define IW_R1_OP_SIZE 6 +#define IW_R1_OP_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_R1_OP_SIZE)) +#define IW_R1_OP_SHIFTED_MASK (IW_R1_OP_UNSHIFTED_MASK << IW_R1_OP_LSB) +#define GET_IW_R1_OP(W) (((W) >> IW_R1_OP_LSB) & IW_R1_OP_UNSHIFTED_MASK) +#define SET_IW_R1_OP(V) (((V) & IW_R1_OP_UNSHIFTED_MASK) << IW_R1_OP_LSB) + +#define IW_I_A_LSB 27 +#define IW_I_A_SIZE 5 +#define IW_I_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_I_A_SIZE)) +#define IW_I_A_SHIFTED_MASK (IW_I_A_UNSHIFTED_MASK << IW_I_A_LSB) +#define GET_IW_I_A(W) (((W) >> IW_I_A_LSB) & IW_I_A_UNSHIFTED_MASK) +#define SET_IW_I_A(V) (((V) & IW_I_A_UNSHIFTED_MASK) << IW_I_A_LSB) + +#define IW_I_B_LSB 22 +#define IW_I_B_SIZE 5 +#define IW_I_B_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_I_B_SIZE)) +#define IW_I_B_SHIFTED_MASK (IW_I_B_UNSHIFTED_MASK << IW_I_B_LSB) +#define GET_IW_I_B(W) (((W) >> IW_I_B_LSB) & IW_I_B_UNSHIFTED_MASK) +#define SET_IW_I_B(V) (((V) & IW_I_B_UNSHIFTED_MASK) << IW_I_B_LSB) + +#define IW_I_IMM16_LSB 6 +#define IW_I_IMM16_SIZE 16 +#define IW_I_IMM16_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_I_IMM16_SIZE)) +#define IW_I_IMM16_SHIFTED_MASK (IW_I_IMM16_UNSHIFTED_MASK << IW_I_IMM16_LSB) +#define GET_IW_I_IMM16(W) (((W) >> IW_I_IMM16_LSB) & IW_I_IMM16_UNSHIFTED_MASK) +#define SET_IW_I_IMM16(V) (((V) & IW_I_IMM16_UNSHIFTED_MASK) << IW_I_IMM16_LSB) + +#define IW_R_A_LSB 27 +#define IW_R_A_SIZE 5 +#define IW_R_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_R_A_SIZE)) +#define IW_R_A_SHIFTED_MASK (IW_R_A_UNSHIFTED_MASK << IW_R_A_LSB) +#define GET_IW_R_A(W) (((W) >> IW_R_A_LSB) & IW_R_A_UNSHIFTED_MASK) +#define SET_IW_R_A(V) (((V) & IW_R_A_UNSHIFTED_MASK) << IW_R_A_LSB) + +#define IW_R_B_LSB 22 +#define IW_R_B_SIZE 5 +#define IW_R_B_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_R_B_SIZE)) +#define IW_R_B_SHIFTED_MASK (IW_R_B_UNSHIFTED_MASK << IW_R_B_LSB) +#define GET_IW_R_B(W) (((W) >> IW_R_B_LSB) & IW_R_B_UNSHIFTED_MASK) +#define SET_IW_R_B(V) (((V) & IW_R_B_UNSHIFTED_MASK) << IW_R_B_LSB) + +#define IW_R_C_LSB 17 +#define IW_R_C_SIZE 5 +#define IW_R_C_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_R_C_SIZE)) +#define IW_R_C_SHIFTED_MASK (IW_R_C_UNSHIFTED_MASK << IW_R_C_LSB) +#define GET_IW_R_C(W) (((W) >> IW_R_C_LSB) & IW_R_C_UNSHIFTED_MASK) +#define SET_IW_R_C(V) (((V) & IW_R_C_UNSHIFTED_MASK) << IW_R_C_LSB) + +#define IW_R_OPX_LSB 11 +#define IW_R_OPX_SIZE 6 +#define IW_R_OPX_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_R_OPX_SIZE)) +#define IW_R_OPX_SHIFTED_MASK (IW_R_OPX_UNSHIFTED_MASK << IW_R_OPX_LSB) +#define GET_IW_R_OPX(W) (((W) >> IW_R_OPX_LSB) & IW_R_OPX_UNSHIFTED_MASK) +#define SET_IW_R_OPX(V) (((V) & IW_R_OPX_UNSHIFTED_MASK) << IW_R_OPX_LSB) + +#define IW_R_IMM5_LSB 6 +#define IW_R_IMM5_SIZE 5 +#define IW_R_IMM5_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_R_IMM5_SIZE)) +#define IW_R_IMM5_SHIFTED_MASK (IW_R_IMM5_UNSHIFTED_MASK << IW_R_IMM5_LSB) +#define GET_IW_R_IMM5(W) (((W) >> IW_R_IMM5_LSB) & IW_R_IMM5_UNSHIFTED_MASK) +#define SET_IW_R_IMM5(V) (((V) & IW_R_IMM5_UNSHIFTED_MASK) << IW_R_IMM5_LSB) + +#define IW_J_IMM26_LSB 6 +#define IW_J_IMM26_SIZE 26 +#define IW_J_IMM26_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_J_IMM26_SIZE)) +#define IW_J_IMM26_SHIFTED_MASK (IW_J_IMM26_UNSHIFTED_MASK << IW_J_IMM26_LSB) +#define GET_IW_J_IMM26(W) (((W) >> IW_J_IMM26_LSB) & IW_J_IMM26_UNSHIFTED_MASK) +#define SET_IW_J_IMM26(V) (((V) & IW_J_IMM26_UNSHIFTED_MASK) << IW_J_IMM26_LSB) + +#define IW_CUSTOM_A_LSB 27 +#define IW_CUSTOM_A_SIZE 5 +#define IW_CUSTOM_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_CUSTOM_A_SIZE)) +#define IW_CUSTOM_A_SHIFTED_MASK (IW_CUSTOM_A_UNSHIFTED_MASK << IW_CUSTOM_A_LSB) +#define GET_IW_CUSTOM_A(W) (((W) >> IW_CUSTOM_A_LSB) & IW_CUSTOM_A_UNSHIFTED_MASK) +#define SET_IW_CUSTOM_A(V) (((V) & IW_CUSTOM_A_UNSHIFTED_MASK) << IW_CUSTOM_A_LSB) + +#define IW_CUSTOM_B_LSB 22 +#define IW_CUSTOM_B_SIZE 5 +#define IW_CUSTOM_B_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_CUSTOM_B_SIZE)) +#define IW_CUSTOM_B_SHIFTED_MASK (IW_CUSTOM_B_UNSHIFTED_MASK << IW_CUSTOM_B_LSB) +#define GET_IW_CUSTOM_B(W) (((W) >> IW_CUSTOM_B_LSB) & IW_CUSTOM_B_UNSHIFTED_MASK) +#define SET_IW_CUSTOM_B(V) (((V) & IW_CUSTOM_B_UNSHIFTED_MASK) << IW_CUSTOM_B_LSB) + +#define IW_CUSTOM_C_LSB 17 +#define IW_CUSTOM_C_SIZE 5 +#define IW_CUSTOM_C_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_CUSTOM_C_SIZE)) +#define IW_CUSTOM_C_SHIFTED_MASK (IW_CUSTOM_C_UNSHIFTED_MASK << IW_CUSTOM_C_LSB) +#define GET_IW_CUSTOM_C(W) (((W) >> IW_CUSTOM_C_LSB) & IW_CUSTOM_C_UNSHIFTED_MASK) +#define SET_IW_CUSTOM_C(V) (((V) & IW_CUSTOM_C_UNSHIFTED_MASK) << IW_CUSTOM_C_LSB) + +#define IW_CUSTOM_READA_LSB 16 +#define IW_CUSTOM_READA_SIZE 1 +#define IW_CUSTOM_READA_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_CUSTOM_READA_SIZE)) +#define IW_CUSTOM_READA_SHIFTED_MASK (IW_CUSTOM_READA_UNSHIFTED_MASK << IW_CUSTOM_READA_LSB) +#define GET_IW_CUSTOM_READA(W) (((W) >> IW_CUSTOM_READA_LSB) & IW_CUSTOM_READA_UNSHIFTED_MASK) +#define SET_IW_CUSTOM_READA(V) (((V) & IW_CUSTOM_READA_UNSHIFTED_MASK) << IW_CUSTOM_READA_LSB) + +#define IW_CUSTOM_READB_LSB 15 +#define IW_CUSTOM_READB_SIZE 1 +#define IW_CUSTOM_READB_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_CUSTOM_READB_SIZE)) +#define IW_CUSTOM_READB_SHIFTED_MASK (IW_CUSTOM_READB_UNSHIFTED_MASK << IW_CUSTOM_READB_LSB) +#define GET_IW_CUSTOM_READB(W) (((W) >> IW_CUSTOM_READB_LSB) & IW_CUSTOM_READB_UNSHIFTED_MASK) +#define SET_IW_CUSTOM_READB(V) (((V) & IW_CUSTOM_READB_UNSHIFTED_MASK) << IW_CUSTOM_READB_LSB) + +#define IW_CUSTOM_READC_LSB 14 +#define IW_CUSTOM_READC_SIZE 1 +#define IW_CUSTOM_READC_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_CUSTOM_READC_SIZE)) +#define IW_CUSTOM_READC_SHIFTED_MASK (IW_CUSTOM_READC_UNSHIFTED_MASK << IW_CUSTOM_READC_LSB) +#define GET_IW_CUSTOM_READC(W) (((W) >> IW_CUSTOM_READC_LSB) & IW_CUSTOM_READC_UNSHIFTED_MASK) +#define SET_IW_CUSTOM_READC(V) (((V) & IW_CUSTOM_READC_UNSHIFTED_MASK) << IW_CUSTOM_READC_LSB) + +#define IW_CUSTOM_N_LSB 6 +#define IW_CUSTOM_N_SIZE 8 +#define IW_CUSTOM_N_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_CUSTOM_N_SIZE)) +#define IW_CUSTOM_N_SHIFTED_MASK (IW_CUSTOM_N_UNSHIFTED_MASK << IW_CUSTOM_N_LSB) +#define GET_IW_CUSTOM_N(W) (((W) >> IW_CUSTOM_N_LSB) & IW_CUSTOM_N_UNSHIFTED_MASK) +#define SET_IW_CUSTOM_N(V) (((V) & IW_CUSTOM_N_UNSHIFTED_MASK) << IW_CUSTOM_N_LSB) + +/* R1 opcodes. */ +#define R1_OP_CALL 0 +#define R1_OP_JMPI 1 +#define R1_OP_LDBU 3 +#define R1_OP_ADDI 4 +#define R1_OP_STB 5 +#define R1_OP_BR 6 +#define R1_OP_LDB 7 +#define R1_OP_CMPGEI 8 +#define R1_OP_LDHU 11 +#define R1_OP_ANDI 12 +#define R1_OP_STH 13 +#define R1_OP_BGE 14 +#define R1_OP_LDH 15 +#define R1_OP_CMPLTI 16 +#define R1_OP_INITDA 19 +#define R1_OP_ORI 20 +#define R1_OP_STW 21 +#define R1_OP_BLT 22 +#define R1_OP_LDW 23 +#define R1_OP_CMPNEI 24 +#define R1_OP_FLUSHDA 27 +#define R1_OP_XORI 28 +#define R1_OP_BNE 30 +#define R1_OP_CMPEQI 32 +#define R1_OP_LDBUIO 35 +#define R1_OP_MULI 36 +#define R1_OP_STBIO 37 +#define R1_OP_BEQ 38 +#define R1_OP_LDBIO 39 +#define R1_OP_CMPGEUI 40 +#define R1_OP_LDHUIO 43 +#define R1_OP_ANDHI 44 +#define R1_OP_STHIO 45 +#define R1_OP_BGEU 46 +#define R1_OP_LDHIO 47 +#define R1_OP_CMPLTUI 48 +#define R1_OP_CUSTOM 50 +#define R1_OP_INITD 51 +#define R1_OP_ORHI 52 +#define R1_OP_STWIO 53 +#define R1_OP_BLTU 54 +#define R1_OP_LDWIO 55 +#define R1_OP_RDPRS 56 +#define R1_OP_OPX 58 +#define R1_OP_FLUSHD 59 +#define R1_OP_XORHI 60 + +#define R1_OPX_ERET 1 +#define R1_OPX_ROLI 2 +#define R1_OPX_ROL 3 +#define R1_OPX_FLUSHP 4 +#define R1_OPX_RET 5 +#define R1_OPX_NOR 6 +#define R1_OPX_MULXUU 7 +#define R1_OPX_CMPGE 8 +#define R1_OPX_BRET 9 +#define R1_OPX_ROR 11 +#define R1_OPX_FLUSHI 12 +#define R1_OPX_JMP 13 +#define R1_OPX_AND 14 +#define R1_OPX_CMPLT 16 +#define R1_OPX_SLLI 18 +#define R1_OPX_SLL 19 +#define R1_OPX_WRPRS 20 +#define R1_OPX_OR 22 +#define R1_OPX_MULXSU 23 +#define R1_OPX_CMPNE 24 +#define R1_OPX_SRLI 26 +#define R1_OPX_SRL 27 +#define R1_OPX_NEXTPC 28 +#define R1_OPX_CALLR 29 +#define R1_OPX_XOR 30 +#define R1_OPX_MULXSS 31 +#define R1_OPX_CMPEQ 32 +#define R1_OPX_DIVU 36 +#define R1_OPX_DIV 37 +#define R1_OPX_RDCTL 38 +#define R1_OPX_MUL 39 +#define R1_OPX_CMPGEU 40 +#define R1_OPX_INITI 41 +#define R1_OPX_TRAP 45 +#define R1_OPX_WRCTL 46 +#define R1_OPX_CMPLTU 48 +#define R1_OPX_ADD 49 +#define R1_OPX_BREAK 52 +#define R1_OPX_SYNC 54 +#define R1_OPX_SUB 57 +#define R1_OPX_SRAI 58 +#define R1_OPX_SRA 59 + +/* Some convenience macros for R1 encodings, for use in instruction tables. + MATCH_R1_OPX0(NAME) and MASK_R1_OPX0 are used for R-type instructions + with 3 register operands and constant 0 in the immediate field. + The general forms are MATCH_R1_OPX(NAME, A, B, C) where the arguments specify + constant values and MASK_R1_OPX(A, B, C, N) where the arguments are booleans + that are true if the field should be included in the mask. + */ +#define MATCH_R1_OP(NAME) \ + (SET_IW_R1_OP (R1_OP_##NAME)) +#define MASK_R1_OP \ + IW_R1_OP_SHIFTED_MASK + +#define MATCH_R1_OPX0(NAME) \ + (SET_IW_R1_OP (R1_OP_OPX) | SET_IW_R_OPX (R1_OPX_##NAME)) +#define MASK_R1_OPX0 \ + (IW_R1_OP_SHIFTED_MASK | IW_R_OPX_SHIFTED_MASK | IW_R_IMM5_SHIFTED_MASK) + +#define MATCH_R1_OPX(NAME, A, B, C) \ + (MATCH_R1_OPX0 (NAME) | SET_IW_R_A (A) | SET_IW_R_B (B) | SET_IW_R_C (C)) +#define MASK_R1_OPX(A, B, C, N) \ + (IW_R1_OP_SHIFTED_MASK | IW_R_OPX_SHIFTED_MASK \ + | (A ? IW_R_A_SHIFTED_MASK : 0) \ + | (B ? IW_R_B_SHIFTED_MASK : 0) \ + | (C ? IW_R_C_SHIFTED_MASK : 0) \ + | (N ? IW_R_IMM5_SHIFTED_MASK : 0)) + +/* And here's the match/mask macros for the R1 instruction set. */ +#define MATCH_R1_ADD MATCH_R1_OPX0 (ADD) +#define MASK_R1_ADD MASK_R1_OPX0 +#define MATCH_R1_ADDI MATCH_R1_OP (ADDI) +#define MASK_R1_ADDI MASK_R1_OP +#define MATCH_R1_AND MATCH_R1_OPX0 (AND) +#define MASK_R1_AND MASK_R1_OPX0 +#define MATCH_R1_ANDHI MATCH_R1_OP (ANDHI) +#define MASK_R1_ANDHI MASK_R1_OP +#define MATCH_R1_ANDI MATCH_R1_OP (ANDI) +#define MASK_R1_ANDI MASK_R1_OP +#define MATCH_R1_BEQ MATCH_R1_OP (BEQ) +#define MASK_R1_BEQ MASK_R1_OP +#define MATCH_R1_BGE MATCH_R1_OP (BGE) +#define MASK_R1_BGE MASK_R1_OP +#define MATCH_R1_BGEU MATCH_R1_OP (BGEU) +#define MASK_R1_BGEU MASK_R1_OP +#define MATCH_R1_BGT MATCH_R1_OP (BLT) +#define MASK_R1_BGT MASK_R1_OP +#define MATCH_R1_BGTU MATCH_R1_OP (BLTU) +#define MASK_R1_BGTU MASK_R1_OP +#define MATCH_R1_BLE MATCH_R1_OP (BGE) +#define MASK_R1_BLE MASK_R1_OP +#define MATCH_R1_BLEU MATCH_R1_OP (BGEU) +#define MASK_R1_BLEU MASK_R1_OP +#define MATCH_R1_BLT MATCH_R1_OP (BLT) +#define MASK_R1_BLT MASK_R1_OP +#define MATCH_R1_BLTU MATCH_R1_OP (BLTU) +#define MASK_R1_BLTU MASK_R1_OP +#define MATCH_R1_BNE MATCH_R1_OP (BNE) +#define MASK_R1_BNE MASK_R1_OP +#define MATCH_R1_BR MATCH_R1_OP (BR) +#define MASK_R1_BR MASK_R1_OP | IW_I_A_SHIFTED_MASK | IW_I_B_SHIFTED_MASK +#define MATCH_R1_BREAK MATCH_R1_OPX (BREAK, 0, 0, 0x1e) +#define MASK_R1_BREAK MASK_R1_OPX (1, 1, 1, 0) +#define MATCH_R1_BRET MATCH_R1_OPX (BRET, 0x1e, 0, 0) +#define MASK_R1_BRET MASK_R1_OPX (1, 1, 1, 1) +#define MATCH_R1_CALL MATCH_R1_OP (CALL) +#define MASK_R1_CALL MASK_R1_OP +#define MATCH_R1_CALLR MATCH_R1_OPX (CALLR, 0, 0, 0x1f) +#define MASK_R1_CALLR MASK_R1_OPX (0, 1, 1, 1) +#define MATCH_R1_CMPEQ MATCH_R1_OPX0 (CMPEQ) +#define MASK_R1_CMPEQ MASK_R1_OPX0 +#define MATCH_R1_CMPEQI MATCH_R1_OP (CMPEQI) +#define MASK_R1_CMPEQI MASK_R1_OP +#define MATCH_R1_CMPGE MATCH_R1_OPX0 (CMPGE) +#define MASK_R1_CMPGE MASK_R1_OPX0 +#define MATCH_R1_CMPGEI MATCH_R1_OP (CMPGEI) +#define MASK_R1_CMPGEI MASK_R1_OP +#define MATCH_R1_CMPGEU MATCH_R1_OPX0 (CMPGEU) +#define MASK_R1_CMPGEU MASK_R1_OPX0 +#define MATCH_R1_CMPGEUI MATCH_R1_OP (CMPGEUI) +#define MASK_R1_CMPGEUI MASK_R1_OP +#define MATCH_R1_CMPGT MATCH_R1_OPX0 (CMPLT) +#define MASK_R1_CMPGT MASK_R1_OPX0 +#define MATCH_R1_CMPGTI MATCH_R1_OP (CMPGEI) +#define MASK_R1_CMPGTI MASK_R1_OP +#define MATCH_R1_CMPGTU MATCH_R1_OPX0 (CMPLTU) +#define MASK_R1_CMPGTU MASK_R1_OPX0 +#define MATCH_R1_CMPGTUI MATCH_R1_OP (CMPGEUI) +#define MASK_R1_CMPGTUI MASK_R1_OP +#define MATCH_R1_CMPLE MATCH_R1_OPX0 (CMPGE) +#define MASK_R1_CMPLE MASK_R1_OPX0 +#define MATCH_R1_CMPLEI MATCH_R1_OP (CMPLTI) +#define MASK_R1_CMPLEI MASK_R1_OP +#define MATCH_R1_CMPLEU MATCH_R1_OPX0 (CMPGEU) +#define MASK_R1_CMPLEU MASK_R1_OPX0 +#define MATCH_R1_CMPLEUI MATCH_R1_OP (CMPLTUI) +#define MASK_R1_CMPLEUI MASK_R1_OP +#define MATCH_R1_CMPLT MATCH_R1_OPX0 (CMPLT) +#define MASK_R1_CMPLT MASK_R1_OPX0 +#define MATCH_R1_CMPLTI MATCH_R1_OP (CMPLTI) +#define MASK_R1_CMPLTI MASK_R1_OP +#define MATCH_R1_CMPLTU MATCH_R1_OPX0 (CMPLTU) +#define MASK_R1_CMPLTU MASK_R1_OPX0 +#define MATCH_R1_CMPLTUI MATCH_R1_OP (CMPLTUI) +#define MASK_R1_CMPLTUI MASK_R1_OP +#define MATCH_R1_CMPNE MATCH_R1_OPX0 (CMPNE) +#define MASK_R1_CMPNE MASK_R1_OPX0 +#define MATCH_R1_CMPNEI MATCH_R1_OP (CMPNEI) +#define MASK_R1_CMPNEI MASK_R1_OP +#define MATCH_R1_CUSTOM MATCH_R1_OP (CUSTOM) +#define MASK_R1_CUSTOM MASK_R1_OP +#define MATCH_R1_DIV MATCH_R1_OPX0 (DIV) +#define MASK_R1_DIV MASK_R1_OPX0 +#define MATCH_R1_DIVU MATCH_R1_OPX0 (DIVU) +#define MASK_R1_DIVU MASK_R1_OPX0 +#define MATCH_R1_ERET MATCH_R1_OPX (ERET, 0x1d, 0x1e, 0) +#define MASK_R1_ERET MASK_R1_OPX (1, 1, 1, 1) +#define MATCH_R1_FLUSHD MATCH_R1_OP (FLUSHD) | SET_IW_I_B (0) +#define MASK_R1_FLUSHD MASK_R1_OP | IW_I_B_SHIFTED_MASK +#define MATCH_R1_FLUSHDA MATCH_R1_OP (FLUSHDA) | SET_IW_I_B (0) +#define MASK_R1_FLUSHDA MASK_R1_OP | IW_I_B_SHIFTED_MASK +#define MATCH_R1_FLUSHI MATCH_R1_OPX (FLUSHI, 0, 0, 0) +#define MASK_R1_FLUSHI MASK_R1_OPX (0, 1, 1, 1) +#define MATCH_R1_FLUSHP MATCH_R1_OPX (FLUSHP, 0, 0, 0) +#define MASK_R1_FLUSHP MASK_R1_OPX (1, 1, 1, 1) +#define MATCH_R1_INITD MATCH_R1_OP (INITD) | SET_IW_I_B (0) +#define MASK_R1_INITD MASK_R1_OP | IW_I_B_SHIFTED_MASK +#define MATCH_R1_INITDA MATCH_R1_OP (INITDA) | SET_IW_I_B (0) +#define MASK_R1_INITDA MASK_R1_OP | IW_I_B_SHIFTED_MASK +#define MATCH_R1_INITI MATCH_R1_OPX (INITI, 0, 0, 0) +#define MASK_R1_INITI MASK_R1_OPX (0, 1, 1, 1) +#define MATCH_R1_JMP MATCH_R1_OPX (JMP, 0, 0, 0) +#define MASK_R1_JMP MASK_R1_OPX (0, 1, 1, 1) +#define MATCH_R1_JMPI MATCH_R1_OP (JMPI) +#define MASK_R1_JMPI MASK_R1_OP +#define MATCH_R1_LDB MATCH_R1_OP (LDB) +#define MASK_R1_LDB MASK_R1_OP +#define MATCH_R1_LDBIO MATCH_R1_OP (LDBIO) +#define MASK_R1_LDBIO MASK_R1_OP +#define MATCH_R1_LDBU MATCH_R1_OP (LDBU) +#define MASK_R1_LDBU MASK_R1_OP +#define MATCH_R1_LDBUIO MATCH_R1_OP (LDBUIO) +#define MASK_R1_LDBUIO MASK_R1_OP +#define MATCH_R1_LDH MATCH_R1_OP (LDH) +#define MASK_R1_LDH MASK_R1_OP +#define MATCH_R1_LDHIO MATCH_R1_OP (LDHIO) +#define MASK_R1_LDHIO MASK_R1_OP +#define MATCH_R1_LDHU MATCH_R1_OP (LDHU) +#define MASK_R1_LDHU MASK_R1_OP +#define MATCH_R1_LDHUIO MATCH_R1_OP (LDHUIO) +#define MASK_R1_LDHUIO MASK_R1_OP +#define MATCH_R1_LDW MATCH_R1_OP (LDW) +#define MASK_R1_LDW MASK_R1_OP +#define MATCH_R1_LDWIO MATCH_R1_OP (LDWIO) +#define MASK_R1_LDWIO MASK_R1_OP +#define MATCH_R1_MOV MATCH_R1_OPX (ADD, 0, 0, 0) +#define MASK_R1_MOV MASK_R1_OPX (0, 1, 0, 1) +#define MATCH_R1_MOVHI MATCH_R1_OP (ORHI) | SET_IW_I_A (0) +#define MASK_R1_MOVHI MASK_R1_OP | IW_I_A_SHIFTED_MASK +#define MATCH_R1_MOVI MATCH_R1_OP (ADDI) | SET_IW_I_A (0) +#define MASK_R1_MOVI MASK_R1_OP | IW_I_A_SHIFTED_MASK +#define MATCH_R1_MOVUI MATCH_R1_OP (ORI) | SET_IW_I_A (0) +#define MASK_R1_MOVUI MASK_R1_OP | IW_I_A_SHIFTED_MASK +#define MATCH_R1_MUL MATCH_R1_OPX0 (MUL) +#define MASK_R1_MUL MASK_R1_OPX0 +#define MATCH_R1_MULI MATCH_R1_OP (MULI) +#define MASK_R1_MULI MASK_R1_OP +#define MATCH_R1_MULXSS MATCH_R1_OPX0 (MULXSS) +#define MASK_R1_MULXSS MASK_R1_OPX0 +#define MATCH_R1_MULXSU MATCH_R1_OPX0 (MULXSU) +#define MASK_R1_MULXSU MASK_R1_OPX0 +#define MATCH_R1_MULXUU MATCH_R1_OPX0 (MULXUU) +#define MASK_R1_MULXUU MASK_R1_OPX0 +#define MATCH_R1_NEXTPC MATCH_R1_OPX (NEXTPC, 0, 0, 0) +#define MASK_R1_NEXTPC MASK_R1_OPX (1, 1, 0, 1) +#define MATCH_R1_NOP MATCH_R1_OPX (ADD, 0, 0, 0) +#define MASK_R1_NOP MASK_R1_OPX (1, 1, 1, 1) +#define MATCH_R1_NOR MATCH_R1_OPX0 (NOR) +#define MASK_R1_NOR MASK_R1_OPX0 +#define MATCH_R1_OR MATCH_R1_OPX0 (OR) +#define MASK_R1_OR MASK_R1_OPX0 +#define MATCH_R1_ORHI MATCH_R1_OP (ORHI) +#define MASK_R1_ORHI MASK_R1_OP +#define MATCH_R1_ORI MATCH_R1_OP (ORI) +#define MASK_R1_ORI MASK_R1_OP +#define MATCH_R1_RDCTL MATCH_R1_OPX (RDCTL, 0, 0, 0) +#define MASK_R1_RDCTL MASK_R1_OPX (1, 1, 0, 0) +#define MATCH_R1_RDPRS MATCH_R1_OP (RDPRS) +#define MASK_R1_RDPRS MASK_R1_OP +#define MATCH_R1_RET MATCH_R1_OPX (RET, 0x1f, 0, 0) +#define MASK_R1_RET MASK_R1_OPX (1, 1, 1, 1) +#define MATCH_R1_ROL MATCH_R1_OPX0 (ROL) +#define MASK_R1_ROL MASK_R1_OPX0 +#define MATCH_R1_ROLI MATCH_R1_OPX (ROLI, 0, 0, 0) +#define MASK_R1_ROLI MASK_R1_OPX (0, 1, 0, 0) +#define MATCH_R1_ROR MATCH_R1_OPX0 (ROR) +#define MASK_R1_ROR MASK_R1_OPX0 +#define MATCH_R1_SLL MATCH_R1_OPX0 (SLL) +#define MASK_R1_SLL MASK_R1_OPX0 +#define MATCH_R1_SLLI MATCH_R1_OPX (SLLI, 0, 0, 0) +#define MASK_R1_SLLI MASK_R1_OPX (0, 1, 0, 0) +#define MATCH_R1_SRA MATCH_R1_OPX0 (SRA) +#define MASK_R1_SRA MASK_R1_OPX0 +#define MATCH_R1_SRAI MATCH_R1_OPX (SRAI, 0, 0, 0) +#define MASK_R1_SRAI MASK_R1_OPX (0, 1, 0, 0) +#define MATCH_R1_SRL MATCH_R1_OPX0 (SRL) +#define MASK_R1_SRL MASK_R1_OPX0 +#define MATCH_R1_SRLI MATCH_R1_OPX (SRLI, 0, 0, 0) +#define MASK_R1_SRLI MASK_R1_OPX (0, 1, 0, 0) +#define MATCH_R1_STB MATCH_R1_OP (STB) +#define MASK_R1_STB MASK_R1_OP +#define MATCH_R1_STBIO MATCH_R1_OP (STBIO) +#define MASK_R1_STBIO MASK_R1_OP +#define MATCH_R1_STH MATCH_R1_OP (STH) +#define MASK_R1_STH MASK_R1_OP +#define MATCH_R1_STHIO MATCH_R1_OP (STHIO) +#define MASK_R1_STHIO MASK_R1_OP +#define MATCH_R1_STW MATCH_R1_OP (STW) +#define MASK_R1_STW MASK_R1_OP +#define MATCH_R1_STWIO MATCH_R1_OP (STWIO) +#define MASK_R1_STWIO MASK_R1_OP +#define MATCH_R1_SUB MATCH_R1_OPX0 (SUB) +#define MASK_R1_SUB MASK_R1_OPX0 +#define MATCH_R1_SUBI MATCH_R1_OP (ADDI) +#define MASK_R1_SUBI MASK_R1_OP +#define MATCH_R1_SYNC MATCH_R1_OPX (SYNC, 0, 0, 0) +#define MASK_R1_SYNC MASK_R1_OPX (1, 1, 1, 1) +#define MATCH_R1_TRAP MATCH_R1_OPX (TRAP, 0, 0, 0x1d) +#define MASK_R1_TRAP MASK_R1_OPX (1, 1, 1, 0) +#define MATCH_R1_WRCTL MATCH_R1_OPX (WRCTL, 0, 0, 0) +#define MASK_R1_WRCTL MASK_R1_OPX (0, 1, 1, 0) +#define MATCH_R1_WRPRS MATCH_R1_OPX (WRPRS, 0, 0, 0) +#define MASK_R1_WRPRS MASK_R1_OPX (0, 1, 0, 1) +#define MATCH_R1_XOR MATCH_R1_OPX0 (XOR) +#define MASK_R1_XOR MASK_R1_OPX0 +#define MATCH_R1_XORHI MATCH_R1_OP (XORHI) +#define MASK_R1_XORHI MASK_R1_OP +#define MATCH_R1_XORI MATCH_R1_OP (XORI) +#define MASK_R1_XORI MASK_R1_OP + +#endif /* _NIOS2R1_H */ diff --git a/binutils-2.25/include/opcode/sparc.h b/binutils-2.25/include/opcode/sparc.h index cf4ff1c..463b9c1 100644 --- a/binutils-2.25/include/opcode/sparc.h +++ b/binutils-2.25/include/opcode/sparc.h @@ -151,7 +151,7 @@ typedef struct sparc_opcode #define HWCAP_CRC32C 0x20000000 /* CRC32C insn */ #define HWCAP2_FJATHPLUS 0x00000001 /* Fujitsu Athena+ */ -#define HWCAP2_VIS3B 0x00000002 /* VIS3 present on multiple chips */ +#define HWCAP2_VIS3B 0x00000002 /* Subset of VIS3 present on sparc64 X+. */ #define HWCAP2_ADP 0x00000004 /* Application Data Protection */ #define HWCAP2_SPARC5 0x00000008 /* The 29 new fp and sub instructions */ #define HWCAP2_MWAIT 0x00000010 /* mwait instruction and load/monitor ASIs */ diff --git a/binutils-2.25/install-sh b/binutils-2.25/install-sh index 6781b98..0b0fdcb 100755 --- a/binutils-2.25/install-sh +++ b/binutils-2.25/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2009-04-28.21; # UTC +scriptversion=2013-12-25.23; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -35,25 +35,21 @@ scriptversion=2009-04-28.21; # UTC # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it +# 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. +tab=' ' nl=' ' -IFS=" "" $nl" +IFS=" $tab$nl" -# set DOITPROG to echo to test this script +# Set DOITPROG to "echo" to test this script. -# Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi +doit_exec=${doit:-exec} # Put in absolute file names if you don't have them in your path; # or use environment vars. @@ -68,17 +64,6 @@ mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} -posix_glob='?' -initialize_posix_glob=' - test "$posix_glob" != "?" || { - if (set -f) 2>/dev/null; then - posix_glob= - else - posix_glob=: - fi - } -' - posix_mkdir= # Desired mode of installed file. @@ -97,7 +82,7 @@ dir_arg= dst_arg= copy_on_change=false -no_target_directory= +is_target_a_directory=possibly usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE @@ -137,42 +122,57 @@ while test $# -ne 0; do -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" - shift;; + shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; + case $mode in + *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; -o) chowncmd="$chownprog $2" - shift;; + shift;; -s) stripcmd=$stripprog;; - -t) dst_arg=$2 - shift;; + -t) + is_target_a_directory=always + dst_arg=$2 + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + shift;; - -T) no_target_directory=true;; + -T) is_target_a_directory=never;; --version) echo "$0 $scriptversion"; exit $?;; - --) shift - break;; + --) shift + break;; - -*) echo "$0: invalid option: $1" >&2 - exit 1;; + -*) echo "$0: invalid option: $1" >&2 + exit 1;; *) break;; esac shift done +# We allow the use of options -d and -T together, by making -d +# take the precedence; this is for compatibility with GNU install. + +if test -n "$dir_arg"; then + if test -n "$dst_arg"; then + echo "$0: target directory not allowed when installing a directory." >&2 + exit 1 + fi +fi + if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. @@ -186,6 +186,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then fi shift # arg dst_arg=$arg + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac done fi @@ -194,13 +198,26 @@ if test $# -eq 0; then echo "$0: no input file specified." >&2 exit 1 fi - # It's OK to call `install-sh -d' without argument. + # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 + if test $# -gt 1 || test "$is_target_a_directory" = always; then + if test ! -d "$dst_arg"; then + echo "$0: $dst_arg: Is not a directory." >&2 + exit 1 + fi + fi +fi + +if test -z "$dir_arg"; then + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. @@ -211,16 +228,16 @@ if test -z "$dir_arg"; then *[0-7]) if test -z "$stripcmd"; then - u_plus_rw= + u_plus_rw= else - u_plus_rw='% 200' + u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then - u_plus_rw= + u_plus_rw= else - u_plus_rw=,u+rw + u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac @@ -228,9 +245,9 @@ fi for src do - # Protect names starting with `-'. + # Protect names problematic for 'test' and other utilities. case $src in - -*) src=./$src;; + -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then @@ -252,51 +269,20 @@ do echo "$0: no destination specified." >&2 exit 1 fi - dst=$dst_arg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst;; - esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 + if test "$is_target_a_directory" = never; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - + dstdir=`dirname "$dst"` test -d "$dstdir" dstdir_status=$? fi @@ -307,74 +293,74 @@ do if test $dstdir_status != 0; then case $posix_mkdir in '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; esac if $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else @@ -384,53 +370,51 @@ do # directory the slow way, step by step, checking for races as we go. case $dstdir in - /*) prefix='/';; - -*) prefix='./';; - *) prefix='';; + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; esac - eval "$initialize_posix_glob" - oIFS=$IFS IFS=/ - $posix_glob set -f + set -f set fnord $dstdir shift - $posix_glob set +f + set +f IFS=$oIFS prefixes= for d do - test -z "$d" && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ + test X"$d" = X && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ done if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true fi fi fi @@ -465,15 +449,12 @@ do # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - - eval "$initialize_posix_glob" && - $posix_glob set -f && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - + set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then @@ -486,24 +467,24 @@ do # to itself, or perhaps because mv is so ancient that it does not # support -f. { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 diff --git a/binutils-2.25/ld/.gitignore b/binutils-2.25/ld/.gitignore new file mode 100644 index 0000000..a345bfb --- /dev/null +++ b/binutils-2.25/ld/.gitignore @@ -0,0 +1,16 @@ +/configdoc.texi +/deffilep.c +/deffilep.h +/ld-new +/ld.1 +/ldemul-list.h +/ldgram.c +/ldgram.h +/ldlex.c +/stringify.sed +/tdirs + +/e*.c + +/ldscripts +/tmpdir diff --git a/binutils-2.25/ld/ChangeLog b/binutils-2.25/ld/ChangeLog index 5aebb9c..d3a348a 100644 --- a/binutils-2.25/ld/ChangeLog +++ b/binutils-2.25/ld/ChangeLog @@ -1,42 +1,66 @@ -2014-11-18 Igor Zamyatin <igor.zamyatin@intel.com> +2015-04-01 Tejas Belagod <tejas.belagod@arm.com> - * emulparams/elf_x86_64.sh (BNDPLT): Set to yes for x86_64. - * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle - "-z bndplt" if BNDPLT is yes. - (gld${EMULATION_NAME}_list_options): Add "-z bndplt" entry. - * ld.texinfo: Add description for bndplt. + * emultempl/aarch64elf.em + (aarch64_elf_create_output_section_statements): Add parameter in + bfd_elf${ELFSIZE}_aarch64_set_options call. + (OPTION_FIX_ERRATUM_843419): Define. + (PARSE_AND_LIST_LONGOPTS): Add fix-cortex-a53-843419. + (PARSE_AND_LIST_ARGS_CASES): Add OPTION_FIX_ERRATUM_843419. -2014-10-29 Nick Clifton <nickc@redhat.com> +2015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com> - * po/bg.po: Updated Bulgarian translation. + * emultempl/aarch64elf.em (_aarch64_add_stub_section): Set section + alignment to 2. -2014-10-28 Alan Modra <amodra@gmail.com> +2014-10-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> - Apply trunk patches - 2014-10-16 Alan Modra <amodra@gmail.com> - PR 17488 - * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Don't attempt - to access ELF header e_flags when not ppc64 ELF output. + * avrtiny.sc: Apply avr.sc fixes. + +2014-11-04 Alan Modra <amodra@gmail.com> + + * emultempl/spu_icache.o_c: Regenerate. + * emultempl/spu_ovl.o_c: Regenerate. + +2014-11-03 Andrew Burgess <andrew.burgess@embecosm.com> + + * testsuite/ld-avr/relax-02.d: Update to check size of symbols has + changed. + * testsuite/ld-avr/relax-03.d: Likewise. + +2014-11-03 Andrew Burgess <andrew.burgess@embecosm.com> + + * testsuite/ld-avr/relax-02.d: New file. + * testsuite/ld-avr/relax-02.s: New file. + * testsuite/ld-avr/relax-03.d: New file. + * testsuite/ld-avr/relax-03.s: New file. + +2014-10-29 Nick Clifton <nickc@redhat.com> + + * po/bg.po: Updated Bulgarian translation. 2014-10-24 Tejas Belagod <tejas.belagod@arm.com> - * emultempl/aarch64elf.em: Add command-line option for erratum - 835769. + * emultempl/aarch64elf.em: Add command-line option for erratum 835769. 2014-10-17 Hans-Peter Nilsson <hp@axis.com> - Backport "implement --print-sysroot in ld" from master + Implement --print-sysroot in ld. * ldlex.h (enum option_values): Add entry OPTION_PRINT_SYSROOT. * lexsup.c (ld_options): Add entry for --print-sysroot. (parse_args) <OPTION_PRINT_SYSROOT>: Print sysroot and exit early. +2014-10-16 Alan Modra <amodra@gmail.com> + + PR 17488 + * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Don't attempt + to access ELF header e_flags when not ppc64 ELF output. + 2014-10-15 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. 2014-10-15 Hans-Peter Nilsson <hp@axis.com> - Backport "="-ldscript-path-prefix changes from master. * ldlex.l (INPUTLIST): New start condition. (comment pattern, ",", "(", ")", "AS_NEEDED") ({FILENAMECHAR1}{FILENAMECHAR}*, "-l"{FILENAMECHAR}+) diff --git a/binutils-2.25/ld/Makefile.am b/binutils-2.25/ld/Makefile.am index 9575f1f..eb5df44 100644 --- a/binutils-2.25/ld/Makefile.am +++ b/binutils-2.25/ld/Makefile.am @@ -83,7 +83,7 @@ MANCONF = -Dman TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS) POD2MAN = pod2man --center="GNU Development Tools" \ - --release="binutils-$(VERSION)" --section=1 + --release="binutils-$(VERSION)" --section=1 --date=" " #stuff for self hosting (can be overridden in config file). HOSTING_CRT0 = @HOSTING_CRT0@ diff --git a/binutils-2.25/ld/Makefile.in b/binutils-2.25/ld/Makefile.in index 9f56ca1..721b1b1 100644 --- a/binutils-2.25/ld/Makefile.in +++ b/binutils-2.25/ld/Makefile.in @@ -16,7 +16,7 @@ @SET_MAKE@ # -# Copyright (C) 2012-2014 Free Software Foundation, Inc. +# Copyright (C) 2012-2015 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -400,7 +400,7 @@ DOCVER = gen MANCONF = -Dman TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS) POD2MAN = pod2man --center="GNU Development Tools" \ - --release="binutils-$(VERSION)" --section=1 + --release="binutils-$(VERSION)" --section=1 --date=" " HOSTING_EMU = -m $(EMUL) diff --git a/binutils-2.25/ld/config.in b/binutils-2.25/ld/config.in index 2ab4844..766d23c 100644 --- a/binutils-2.25/ld/config.in +++ b/binutils-2.25/ld/config.in @@ -11,6 +11,9 @@ language is requested. */ #undef ENABLE_NLS +/* Define to warn for use of native system library directories */ +#undef ENABLE_POISON_SYSTEM_DIRECTORIES + /* Additional extension a shared object might have. */ #undef EXTRA_SHLIB_EXTENSION diff --git a/binutils-2.25/ld/configure b/binutils-2.25/ld/configure index 1047d18..f11e0be 100755 --- a/binutils-2.25/ld/configure +++ b/binutils-2.25/ld/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for ld 2.24.90. +# Generated by GNU Autoconf 2.64 for ld 2.25.51. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software @@ -556,8 +556,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='ld' PACKAGE_TARNAME='ld' -PACKAGE_VERSION='2.24.90' -PACKAGE_STRING='ld 2.24.90' +PACKAGE_VERSION='2.25.51' +PACKAGE_STRING='ld 2.25.51' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -783,6 +783,7 @@ with_lib_path enable_targets enable_64_bit_bfd with_sysroot +enable_poison_system_directories enable_gold enable_got enable_werror @@ -1347,7 +1348,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures ld 2.24.90 to adapt to many kinds of systems. +\`configure' configures ld 2.25.51 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1418,7 +1419,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ld 2.24.90:";; + short | recursive ) echo "Configuration of ld 2.25.51:";; esac cat <<\_ACEOF @@ -1439,6 +1440,8 @@ Optional Features: --disable-largefile omit support for large files --enable-targets alternative target configurations --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) + --enable-poison-system-directories + warn for use of native system library directories --enable-gold[=ARG] build gold [ARG={default,yes,no}] --enable-got=<type> GOT handling scheme (target, single, negative, multigot) @@ -1541,7 +1544,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -ld configure 2.24.90 +ld configure 2.25.51 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2250,7 +2253,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by ld $as_me 2.24.90, which was +It was created by ld $as_me 2.25.51, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -4059,7 +4062,7 @@ fi # Define the identity of the package. PACKAGE='ld' - VERSION='2.24.90' + VERSION='2.25.51' cat >>confdefs.h <<_ACEOF @@ -11712,7 +11715,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11715 "configure" +#line 11718 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11818,7 +11821,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11821 "configure" +#line 11824 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -15466,6 +15469,19 @@ fi +# Check whether --enable-poison-system-directories was given. +if test "${enable_poison_system_directories+set}" = set; then : + enableval=$enable_poison_system_directories; +else + enable_poison_system_directories=no +fi + +if test "x${enable_poison_system_directories}" = "xyes"; then + +$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h + +fi + # Check whether --enable-gold was given. if test "${enable_gold+set}" = set; then : enableval=$enable_gold; case "${enableval}" in @@ -17594,7 +17610,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by ld $as_me 2.24.90, which was +This file was extended by ld $as_me 2.25.51, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17658,7 +17674,7 @@ Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -ld config.status 2.24.90 +ld config.status 2.25.51 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/binutils-2.25/ld/configure.ac b/binutils-2.25/ld/configure.ac index 1bddfc9..e9edb7f 100644 --- a/binutils-2.25/ld/configure.ac +++ b/binutils-2.25/ld/configure.ac @@ -94,6 +94,16 @@ AC_SUBST(use_sysroot) AC_SUBST(TARGET_SYSTEM_ROOT) AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) +AC_ARG_ENABLE([poison-system-directories], + AS_HELP_STRING([--enable-poison-system-directories], + [warn for use of native system library directories]),, + [enable_poison_system_directories=no]) +if test "x${enable_poison_system_directories}" = "xyes"; then + AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], + [1], + [Define to warn for use of native system library directories]) +fi + dnl Use --enable-gold to decide if this linker should be the default. dnl "install_as_default" is set to false if gold is the default linker. dnl "installed_linker" is the installed BFD linker name. diff --git a/binutils-2.25/ld/emulparams/aarch64elf32.sh b/binutils-2.25/ld/emulparams/aarch64elf32.sh index f85c9ff..f85c9ff 100644..100755 --- a/binutils-2.25/ld/emulparams/aarch64elf32.sh +++ b/binutils-2.25/ld/emulparams/aarch64elf32.sh diff --git a/binutils-2.25/ld/emulparams/aarch64elf32b.sh b/binutils-2.25/ld/emulparams/aarch64elf32b.sh index aa0a2c5..aa0a2c5 100644..100755 --- a/binutils-2.25/ld/emulparams/aarch64elf32b.sh +++ b/binutils-2.25/ld/emulparams/aarch64elf32b.sh diff --git a/binutils-2.25/ld/emulparams/aarch64linux32.sh b/binutils-2.25/ld/emulparams/aarch64linux32.sh index b84eb45..b84eb45 100644..100755 --- a/binutils-2.25/ld/emulparams/aarch64linux32.sh +++ b/binutils-2.25/ld/emulparams/aarch64linux32.sh diff --git a/binutils-2.25/ld/emulparams/aarch64linux32b.sh b/binutils-2.25/ld/emulparams/aarch64linux32b.sh index e92feec..e92feec 100644..100755 --- a/binutils-2.25/ld/emulparams/aarch64linux32b.sh +++ b/binutils-2.25/ld/emulparams/aarch64linux32b.sh diff --git a/binutils-2.25/ld/emulparams/elf32lppclinux.sh b/binutils-2.25/ld/emulparams/elf32lppclinux.sh index 9a56372..9a56372 100644..100755 --- a/binutils-2.25/ld/emulparams/elf32lppclinux.sh +++ b/binutils-2.25/ld/emulparams/elf32lppclinux.sh diff --git a/binutils-2.25/ld/emulparams/elf_x86_64.sh b/binutils-2.25/ld/emulparams/elf_x86_64.sh index 1e83a74..d8cb6bf 100644 --- a/binutils-2.25/ld/emulparams/elf_x86_64.sh +++ b/binutils-2.25/ld/emulparams/elf_x86_64.sh @@ -31,10 +31,7 @@ fi case "$target" in x86_64*-linux*|i[3-7]86-*-linux-*) case "$EMULATION_NAME" in - *64*) - LIBPATH_SUFFIX=64 - BNDPLT=yes - ;; + *64*) LIBPATH_SUFFIX=64 ;; esac ;; *-*-solaris2*) diff --git a/binutils-2.25/ld/emulparams/nios2linux.sh b/binutils-2.25/ld/emulparams/nios2linux.sh index e654250..e654250 100644..100755 --- a/binutils-2.25/ld/emulparams/nios2linux.sh +++ b/binutils-2.25/ld/emulparams/nios2linux.sh diff --git a/binutils-2.25/ld/emultempl/elf32.em b/binutils-2.25/ld/emultempl/elf32.em index 137446f..67c437d 100644 --- a/binutils-2.25/ld/emultempl/elf32.em +++ b/binutils-2.25/ld/emultempl/elf32.em @@ -2277,14 +2277,6 @@ fragment <<EOF link_info.execstack = FALSE; } EOF - -if test x"$BNDPLT" = xyes; then -fragment <<EOF - else if (strcmp (optarg, "bndplt") == 0) - link_info.bndplt = TRUE; -EOF -fi - if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then fragment <<EOF else if (strcmp (optarg, "global") == 0) @@ -2464,13 +2456,6 @@ fragment <<EOF EOF fi -if test x"$BNDPLT" = xyes; then -fragment <<EOF - fprintf (file, _("\ - -z bndplt Always generate BND prefix in PLT entries\n")); -EOF -fi - if test -n "$PARSE_AND_LIST_OPTIONS" ; then fragment <<EOF $PARSE_AND_LIST_OPTIONS diff --git a/binutils-2.25/ld/emultempl/lnk960.em b/binutils-2.25/ld/emultempl/lnk960.em index 6364f6d..26be394 100644 --- a/binutils-2.25/ld/emultempl/lnk960.em +++ b/binutils-2.25/ld/emultempl/lnk960.em @@ -129,73 +129,15 @@ lnk960_after_parse (void) add_on (syslib_list, lang_input_file_is_search_file_enum); } -/* Create a symbol with the given name with the value of the - address of first byte of the section named. - - If the symbol already exists, then do nothing. */ - -static void -symbol_at_beginning_of (const char *secname, const char *name) -{ - struct bfd_link_hash_entry *h; - - h = bfd_link_hash_lookup (link_info.hash, name, TRUE, TRUE, TRUE); - if (h == NULL) - einfo (_("%P%F: bfd_link_hash_lookup failed: %E\n")); - - if (h->type == bfd_link_hash_new - || h->type == bfd_link_hash_undefined) - { - asection *sec; - - h->type = bfd_link_hash_defined; - - sec = bfd_get_section_by_name (link_info.output_bfd, secname); - if (sec == NULL) - sec = bfd_abs_section_ptr; - h->u.def.value = 0; - h->u.def.section = sec; - } -} - -/* Create a symbol with the given name with the value of the - address of the first byte after the end of the section named. - - If the symbol already exists, then do nothing. */ - -static void -symbol_at_end_of (const char *secname, const char *name) -{ - struct bfd_link_hash_entry *h; - - h = bfd_link_hash_lookup (link_info.hash, name, TRUE, TRUE, TRUE); - if (h == NULL) - einfo (_("%P%F: bfd_link_hash_lookup failed: %E\n")); - - if (h->type == bfd_link_hash_new - || h->type == bfd_link_hash_undefined) - { - asection *sec; - - h->type = bfd_link_hash_defined; - - sec = bfd_get_section_by_name (link_info.output_bfd, secname); - if (sec == NULL) - sec = bfd_abs_section_ptr; - h->u.def.value = sec->size; - h->u.def.section = sec; - } -} - static void lnk960_after_allocation (void) { if (!link_info.relocatable) { - symbol_at_end_of (".text", "_etext"); - symbol_at_end_of (".data", "_edata"); - symbol_at_beginning_of (".bss", "_bss_start"); - symbol_at_end_of (".bss", "_end"); + lang_abs_symbol_at_end_of (".text", "_etext"); + lang_abs_symbol_at_end_of (".data", "_edata"); + lang_abs_symbol_at_beginning_of (".bss", "_bss_start"); + lang_abs_symbol_at_end_of (".bss", "_end"); } } diff --git a/binutils-2.25/ld/emultempl/spu_icache.o_c b/binutils-2.25/ld/emultempl/spu_icache.o_c index 2006fe2..206615c 100644 --- a/binutils-2.25/ld/emultempl/spu_icache.o_c +++ b/binutils-2.25/ld/emultempl/spu_icache.o_c @@ -1,33 +1,33 @@ 0x7f,0x45,0x4c,0x46,0x01,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x01,0x00,0x17,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x68,0x00,0x00,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x00,0x00,0x28, +0x00,0x00,0x00,0xf4,0x00,0x00,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x00,0x00,0x28, 0x00,0x07,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x73,0x79, 0x6d,0x74,0x61,0x62,0x00,0x2e,0x73,0x74,0x72,0x74,0x61,0x62,0x00,0x2e,0x73,0x68, 0x73,0x74,0x72,0x74,0x61,0x62,0x00,0x2e,0x74,0x65,0x78,0x74,0x00,0x2e,0x64,0x61, 0x74,0x61,0x00,0x2e,0x62,0x73,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x01,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x04, +0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x01,0x00,0x5f,0x5f,0x69,0x63,0x61,0x63,0x68, +0x65,0x5f,0x62,0x72,0x5f,0x68,0x61,0x6e,0x64,0x6c,0x65,0x72,0x00,0x5f,0x5f,0x69, +0x63,0x61,0x63,0x68,0x65,0x5f,0x63,0x61,0x6c,0x6c,0x5f,0x68,0x61,0x6e,0x64,0x6c, +0x65,0x72,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x01, -0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x27,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x03, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x2c, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x04, -0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x03, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xe0,0x00,0x00,0x00,0x2b, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x01, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x02, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03, -0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x01, -0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x01, -0x00,0x5f,0x5f,0x69,0x63,0x61,0x63,0x68,0x65,0x5f,0x62,0x72,0x5f,0x68,0x61,0x6e, -0x64,0x6c,0x65,0x72,0x00,0x5f,0x5f,0x69,0x63,0x61,0x63,0x68,0x65,0x5f,0x63,0x61, -0x6c,0x6c,0x5f,0x68,0x61,0x6e,0x64,0x6c,0x65,0x72,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1b, +0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34, +0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x27, +0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x00,0x00,0x2c,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, +0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68, +0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04, +0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc8,0x00,0x00,0x00,0x2b,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00, diff --git a/binutils-2.25/ld/emultempl/spu_ovl.o_c b/binutils-2.25/ld/emultempl/spu_ovl.o_c index c9eff93..3e445ea 100644 --- a/binutils-2.25/ld/emultempl/spu_ovl.o_c +++ b/binutils-2.25/ld/emultempl/spu_ovl.o_c @@ -1,6 +1,6 @@ 0x7f,0x45,0x4c,0x46,0x01,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x01,0x00,0x17,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x02,0x74,0x00,0x00,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x00,0x00,0x28, +0x00,0x00,0x05,0x08,0x00,0x00,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x00,0x00,0x28, 0x00,0x08,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x01,0x02,0x03,0x10,0x11,0x12,0x13,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x04,0x05,0x06,0x07,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80, @@ -39,26 +39,6 @@ 0x2e,0x74,0x65,0x78,0x74,0x00,0x2e,0x64,0x61,0x74,0x61,0x00,0x2e,0x62,0x73,0x73, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20, -0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40, -0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x05,0xdc,0x00,0x00,0x00,0x6c,0x00,0x00,0x00,0x06, -0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x26, -0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2c,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x03, -0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11, -0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40, -0x00,0x00,0x00,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xb4,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x07, -0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x09, -0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x04, -0x00,0x00,0x00,0xd6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x03,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x03,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x03,0x00,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10, @@ -98,4 +78,24 @@ 0x00,0x00,0x12,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x54,0x00,0x00,0x0f,0x05, 0xff,0xff,0xff,0xf0,0x00,0x00,0x01,0x78,0x00,0x00,0x13,0x05,0xff,0xff,0xff,0xfc, 0x00,0x00,0x01,0xb0,0x00,0x00,0x0f,0x05,0xff,0xff,0xff,0xf0,0x00,0x00,0x01,0xd8, -0x00,0x00,0x01,0x05,0x00,0x00,0x01,0xf4, +0x00,0x00,0x01,0x05,0x00,0x00,0x01,0xf4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x40,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x04, +0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x9c,0x00,0x00,0x00,0x6c, +0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x0c, +0x00,0x00,0x00,0x26,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00, +0x00,0x00,0x02,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2c,0x00,0x00,0x00,0x08, +0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x02,0x40,0x00,0x00,0x00,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x74,0x00,0x00,0x01,0x50, +0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x10, +0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x03,0xc4,0x00,0x00,0x00,0xd6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00, diff --git a/binutils-2.25/ld/ld.h b/binutils-2.25/ld/ld.h index f773ce7..bc7aebb 100644 --- a/binutils-2.25/ld/ld.h +++ b/binutils-2.25/ld/ld.h @@ -161,6 +161,13 @@ typedef struct { /* If TRUE we'll just print the default output on stdout. */ bfd_boolean print_output_format; + /* If TRUE warn for uses of system directories when cross linking. */ + bfd_boolean warn_poison_system_directories; + + /* If TRUE (default FALSE) give an error for uses of system + directories when cross linking instead of a warning. */ + bfd_boolean error_poison_system_directories; + /* Big or little endian as set on command line. */ enum endian_enum endian; diff --git a/binutils-2.25/ld/ld.texinfo b/binutils-2.25/ld/ld.texinfo index 43973cc..eeb055c 100644 --- a/binutils-2.25/ld/ld.texinfo +++ b/binutils-2.25/ld/ld.texinfo @@ -1133,9 +1133,6 @@ Specify a stack size for in an ELF @code{PT_GNU_STACK} segment. Specifying zero will override any default non-zero sized @code{PT_GNU_STACK} segment creation. -@item bndplt -Always generate BND prefix in PLT entries. Supported for Linux/x86_64. - @end table Other keywords are ignored for Solaris compatibility. @@ -2212,6 +2209,24 @@ string identifying the original linked file does not change. Passing @code{none} for @var{style} disables the setting from any @code{--build-id} options earlier on the command line. + +@kindex --warn-poison-system-directories +@item --warn-poison-system-directories +Warn for @option{-L} options using system directories such as +@file{/usr/lib} when cross linking. This option is intended for use +in environments that want to detect and reject incorrect link settings. + +@kindex --no-warn-poison-system-directories +@item --no-warn-poison-system-directories +Do not warn for @option{-L} options using system directories such as +@file{/usr/lib} when cross linking. This option is intended for use +in chroot environments when such directories contain the correct +libraries for the target system rather than the host. + +@kindex --error-poison-system-directories +@item --error-poison-system-directories +Give an error instead of a warning for @option{-L} options using +system directories when cross linking. @end table @c man end diff --git a/binutils-2.25/ld/ldexp.c b/binutils-2.25/ld/ldexp.c index 5c4f8dd..6f4dbea 100644 --- a/binutils-2.25/ld/ldexp.c +++ b/binutils-2.25/ld/ldexp.c @@ -234,14 +234,10 @@ new_rel (bfd_vma value, asection *section) static void new_rel_from_abs (bfd_vma value) { - asection *s = expld.section; - - if (s == bfd_abs_section_ptr && expld.phase == lang_final_phase_enum) - s = section_for_dot (); expld.result.valid_p = TRUE; - expld.result.value = value - s->vma; + expld.result.value = value - expld.section->vma; expld.result.str = NULL; - expld.result.section = s; + expld.result.section = expld.section; } static void diff --git a/binutils-2.25/ld/ldfile.c b/binutils-2.25/ld/ldfile.c index 782ed7f..c36cf61 100644 --- a/binutils-2.25/ld/ldfile.c +++ b/binutils-2.25/ld/ldfile.c @@ -114,6 +114,26 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) new_dirs->name = concat (ld_sysroot, name + 1, (const char *) NULL); else new_dirs->name = xstrdup (name); + + if (command_line.warn_poison_system_directories + && (!strncmp (name, "/lib", 4) + /* TODO: This check is disabled for now due to a bunch of packages that + * use libtool and relink with -L/usr/lib paths (albeit after the right + * sysroot path). Once those are fixed we can enable. + * We also need to adjust it so it only rejects one or two levels deep. + * Gcc's internal paths also live below /usr/lib. + * http://crbug.com/488360 */ + /* || !strncmp (name, "/usr/lib", 8) */ + || !strncmp (name, "/usr/local/lib", 14) + || !strncmp (name, "/usr/X11R6/lib", 14))) + { + if (command_line.error_poison_system_directories) + einfo (_("%X%P: error: library search path \"%s\" is unsafe for " + "cross-compilation\n"), name); + else + einfo (_("%P: warning: library search path \"%s\" is unsafe for " + "cross-compilation\n"), name); + } } /* Try to open a BFD for a lang_input_statement. */ diff --git a/binutils-2.25/ld/ldlang.c b/binutils-2.25/ld/ldlang.c index c4da07f..8982aa2 100644 --- a/binutils-2.25/ld/ldlang.c +++ b/binutils-2.25/ld/ldlang.c @@ -5295,7 +5295,7 @@ lang_size_sections_1 } expld.dataseg.relro = exp_dataseg_relro_none; - /* This symbol may be relative to this section. */ + /* This symbol is relative to this section. */ if ((tree->type.node_class == etree_provided || tree->type.node_class == etree_assign) && (tree->assign.dst [0] != '.' @@ -5518,18 +5518,13 @@ lang_size_sections (bfd_boolean *relax, bfd_boolean check_regions) expld.dataseg.phase = exp_dataseg_done; } -static lang_output_section_statement_type *current_section; -static lang_assignment_statement_type *current_assign; -static bfd_boolean prefer_next_section; - /* Worker function for lang_do_assignments. Recursiveness goes here. */ static bfd_vma lang_do_assignments_1 (lang_statement_union_type *s, lang_output_section_statement_type *current_os, fill_type *fill, - bfd_vma dot, - bfd_boolean *found_end) + bfd_vma dot) { for (; s != NULL; s = s->header.next) { @@ -5537,7 +5532,7 @@ lang_do_assignments_1 (lang_statement_union_type *s, { case lang_constructors_statement_enum: dot = lang_do_assignments_1 (constructor_list.head, - current_os, fill, dot, found_end); + current_os, fill, dot); break; case lang_output_section_statement_enum: @@ -5545,18 +5540,12 @@ lang_do_assignments_1 (lang_statement_union_type *s, lang_output_section_statement_type *os; os = &(s->output_section_statement); - os->after_end = *found_end; if (os->bfd_section != NULL && !os->ignored) { - if ((os->bfd_section->flags & SEC_ALLOC) != 0) - { - current_section = os; - prefer_next_section = FALSE; - } dot = os->bfd_section->vma; lang_do_assignments_1 (os->children.head, - os, os->fill, dot, found_end); + os, os->fill, dot); /* .tbss sections effectively have zero size. */ if ((os->bfd_section->flags & SEC_HAS_CONTENTS) != 0 @@ -5573,7 +5562,7 @@ lang_do_assignments_1 (lang_statement_union_type *s, case lang_wild_statement_enum: dot = lang_do_assignments_1 (s->wild_statement.children.head, - current_os, fill, dot, found_end); + current_os, fill, dot); break; case lang_object_symbols_statement_enum: @@ -5644,19 +5633,6 @@ lang_do_assignments_1 (lang_statement_union_type *s, break; case lang_assignment_statement_enum: - current_assign = &s->assignment_statement; - if (current_assign->exp->type.node_class != etree_assert) - { - const char *p = current_assign->exp->assign.dst; - - if (current_os == abs_output_section && p[0] == '.' && p[1] == 0) - prefer_next_section = TRUE; - - while (*p == '_') - ++p; - if (strcmp (p, "end") == 0) - *found_end = TRUE; - } exp_fold_tree (s->assignment_statement.exp, current_os->bfd_section, &dot); @@ -5668,7 +5644,7 @@ lang_do_assignments_1 (lang_statement_union_type *s, case lang_group_statement_enum: dot = lang_do_assignments_1 (s->group_statement.children.head, - current_os, fill, dot, found_end); + current_os, fill, dot); break; case lang_insert_statement_enum: @@ -5688,89 +5664,10 @@ lang_do_assignments_1 (lang_statement_union_type *s, void lang_do_assignments (lang_phase_type phase) { - bfd_boolean found_end = FALSE; - - current_section = NULL; - prefer_next_section = FALSE; expld.phase = phase; lang_statement_iteration++; lang_do_assignments_1 (statement_list.head, - abs_output_section, NULL, 0, &found_end); -} - -/* For an assignment statement outside of an output section statement, - choose the best of neighbouring output sections to use for values - of "dot". */ - -asection * -section_for_dot (void) -{ - asection *s; - - /* Assignments belong to the previous output section, unless there - has been an assignment to "dot", in which case following - assignments belong to the next output section. (The assumption - is that an assignment to "dot" is setting up the address for the - next output section.) Except that past the assignment to "_end" - we always associate with the previous section. This exception is - for targets like SH that define an alloc .stack or other - weirdness after non-alloc sections. */ - if (current_section == NULL || prefer_next_section) - { - lang_statement_union_type *stmt; - lang_output_section_statement_type *os; - - for (stmt = (lang_statement_union_type *) current_assign; - stmt != NULL; - stmt = stmt->header.next) - if (stmt->header.type == lang_output_section_statement_enum) - break; - - os = &stmt->output_section_statement; - while (os != NULL - && !os->after_end - && (os->bfd_section == NULL - || (os->bfd_section->flags & SEC_EXCLUDE) != 0 - || bfd_section_removed_from_list (link_info.output_bfd, - os->bfd_section))) - os = os->next; - - if (current_section == NULL || os == NULL || !os->after_end) - { - if (os != NULL) - s = os->bfd_section; - else - s = link_info.output_bfd->section_last; - while (s != NULL - && ((s->flags & SEC_ALLOC) == 0 - || (s->flags & SEC_THREAD_LOCAL) != 0)) - s = s->prev; - if (s != NULL) - return s; - - return bfd_abs_section_ptr; - } - } - - s = current_section->bfd_section; - - /* The section may have been stripped. */ - while (s != NULL - && ((s->flags & SEC_EXCLUDE) != 0 - || (s->flags & SEC_ALLOC) == 0 - || (s->flags & SEC_THREAD_LOCAL) != 0 - || bfd_section_removed_from_list (link_info.output_bfd, s))) - s = s->prev; - if (s == NULL) - s = link_info.output_bfd->sections; - while (s != NULL - && ((s->flags & SEC_ALLOC) == 0 - || (s->flags & SEC_THREAD_LOCAL) != 0)) - s = s->next; - if (s != NULL) - return s; - - return bfd_abs_section_ptr; + abs_output_section, NULL, 0); } /* Fix any .startof. or .sizeof. symbols. When the assemblers see the @@ -5802,8 +5699,8 @@ lang_set_startof (void) if (h != NULL && h->type == bfd_link_hash_undefined) { h->type = bfd_link_hash_defined; - h->u.def.value = 0; - h->u.def.section = s; + h->u.def.value = bfd_get_section_vma (link_info.output_bfd, s); + h->u.def.section = bfd_abs_section_ptr; } sprintf (buf, ".sizeof.%s", secname); @@ -6286,6 +6183,8 @@ lang_add_output (const char *name, int from_script) } } +static lang_output_section_statement_type *current_section; + static int topower (int x) { @@ -7100,6 +6999,70 @@ lang_leave_output_section_statement (fill_type *fill, const char *memspec, pop_stat_ptr (); } +/* Create an absolute symbol with the given name with the value of the + address of first byte of the section named. + + If the symbol already exists, then do nothing. */ + +void +lang_abs_symbol_at_beginning_of (const char *secname, const char *name) +{ + struct bfd_link_hash_entry *h; + + h = bfd_link_hash_lookup (link_info.hash, name, TRUE, TRUE, TRUE); + if (h == NULL) + einfo (_("%P%F: bfd_link_hash_lookup failed: %E\n")); + + if (h->type == bfd_link_hash_new + || h->type == bfd_link_hash_undefined) + { + asection *sec; + + h->type = bfd_link_hash_defined; + + sec = bfd_get_section_by_name (link_info.output_bfd, secname); + if (sec == NULL) + h->u.def.value = 0; + else + h->u.def.value = bfd_get_section_vma (link_info.output_bfd, sec); + + h->u.def.section = bfd_abs_section_ptr; + } +} + +/* Create an absolute symbol with the given name with the value of the + address of the first byte after the end of the section named. + + If the symbol already exists, then do nothing. */ + +void +lang_abs_symbol_at_end_of (const char *secname, const char *name) +{ + struct bfd_link_hash_entry *h; + + h = bfd_link_hash_lookup (link_info.hash, name, TRUE, TRUE, TRUE); + if (h == NULL) + einfo (_("%P%F: bfd_link_hash_lookup failed: %E\n")); + + if (h->type == bfd_link_hash_new + || h->type == bfd_link_hash_undefined) + { + asection *sec; + + h->type = bfd_link_hash_defined; + + sec = bfd_get_section_by_name (link_info.output_bfd, secname); + if (sec == NULL) + h->u.def.value = 0; + else + h->u.def.value = (bfd_get_section_vma (link_info.output_bfd, sec) + + TO_ADDR (sec->size)); + + h->u.def.section = bfd_abs_section_ptr; + } +} + + void lang_statement_append (lang_statement_list_type *list, lang_statement_union_type *element, diff --git a/binutils-2.25/ld/ldlang.h b/binutils-2.25/ld/ldlang.h index 5f6faae..bab9863 100644 --- a/binutils-2.25/ld/ldlang.h +++ b/binutils-2.25/ld/ldlang.h @@ -163,8 +163,6 @@ typedef struct lang_output_section_statement_struct unsigned int ignored : 1; /* If this section should update "dot". Prevents section being ignored. */ unsigned int update_dot : 1; - /* If this section is after assignment to _end. */ - unsigned int after_end : 1; /* If this section uses the alignment of its input sections. */ unsigned int align_lma_with_input : 1; } lang_output_section_statement_type; @@ -570,6 +568,10 @@ extern void lang_float extern void lang_leave_output_section_statement (fill_type *, const char *, lang_output_section_phdr_list *, const char *); +extern void lang_abs_symbol_at_end_of + (const char *, const char *); +extern void lang_abs_symbol_at_beginning_of + (const char *, const char *); extern void lang_statement_append (lang_statement_list_type *, lang_statement_union_type *, lang_statement_union_type **); @@ -581,8 +583,6 @@ extern void lang_reset_memory_regions (void); extern void lang_do_assignments (lang_phase_type); -extern asection *section_for_dot - (void); #define LANG_FOR_EACH_INPUT_STATEMENT(statement) \ lang_input_statement_type *statement; \ diff --git a/binutils-2.25/ld/ldlex.h b/binutils-2.25/ld/ldlex.h index e3e9b24..20edec7 100644 --- a/binutils-2.25/ld/ldlex.h +++ b/binutils-2.25/ld/ldlex.h @@ -140,6 +140,9 @@ enum option_values OPTION_IGNORE_UNRESOLVED_SYMBOL, OPTION_PUSH_STATE, OPTION_POP_STATE, + OPTION_WARN_POISON_SYSTEM_DIRECTORIES, + OPTION_NO_WARN_POISON_SYSTEM_DIRECTORIES, + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, }; /* The initial parser states. */ diff --git a/binutils-2.25/ld/ldmain.c b/binutils-2.25/ld/ldmain.c index bc24957..c4e5e15 100644 --- a/binutils-2.25/ld/ldmain.c +++ b/binutils-2.25/ld/ldmain.c @@ -266,6 +266,13 @@ main (int argc, char **argv) command_line.warn_mismatch = TRUE; command_line.warn_search_mismatch = TRUE; command_line.check_section_addresses = -1; + command_line.warn_poison_system_directories = +#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES + TRUE; +#else + FALSE; +#endif + command_line.error_poison_system_directories = FALSE; /* We initialize DEMANGLING based on the environment variable COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the diff --git a/binutils-2.25/ld/lexsup.c b/binutils-2.25/ld/lexsup.c index 4812c97..a47f18e 100644 --- a/binutils-2.25/ld/lexsup.c +++ b/binutils-2.25/ld/lexsup.c @@ -513,6 +513,18 @@ static const struct ld_option ld_options[] = { {"pop-state", no_argument, NULL, OPTION_POP_STATE}, '\0', NULL, N_("Pop state of flags governing input file handling"), TWO_DASHES }, + { {"warn-poison-system-directories", no_argument, NULL, + OPTION_WARN_POISON_SYSTEM_DIRECTORIES}, + '\0', NULL, N_("Warn for -L options using system directories"), + TWO_DASHES }, + { {"no-warn-poison-system-directories", no_argument, NULL, + OPTION_NO_WARN_POISON_SYSTEM_DIRECTORIES}, + '\0', NULL, N_("Do not warn for -L options using system directories"), + TWO_DASHES }, + { {"error-poison-system-directories", no_argument, NULL, + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, + '\0', NULL, N_("Give an error for -L options using system directories"), + TWO_DASHES }, }; #define OPTION_COUNT ARRAY_SIZE (ld_options) @@ -1474,6 +1486,18 @@ parse_args (unsigned argc, char **argv) free (oldp); } break; + + case OPTION_WARN_POISON_SYSTEM_DIRECTORIES: + command_line.warn_poison_system_directories = TRUE; + break; + + case OPTION_NO_WARN_POISON_SYSTEM_DIRECTORIES: + command_line.warn_poison_system_directories = FALSE; + break; + + case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: + command_line.error_poison_system_directories = TRUE; + break; } } diff --git a/binutils-2.25/ld/scripttempl/avrtiny.sc b/binutils-2.25/ld/scripttempl/avrtiny.sc index ab7294b..70c5d92 100644 --- a/binutils-2.25/ld/scripttempl/avrtiny.sc +++ b/binutils-2.25/ld/scripttempl/avrtiny.sc @@ -96,24 +96,29 @@ SECTIONS KEEP(*(.vectors)) /* For data that needs to reside in the lower 64k of progmem. */ - *(.progmem.gcc*) - *(.progmem*) - ${RELOCATING+. = ALIGN(2);} + ${RELOCATING+ *(.progmem.gcc*)} + /* PR 13812: Placing the trampolines here gives a better chance + that they will be in range of the code that uses them. */ + ${RELOCATING+. = ALIGN(2);} ${CONSTRUCTING+ __trampolines_start = . ; } /* The jump trampolines for the 16-bit limited relocs will reside here. */ *(.trampolines) - *(.trampolines*) + ${RELOCATING+ *(.trampolines*)} ${CONSTRUCTING+ __trampolines_end = . ; } + ${RELOCATING+ *(.progmem*)} + + ${RELOCATING+. = ALIGN(2);} + /* For future tablejump instruction arrays for 3 byte pc devices. We don't relax jump/call instructions within these sections. */ *(.jumptables) - *(.jumptables*) + ${RELOCATING+ *(.jumptables*)} /* For code that needs to reside in the lower 128k progmem. */ *(.lowtext) - *(.lowtext*) + ${RELOCATING+ *(.lowtext*)} ${CONSTRUCTING+ __ctors_start = . ; } ${CONSTRUCTING+ *(.ctors) } @@ -148,7 +153,7 @@ SECTIONS KEEP (*(.init9)) *(.text) ${RELOCATING+. = ALIGN(2);} - *(.text.*) + ${RELOCATING+ *(.text.*)} ${RELOCATING+. = ALIGN(2);} *(.fini9) /* _exit() starts here. */ KEEP (*(.fini9)) @@ -173,25 +178,24 @@ SECTIONS ${RELOCATING+ _etext = . ; } } ${RELOCATING+ > text} - .data ${RELOCATING-0} : ${RELOCATING+AT (ADDR (.text) + SIZEOF (.text))} + .data ${RELOCATING-0} : { ${RELOCATING+ PROVIDE (__data_start = .) ; } *(.data) - KEEP (*(.data)) - *(.data*) + ${RELOCATING+ *(.data*)} *(.rodata) /* We need to include .rodata here if gcc is used */ - *(.rodata*) /* with -fdata-sections. */ + ${RELOCATING+ *(.rodata*)} /* with -fdata-sections. */ *(.gnu.linkonce.d*) ${RELOCATING+. = ALIGN(2);} ${RELOCATING+ _edata = . ; } ${RELOCATING+ PROVIDE (__data_end = .) ; } - } ${RELOCATING+ > data} + } ${RELOCATING+ > data ${RELOCATING+AT> text}} - .bss ${RELOCATING-0} :${RELOCATING+ AT (ADDR (.bss))} + .bss ${RELOCATING+ ADDR(.data) + SIZEOF (.data)} ${RELOCATING-0} :${RELOCATING+ AT (ADDR (.bss))} { ${RELOCATING+ PROVIDE (__bss_start = .) ; } *(.bss) - *(.bss*) + ${RELOCATING+ *(.bss*)} *(COMMON) ${RELOCATING+ PROVIDE (__bss_end = .) ; } } ${RELOCATING+ > data} @@ -232,31 +236,11 @@ SECTIONS .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } - - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } + .note.gnu.build-id : { *(.note.gnu.build-id) } +EOF - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } +. $srcdir/scripttempl/DWARF.sc - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } +cat <<EOF } EOF - diff --git a/binutils-2.25/ld/scripttempl/elf.sc b/binutils-2.25/ld/scripttempl/elf.sc index 2c73fdc..27e4e09 100644 --- a/binutils-2.25/ld/scripttempl/elf.sc +++ b/binutils-2.25/ld/scripttempl/elf.sc @@ -609,13 +609,12 @@ cat <<EOF ${SMALL_DATA_CTOR+${RELOCATING+${CTOR}}} ${SMALL_DATA_DTOR+${RELOCATING+${DTOR}}} ${DATA_PLT+${PLT_BEFORE_GOT+${PLT}}} - ${SDATA_GOT+${RELOCATING+${OTHER_GOT_SYMBOLS+. = .; ${OTHER_GOT_SYMBOLS}}}} + ${SDATA_GOT+${RELOCATING+${OTHER_GOT_SYMBOLS}}} ${SDATA_GOT+${GOT}} ${SDATA_GOT+${OTHER_GOT_SECTIONS}} ${SDATA} ${OTHER_SDATA_SECTIONS} ${RELOCATING+${DATA_END_SYMBOLS-${USER_LABEL_PREFIX}_edata = .; PROVIDE (${USER_LABEL_PREFIX}edata = .);}} - ${RELOCATING+. = .;} ${RELOCATING+${USER_LABEL_PREFIX}__bss_start = .;} ${RELOCATING+${OTHER_BSS_SYMBOLS}} ${SBSS} diff --git a/binutils-2.25/ld/testsuite/ChangeLog b/binutils-2.25/ld/testsuite/ChangeLog index e09af2b..1526978 100644 --- a/binutils-2.25/ld/testsuite/ChangeLog +++ b/binutils-2.25/ld/testsuite/ChangeLog @@ -1,38 +1,66 @@ -2014-11-18 H.J. Lu <hongjiu.lu@intel.com> +2014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com> - * ld-x86-64/mpx.exp: Always run mpx3 and mpx4 tests in 64-bit. + * ld-arm/attr-merge-2a.s: Add Tag_ABI_VFP_args. + * ld-arm/attr-merge-2b.s: Likewise. + * ld-arm/attr-merge-2.attr: Likewise. + * ld-arm/attr-merge-4a.s: Add Tag_ABI_FP_number_model and + Tag_ABI_VFP_args. + * ld-arm/attr-merge-4b.s: Likewise. + * ld-arm/attr-merge-4.attr: Likewise. + * ld-arm/attr-merge-6a.s: Likewise. + * ld-arm/attr-merge-6b.s: Likewise. + * ld-arm/attr-merge-6.attr: Add Tag_ABI_FP_number_model. -2014-11-18 Igor Zamyatin <igor.zamyatin@intel.com> +2015-04-01 Tejas Belagod <tejas.belagod@arm.com> - * ld-x86-64/bnd-ifunc-1.d: Add bndplt option. - * ld-x86-64/bnd-ifunc-2.d: Likewise. - * ld-x86-64/bnd-plt-1.d: Likewise. Update dissassembly sections. - * ld-x86-64/mpx.exp: Handle mpx3 and mpx4 tests. - * ld-x86-64/mpx1a.rd: Remove _BND from relocation name. - * ld-x86-64/mpx1c.rd: Likewise. - * ld-x86-64/mpx2a.rd: Likewise. - * ld-x86-64/mpx2c.rd: Likewise. - * ld-x86-64/mpx3.dd: New file. - * ld-x86-64/mpx3a.s: Likewise. - * ld-x86-64/mpx3b.s: Likewise. - * ld-x86-64/mpx4.dd: Likewise. - * ld-x86-64/mpx4a.s: Likewise. - * ld-x86-64/mpx4b.s: Likewise. - -2014-11-10 Matthew Fortune <matthew.fortune@imgtec.com> - - Apply trunk patch: - * ld-mips-elf/abiflags-strip10-ph.d: New file. - * ld-mips-elf/mips-eld.exp: Run the new test. + * ld-aarch64/aarch64-elf.exp: Add erratum843419 test. + * ld-aarch64/erratum843419.d: New. + * ld-aarch64/erratum843419.s: New. -2014-11-07 H.J. Lu <hongjiu.lu@intel.com> +2015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * ld-aarch64/erratum835769.d: Adjust for initial branch over stub + section. + * ld-aarch64/farcall-b.d: Likewise. + * ld-aarch64/farcall-bl.d: Likewise. + * ld-aarch64/farcall-back.d: Likewise. + +2015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * ld-aarch64/erratum835769.d: Adjust for removal of padding before + 835769 workaround stubs. + +2014-11-13 H.J. Lu <hongjiu.lu@intel.com> + + PR gas/17598 + * ld-x86-64/x86-64.exp: Run gotplt1. - Apply trunk patch: - 2014-11-07 H.J. Lu <hongjiu.lu@intel.com> + * ld-x86-64/gotplt1.d: New file. + * ld-x86-64/gotplt1.s: Likewise. + +2014-11-11 Jiong Wang <jiong.wang@arm.com> + + * lib/ld-lib.exp (run_ld_link_exec_tests): Append board_cflags if gcc + driver used as link tool. + (run_cc_link_exec_tests): Likewise. + +2014-11-07 H.J. Lu <hongjiu.lu@intel.com> PR ld/17482 * ld-x86-64/tlsie4.dd: Updated. +2014-11-05 Matthew Fortune <matthew.fortune@imgtec.com> + + * ld-mips-elf/abiflags-strip10-ph.d: New file. + * ld-mips-elf/mips-eld.exp: Run the new test. + +2014-10-30 Will Newton <will.newton@linaro.org> + + * ld-unique/unique.exp: Use a wider glob for matching ARM + targets. + * ld-unique/unique.s: Use % instead of @ in .type directive. + * ld-unique/unique_shared.s: Likewise. + 2014-10-24 Tejas Belagod <tejas.belagod@arm.com> * ld-aarch64/aarch64-elf.exp (aarch64elftests): Drive erratum @@ -42,7 +70,6 @@ 2014-10-17 Hans-Peter Nilsson <hp@axis.com> - Backport from master * ld-scripts/sysroot-prefix.exp: Log $ld_sysroot. Handle sysroot == "/" as a separate sysroot-configuration with separable test-types. @@ -55,7 +82,6 @@ 2014-10-15 Hans-Peter Nilsson <hp@axis.com> - Backport "="-ldscript-path-prefix changes from master. * ld-scripts/sysroot-prefix.exp, ld-scripts/sysroot-prefix-x.s, ld-scripts/sysroot-prefix-y.s: New files. * lib/ld-lib.exp (check_sysroot_available): New proc. diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2.attr b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2.attr index 578333b..9f63df4 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2.attr +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2.attr @@ -11,4 +11,5 @@ File Attributes Tag_ABI_align_needed: 8-byte Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small + Tag_ABI_VFP_args: VFP registers Tag_ABI_optimization_goals: Aggressive Debug diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2a.s b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2a.s index 0303163..8a7260c 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2a.s +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2a.s @@ -6,5 +6,6 @@ .eabi_attribute 24, 1 .eabi_attribute 25, 1 .eabi_attribute 26, 1 + .eabi_attribute 28, 3 .eabi_attribute 30, 6 .file "attr-merge-2a.s" diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2b.s b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2b.s index 047890a..a22776b 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2b.s +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2b.s @@ -6,6 +6,7 @@ .eabi_attribute 24, 1 .eabi_attribute 25, 1 .eabi_attribute 26, 1 + .eabi_attribute 28, 1 .eabi_attribute 30, 6 .eabi_attribute 18, 4 .file "attr-merge-2b.s" diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4.attr b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4.attr index 75fd063..f74b024 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4.attr +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4.attr @@ -5,4 +5,6 @@ File Attributes Tag_CPU_arch_profile: Microcontroller Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 + Tag_ABI_FP_number_model: IEEE 754 + Tag_ABI_VFP_args: compatible Tag_also_compatible_with: v6-M diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4a.s b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4a.s index b5b77bf..9282fa2 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4a.s +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4a.s @@ -5,3 +5,6 @@ @ Tag_also_compatible_with = v6-M .eabi_attribute Tag_also_compatible_with, "\006\013" + + .eabi_attribute Tag_ABI_FP_number_model, 3 + .eabi_attribute Tag_ABI_VFP_args, 3 diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4b.s b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4b.s index d2eb6de..2cf68df 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4b.s +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4b.s @@ -5,3 +5,6 @@ @ Tag_also_compatible_with = v4T .eabi_attribute Tag_also_compatible_with, "\006\002" + + .eabi_attribute Tag_ABI_FP_number_model, 0 + .eabi_attribute Tag_ABI_VFP_args, 0 diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6.attr b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6.attr index 0af32f7..1ee5d40 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6.attr +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6.attr @@ -5,5 +5,6 @@ File Attributes Tag_CPU_arch_profile: Application Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-2 + Tag_ABI_FP_number_model: IEEE 754 Tag_MPextension_use: Allowed Tag_Virtualization_use: TrustZone diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6a.s b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6a.s index 056d8c8..0423bbf 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6a.s +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6a.s @@ -1,4 +1,6 @@ .cpu cortex-a9 .fpu softvfp + .eabi_attribute 23, 3 + .eabi_attribute 28, 0 .eabi_attribute 70, 1 .file "attr-merge-6a.s" diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6b.s b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6b.s index b9ef4d2..9383bcc 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6b.s +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6b.s @@ -1,3 +1,5 @@ .cpu cortex-a9 .fpu softvfp + .eabi_attribute 23, 3 + .eabi_attribute 28, 3 .file "attr-merge-6b.s" diff --git a/binutils-2.25/ld/testsuite/ld-avr/relax-02.d b/binutils-2.25/ld/testsuite/ld-avr/relax-02.d new file mode 100644 index 0000000..c8d9b10 --- /dev/null +++ b/binutils-2.25/ld/testsuite/ld-avr/relax-02.d @@ -0,0 +1,64 @@ +#name: AVR relaxation, symbol at end of section. +#as: -mmcu=avrxmega2 -mlink-relax +#ld: -mavrxmega2 --relax +#source: relax-02.s +#objdump: -tzd +#target: avr-*-* + +.*: file format elf32-avr + +SYMBOL TABLE: +#... +00000000 l F \.text 0000000a local_start +0000000a l F \.text 0000000a local_func_1 +00000014 l F \.text 0000000a local_func_2 +0000001e l F \.text 0000000a local_func_3 +00000032 l \.text 00000000 local_end_label +00000028 g \.text 00000000 dest +#... +00000014 g F \.text 0000000a func_2 +#... +00000000 g F \.text 0000000a _start +00000032 g \.text 00000000 end_label +0000000a g F \.text 0000000a func_1 +#... +0000001e g F \.text 0000000a func_3 + + + +Disassembly of section \.text: + +00000000 <_start>: + 0: 00 00 nop + 2: 00 00 nop + 4: 00 00 nop + 6: 00 00 nop + 8: 00 00 nop + +0000000a <func_1>: + a: 00 00 nop + c: 00 00 nop + e: 00 00 nop + 10: 00 00 nop + 12: 00 00 nop + +00000014 <func_2>: + 14: 00 00 nop + 16: 08 c0 rjmp \.\+16 ; 0x28 <dest> + 18: 07 c0 rjmp \.\+14 ; 0x28 <dest> + 1a: 06 c0 rjmp \.\+12 ; 0x28 <dest> + 1c: 00 00 nop + +0000001e <func_3>: + 1e: 00 00 nop + 20: 00 00 nop + 22: 00 00 nop + 24: 00 00 nop + 26: 00 00 nop + +00000028 <dest>: + 28: 00 00 nop + 2a: 00 00 nop + 2c: 00 00 nop + 2e: 00 00 nop + 30: 00 00 nop diff --git a/binutils-2.25/ld/testsuite/ld-avr/relax-02.s b/binutils-2.25/ld/testsuite/ld-avr/relax-02.s new file mode 100644 index 0000000..57fb7f6 --- /dev/null +++ b/binutils-2.25/ld/testsuite/ld-avr/relax-02.s @@ -0,0 +1,65 @@ + .section ".text", "ax",@progbits + .global _start, dest, end_label + .global func_1, func_2, func_3 + +_start: +local_start: + nop + nop + nop + nop + nop + .type _start, @function + .size _start, .-_start + + .type local_start, @function + .size local_start, .-local_start + +func_1: +local_func_1: + nop + nop + nop + nop + nop + .type func_1, @function + .size func_1, .-func_1 + + .type local_func_1, @function + .size local_func_1, .-local_func_1 + +func_2: +local_func_2: + nop + jmp dest + jmp dest + jmp dest + nop + .type func_2, @function + .size func_2, .-func_2 + + .type local_func_2, @function + .size local_func_2, .-local_func_2 + +func_3: +local_func_3: + nop + nop + nop + nop + nop + .type func_3, @function + .size func_3, .-func_3 + + .type local_func_3, @function + .size local_func_3, .-local_func_3 + +dest: + nop + nop + nop + nop + nop + +end_label: +local_end_label: diff --git a/binutils-2.25/ld/testsuite/ld-avr/relax-03.d b/binutils-2.25/ld/testsuite/ld-avr/relax-03.d new file mode 100644 index 0000000..3adc279 --- /dev/null +++ b/binutils-2.25/ld/testsuite/ld-avr/relax-03.d @@ -0,0 +1,26 @@ +#name: AVR relaxation, single function in section. +#as: -mmcu=avrxmega2 -mlink-relax +#ld: -mavrxmega2 --relax +#source: relax-03.s +#objdump: -tzd +#target: avr-*-* + +.*: file format elf32-avr + +SYMBOL TABLE: +#... +00000000 l F .text 0000000a local_start +0000000a l .text 00000000 local_end_label +#... +00000000 g F \.text 0000000a _start +0000000a g \.text 00000000 end_label +#... + +Disassembly of section \.text: + +00000000 <_start>: + 0: 00 00 nop + 2: 03 c0 rjmp \.\+6 ; 0xa <.*> + 4: 02 c0 rjmp \.\+4 ; 0xa <.*> + 6: 01 c0 rjmp \.\+2 ; 0xa <.*> + 8: 00 00 nop diff --git a/binutils-2.25/ld/testsuite/ld-avr/relax-03.s b/binutils-2.25/ld/testsuite/ld-avr/relax-03.s new file mode 100644 index 0000000..0993502 --- /dev/null +++ b/binutils-2.25/ld/testsuite/ld-avr/relax-03.s @@ -0,0 +1,18 @@ + .section ".text", "ax",@progbits + .global _start, end_label + +_start: +local_start: + nop + jmp end_label + jmp end_label + jmp end_label + nop + .type _start, @function + .size _start, .-_start + + .type local_start, @function + .size local_start, .-local_start + +end_label: +local_end_label: diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-1.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-1.d index 81a44a7..81a44a7 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-1.d +++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-1.d diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-2.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-2.d index 64d1627..64d1627 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-2.d +++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-2.d diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-3.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-3.d index c86a828..c86a828 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-3.d +++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-3.d diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-4.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-4.d index e326d98..e326d98 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-4.d +++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-4.d diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-5.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-5.d index f3ef22b..f3ef22b 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-5.d +++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-5.d diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn.d index e77f6ee..e77f6ee 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/longsecn.d +++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn.d diff --git a/binutils-2.25/ld/testsuite/ld-pe/non-c-lang-syms.s b/binutils-2.25/ld/testsuite/ld-pe/non-c-lang-syms.s index 28006a1..28006a1 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/non-c-lang-syms.s +++ b/binutils-2.25/ld/testsuite/ld-pe/non-c-lang-syms.s diff --git a/binutils-2.25/ld/testsuite/ld-pe/pe-compile.exp b/binutils-2.25/ld/testsuite/ld-pe/pe-compile.exp index ccc8516..ccc8516 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/pe-compile.exp +++ b/binutils-2.25/ld/testsuite/ld-pe/pe-compile.exp diff --git a/binutils-2.25/ld/testsuite/ld-pe/pe-run.exp b/binutils-2.25/ld/testsuite/ld-pe/pe-run.exp index fb82340..fb82340 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/pe-run.exp +++ b/binutils-2.25/ld/testsuite/ld-pe/pe-run.exp diff --git a/binutils-2.25/ld/testsuite/ld-unique/unique.exp b/binutils-2.25/ld/testsuite/ld-unique/unique.exp index a93f9b2..994ed87 100644 --- a/binutils-2.25/ld/testsuite/ld-unique/unique.exp +++ b/binutils-2.25/ld/testsuite/ld-unique/unique.exp @@ -28,7 +28,7 @@ # arm, powerpc, and sparc so far. if {!(([istarget "i?86-*-*"] || [istarget "x86_64-*-*"] - || [istarget "arm-*-*"] + || [istarget "arm*-*-*"] || [istarget "powerpc*-*-*"] || [istarget "sparc*-*-*"]) && ([istarget "*-*-elf*"] diff --git a/binutils-2.25/ld/testsuite/ld-unique/unique.s b/binutils-2.25/ld/testsuite/ld-unique/unique.s index 9b0593c..7477a69 100644 --- a/binutils-2.25/ld/testsuite/ld-unique/unique.s +++ b/binutils-2.25/ld/testsuite/ld-unique/unique.s @@ -1,4 +1,4 @@ - .type a, @gnu_unique_object + .type a, %gnu_unique_object a: .long 0 .size a, .-a diff --git a/binutils-2.25/ld/testsuite/ld-unique/unique_shared.s b/binutils-2.25/ld/testsuite/ld-unique/unique_shared.s index b18a5b1..8022291 100644 --- a/binutils-2.25/ld/testsuite/ld-unique/unique_shared.s +++ b/binutils-2.25/ld/testsuite/ld-unique/unique_shared.s @@ -1,3 +1,3 @@ - .type b, @gnu_unique_object + .type b, %gnu_unique_object b: .long 0 .size b, .-b diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.d b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.d index 11313ab..cdcb4f6 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.d +++ b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.d @@ -1,5 +1,5 @@ #as: --64 -madd-bnd-prefix -#ld: -shared -melf_x86_64 -z bndplt +#ld: -shared -melf_x86_64 #objdump: -dw #... diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.d b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.d index 6be8290..43e3356 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.d +++ b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.d @@ -1,5 +1,5 @@ #as: --64 -madd-bnd-prefix -#ld: -shared -melf_x86_64 -z bndplt +#ld: -shared -melf_x86_64 #objdump: -dw #... diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-plt-1.d b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-plt-1.d index d76a7a7..3cfe9e6 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-plt-1.d +++ b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-plt-1.d @@ -1,6 +1,6 @@ #source: bnd-branch-1.s #as: --64 -#ld: -shared -melf_x86_64 -z bndplt +#ld: -shared -melf_x86_64 #objdump: -dw .*: +file format .* @@ -13,8 +13,8 @@ Disassembly of section .plt: [ ]*[a-f0-9]+: f2 ff 25 83 01 20 00 bnd jmpq \*0x200183\(%rip\) # 200440 <_GLOBAL_OFFSET_TABLE_\+0x10> [ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) [ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 -[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 2b0 <foo2@plt-0x50> -[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +[ ]*[a-f0-9]+: e9 e6 ff ff ff jmpq 2b0 <foo2@plt-0x50> +[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) [ ]*[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 [ ]*[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 2b0 <foo2@plt-0x50> [ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) @@ -22,14 +22,14 @@ Disassembly of section .plt: [ ]*[a-f0-9]+: f2 e9 c5 ff ff ff bnd jmpq 2b0 <foo2@plt-0x50> [ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) [ ]*[a-f0-9]+: 68 03 00 00 00 pushq \$0x3 -[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff bnd jmpq 2b0 <foo2@plt-0x50> -[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +[ ]*[a-f0-9]+: e9 b6 ff ff ff jmpq 2b0 <foo2@plt-0x50> +[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) Disassembly of section .plt.bnd: 0+300 <foo2@plt>: -[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\) # 200448 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: ff 25 42 01 20 00 jmpq \*0x200142\(%rip\) # 200448 <_GLOBAL_OFFSET_TABLE_\+0x18> +[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax 0+308 <foo3@plt>: [ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\) # 200450 <_GLOBAL_OFFSET_TABLE_\+0x20> @@ -40,8 +40,8 @@ Disassembly of section .plt.bnd: [ ]*[a-f0-9]+: 90 nop 0+318 <foo4@plt>: -[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\) # 200460 <_GLOBAL_OFFSET_TABLE_\+0x30> -[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: ff 25 42 01 20 00 jmpq \*0x200142\(%rip\) # 200460 <_GLOBAL_OFFSET_TABLE_\+0x30> +[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .text: diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/gotplt1.d b/binutils-2.25/ld/testsuite/ld-x86-64/gotplt1.d new file mode 100644 index 0000000..f2ee245 --- /dev/null +++ b/binutils-2.25/ld/testsuite/ld-x86-64/gotplt1.d @@ -0,0 +1,6 @@ +#as: --64 +#ld: -shared -melf_x86_64 +#readelf: -r --wide + +#... +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +[0-9a-f]+ +foo \+ 0 diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/gotplt1.s b/binutils-2.25/ld/testsuite/ld-x86-64/gotplt1.s new file mode 100644 index 0000000..0675843 --- /dev/null +++ b/binutils-2.25/ld/testsuite/ld-x86-64/gotplt1.s @@ -0,0 +1,5 @@ + .globl _start + .type _start, @function +_start: + movabsq $foo@GOTPLT, %rax + .size _start, .-_start diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx.exp b/binutils-2.25/ld/testsuite/ld-x86-64/mpx.exp index bdf9593..f2a50d4 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx.exp +++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx.exp @@ -74,21 +74,6 @@ set run_tests { {dummy.s} "mpx2static" "mpx2.out"} } -run_ld_link_tests { - {"Build libcall.so" - "-m elf_x86_64 -shared -z bndplt" "" "--64" - {mpx3b.s} {} "libcall.so"} - {"Build mpx3" - "-m elf_x86_64 -z bndplt tmpdir/libcall.so" "" "--64" - {mpx3a.s} {{objdump -dw mpx3.dd}} "mpx3"} - {"Build libcall1.so" - "-m elf_x86_64 -shared -z bndplt" "" "--64" - {mpx4b.s} {} "libcall1.so"} - {"Build mpx4" - "-m elf_x86_64 -z bndplt tmpdir/libcall1.so" "" "--64" - {mpx4a.s} {{objdump -dw mpx4.dd}} "mpx4"} -} - run_ld_link_exec_tests [] $run_tests run_dump_test "bnd-branch-1" diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.rd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.rd index d66524c..9bebc82 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.rd +++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.rd @@ -1,3 +1,3 @@ #... -[0-9a-f ]+R_X86_64_PLT32 +0+ +.* +[0-9a-f ]+R_X86_64_PLT32_BND +0+ +.* #... diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.rd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.rd index d3b292c..2b050bd 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.rd +++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.rd @@ -1,3 +1,3 @@ #... -[0-9a-f ]+R_X86_64_PC32 +0+ +.* +[0-9a-f ]+R_X86_64_PC32_BND +0+ +.* #... diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.rd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.rd index d66524c..9bebc82 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.rd +++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.rd @@ -1,3 +1,3 @@ #... -[0-9a-f ]+R_X86_64_PLT32 +0+ +.* +[0-9a-f ]+R_X86_64_PLT32_BND +0+ +.* #... diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.rd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.rd index d66524c..9bebc82 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.rd +++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.rd @@ -1,3 +1,3 @@ #... -[0-9a-f ]+R_X86_64_PLT32 +0+ +.* +[0-9a-f ]+R_X86_64_PLT32_BND +0+ +.* #... diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3.dd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx3.dd deleted file mode 100644 index 2a8356d..0000000 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3.dd +++ /dev/null @@ -1,35 +0,0 @@ -.*: +file format .* - - -Disassembly of section .plt: - -0+400290 <.plt>: -[ ]*[a-f0-9]+: ff 35 6a 01 20 00 pushq 0x20016a\(%rip\) # 600400 <_GLOBAL_OFFSET_TABLE_\+0x8> -[ ]*[a-f0-9]+: f2 ff 25 6b 01 20 00 bnd jmpq \*0x20016b\(%rip\) # 600408 <_GLOBAL_OFFSET_TABLE_\+0x10> -[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) -[ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 -[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 400290 <call1@plt-0x30> -[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) -[ ]*[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 -[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 400290 <call1@plt-0x30> -[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) - -Disassembly of section .plt.bnd: - -0+4002c0 <call1@plt>: -[ ]*[a-f0-9]+: f2 ff 25 49 01 20 00 bnd jmpq \*0x200149\(%rip\) # 600410 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: 90 nop - -0+4002c8 <call2@plt>: -[ ]*[a-f0-9]+: f2 ff 25 49 01 20 00 bnd jmpq \*0x200149\(%rip\) # 600418 <_GLOBAL_OFFSET_TABLE_\+0x20> -[ ]*[a-f0-9]+: 90 nop - -Disassembly of section .text: - -0+4002d0 <_start>: -[ ]*[a-f0-9]+: bf c0 02 40 00 mov \$0x4002c0,%edi -[ ]*[a-f0-9]+: f2 ff d7 bnd callq \*%rdi -[ ]*[a-f0-9]+: 48 8b 3d 41 01 20 00 mov 0x200141\(%rip\),%rdi # 600420 <func> -[ ]*[a-f0-9]+: f2 ff d7 bnd callq \*%rdi -[ ]*[a-f0-9]+: c3 retq -#pass diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3a.s b/binutils-2.25/ld/testsuite/ld-x86-64/mpx3a.s deleted file mode 100644 index 28cb580..0000000 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3a.s +++ /dev/null @@ -1,16 +0,0 @@ - .text - .globl _start - .type _start, @function -_start: - movl $call1, %edi - bnd call *%rdi - movq func(%rip), %rdi - bnd call *%rdi - ret - .size _start, .-_start - .globl func - .data - .type func, @object - .size func, 8 -func: - .quad call2 diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3b.s b/binutils-2.25/ld/testsuite/ld-x86-64/mpx3b.s deleted file mode 100644 index 1ee2557..0000000 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3b.s +++ /dev/null @@ -1,11 +0,0 @@ - .text - .globl call1 - .type call1, @function -call1: - ret - .size call1, .-call1 - .globl call2 - .type call2, @function -call2: - ret - .size call2, .-call2 diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4.dd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx4.dd deleted file mode 100644 index 0cf0f75..0000000 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4.dd +++ /dev/null @@ -1,24 +0,0 @@ -.*: +file format .* - - -Disassembly of section .plt: - -0+400260 <.plt>: -[ ]*[a-f0-9]+: ff 35 42 01 20 00 pushq 0x200142\(%rip\) # 6003a8 <_GLOBAL_OFFSET_TABLE_\+0x8> -[ ]*[a-f0-9]+: f2 ff 25 43 01 20 00 bnd jmpq \*0x200143\(%rip\) # 6003b0 <_GLOBAL_OFFSET_TABLE_\+0x10> -[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) -[ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 -[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 400260 <call1@plt-0x20> -[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) - -Disassembly of section .plt.bnd: - -0+400280 <call1@plt>: -[ ]*[a-f0-9]+: f2 ff 25 31 01 20 00 bnd jmpq \*0x200131\(%rip\) # 6003b8 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: 90 nop - -Disassembly of section .text: - -0+400288 <_start>: -[ ]*[a-f0-9]+: bf 80 02 40 00 mov \$0x400280,%edi -[ ]*[a-f0-9]+: f2 ff d7 bnd callq \*%rdi diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4a.s b/binutils-2.25/ld/testsuite/ld-x86-64/mpx4a.s deleted file mode 100644 index 0ee2723..0000000 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4a.s +++ /dev/null @@ -1,6 +0,0 @@ -.text - .globl _start - .type _start, @function -_start: - movl $call1, %edi - bnd call *%rdi diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4b.s b/binutils-2.25/ld/testsuite/ld-x86-64/mpx4b.s deleted file mode 100644 index 0e9ac14..0000000 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4b.s +++ /dev/null @@ -1,5 +0,0 @@ -.text - .globl call1 - .type call1, @function -call1: - ret diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/start.o b/binutils-2.25/ld/testsuite/ld-x86-64/start.o Binary files differnew file mode 100644 index 0000000..e015e73 --- /dev/null +++ b/binutils-2.25/ld/testsuite/ld-x86-64/start.o diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/x86-64.exp b/binutils-2.25/ld/testsuite/ld-x86-64/x86-64.exp index 54786a7..a9b68ff 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/x86-64.exp +++ b/binutils-2.25/ld/testsuite/ld-x86-64/x86-64.exp @@ -227,6 +227,7 @@ run_dump_test "pr12570a" run_dump_test "pr12570b" run_dump_test "pr14215" run_dump_test "pr14207" +run_dump_test "gotplt1" if { ![istarget "x86_64-*-linux*"] && ![istarget "x86_64-*-nacl*"]} { return diff --git a/binutils-2.25/ld/testsuite/lib/ld-lib.exp b/binutils-2.25/ld/testsuite/lib/ld-lib.exp index 7d2df22..09213bc 100644 --- a/binutils-2.25/ld/testsuite/lib/ld-lib.exp +++ b/binutils-2.25/ld/testsuite/lib/ld-lib.exp @@ -1410,6 +1410,13 @@ proc run_cc_link_tests { ldtests } { global CXXFLAGS global ar global exec_output + global board_cflags + + if [board_info [target_info name] exists cflags] { + set board_cflags " [board_info [target_info name] cflags]" + } else { + set board_cflags "" + } foreach testitem $ldtests { set testname [lindex $testitem 0] @@ -1466,7 +1473,7 @@ proc run_cc_link_tests { ldtests } { set failed 1 } } else { - if { ![ld_simple_link $cc_cmd $binfile "-L$srcdir/$subdir $ldflags $objfiles"] } { + if { ![ld_simple_link $cc_cmd $binfile "$board_cflags -L$srcdir/$subdir $ldflags $objfiles"] } { set failed 1 } diff --git a/binutils-2.25/libiberty/.gitignore b/binutils-2.25/libiberty/.gitignore new file mode 100644 index 0000000..ca2fba5 --- /dev/null +++ b/binutils-2.25/libiberty/.gitignore @@ -0,0 +1,2 @@ +/required-list +/xhost-mkfrag diff --git a/binutils-2.25/libiberty/ChangeLog b/binutils-2.25/libiberty/ChangeLog index 829f684..82a49ea 100644 --- a/binutils-2.25/libiberty/ChangeLog +++ b/binutils-2.25/libiberty/ChangeLog @@ -1,3 +1,57 @@ +2014-11-12 Kirill Yukhin <kirill.yukhin@intel.com> + + * testsuite/test-strtol.c (run_tests): Cast strtol return to + unsigned long. + +2014-11-11 Anthony Brandon <anthony.brandon@gmail.com> + Manuel López-Ibáñez <manu@gcc.gnu.org> + + PR driver/36312 + * filename_cmp.c (canonical_filename_eq): New function to check if + file names are the same. + * functions.texi: Updated with documentation for new function. + +2014-11-11 David Malcolm <dmalcolm@redhat.com> + + * ChangeLog.jit: New. + +2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * sigsetmask.c (_POSIX_SOURCE): Remove. + +2014-10-28 Yury Gribov <y.gribov@samsung.com> + + * strtoll.c: New file. + * strtoull.c: New file. + * configure.ac: Add long long checks. Add harness for strtoll and + strtoull. Check decls for strtol, strtoul, strtoll, strtoull. + * Makefile.in (CFILES, CONFIGURED_OFILES): Add strtoll and strtoull. + * config.in: Regenerate. + * configure: Regenerate. + * functions.texi: Regenerate. + * testsuite/Makefile.in (check-strtol): New rule. + (test-strtol): Likewise. + (mostlyclean): Clean up strtol test. + * testsuite/test-strtol.c: New test. + +2014-10-15 David Malcolm <dmalcolm@redhat.com> + + * choose-temp.c (choose_tmpdir): Remove now-redundant local + copy of prototype. + * functions.texi: Regenerate. + * make-temp-file.c (choose_tmpdir): Convert return type from + char * to const char * - given that this returns a pointer to + a memoized allocation, the caller must not touch it. + +2014-10-14 Joel Brobecker <brobecker@adacore.com> + + * d-demangle.c: Replace strtold with strtod in global comment. + (strtold): Remove declaration. + (strtod): New declaration. + (dlang_parse_real): Declare value as double instead of long + double. Replace call to strtold by call to strtod. + Update format in call to snprintf. + 2014-09-26 Jason Merrill <jason@redhat.com> * cp-demangle.c (d_substitution): Handle abi tags on abbreviation. diff --git a/binutils-2.25/libiberty/ChangeLog.jit b/binutils-2.25/libiberty/ChangeLog.jit new file mode 100644 index 0000000..5b64f80 --- /dev/null +++ b/binutils-2.25/libiberty/ChangeLog.jit @@ -0,0 +1,23 @@ +2014-09-25 David Malcolm <dmalcolm@redhat.com> + + * choose-temp.c (choose_tmpdir): Remove now-redundant local + copy of prototype. + * functions.texi: Regenerate. + * make-temp-file.c (choose_tmpdir): Convert return type from + char * to const char * - given that this returns a pointer to + a memoized allocation, the caller must not touch it. + +2014-09-24 David Malcolm <dmalcolm@redhat.com> + + * ChangeLog.jit: Add copyright footer. + +2013-10-03 David Malcolm <dmalcolm@redhat.com> + + * configure.ac: If --enable-host-shared, use -fPIC. + * configure: Regenerate. + +Copyright (C) 2013-2014 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. diff --git a/binutils-2.25/libiberty/Makefile.in b/binutils-2.25/libiberty/Makefile.in index 9b87720..1b0d8ae 100644 --- a/binutils-2.25/libiberty/Makefile.in +++ b/binutils-2.25/libiberty/Makefile.in @@ -152,8 +152,8 @@ CFILES = alloca.c argv.c asprintf.c atexit.c \ spaces.c splay-tree.c stack-limit.c stpcpy.c stpncpy.c \ strcasecmp.c strchr.c strdup.c strerror.c strncasecmp.c \ strncmp.c strrchr.c strsignal.c strstr.c strtod.c strtol.c \ - strtoul.c strndup.c strnlen.c strverscmp.c \ - timeval-utils.c tmpnam.c \ + strtoll.c strtoul.c strtoull.c strndup.c strnlen.c \ + strverscmp.c timeval-utils.c tmpnam.c \ unlink-if-ordinary.c \ vasprintf.c vfork.c vfprintf.c vprintf.c vsnprintf.c vsprintf.c \ waitpid.c \ @@ -219,8 +219,8 @@ CONFIGURED_OFILES = ./asprintf.$(objext) ./atexit.$(objext) \ ./strchr.$(objext) ./strdup.$(objext) ./strncasecmp.$(objext) \ ./strncmp.$(objext) ./strndup.$(objext) ./strnlen.$(objext) \ ./strrchr.$(objext) ./strstr.$(objext) ./strtod.$(objext) \ - ./strtol.$(objext) ./strtoul.$(objext) ./strverscmp.$(objext) \ - ./tmpnam.$(objext) \ + ./strtol.$(objext) ./strtoul.$(objext) strtoll.$(objext) \ + ./strtoull.$(objext) ./tmpnam.$(objext) ./strverscmp.$(objext) \ ./vasprintf.$(objext) ./vfork.$(objext) ./vfprintf.$(objext) \ ./vprintf.$(objext) ./vsnprintf.$(objext) ./vsprintf.$(objext) \ ./waitpid.$(objext) @@ -694,6 +694,17 @@ $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir else true; fi $(COMPILE.c) $(srcdir)/crc32.c $(OUTPUT_OPTION) +./d-demangle.$(objext): $(srcdir)/d-demangle.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/demangle.h $(INCDIR)/libiberty.h \ + $(INCDIR)/safe-ctype.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/d-demangle.c -o pic/$@; \ + else true; fi + if [ x"$(NOASANFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/d-demangle.c -o noasan/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/d-demangle.c $(OUTPUT_OPTION) + ./dwarfnames.$(objext): $(srcdir)/dwarfnames.c $(INCDIR)/dwarf2.def \ $(INCDIR)/dwarf2.h if [ x"$(PICFLAG)" != x ]; then \ @@ -714,14 +725,6 @@ $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir else true; fi $(COMPILE.c) $(srcdir)/dyn-string.c $(OUTPUT_OPTION) -./d-demangle.$(objext): $(srcdir)/d-demangle.c config.h $(INCDIR)/ansidecl.h \ - $(srcdir)/cp-demangle.h $(INCDIR)/demangle.h \ - $(INCDIR)/dyn-string.h $(INCDIR)/getopt.h $(INCDIR)/libiberty.h - if [ x"$(PICFLAG)" != x ]; then \ - $(COMPILE.c) $(PICFLAG) $(srcdir)/d-demangle.c -o pic/$@; \ - else true; fi - $(COMPILE.c) $(srcdir)/d-demangle.c $(OUTPUT_OPTION) - ./fdmatch.$(objext): $(srcdir)/fdmatch.c config.h $(INCDIR)/ansidecl.h \ $(INCDIR)/libiberty.h if [ x"$(PICFLAG)" != x ]; then \ @@ -1471,6 +1474,15 @@ $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir else true; fi $(COMPILE.c) $(srcdir)/strtol.c $(OUTPUT_OPTION) +./strtoll.$(objext): $(srcdir)/strtoll.c config.h $(INCDIR)/safe-ctype.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/strtoll.c -o pic/$@; \ + else true; fi + if [ x"$(NOASANFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strtoll.c -o noasan/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/strtoll.c $(OUTPUT_OPTION) + ./strtoul.$(objext): $(srcdir)/strtoul.c config.h $(INCDIR)/ansidecl.h \ $(INCDIR)/safe-ctype.h if [ x"$(PICFLAG)" != x ]; then \ @@ -1481,6 +1493,16 @@ $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir else true; fi $(COMPILE.c) $(srcdir)/strtoul.c $(OUTPUT_OPTION) +./strtoull.$(objext): $(srcdir)/strtoull.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/safe-ctype.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/strtoull.c -o pic/$@; \ + else true; fi + if [ x"$(NOASANFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strtoull.c -o noasan/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/strtoull.c $(OUTPUT_OPTION) + ./strverscmp.$(objext): $(srcdir)/strverscmp.c $(INCDIR)/ansidecl.h \ $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h if [ x"$(PICFLAG)" != x ]; then \ diff --git a/binutils-2.25/libiberty/choose-temp.c b/binutils-2.25/libiberty/choose-temp.c index 0a454cf..8e1e84b 100644 --- a/binutils-2.25/libiberty/choose-temp.c +++ b/binutils-2.25/libiberty/choose-temp.c @@ -34,7 +34,6 @@ Boston, MA 02110-1301, USA. */ #endif #include "libiberty.h" -extern char *choose_tmpdir (void); /* Name of temporary file. mktemp requires 6 trailing X's. */ diff --git a/binutils-2.25/libiberty/config.in b/binutils-2.25/libiberty/config.in index 1cf9c11..7c05b9d 100644 --- a/binutils-2.25/libiberty/config.in +++ b/binutils-2.25/libiberty/config.in @@ -79,6 +79,22 @@ don't. */ #undef HAVE_DECL_SNPRINTF +/* Define to 1 if you have the declaration of `strtol', and to 0 if you don't. + */ +#undef HAVE_DECL_STRTOL + +/* Define to 1 if you have the declaration of `strtoll', and to 0 if you + don't. */ +#undef HAVE_DECL_STRTOLL + +/* Define to 1 if you have the declaration of `strtoul', and to 0 if you + don't. */ +#undef HAVE_DECL_STRTOUL + +/* Define to 1 if you have the declaration of `strtoull', and to 0 if you + don't. */ +#undef HAVE_DECL_STRTOULL + /* Define to 1 if you have the declaration of `strverscmp', and to 0 if you don't. */ #undef HAVE_DECL_STRVERSCMP @@ -136,6 +152,9 @@ /* Define to 1 if you have the <limits.h> header file. */ #undef HAVE_LIMITS_H +/* Define if you have the `long long' type. */ +#undef HAVE_LONG_LONG + /* Define to 1 if you have the <machine/hal_sysinfo.h> header file. */ #undef HAVE_MACHINE_HAL_SYSINFO_H @@ -280,9 +299,15 @@ /* Define to 1 if you have the `strtol' function. */ #undef HAVE_STRTOL +/* Define to 1 if you have the `strtoll' function. */ +#undef HAVE_STRTOLL + /* Define to 1 if you have the `strtoul' function. */ #undef HAVE_STRTOUL +/* Define to 1 if you have the `strtoull' function. */ +#undef HAVE_STRTOULL + /* Define to 1 if you have the `strverscmp' function. */ #undef HAVE_STRVERSCMP @@ -439,6 +464,12 @@ /* The size of `int', as computed by sizeof. */ #undef SIZEOF_INT +/* The size of `long', as computed by sizeof. */ +#undef SIZEOF_LONG + +/* The size of `long long', as computed by sizeof. */ +#undef SIZEOF_LONG_LONG + /* Define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses diff --git a/binutils-2.25/libiberty/configure b/binutils-2.25/libiberty/configure index 96feaed..4a5e40a 100755 --- a/binutils-2.25/libiberty/configure +++ b/binutils-2.25/libiberty/configure @@ -5124,7 +5124,7 @@ $as_echo "#define NEED_DECLARATION_ERRNO 1" >>confdefs.h fi -# Determine the size of an int for struct fibnode. +# Determine sizes of some types. # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. @@ -5159,6 +5159,82 @@ cat >>confdefs.h <<_ACEOF _ACEOF +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if test "${ac_cv_sizeof_long+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (long) +See \`config.log' for more details." "$LINENO" 5; }; } + else + ac_cv_sizeof_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF + + + +# Check for presense of long long +ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default" +if test "x$ac_cv_type_long_long" = x""yes; then : + +$as_echo "#define HAVE_LONG_LONG 1" >>confdefs.h + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 +$as_echo_n "checking size of long long... " >&6; } +if test "${ac_cv_sizeof_long_long+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_long_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ as_fn_set_status 77 +as_fn_error "cannot compute sizeof (long long) +See \`config.log' for more details." "$LINENO" 5; }; } + else + ac_cv_sizeof_long_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 +$as_echo "$ac_cv_sizeof_long_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long +_ACEOF + + +fi + # Look for a 64-bit type. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a 64-bit type" >&5 @@ -5387,6 +5463,8 @@ funcs="$funcs strstr" funcs="$funcs strtod" funcs="$funcs strtol" funcs="$funcs strtoul" +funcs="$funcs strtoll" +funcs="$funcs strtoull" funcs="$funcs strverscmp" funcs="$funcs tmpnam" funcs="$funcs vasprintf" @@ -5423,7 +5501,7 @@ if test "x" = "y"; then sbrk setenv setproctitle setrlimit sigsetmask snprintf spawnve spawnvpe \ stpcpy stpncpy strcasecmp strchr strdup \ strerror strncasecmp strndup strnlen strrchr strsignal strstr strtod \ - strtol strtoul strverscmp sysconf sysctl sysmp \ + strtol strtoul strtoll strtoull strverscmp sysconf sysctl sysmp \ table times tmpnam \ vasprintf vfprintf vprintf vsprintf \ wait3 wait4 waitpid @@ -5499,6 +5577,46 @@ fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_VSNPRINTF $ac_have_decl _ACEOF +ac_fn_c_check_decl "$LINENO" "strtol" "ac_cv_have_decl_strtol" "$ac_includes_default" +if test "x$ac_cv_have_decl_strtol" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRTOL $ac_have_decl +_ACEOF +ac_fn_c_check_decl "$LINENO" "strtoul" "ac_cv_have_decl_strtoul" "$ac_includes_default" +if test "x$ac_cv_have_decl_strtoul" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRTOUL $ac_have_decl +_ACEOF +ac_fn_c_check_decl "$LINENO" "strtoll" "ac_cv_have_decl_strtoll" "$ac_includes_default" +if test "x$ac_cv_have_decl_strtoll" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRTOLL $ac_have_decl +_ACEOF +ac_fn_c_check_decl "$LINENO" "strtoull" "ac_cv_have_decl_strtoull" "$ac_includes_default" +if test "x$ac_cv_have_decl_strtoull" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRTOULL $ac_have_decl +_ACEOF $as_echo "#define HAVE_SYS_ERRLIST 1" >>confdefs.h diff --git a/binutils-2.25/libiberty/configure.ac b/binutils-2.25/libiberty/configure.ac index 3380819..90adaea 100644 --- a/binutils-2.25/libiberty/configure.ac +++ b/binutils-2.25/libiberty/configure.ac @@ -272,8 +272,14 @@ AC_HEADER_TIME libiberty_AC_DECLARE_ERRNO -# Determine the size of an int for struct fibnode. +# Determine sizes of some types. AC_CHECK_SIZEOF([int]) +AC_CHECK_SIZEOF([long]) + +# Check for presense of long long +AC_CHECK_TYPE([long long], + [AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have the `long long' type.]) AC_CHECK_SIZEOF([long long])], + []) # Look for a 64-bit type. AC_MSG_CHECKING([for a 64-bit type]) @@ -365,6 +371,8 @@ funcs="$funcs strstr" funcs="$funcs strtod" funcs="$funcs strtol" funcs="$funcs strtoul" +funcs="$funcs strtoll" +funcs="$funcs strtoull" funcs="$funcs strverscmp" funcs="$funcs tmpnam" funcs="$funcs vasprintf" @@ -401,11 +409,11 @@ if test "x" = "y"; then sbrk setenv setproctitle setrlimit sigsetmask snprintf spawnve spawnvpe \ stpcpy stpncpy strcasecmp strchr strdup \ strerror strncasecmp strndup strnlen strrchr strsignal strstr strtod \ - strtol strtoul strverscmp sysconf sysctl sysmp \ + strtol strtoul strtoll strtoull strverscmp sysconf sysctl sysmp \ table times tmpnam \ vasprintf vfprintf vprintf vsprintf \ wait3 wait4 waitpid) - AC_CHECK_DECLS([basename(char *), ffs, asprintf, vasprintf, snprintf, vsnprintf]) + AC_CHECK_DECLS([basename(char *), ffs, asprintf, vasprintf, snprintf, vsnprintf, strtol, strtoul, strtoll, strtoull]) AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if you have the sys_errlist variable.]) AC_DEFINE(HAVE_SYS_NERR, 1, [Define if you have the sys_nerr variable.]) AC_DEFINE(HAVE_SYS_SIGLIST, 1, [Define if you have the sys_siglist variable.]) diff --git a/binutils-2.25/libiberty/d-demangle.c b/binutils-2.25/libiberty/d-demangle.c index d31bf94..bb481c0 100644 --- a/binutils-2.25/libiberty/d-demangle.c +++ b/binutils-2.25/libiberty/d-demangle.c @@ -28,7 +28,7 @@ If not, see <http://www.gnu.org/licenses/>. */ /* This file exports one function; dlang_demangle. - This file imports strtol and strtold for decoding mangled literals. */ + This file imports strtol and strtod for decoding mangled literals. */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -44,7 +44,7 @@ If not, see <http://www.gnu.org/licenses/>. */ #include <stdlib.h> #else extern long strtol (const char *nptr, char **endptr, int base); -extern long double strtold (const char *nptr, char **endptr); +extern double strtod (const char *nptr, char **endptr); #endif #include <demangle.h> @@ -810,7 +810,7 @@ dlang_parse_real (string *decl, const char *mangled) { char buffer[64]; int len = 0; - long double value; + double value; char *endptr; /* Handle NAN and +-INF. */ @@ -877,12 +877,12 @@ dlang_parse_real (string *decl, const char *mangled) /* Convert buffer from hexadecimal to floating-point. */ buffer[len] = '\0'; - value = strtold (buffer, &endptr); + value = strtod (buffer, &endptr); if (endptr == NULL || endptr != (buffer + len)) return NULL; - len = snprintf (buffer, sizeof(buffer), "%#Lg", value); + len = snprintf (buffer, sizeof(buffer), "%#g", value); string_appendn (decl, buffer, len); return mangled; } diff --git a/binutils-2.25/libiberty/filename_cmp.c b/binutils-2.25/libiberty/filename_cmp.c index 9e16d24..150488c 100644 --- a/binutils-2.25/libiberty/filename_cmp.c +++ b/binutils-2.25/libiberty/filename_cmp.c @@ -24,8 +24,13 @@ #include <string.h> #endif +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif + #include "filenames.h" #include "safe-ctype.h" +#include "libiberty.h" /* @@ -190,3 +195,27 @@ filename_eq (const void *s1, const void *s2) /* The casts are for -Wc++-compat. */ return filename_cmp ((const char *) s1, (const char *) s2) == 0; } + +/* + +@deftypefn Extension int canonical_filename_eq (const char *@var{a}, const char *@var{b}) + +Return non-zero if file names @var{a} and @var{b} are equivalent. +This function compares the canonical versions of the filenames as returned by +@code{lrealpath()}, so that so that different file names pointing to the same +underlying file are treated as being identical. + +@end deftypefn + +*/ + +int +canonical_filename_eq (const char * a, const char * b) +{ + char * ca = lrealpath(a); + char * cb = lrealpath(b); + int res = filename_eq (ca, cb); + free (ca); + free (cb); + return res; +} diff --git a/binutils-2.25/libiberty/functions.texi b/binutils-2.25/libiberty/functions.texi index 9323ff9..9ed9ff0 100644 --- a/binutils-2.25/libiberty/functions.texi +++ b/binutils-2.25/libiberty/functions.texi @@ -125,7 +125,17 @@ Uses @code{malloc} to allocate storage for @var{nelem} objects of @end deftypefn -@c choose-temp.c:46 +@c filename_cmp.c:201 +@deftypefn Extension int canonical_filename_eq (const char *@var{a}, const char *@var{b}) + +Return non-zero if file names @var{a} and @var{b} are equivalent. +This function compares the canonical versions of the filenames as returned by +@code{lrealpath()}, so that so that different file names pointing to the same +underlying file are treated as being identical. + +@end deftypefn + +@c choose-temp.c:45 @deftypefn Extension char* choose_temp_base (void) Return a prefix for temporary file names or @code{NULL} if unable to @@ -139,7 +149,7 @@ not recommended. @end deftypefn @c make-temp-file.c:96 -@deftypefn Replacement char* choose_tmpdir () +@deftypefn Replacement const char* choose_tmpdir () Returns a pointer to a directory path suitable for creating temporary files in. @@ -160,9 +170,8 @@ number of seconds used. @dots{}, @code{NULL}) Concatenate zero or more of strings and return the result in freshly -@code{xmalloc}ed memory. Returns @code{NULL} if insufficient memory is -available. The argument list is terminated by the first @code{NULL} -pointer encountered. Pointers to empty strings are ignored. +@code{xmalloc}ed memory. The argument list is terminated by the first +@code{NULL} pointer encountered. Pointers to empty strings are ignored. @end deftypefn @@ -287,7 +296,7 @@ value 1). If @var{valu} is zero, zero is returned. @end deftypefn -@c filename_cmp.c:32 +@c filename_cmp.c:37 @deftypefn Extension int filename_cmp (const char *@var{s1}, const char *@var{s2}) Return zero if the two file names @var{s1} and @var{s2} are equivalent. @@ -304,7 +313,7 @@ and backward slashes are equal. @end deftypefn -@c filename_cmp.c:178 +@c filename_cmp.c:183 @deftypefn Extension int filename_eq (const void *@var{s1}, const void *@var{s2}) Return non-zero if file names @var{s1} and @var{s2} are equivalent. @@ -312,7 +321,7 @@ This function is for use with hashtab.c hash tables. @end deftypefn -@c filename_cmp.c:147 +@c filename_cmp.c:152 @deftypefn Extension hashval_t filename_hash (const void *@var{s}) Return the hash value for file name @var{s} that will be compared @@ -321,7 +330,7 @@ This function is for use with hashtab.c hash tables. @end deftypefn -@c filename_cmp.c:89 +@c filename_cmp.c:94 @deftypefn Extension int filename_ncmp (const char *@var{s1}, const char *@var{s2}, size_t @var{n}) Return zero if the two file names @var{s1} and @var{s2} are equivalent @@ -528,7 +537,7 @@ nineteen EBCDIC varying characters is tested; exercise caution.) @end ftable @end defvr -@c hashtab.c:336 +@c hashtab.c:328 @deftypefn Supplemental htab_t htab_create_typed_alloc (size_t @var{size}, @ htab_hash @var{hash_f}, htab_eq @var{eq_f}, htab_del @var{del_f}, @ htab_alloc @var{alloc_tab_f}, htab_alloc @var{alloc_f}, @ @@ -1163,7 +1172,7 @@ control over the state of the random number generator. @end deftypefn -@c concat.c:174 +@c concat.c:160 @deftypefn Extension char* reconcat (char *@var{optr}, const char *@var{s1}, @ @dots{}, @code{NULL}) @@ -1715,6 +1724,24 @@ that the converted value is unsigned. @end deftypefn +@c strtoll.c:33 +@deftypefn Supplemental {long long int} strtoll (const char *@var{string}, @ + char **@var{endptr}, int @var{base}) +@deftypefnx Supplemental {unsigned long long int} strtoul (@ + const char *@var{string}, char **@var{endptr}, int @var{base}) + +The @code{strtoll} function converts the string in @var{string} to a +long long integer value according to the given @var{base}, which must be +between 2 and 36 inclusive, or be the special value 0. If @var{base} +is 0, @code{strtoll} will look for the prefixes @code{0} and @code{0x} +to indicate bases 8 and 16, respectively, else default to base 10. +When the base is 16 (either explicitly or implicitly), a prefix of +@code{0x} is allowed. The handling of @var{endptr} is as that of +@code{strtod} above. The @code{strtoull} function is the same, except +that the converted value is unsigned. + +@end deftypefn + @c strsignal.c:502 @deftypefn Extension int strtosigno (const char *@var{name}) diff --git a/binutils-2.25/libiberty/make-temp-file.c b/binutils-2.25/libiberty/make-temp-file.c index 7b74f81..244cc23 100644 --- a/binutils-2.25/libiberty/make-temp-file.c +++ b/binutils-2.25/libiberty/make-temp-file.c @@ -93,7 +93,7 @@ static char *memoized_tmpdir; /* -@deftypefn Replacement char* choose_tmpdir () +@deftypefn Replacement const char* choose_tmpdir () Returns a pointer to a directory path suitable for creating temporary files in. @@ -102,7 +102,7 @@ files in. */ -char * +const char * choose_tmpdir (void) { if (!memoized_tmpdir) diff --git a/binutils-2.25/libiberty/sigsetmask.c b/binutils-2.25/libiberty/sigsetmask.c index 3b708b1..f7a2424 100644 --- a/binutils-2.25/libiberty/sigsetmask.c +++ b/binutils-2.25/libiberty/sigsetmask.c @@ -15,7 +15,6 @@ be the value @code{1}). */ -#define _POSIX_SOURCE #include <ansidecl.h> /* Including <sys/types.h> seems to be needed by ISC. */ #include <sys/types.h> diff --git a/binutils-2.25/libiberty/strtoll.c b/binutils-2.25/libiberty/strtoll.c new file mode 100644 index 0000000..37ff8cd --- /dev/null +++ b/binutils-2.25/libiberty/strtoll.c @@ -0,0 +1,175 @@ +/*- + * Copyright (c) 2014 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. [rescinded 22 July 1999] + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + +@deftypefn Supplemental {long long int} strtoll (const char *@var{string}, @ + char **@var{endptr}, int @var{base}) +@deftypefnx Supplemental {unsigned long long int} strtoul (@ + const char *@var{string}, char **@var{endptr}, int @var{base}) + +The @code{strtoll} function converts the string in @var{string} to a +long long integer value according to the given @var{base}, which must be +between 2 and 36 inclusive, or be the special value 0. If @var{base} +is 0, @code{strtoll} will look for the prefixes @code{0} and @code{0x} +to indicate bases 8 and 16, respectively, else default to base 10. +When the base is 16 (either explicitly or implicitly), a prefix of +@code{0x} is allowed. The handling of @var{endptr} is as that of +@code{strtod} above. The @code{strtoull} function is the same, except +that the converted value is unsigned. + +@end deftypefn + +*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#ifdef HAVE_LIMITS_H +#include <limits.h> +#endif +#ifdef HAVE_SYS_PARAM_H +#include <sys/param.h> +#endif +#include <errno.h> +#ifdef NEED_DECLARATION_ERRNO +extern int errno; +#endif +#include "safe-ctype.h" + +#ifdef HAVE_LONG_LONG + +__extension__ +typedef unsigned long long ullong_type; + +__extension__ +typedef long long llong_type; + +/* FIXME: It'd be nice to configure around these, but the include files are too + painful. These macros should at least be more portable than hardwired hex + constants. */ + +#ifndef ULLONG_MAX +#define ULLONG_MAX (~(ullong_type)0) /* 0xFFFFFFFFFFFFFFFF */ +#endif + +#ifndef LLONG_MAX +#define LLONG_MAX ((llong_type)(ULLONG_MAX >> 1)) /* 0x7FFFFFFFFFFFFFFF */ +#endif + +#ifndef LLONG_MIN +#define LLONG_MIN (~LLONG_MAX) /* 0x8000000000000000 */ +#endif + +/* + * Convert a string to a long long integer. + * + * Ignores `locale' stuff. Assumes that the upper and lower case + * alphabets and digits are each contiguous. + */ +llong_type +strtoll(const char *nptr, char **endptr, register int base) +{ + register const char *s = nptr; + register ullong_type acc; + register int c; + register ullong_type cutoff; + register int neg = 0, any, cutlim; + + /* + * Skip white space and pick up leading +/- sign if any. + * If base is 0, allow 0x for hex and 0 for octal, else + * assume decimal; if base is already 16, allow 0x. + */ + do { + c = *s++; + } while (ISSPACE(c)); + if (c == '-') { + neg = 1; + c = *s++; + } else if (c == '+') + c = *s++; + if ((base == 0 || base == 16) && + c == '0' && (*s == 'x' || *s == 'X')) { + c = s[1]; + s += 2; + base = 16; + } + if (base == 0) + base = c == '0' ? 8 : 10; + + /* + * Compute the cutoff value between legal numbers and illegal + * numbers. That is the largest legal value, divided by the + * base. An input number that is greater than this value, if + * followed by a legal input character, is too big. One that + * is equal to this value may be valid or not; the limit + * between valid and invalid numbers is then based on the last + * digit. For instance, if the range for longs is + * [-2147483648..2147483647] and the input base is 10, + * cutoff will be set to 214748364 and cutlim to either + * 7 (neg==0) or 8 (neg==1), meaning that if we have accumulated + * a value > 214748364, or equal but the next digit is > 7 (or 8), + * the number is too big, and we will return a range error. + * + * Set any if any `digits' consumed; make it negative to indicate + * overflow. + */ + cutoff = neg ? -(ullong_type)LLONG_MIN : LLONG_MAX; + cutlim = cutoff % (ullong_type)base; + cutoff /= (ullong_type)base; + for (acc = 0, any = 0;; c = *s++) { + if (ISDIGIT(c)) + c -= '0'; + else if (ISALPHA(c)) + c -= ISUPPER(c) ? 'A' - 10 : 'a' - 10; + else + break; + if (c >= base) + break; + if (any < 0 || acc > cutoff || (acc == cutoff && c > cutlim)) + any = -1; + else { + any = 1; + acc *= base; + acc += c; + } + } + if (any < 0) { + acc = neg ? LLONG_MIN : LLONG_MAX; + errno = ERANGE; + } else if (neg) + acc = -acc; + if (endptr != 0) + *endptr = (char *) (any ? s - 1 : nptr); + return (acc); +} + +#endif /* ifdef HAVE_LONG_LONG */ diff --git a/binutils-2.25/libiberty/strtoull.c b/binutils-2.25/libiberty/strtoull.c new file mode 100644 index 0000000..2f580fb --- /dev/null +++ b/binutils-2.25/libiberty/strtoull.c @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2014 Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. [rescinded 22 July 1999] + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#ifdef HAVE_LIMITS_H +#include <limits.h> +#endif +#ifdef HAVE_SYS_PARAM_H +#include <sys/param.h> +#endif +#include <errno.h> +#ifdef NEED_DECLARATION_ERRNO +extern int errno; +#endif +#if 0 +#include <stdlib.h> +#endif +#include "ansidecl.h" +#include "safe-ctype.h" + +#ifdef HAVE_LONG_LONG + +__extension__ +typedef unsigned long long ullong_type; + +#ifndef ULLONG_MAX +#define ULLONG_MAX (~(ullong_type)0) /* 0xFFFFFFFFFFFFFFFF */ +#endif + +/* + * Convert a string to an unsigned long long integer. + * + * Ignores `locale' stuff. Assumes that the upper and lower case + * alphabets and digits are each contiguous. + */ +ullong_type +strtoull(const char *nptr, char **endptr, register int base) +{ + register const char *s = nptr; + register ullong_type acc; + register int c; + register ullong_type cutoff; + register int neg = 0, any, cutlim; + + /* + * See strtol for comments as to the logic used. + */ + do { + c = *s++; + } while (ISSPACE(c)); + if (c == '-') { + neg = 1; + c = *s++; + } else if (c == '+') + c = *s++; + if ((base == 0 || base == 16) && + c == '0' && (*s == 'x' || *s == 'X')) { + c = s[1]; + s += 2; + base = 16; + } + if (base == 0) + base = c == '0' ? 8 : 10; + cutoff = (ullong_type)ULLONG_MAX / (ullong_type)base; + cutlim = (ullong_type)ULLONG_MAX % (ullong_type)base; + for (acc = 0, any = 0;; c = *s++) { + if (ISDIGIT(c)) + c -= '0'; + else if (ISALPHA(c)) + c -= ISUPPER(c) ? 'A' - 10 : 'a' - 10; + else + break; + if (c >= base) + break; + if (any < 0 || acc > cutoff || (acc == cutoff && c > cutlim)) + any = -1; + else { + any = 1; + acc *= base; + acc += c; + } + } + if (any < 0) { + acc = ULLONG_MAX; + errno = ERANGE; + } else if (neg) + acc = -acc; + if (endptr != 0) + *endptr = (char *) (any ? s - 1 : nptr); + return (acc); +} + +#endif /* ifdef HAVE_LONG_LONG */ diff --git a/binutils-2.25/libiberty/testsuite/Makefile.in b/binutils-2.25/libiberty/testsuite/Makefile.in index bb2db67..4324a8f 100644 --- a/binutils-2.25/libiberty/testsuite/Makefile.in +++ b/binutils-2.25/libiberty/testsuite/Makefile.in @@ -45,7 +45,8 @@ all: # CHECK is set to "really_check" or the empty string by configure. check: @CHECK@ -really-check: check-cplus-dem check-d-demangle check-pexecute check-expandargv +really-check: check-cplus-dem check-d-demangle check-pexecute check-expandargv \ + check-strtol # Run some tests of the demangler. check-cplus-dem: test-demangle $(srcdir)/demangle-expected @@ -62,6 +63,10 @@ check-pexecute: test-pexecute check-expandargv: test-expandargv ./test-expandargv +# Check the strtol functionality +check-strtol: test-strtol + ./test-strtol + # Run the demangler fuzzer fuzz-demangler: demangler-fuzzer ./demangler-fuzzer @@ -79,6 +84,10 @@ test-expandargv: $(srcdir)/test-expandargv.c ../libiberty.a $(TEST_COMPILE) -DHAVE_CONFIG_H -I.. -o test-expandargv \ $(srcdir)/test-expandargv.c ../libiberty.a +test-strtol: $(srcdir)/test-strtol.c ../libiberty.a + $(TEST_COMPILE) -DHAVE_CONFIG_H -I.. -o test-strtol \ + $(srcdir)/test-strtol.c ../libiberty.a + demangler-fuzzer: $(srcdir)/demangler-fuzzer.c ../libiberty.a $(TEST_COMPILE) -o demangler-fuzzer \ $(srcdir)/demangler-fuzzer.c ../libiberty.a @@ -92,6 +101,7 @@ mostlyclean: rm -f test-demangle rm -f test-pexecute rm -f test-expandargv + rm -f test-strtol rm -f demangler-fuzzer rm -f core clean: mostlyclean diff --git a/binutils-2.25/libiberty/testsuite/test-strtol.c b/binutils-2.25/libiberty/testsuite/test-strtol.c new file mode 100644 index 0000000..6faf81b --- /dev/null +++ b/binutils-2.25/libiberty/testsuite/test-strtol.c @@ -0,0 +1,185 @@ +/* Test program for strtol family of funtions, + Copyright (C) 2014 Free Software Foundation, Inc. + Written by Yury Gribov <y.gribov@samsung.com> + + This file is part of the libiberty library, which is part of GCC. + + This file is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + In addition to the permissions in the GNU General Public License, the + Free Software Foundation gives you unlimited permission to link the + compiled version of this file into combinations with other programs, + and to distribute those combinations without any restriction coming + from the use of this file. (The General Public License restrictions + do apply in other respects; for example, they cover modification of + the file, and distribution when not linked into a combined + executable.) + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include "libiberty.h" +#include <stdio.h> +#include <errno.h> +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif +#ifdef HAVE_STRING_H +#include <string.h> +#endif +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif + +#ifndef EXIT_SUCCESS +#define EXIT_SUCCESS 0 +#endif + +#ifndef EXIT_FAILURE +#define EXIT_FAILURE 1 +#endif + + +/* Test input data. */ + +enum conversion_fun +{ + STRTOL, + STRTOLL, + STRTOUL, + STRTOULL, +}; + +#ifdef HAVE_LONG_LONG +typedef unsigned long long integer_type; +#else +typedef unsigned long integer_type; +#endif + +struct test_data_t +{ + enum conversion_fun fun; + const char *nptr; + int base; + integer_type res; + int errnum; +}; + +const struct test_data_t test_data[] = { + { STRTOL, "0x123", 0, 0x123L, 0 }, + { STRTOL, "123", 0, 123L, 0 }, + { STRTOL, "0123", 0, 0123L, 0 }, + { STRTOL, "0x7FFFFFFF", 0, 0x7fffffffL, 0 }, + { STRTOL, "-0x80000000", 0, -0x80000000L, 0 }, + { STRTOUL, "0x123", 0, 0x123UL, 0 }, + { STRTOUL, "123", 0, 123UL, 0 }, + { STRTOUL, "0123", 0, 0123UL, 0 }, + { STRTOUL, "0xFFFFFFFF", 0, 0xffffffffUL, 0 }, +#if SIZEOF_LONG == 4 + { STRTOL, "0x80000000", 0, 0x7fffffffL, ERANGE }, + { STRTOL, "-0x80000001", 0, -0x80000000L, ERANGE }, + { STRTOUL, "0x100000000", 0, 0xffffffffUL, ERANGE }, +#endif +#ifdef HAVE_LONG_LONG + { STRTOLL, "0x123", 0, 0x123LL, 0 }, + { STRTOLL, "123", 0, 123LL, 0 }, + { STRTOLL, "0123", 0, 0123LL, 0 }, + { STRTOLL, "0x7FFFFFFFFFFFFFFF", 0, 0x7fffffffffffffffLL, 0 }, + { STRTOLL, "-0x8000000000000000", 0, -0x8000000000000000LL, 0 }, + { STRTOULL, "0x123", 0, 0x123ULL, 0 }, + { STRTOULL, "123", 0, 123ULL, 0 }, + { STRTOULL, "0123", 0, 0123ULL, 0 }, + { STRTOULL, "0xFFFFFFFFFFFFFFFF", 0, 0xffffffffffffffffULL, 0 }, +#if SIZEOF_LONG_LONG == 8 + { STRTOLL, "0x8000000000000000", 0, 0x7fffffffffffffffLL, ERANGE }, + { STRTOLL, "-0x8000000000000001", 0, -0x8000000000000000LL, ERANGE }, + { STRTOULL, "0x10000000000000000", 0, 0xffffffffffffffffULL, ERANGE }, +#endif +#endif +}; + +/* run_tests: + Run conversion function + Compare results + Return number of fails */ + +int +run_tests (const struct test_data_t *test_data, size_t ntests) +{ + int fails = 0, failed; + size_t i; + + for (i = 0; i < ntests; ++i) + { + integer_type res; + int saved_errno; + + errno = 0; + + switch (test_data[i].fun) + { + case STRTOL: + res = (unsigned long) strtol (test_data[i].nptr, + 0, test_data[i].base); + break; + case STRTOUL: + res = strtoul (test_data[i].nptr, 0, test_data[i].base); + break; +#ifdef HAVE_LONG_LONG + case STRTOLL: + res = strtoll (test_data[i].nptr, 0, test_data[i].base); + break; + case STRTOULL: + res = strtoull (test_data[i].nptr, 0, test_data[i].base); + break; +#endif + } + + saved_errno = errno; + + failed = 0; + + /* Compare result */ + if (res != test_data[i].res) + { + printf ("FAIL: test-strtol-%zd. Results don't match.\n", i); + failed++; + } + + /* Compare errno */ + if (saved_errno != test_data[i].errnum) + { + printf ("FAIL: test-strtol-%zd. Errnos don't match.\n", i); + failed++; + } + + if (!failed) + printf ("PASS: test-strtol-%zd.\n", i); + else + fails++; + } + + return fails; +} + +int +main(int argc, char **argv) +{ + int fails; + fails = run_tests (test_data, sizeof (test_data) / sizeof (test_data[0])); + exit (fails ? EXIT_FAILURE : EXIT_SUCCESS); +} + diff --git a/binutils-2.25/missing b/binutils-2.25/missing index 28055d2..f62bbae 100755 --- a/binutils-2.25/missing +++ b/binutils-2.25/missing @@ -1,11 +1,10 @@ #! /bin/sh -# Common stub for a few missing GNU programs while installing. +# Common wrapper for a few potentially missing GNU programs. -scriptversion=2009-04-28.21; # UTC +scriptversion=2013-10-28.13; # UTC -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,69 +25,40 @@ scriptversion=2009-04-28.21; # UTC # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "Try '$0 --help' for more information" exit 1 fi -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi +case $1 in -msg="missing on your system" + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - autom4te touch the output file, or create a stub one - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. Send bug reports to <bug-automake@gnu.org>." exit $? @@ -100,272 +70,141 @@ Send bug reports to <bug-automake@gnu.org>." ;; -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "$0: unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. -case $1 in - lex*|yacc*) - # Not GNU programs, they don't have --version. - ;; - - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $program in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te*) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison*|yacc*) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex*|flex*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - fi - ;; - - makeinfo*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - tar*) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac +# Run the given program, remember its exit status. +"$@"; st=$? + +# If it succeeded, we are done. +test $st -eq 0 && exit 0 + +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi -exit 0 +perl_URL=http://www.perl.org/ +flex_URL=http://flex.sourceforge.net/ +gnu_software_URL=http://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'autom4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" + ;; + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) diff --git a/binutils-2.25/mkinstalldirs b/binutils-2.25/mkinstalldirs index 4191a45..55d537f 100755 --- a/binutils-2.25/mkinstalldirs +++ b/binutils-2.25/mkinstalldirs @@ -81,9 +81,9 @@ case $dirmode in echo "mkdir -p -- $*" exec mkdir -p -- "$@" else - # On NextStep and OpenStep, the `mkdir' command does not + # On NextStep and OpenStep, the 'mkdir' command does not # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already + # directories to create, and then abort because '.' already # exists. test -d ./-p && rmdir ./-p test -d ./--version && rmdir ./--version diff --git a/binutils-2.25/move-if-change b/binutils-2.25/move-if-change index e7ba25e..88d9574 100755 --- a/binutils-2.25/move-if-change +++ b/binutils-2.25/move-if-change @@ -2,13 +2,13 @@ # Like mv $1 $2, but if the files are the same, just delete $1. # Status is zero if successful, nonzero otherwise. -VERSION='2011-01-28 20:09'; # UTC +VERSION='2012-01-06 07:23'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook # do its job. Otherwise, update this string manually. -# Copyright (C) 2002-2007, 2009-2011 Free Software Foundation, Inc. +# Copyright (C) 2002-2014 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -32,7 +32,7 @@ If SOURCE is different than DEST, then move it to DEST; else remove SOURCE. --help display this help and exit --version output version information and exit -The variable CMPPROG can be used to specify an alternative to \`cmp'. +The variable CMPPROG can be used to specify an alternative to 'cmp'. Report bugs to <bug-gnulib@gnu.org>." diff --git a/binutils-2.25/opcodes/.gitignore b/binutils-2.25/opcodes/.gitignore new file mode 100644 index 0000000..94ece5d --- /dev/null +++ b/binutils-2.25/opcodes/.gitignore @@ -0,0 +1,2 @@ +/s390-mkopc +/s390-opc.tab diff --git a/binutils-2.25/opcodes/ChangeLog b/binutils-2.25/opcodes/ChangeLog index d4a7408..4524b57 100644 --- a/binutils-2.25/opcodes/ChangeLog +++ b/binutils-2.25/opcodes/ChangeLog @@ -1,3 +1,15 @@ +2015-05-07 Renlin Li <renlin.li@arm.com> + + Applied from master. + 2015-03-10 Renlin Li <renlin.li@arm.com> + + * aarch64-tbl.h (aarch64_opcode_table): Remove strub, ldurb, ldursb, + stur, ldur, sturh, ldurh, ldursh, ldursw, prfum F_HAS_ALIAS flag and + related alias. + * aarch64-asm-2.c: Regenerate. + * aarch64-dis-2.c: Likewise. + * aarch64-opc-2.c: Likewise. + 2014-11-17 Ilya Tocar <ilya.tocar@intel.com> * i386-dis-evex.c (evex_table): Add vpermi2b, vpermt2b, vpermb, @@ -49,20 +61,67 @@ * i386-init.h: Regenerated. * i386-tbl.h: Likewise. +2014-11-06 Sandra Loosemore <sandra@codesourcery.com> + + * nios2-dis.c (nios2_find_opcode_hash): Add mach parameter. + (nios2_disassemble): Adjust call to nios2_find_opcode_hash. + 2014-11-03 Nick Clifton <nickc@redhat.com> * po/fi.po: Updated Finnish translation. +2014-10-31 Andrew Pinski <apinski@cavium.com> + Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> + + * mips-dis.c (mips_arch_choices): Add octeon3. + * mips-opc.c (IOCT): Include INSN_OCTEON3. + (IOCT2): Likewise. + (IOCT3): New define. + (IVIRT): New define. + (mips_builtin_opcodes): Add dmfgc0, dmtgc0, hypcall, mfgc0, mtgc0, + tlbinv, tlbinvf, tlbgr, tlbgwi, tlbginv, tlbginvf, tlbgwr, tlbgp, tlti + IVIRT instructions. + Extend mtm0, mtm1, mtm2, mtp0, mtp1, mtp2 instructions to take another + operand for IOCT3. + 2014-10-29 Nick Clifton <nickc@redhat.com> * po/de.po: Updated German translation. -2014-10-28 Alan Modra <amodra@gmail.com> +2014-10-23 Sandra Loosemore <sandra@codesourcery.com> + + * nios2-opc.c (nios2_builtin_regs): Add regtype field initializers. + (nios2_builtin_opcodes): Rename to nios2_r1_opcodes. Use new + MATCH_R1_<insn> and MASK_R1_<insn> macros in initializers. Add + size and format initializers. Merge 'b' arguments into 'j'. + (NIOS2_NUM_OPCODES): Adjust definition. + (bfd_nios2_num_builtin_opcodes): Rename to nios2_num_r1_opcodes. + (nios2_opcodes): Adjust. + (bfd_nios2_num_opcodes): Rename to nios2_num_opcodes. + * nios2-dis.c (INSNLEN): Update comment. + (nios2_hash_init, nios2_hash): Delete. + (OPCODE_HASH_SIZE): New. + (nios2_r1_extract_opcode): New. + (nios2_disassembler_state): New. + (nios2_r1_disassembler_state): New. + (nios2_init_opcode_hash): Add state parameter. Adjust to use it. + (nios2_find_opcode_hash): Use state object. + (bad_opcode): New. + (nios2_print_insn_arg): Add op parameter. Use it to access + format. Remove 'b' case. + (nios2_disassemble): Remove special case for nop. Remove + hard-coded instruction size. + +2014-10-21 Jan Beulich <jbeulich@suse.com> - Apply trunk patches - 2014-10-21 Jan Beulich <jbeulich@suse.com> * ppc-opc.c (powerpc_opcodes): Enable msgclr and msgsnd on Power8. +2014-10-17 Jose E. Marchesi <jose.marchesi@oracle.com> + + * sparc-opc.c (sparc-opcodes): Fix several misplaced hwcap + entries. + Annotate several instructions with the HWCAP2_VIS3B hwcap. + 2014-10-15 Tristan Gingold <gingold@adacore.com> * configure: Regenerate. diff --git a/binutils-2.25/opcodes/Makefile.in b/binutils-2.25/opcodes/Makefile.in index 46ef017..40629fc 100644 --- a/binutils-2.25/opcodes/Makefile.in +++ b/binutils-2.25/opcodes/Makefile.in @@ -16,7 +16,7 @@ @SET_MAKE@ # -# Copyright (C) 2012-2014 Free Software Foundation, Inc. +# Copyright (C) 2012-2015 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/opcodes/configure b/binutils-2.25/opcodes/configure index 2fd1948..556e7a5 100755 --- a/binutils-2.25/opcodes/configure +++ b/binutils-2.25/opcodes/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for opcodes 2.24.90. +# Generated by GNU Autoconf 2.64 for opcodes 2.25.51. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software @@ -556,8 +556,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='opcodes' PACKAGE_TARNAME='opcodes' -PACKAGE_VERSION='2.24.90' -PACKAGE_STRING='opcodes 2.24.90' +PACKAGE_VERSION='2.25.51' +PACKAGE_STRING='opcodes 2.25.51' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1319,7 +1319,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures opcodes 2.24.90 to adapt to many kinds of systems. +\`configure' configures opcodes 2.25.51 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1390,7 +1390,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of opcodes 2.24.90:";; + short | recursive ) echo "Configuration of opcodes 2.25.51:";; esac cat <<\_ACEOF @@ -1497,7 +1497,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -opcodes configure 2.24.90 +opcodes configure 2.25.51 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -1907,7 +1907,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by opcodes $as_me 2.24.90, which was +It was created by opcodes $as_me 2.25.51, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -3715,7 +3715,7 @@ fi # Define the identity of the package. PACKAGE='opcodes' - VERSION='2.24.90' + VERSION='2.25.51' cat >>confdefs.h <<_ACEOF @@ -13209,7 +13209,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by opcodes $as_me 2.24.90, which was +This file was extended by opcodes $as_me 2.25.51, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13273,7 +13273,7 @@ Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -opcodes config.status 2.24.90 +opcodes config.status 2.25.51 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/binutils-2.25/opcodes/mips-dis.c b/binutils-2.25/opcodes/mips-dis.c index 426d06f..b6b68e3 100644 --- a/binutils-2.25/opcodes/mips-dis.c +++ b/binutils-2.25/opcodes/mips-dis.c @@ -658,6 +658,11 @@ const struct mips_arch_choice mips_arch_choices[] = ISA_MIPS64R2 | INSN_OCTEON2, 0, mips_cp0_names_numeric, NULL, 0, mips_cp1_names_mips3264, mips_hwr_names_numeric }, + { "octeon3", 1, bfd_mach_mips_octeon3, CPU_OCTEON3, + ISA_MIPS64R5 | INSN_OCTEON3, ASE_VIRT | ASE_VIRT64, + mips_cp0_names_numeric, + NULL, 0, mips_cp1_names_mips3264, mips_hwr_names_numeric }, + { "xlr", 1, bfd_mach_mips_xlr, CPU_XLR, ISA_MIPS64 | INSN_XLR, 0, mips_cp0_names_xlr, diff --git a/binutils-2.25/opcodes/mips-opc.c b/binutils-2.25/opcodes/mips-opc.c index 8875f9b..88760e7 100644 --- a/binutils-2.25/opcodes/mips-opc.c +++ b/binutils-2.25/opcodes/mips-opc.c @@ -370,9 +370,10 @@ decode_mips_operand (const char *p) #define N5 (INSN_5400 | INSN_5500) #define N54 INSN_5400 #define N55 INSN_5500 -#define IOCT (INSN_OCTEON | INSN_OCTEONP | INSN_OCTEON2) -#define IOCTP (INSN_OCTEONP | INSN_OCTEON2) -#define IOCT2 INSN_OCTEON2 +#define IOCT (INSN_OCTEON | INSN_OCTEONP | INSN_OCTEON2 | INSN_OCTEON3) +#define IOCTP (INSN_OCTEONP | INSN_OCTEON2 | INSN_OCTEON3) +#define IOCT2 (INSN_OCTEON2 | INSN_OCTEON3) +#define IOCT3 INSN_OCTEON3 #define XLR INSN_XLR #define IVIRT ASE_VIRT #define IVIRT64 ASE_VIRT64 @@ -1562,11 +1563,17 @@ const struct mips_opcode mips_builtin_opcodes[] = {"mtlhx", "s", 0x00000053, 0xfc1fffff, RD_1|MOD_HILO, 0, 0, SMT, 0 }, {"mtcr", "t,s", 0x70000019, 0xfc00ffff, RD_1|RD_2, 0, XLR, 0, 0 }, {"mtm0", "s", 0x70000008, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, +{"mtm0", "s,t", 0x70000008, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 }, {"mtm1", "s", 0x7000000c, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, +{"mtm1", "s,t", 0x7000000c, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 }, {"mtm2", "s", 0x7000000d, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, +{"mtm2", "s,t", 0x7000000d, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 }, {"mtp0", "s", 0x70000009, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, +{"mtp0", "s,t", 0x70000009, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 }, {"mtp1", "s", 0x7000000a, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, +{"mtp1", "s,t", 0x7000000a, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 }, {"mtp2", "s", 0x7000000b, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 }, +{"mtp2", "s,t", 0x7000000b, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 }, {"mtsa", "s", 0x00000029, 0xfc1fffff, RD_1, 0, EE, 0, 0 }, {"mtsab", "s,j", 0x04180000, 0xfc1f0000, RD_1, 0, EE, 0, 0 }, {"mtsah", "s,j", 0x04190000, 0xfc1f0000, RD_1, 0, EE, 0, 0 }, diff --git a/binutils-2.25/opcodes/nios2-dis.c b/binutils-2.25/opcodes/nios2-dis.c index b5c680f..7243fa9 100644 --- a/binutils-2.25/opcodes/nios2-dis.c +++ b/binutils-2.25/opcodes/nios2-dis.c @@ -35,7 +35,7 @@ #include "elf/nios2.h" #endif -/* Length of Nios II instruction in bytes. */ +/* Default length of Nios II instruction in bytes. */ #define INSNLEN 4 /* Data structures used by the opcode hash table. */ @@ -45,36 +45,66 @@ typedef struct _nios2_opcode_hash struct _nios2_opcode_hash *next; } nios2_opcode_hash; -static bfd_boolean nios2_hash_init = 0; -static nios2_opcode_hash *nios2_hash[(OP_MASK_OP) + 1]; +/* Hash table size. */ +#define OPCODE_HASH_SIZE (IW_R1_OP_UNSHIFTED_MASK + 1) -/* Separate hash table for pseudo-ops. */ -static nios2_opcode_hash *nios2_ps_hash[(OP_MASK_OP) + 1]; +/* Extract the opcode from an instruction word. */ +static unsigned int +nios2_r1_extract_opcode (unsigned int x) +{ + return GET_IW_R1_OP (x); +} + +/* Pseudo-ops are stored in a different table than regular instructions. */ + +typedef struct _nios2_disassembler_state +{ + const struct nios2_opcode *opcodes; + const int *num_opcodes; + unsigned int (*extract_opcode) (unsigned int); + nios2_opcode_hash *hash[OPCODE_HASH_SIZE]; + nios2_opcode_hash *ps_hash[OPCODE_HASH_SIZE]; + const struct nios2_opcode *nop; + bfd_boolean init; +} nios2_disassembler_state; + +static nios2_disassembler_state +nios2_r1_disassembler_state = { + nios2_r1_opcodes, + &nios2_num_r1_opcodes, + nios2_r1_extract_opcode, + {}, + {}, + NULL, + 0 +}; /* Function to initialize the opcode hash table. */ static void -nios2_init_opcode_hash (void) +nios2_init_opcode_hash (nios2_disassembler_state *state) { unsigned int i; register const struct nios2_opcode *op; - for (i = 0; i <= OP_MASK_OP; ++i) - nios2_hash[0] = NULL; - for (i = 0; i <= OP_MASK_OP; i++) - for (op = nios2_opcodes; op < &nios2_opcodes[NUMOPCODES]; op++) + for (i = 0; i < OPCODE_HASH_SIZE; i++) + for (op = state->opcodes; op < &state->opcodes[*(state->num_opcodes)]; op++) { nios2_opcode_hash *new_hash; nios2_opcode_hash **bucket = NULL; if ((op->pinfo & NIOS2_INSN_MACRO) == NIOS2_INSN_MACRO) { - if (i == ((op->match >> OP_SH_OP) & OP_MASK_OP) + if (i == state->extract_opcode (op->match) && (op->pinfo & (NIOS2_INSN_MACRO_MOV | NIOS2_INSN_MACRO_MOVI) & 0x7fffffff)) - bucket = &(nios2_ps_hash[i]); + { + bucket = &(state->ps_hash[i]); + if (strcmp (op->name, "nop") == 0) + state->nop = op; + } } - else if (i == ((op->match >> OP_SH_OP) & OP_MASK_OP)) - bucket = &(nios2_hash[i]); + else if (i == state->extract_opcode (op->match)) + bucket = &(state->hash[i]); if (bucket) { @@ -93,11 +123,12 @@ nios2_init_opcode_hash (void) *bucket = new_hash; } } - nios2_hash_init = 1; + state->init = 1; + #ifdef DEBUG_HASHTABLE - for (i = 0; i <= OP_MASK_OP; ++i) + for (i = 0; i < OPCODE_HASH_SIZE; ++i) { - nios2_opcode_hash *tmp_hash = nios2_hash[i]; + nios2_opcode_hash *tmp_hash = state->hash[i]; printf ("index: 0x%02X ops: ", i); while (tmp_hash != NULL) { @@ -107,9 +138,9 @@ nios2_init_opcode_hash (void) printf ("\n"); } - for (i = 0; i <= OP_MASK_OP; ++i) + for (i = 0; i < OPCODE_HASH_SIZE; ++i) { - nios2_opcode_hash *tmp_hash = nios2_ps_hash[i]; + nios2_opcode_hash *tmp_hash = state->ps_hash[i]; printf ("index: 0x%02X ops: ", i); while (tmp_hash != NULL) { @@ -122,24 +153,33 @@ nios2_init_opcode_hash (void) } /* Return a pointer to an nios2_opcode struct for a given instruction - opcode, or NULL if there is an error. */ + word OPCODE for bfd machine MACH, or NULL if there is an error. */ const struct nios2_opcode * -nios2_find_opcode_hash (unsigned long opcode) +nios2_find_opcode_hash (unsigned long opcode, + unsigned long mach ATTRIBUTE_UNUSED) { nios2_opcode_hash *entry; + nios2_disassembler_state *state; + + state = &nios2_r1_disassembler_state; /* Build a hash table to shorten the search time. */ - if (!nios2_hash_init) - nios2_init_opcode_hash (); + if (!state->init) + nios2_init_opcode_hash (state); + + /* Check for NOP first. Both NOP and MOV are macros that expand into + an ADD instruction, and we always want to give priority to NOP. */ + if (state->nop->match == (opcode & state->nop->mask)) + return state->nop; /* First look in the pseudo-op hashtable. */ - for (entry = nios2_ps_hash[(opcode >> OP_SH_OP) & OP_MASK_OP]; + for (entry = state->ps_hash[state->extract_opcode (opcode)]; entry; entry = entry->next) if (entry->opcode->match == (opcode & entry->opcode->mask)) return entry->opcode; /* Otherwise look in the main hashtable. */ - for (entry = nios2_hash[(opcode >> OP_SH_OP) & OP_MASK_OP]; + for (entry = state->hash[state->extract_opcode (opcode)]; entry; entry = entry->next) if (entry->opcode->match == (opcode & entry->opcode->mask)) return entry->opcode; @@ -191,13 +231,23 @@ nios2_control_regs (void) return cached; } +/* Helper routine to report internal errors. */ +static void +bad_opcode (const struct nios2_opcode *op) +{ + fprintf (stderr, "Internal error: broken opcode descriptor for `%s %s'\n", + op->name, op->args); + abort (); +} + /* The function nios2_print_insn_arg uses the character pointed to by ARGPTR to determine how it print the next token or separator character in the arguments to an instruction. */ static int nios2_print_insn_arg (const char *argptr, unsigned long opcode, bfd_vma address, - disassemble_info *info) + disassemble_info *info, + const struct nios2_opcode *op) { unsigned long i = 0; struct nios2_reg *reg_base; @@ -209,98 +259,180 @@ nios2_print_insn_arg (const char *argptr, case ')': (*info->fprintf_func) (info->stream, "%c", *argptr); break; - case 'd': - i = GET_INSN_FIELD (RRD, opcode); - - if (GET_INSN_FIELD (OP, opcode) == OP_MATCH_CUSTOM - && GET_INSN_FIELD (CUSTOM_C, opcode) == 0) - reg_base = nios2_coprocessor_regs (); - else - reg_base = nios2_regs; + case 'd': + switch (op->format) + { + case iw_r_type: + i = GET_IW_R_C (opcode); + reg_base = nios2_regs; + break; + case iw_custom_type: + i = GET_IW_CUSTOM_C (opcode); + if (GET_IW_CUSTOM_READC (opcode) == 0) + reg_base = nios2_coprocessor_regs (); + else + reg_base = nios2_regs; + break; + default: + bad_opcode (op); + } if (i < NUMREGNAMES) (*info->fprintf_func) (info->stream, "%s", reg_base[i].name); else (*info->fprintf_func) (info->stream, "unknown"); break; - case 's': - i = GET_INSN_FIELD (RRS, opcode); - - if (GET_INSN_FIELD (OP, opcode) == OP_MATCH_CUSTOM - && GET_INSN_FIELD (CUSTOM_A, opcode) == 0) - reg_base = nios2_coprocessor_regs (); - else - reg_base = nios2_regs; + case 's': + switch (op->format) + { + case iw_r_type: + i = GET_IW_R_A (opcode); + reg_base = nios2_regs; + break; + case iw_i_type: + i = GET_IW_I_A (opcode); + reg_base = nios2_regs; + break; + case iw_custom_type: + i = GET_IW_CUSTOM_A (opcode); + if (GET_IW_CUSTOM_READA (opcode) == 0) + reg_base = nios2_coprocessor_regs (); + else + reg_base = nios2_regs; + break; + default: + bad_opcode (op); + } if (i < NUMREGNAMES) (*info->fprintf_func) (info->stream, "%s", reg_base[i].name); else (*info->fprintf_func) (info->stream, "unknown"); break; - case 't': - i = GET_INSN_FIELD (RRT, opcode); - - if (GET_INSN_FIELD (OP, opcode) == OP_MATCH_CUSTOM - && GET_INSN_FIELD (CUSTOM_B, opcode) == 0) - reg_base = nios2_coprocessor_regs (); - else - reg_base = nios2_regs; + case 't': + switch (op->format) + { + case iw_r_type: + i = GET_IW_R_B (opcode); + reg_base = nios2_regs; + break; + case iw_i_type: + i = GET_IW_I_B (opcode); + reg_base = nios2_regs; + break; + case iw_custom_type: + i = GET_IW_CUSTOM_B (opcode); + if (GET_IW_CUSTOM_READB (opcode) == 0) + reg_base = nios2_coprocessor_regs (); + else + reg_base = nios2_regs; + break; + default: + bad_opcode (op); + } if (i < NUMREGNAMES) (*info->fprintf_func) (info->stream, "%s", reg_base[i].name); else (*info->fprintf_func) (info->stream, "unknown"); break; + case 'i': /* 16-bit signed immediate. */ - i = (signed) (GET_INSN_FIELD (IMM16, opcode) << 16) >> 16; + switch (op->format) + { + case iw_i_type: + i = (signed) (GET_IW_I_IMM16 (opcode) << 16) >> 16; + break; + default: + bad_opcode (op); + } (*info->fprintf_func) (info->stream, "%ld", i); break; + case 'u': /* 16-bit unsigned immediate. */ - i = GET_INSN_FIELD (IMM16, opcode); + switch (op->format) + { + case iw_i_type: + i = GET_IW_I_IMM16 (opcode); + break; + default: + bad_opcode (op); + } (*info->fprintf_func) (info->stream, "%ld", i); break; + case 'o': /* 16-bit signed immediate address offset. */ - i = (signed) (GET_INSN_FIELD (IMM16, opcode) << 16) >> 16; + switch (op->format) + { + case iw_i_type: + i = (signed) (GET_IW_I_IMM16 (opcode) << 16) >> 16; + break; + default: + bad_opcode (op); + } address = address + 4 + i; (*info->print_address_func) (address, info); break; - case 'p': - /* 5-bit unsigned immediate. */ - i = GET_INSN_FIELD (CACHE_OPX, opcode); - (*info->fprintf_func) (info->stream, "%ld", i); - break; + case 'j': /* 5-bit unsigned immediate. */ - i = GET_INSN_FIELD (IMM5, opcode); + switch (op->format) + { + case iw_r_type: + i = GET_IW_R_IMM5 (opcode); + break; + default: + bad_opcode (op); + } (*info->fprintf_func) (info->stream, "%ld", i); break; + case 'l': /* 8-bit unsigned immediate. */ - /* FIXME - not yet implemented */ - i = GET_INSN_FIELD (CUSTOM_N, opcode); + switch (op->format) + { + case iw_custom_type: + i = GET_IW_CUSTOM_N (opcode); + break; + default: + bad_opcode (op); + } (*info->fprintf_func) (info->stream, "%lu", i); break; + case 'm': /* 26-bit unsigned immediate. */ - i = GET_INSN_FIELD (IMM26, opcode); + switch (op->format) + { + case iw_j_type: + i = GET_IW_J_IMM26 (opcode); + break; + default: + bad_opcode (op); + } /* This translates to an address because it's only used in call instructions. */ address = (address & 0xf0000000) | (i << 2); (*info->print_address_func) (address, info); break; + case 'c': /* Control register index. */ - i = GET_INSN_FIELD (IMM5, opcode); + switch (op->format) + { + case iw_r_type: + i = GET_IW_R_IMM5 (opcode); + break; + default: + bad_opcode (op); + } reg_base = nios2_control_regs (); (*info->fprintf_func) (info->stream, "%s", reg_base[i].name); break; - case 'b': - i = GET_INSN_FIELD (IMM5, opcode); - (*info->fprintf_func) (info->stream, "%ld", i); - break; + default: (*info->fprintf_func) (info->stream, "unknown"); break; @@ -328,50 +460,32 @@ nios2_disassemble (bfd_vma address, unsigned long opcode, /* Find the major opcode and use this to disassemble the instruction and its arguments. */ - op = nios2_find_opcode_hash (opcode); + op = nios2_find_opcode_hash (opcode, info->mach); if (op != NULL) { - bfd_boolean is_nop = FALSE; - if (op->pinfo == NIOS2_INSN_MACRO_MOV) - { - /* Check for mov r0, r0 and change to nop. */ - int dst, src; - dst = GET_INSN_FIELD (RRD, opcode); - src = GET_INSN_FIELD (RRS, opcode); - if (dst == 0 && src == 0) - { - (*info->fprintf_func) (info->stream, "nop"); - is_nop = TRUE; - } - else - (*info->fprintf_func) (info->stream, "%s", op->name); - } - else - (*info->fprintf_func) (info->stream, "%s", op->name); - - if (!is_nop) + const char *argstr = op->args; + (*info->fprintf_func) (info->stream, "%s", op->name); + if (argstr != NULL && *argstr != '\0') { - const char *argstr = op->args; - if (argstr != NULL && *argstr != '\0') + (*info->fprintf_func) (info->stream, "\t"); + while (*argstr != '\0') { - (*info->fprintf_func) (info->stream, "\t"); - while (*argstr != '\0') - { - nios2_print_insn_arg (argstr, opcode, address, info); - ++argstr; - } + nios2_print_insn_arg (argstr, opcode, address, info, op); + ++argstr; } } + /* Tell the caller how far to advance the program counter. */ + info->bytes_per_chunk = op->size; + return op->size; } else { /* Handle undefined instructions. */ info->insn_type = dis_noninsn; (*info->fprintf_func) (info->stream, "0x%lx", opcode); + return INSNLEN; } - /* Tell the caller how far to advance the program counter. */ - return INSNLEN; } diff --git a/binutils-2.25/opcodes/nios2-opc.c b/binutils-2.25/opcodes/nios2-opc.c index 47a7ee4..a12a2f8 100644 --- a/binutils-2.25/opcodes/nios2-opc.c +++ b/binutils-2.25/opcodes/nios2-opc.c @@ -28,136 +28,136 @@ const struct nios2_reg nios2_builtin_regs[] = { /* Standard register names. */ - {"zero", 0}, - {"at", 1}, /* assembler temporary */ - {"r2", 2}, - {"r3", 3}, - {"r4", 4}, - {"r5", 5}, - {"r6", 6}, - {"r7", 7}, - {"r8", 8}, - {"r9", 9}, - {"r10", 10}, - {"r11", 11}, - {"r12", 12}, - {"r13", 13}, - {"r14", 14}, - {"r15", 15}, - {"r16", 16}, - {"r17", 17}, - {"r18", 18}, - {"r19", 19}, - {"r20", 20}, - {"r21", 21}, - {"r22", 22}, - {"r23", 23}, - {"et", 24}, - {"bt", 25}, - {"gp", 26}, /* global pointer */ - {"sp", 27}, /* stack pointer */ - {"fp", 28}, /* frame pointer */ - {"ea", 29}, /* exception return address */ - {"sstatus", 30}, /* saved processor status */ - {"ra", 31}, /* return address */ + {"zero", 0, REG_NORMAL}, + {"at", 1, REG_NORMAL}, /* assembler temporary */ + {"r2", 2, REG_NORMAL}, + {"r3", 3, REG_NORMAL}, + {"r4", 4, REG_NORMAL}, + {"r5", 5, REG_NORMAL}, + {"r6", 6, REG_NORMAL}, + {"r7", 7, REG_NORMAL}, + {"r8", 8, REG_NORMAL}, + {"r9", 9, REG_NORMAL}, + {"r10", 10, REG_NORMAL}, + {"r11", 11, REG_NORMAL}, + {"r12", 12, REG_NORMAL}, + {"r13", 13, REG_NORMAL}, + {"r14", 14, REG_NORMAL}, + {"r15", 15, REG_NORMAL}, + {"r16", 16, REG_NORMAL}, + {"r17", 17, REG_NORMAL}, + {"r18", 18, REG_NORMAL}, + {"r19", 19, REG_NORMAL}, + {"r20", 20, REG_NORMAL}, + {"r21", 21, REG_NORMAL}, + {"r22", 22, REG_NORMAL}, + {"r23", 23, REG_NORMAL}, + {"et", 24, REG_NORMAL}, + {"bt", 25, REG_NORMAL}, + {"gp", 26, REG_NORMAL}, /* global pointer */ + {"sp", 27, REG_NORMAL}, /* stack pointer */ + {"fp", 28, REG_NORMAL}, /* frame pointer */ + {"ea", 29, REG_NORMAL}, /* exception return address */ + {"sstatus", 30, REG_NORMAL}, /* saved processor status */ + {"ra", 31, REG_NORMAL}, /* return address */ /* Alternative names for special registers. */ - {"r0", 0}, - {"r1", 1}, - {"r24", 24}, - {"r25", 25}, - {"r26", 26}, - {"r27", 27}, - {"r28", 28}, - {"r29", 29}, - {"r30", 30}, - {"ba", 30}, /* breakpoint return address */ - {"r31", 31}, + {"r0", 0, REG_NORMAL}, + {"r1", 1, REG_NORMAL}, + {"r24", 24, REG_NORMAL}, + {"r25", 25, REG_NORMAL}, + {"r26", 26, REG_NORMAL}, + {"r27", 27, REG_NORMAL}, + {"r28", 28, REG_NORMAL}, + {"r29", 29, REG_NORMAL}, + {"r30", 30, REG_NORMAL}, + {"ba", 30, REG_NORMAL}, /* breakpoint return address */ + {"r31", 31, REG_NORMAL}, /* Control register names. */ - {"status", 0}, - {"estatus", 1}, - {"bstatus", 2}, - {"ienable", 3}, - {"ipending", 4}, - {"cpuid", 5}, - {"ctl6", 6}, - {"exception", 7}, - {"pteaddr", 8}, - {"tlbacc", 9}, - {"tlbmisc", 10}, - {"eccinj", 11}, - {"badaddr", 12}, - {"config", 13}, - {"mpubase", 14}, - {"mpuacc", 15}, - {"ctl16", 16}, - {"ctl17", 17}, - {"ctl18", 18}, - {"ctl19", 19}, - {"ctl20", 20}, - {"ctl21", 21}, - {"ctl22", 22}, - {"ctl23", 23}, - {"ctl24", 24}, - {"ctl25", 25}, - {"ctl26", 26}, - {"ctl27", 27}, - {"ctl28", 28}, - {"ctl29", 29}, - {"ctl30", 30}, - {"ctl31", 31}, + {"status", 0, REG_CONTROL}, + {"estatus", 1, REG_CONTROL}, + {"bstatus", 2, REG_CONTROL}, + {"ienable", 3, REG_CONTROL}, + {"ipending", 4, REG_CONTROL}, + {"cpuid", 5, REG_CONTROL}, + {"ctl6", 6, REG_CONTROL}, + {"exception", 7, REG_CONTROL}, + {"pteaddr", 8, REG_CONTROL}, + {"tlbacc", 9, REG_CONTROL}, + {"tlbmisc", 10, REG_CONTROL}, + {"eccinj", 11, REG_CONTROL}, + {"badaddr", 12, REG_CONTROL}, + {"config", 13, REG_CONTROL}, + {"mpubase", 14, REG_CONTROL}, + {"mpuacc", 15, REG_CONTROL}, + {"ctl16", 16, REG_CONTROL}, + {"ctl17", 17, REG_CONTROL}, + {"ctl18", 18, REG_CONTROL}, + {"ctl19", 19, REG_CONTROL}, + {"ctl20", 20, REG_CONTROL}, + {"ctl21", 21, REG_CONTROL}, + {"ctl22", 22, REG_CONTROL}, + {"ctl23", 23, REG_CONTROL}, + {"ctl24", 24, REG_CONTROL}, + {"ctl25", 25, REG_CONTROL}, + {"ctl26", 26, REG_CONTROL}, + {"ctl27", 27, REG_CONTROL}, + {"ctl28", 28, REG_CONTROL}, + {"ctl29", 29, REG_CONTROL}, + {"ctl30", 30, REG_CONTROL}, + {"ctl31", 31, REG_CONTROL}, /* Alternative names for special control registers. */ - {"ctl0", 0}, - {"ctl1", 1}, - {"ctl2", 2}, - {"ctl3", 3}, - {"ctl4", 4}, - {"ctl5", 5}, - {"ctl7", 7}, - {"ctl8", 8}, - {"ctl9", 9}, - {"ctl10", 10}, - {"ctl11", 11}, - {"ctl12", 12}, - {"ctl13", 13}, - {"ctl14", 14}, - {"ctl15", 15}, + {"ctl0", 0, REG_CONTROL}, + {"ctl1", 1, REG_CONTROL}, + {"ctl2", 2, REG_CONTROL}, + {"ctl3", 3, REG_CONTROL}, + {"ctl4", 4, REG_CONTROL}, + {"ctl5", 5, REG_CONTROL}, + {"ctl7", 7, REG_CONTROL}, + {"ctl8", 8, REG_CONTROL}, + {"ctl9", 9, REG_CONTROL}, + {"ctl10", 10, REG_CONTROL}, + {"ctl11", 11, REG_CONTROL}, + {"ctl12", 12, REG_CONTROL}, + {"ctl13", 13, REG_CONTROL}, + {"ctl14", 14, REG_CONTROL}, + {"ctl15", 15, REG_CONTROL}, /* Coprocessor register names. */ - {"c0", 0}, - {"c1", 1}, - {"c2", 2}, - {"c3", 3}, - {"c4", 4}, - {"c5", 5}, - {"c6", 6}, - {"c7", 7}, - {"c8", 8}, - {"c9", 9}, - {"c10", 10}, - {"c11", 11}, - {"c12", 12}, - {"c13", 13}, - {"c14", 14}, - {"c15", 15}, - {"c16", 16}, - {"c17", 17}, - {"c18", 18}, - {"c19", 19}, - {"c20", 20}, - {"c21", 21}, - {"c22", 22}, - {"c23", 23}, - {"c24", 24}, - {"c25", 25}, - {"c26", 26}, - {"c27", 27}, - {"c28", 28}, - {"c29", 29}, - {"c30", 30}, - {"c31", 31}, + {"c0", 0, REG_COPROCESSOR}, + {"c1", 1, REG_COPROCESSOR}, + {"c2", 2, REG_COPROCESSOR}, + {"c3", 3, REG_COPROCESSOR}, + {"c4", 4, REG_COPROCESSOR}, + {"c5", 5, REG_COPROCESSOR}, + {"c6", 6, REG_COPROCESSOR}, + {"c7", 7, REG_COPROCESSOR}, + {"c8", 8, REG_COPROCESSOR}, + {"c9", 9, REG_COPROCESSOR}, + {"c10", 10, REG_COPROCESSOR}, + {"c11", 11, REG_COPROCESSOR}, + {"c12", 12, REG_COPROCESSOR}, + {"c13", 13, REG_COPROCESSOR}, + {"c14", 14, REG_COPROCESSOR}, + {"c15", 15, REG_COPROCESSOR}, + {"c16", 16, REG_COPROCESSOR}, + {"c17", 17, REG_COPROCESSOR}, + {"c18", 18, REG_COPROCESSOR}, + {"c19", 19, REG_COPROCESSOR}, + {"c20", 20, REG_COPROCESSOR}, + {"c21", 21, REG_COPROCESSOR}, + {"c22", 22, REG_COPROCESSOR}, + {"c23", 23, REG_COPROCESSOR}, + {"c24", 24, REG_COPROCESSOR}, + {"c25", 25, REG_COPROCESSOR}, + {"c26", 26, REG_COPROCESSOR}, + {"c27", 27, REG_COPROCESSOR}, + {"c28", 28, REG_COPROCESSOR}, + {"c29", 29, REG_COPROCESSOR}, + {"c30", 30, REG_COPROCESSOR}, + {"c31", 31, REG_COPROCESSOR}, }; #define NIOS2_NUM_REGS \ @@ -172,244 +172,236 @@ int nios2_num_regs = NIOS2_NUM_REGS; /* This is the opcode table used by the Nios II GNU as, disassembler and GDB. */ -const struct nios2_opcode nios2_builtin_opcodes[] = +const struct nios2_opcode nios2_r1_opcodes[] = { - /* { name, args, args_test, num_args, - match, mask, pinfo, overflow_msg } */ - {"add", "d,s,t", "d,s,t,E", 3, - OP_MATCH_ADD, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"addi", "t,s,i", "t,s,i,E", 3, - OP_MATCH_ADDI, OP_MASK_IOP, NIOS2_INSN_ADDI, signed_immed16_overflow}, - {"subi", "t,s,i", "t,s,i,E", 3, - OP_MATCH_ADDI, OP_MASK_IOP, NIOS2_INSN_MACRO, signed_immed16_overflow}, - {"and", "d,s,t", "d,s,t,E", 3, - OP_MATCH_AND, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"andhi", "t,s,u", "t,s,u,E", 3, - OP_MATCH_ANDHI, OP_MASK_IOP, 0, unsigned_immed16_overflow}, - {"andi", "t,s,u", "t,s,u,E", 3, - OP_MATCH_ANDI, OP_MASK_IOP, NIOS2_INSN_ANDI, unsigned_immed16_overflow}, - {"beq", "s,t,o", "s,t,o,E", 3, - OP_MATCH_BEQ, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow}, - {"bge", "s,t,o", "s,t,o,E", 3, - OP_MATCH_BGE, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow}, - {"bgeu", "s,t,o", "s,t,o,E", 3, - OP_MATCH_BGEU, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow}, - {"bgt", "s,t,o", "s,t,o,E", 3, - OP_MATCH_BLT, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, - branch_target_overflow}, - {"bgtu", "s,t,o", "s,t,o,E", 3, - OP_MATCH_BLTU, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, - branch_target_overflow}, - {"ble", "s,t,o", "s,t,o,E", 3, - OP_MATCH_BGE, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, - branch_target_overflow}, - {"bleu", "s,t,o", "s,t,o,E", 3, - OP_MATCH_BGEU, OP_MASK_IOP, NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, - branch_target_overflow}, - {"blt", "s,t,o", "s,t,o,E", 3, - OP_MATCH_BLT, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow}, - {"bltu", "s,t,o", "s,t,o,E", 3, - OP_MATCH_BLTU, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow}, - {"bne", "s,t,o", "s,t,o,E", 3, - OP_MATCH_BNE, OP_MASK_IOP, NIOS2_INSN_CBRANCH, branch_target_overflow}, - {"br", "o", "o,E", 1, - OP_MATCH_BR, OP_MASK_IOP, NIOS2_INSN_UBRANCH, branch_target_overflow}, - {"break", "b", "b,E", 1, - OP_MATCH_BREAK, OP_MASK_BREAK, 0, no_overflow}, - {"bret", "", "E", 0, - OP_MATCH_BRET, OP_MASK, 0, no_overflow}, - {"flushd", "i(s)", "i(s)E", 2, - OP_MATCH_FLUSHD, OP_MASK_IOP, 0, signed_immed16_overflow}, - {"flushda", "i(s)", "i(s)E", 2, - OP_MATCH_FLUSHDA, OP_MASK_IOP, 0, signed_immed16_overflow}, - {"flushi", "s", "s,E", 1, - OP_MATCH_FLUSHI, OP_MASK_FLUSHI, 0, no_overflow}, - {"flushp", "", "E", 0, - OP_MATCH_FLUSHP, OP_MASK, 0, no_overflow}, - {"initd", "i(s)", "i(s)E", 2, - OP_MATCH_INITD, OP_MASK_IOP, 0, signed_immed16_overflow}, - {"initda", "i(s)", "i(s)E", 2, - OP_MATCH_INITDA, OP_MASK_IOP, 0, signed_immed16_overflow}, - {"initi", "s", "s,E", 1, - OP_MATCH_INITI, OP_MASK_INITI, 0, no_overflow}, - {"call", "m", "m,E", 1, - OP_MATCH_CALL, OP_MASK_IOP, NIOS2_INSN_CALL, call_target_overflow}, - {"callr", "s", "s,E", 1, - OP_MATCH_CALLR, OP_MASK_CALLR, 0, no_overflow}, - {"cmpeq", "d,s,t", "d,s,t,E", 3, - OP_MATCH_CMPEQ, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"cmpeqi", "t,s,i", "t,s,i,E", 3, - OP_MATCH_CMPEQI, OP_MASK_IOP, 0, signed_immed16_overflow}, - {"cmpge", "d,s,t", "d,s,t,E", 3, - OP_MATCH_CMPGE, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"cmpgei", "t,s,i", "t,s,i,E", 3, - OP_MATCH_CMPGEI, OP_MASK_IOP, 0, signed_immed16_overflow}, - {"cmpgeu", "d,s,t", "d,s,t,E", 3, - OP_MATCH_CMPGEU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"cmpgeui", "t,s,u", "t,s,u,E", 3, - OP_MATCH_CMPGEUI, OP_MASK_IOP, 0, unsigned_immed16_overflow}, - {"cmpgt", "d,s,t", "d,s,t,E", 3, - OP_MATCH_CMPLT, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow}, - {"cmpgti", "t,s,i", "t,s,i,E", 3, - OP_MATCH_CMPGEI, OP_MASK_IOP, NIOS2_INSN_MACRO, signed_immed16_overflow}, - {"cmpgtu", "d,s,t", "d,s,t,E", 3, - OP_MATCH_CMPLTU, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow}, - {"cmpgtui", "t,s,u", "t,s,u,E", 3, - OP_MATCH_CMPGEUI, OP_MASK_IOP, NIOS2_INSN_MACRO, unsigned_immed16_overflow}, - {"cmple", "d,s,t", "d,s,t,E", 3, - OP_MATCH_CMPGE, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow}, - {"cmplei", "t,s,i", "t,s,i,E", 3, - OP_MATCH_CMPLTI, OP_MASK_IOP, NIOS2_INSN_MACRO, signed_immed16_overflow}, - {"cmpleu", "d,s,t", "d,s,t,E", 3, - OP_MATCH_CMPGEU, OP_MASK_ROPX | OP_MASK_ROP, NIOS2_INSN_MACRO, no_overflow}, - {"cmpleui", "t,s,u", "t,s,u,E", 3, - OP_MATCH_CMPLTUI, OP_MASK_IOP, NIOS2_INSN_MACRO, unsigned_immed16_overflow}, - {"cmplt", "d,s,t", "d,s,t,E", 3, - OP_MATCH_CMPLT, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"cmplti", "t,s,i", "t,s,i,E", 3, - OP_MATCH_CMPLTI, OP_MASK_IOP, 0, signed_immed16_overflow}, - {"cmpltu", "d,s,t", "d,s,t,E", 3, - OP_MATCH_CMPLTU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"cmpltui", "t,s,u", "t,s,u,E", 3, - OP_MATCH_CMPLTUI, OP_MASK_IOP, 0, unsigned_immed16_overflow}, - {"cmpne", "d,s,t", "d,s,t,E", 3, - OP_MATCH_CMPNE, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"cmpnei", "t,s,i", "t,s,i,E", 3, - OP_MATCH_CMPNEI, OP_MASK_IOP, 0, signed_immed16_overflow}, - {"div", "d,s,t", "d,s,t,E", 3, - OP_MATCH_DIV, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"divu", "d,s,t", "d,s,t,E", 3, - OP_MATCH_DIVU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"jmp", "s", "s,E", 1, - OP_MATCH_JMP, OP_MASK_JMP, 0, no_overflow}, - {"jmpi", "m", "m,E", 1, - OP_MATCH_JMPI, OP_MASK_IOP, 0, no_overflow}, - {"ldb", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_LDB, OP_MASK_IOP, 0, address_offset_overflow}, - {"ldbio", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_LDBIO, OP_MASK_IOP, 0, address_offset_overflow}, - {"ldbu", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_LDBU, OP_MASK_IOP, 0, address_offset_overflow}, - {"ldbuio", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_LDBUIO, OP_MASK_IOP, 0, address_offset_overflow}, - {"ldh", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_LDH, OP_MASK_IOP, 0, address_offset_overflow}, - {"ldhio", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_LDHIO, OP_MASK_IOP, 0, address_offset_overflow}, - {"ldhu", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_LDHU, OP_MASK_IOP, 0, address_offset_overflow}, - {"ldhuio", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_LDHUIO, OP_MASK_IOP, 0, address_offset_overflow}, - {"ldl", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_LDL, OP_MASK_IOP, 0, address_offset_overflow}, - {"ldw", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_LDW, OP_MASK_IOP, 0, address_offset_overflow}, - {"ldwio", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_LDWIO, OP_MASK_IOP, 0, address_offset_overflow}, - {"mov", "d,s", "d,s,E", 2, - OP_MATCH_ADD, OP_MASK_RRT|OP_MASK_ROPX|OP_MASK_ROP, NIOS2_INSN_MACRO_MOV, - no_overflow}, - {"movhi", "t,u", "t,u,E", 2, - OP_MATCH_ORHI, OP_MASK_IRS|OP_MASK_IOP, NIOS2_INSN_MACRO_MOVI, - unsigned_immed16_overflow}, - {"movui", "t,u", "t,u,E", 2, - OP_MATCH_ORI, OP_MASK_IRS|OP_MASK_IOP, NIOS2_INSN_MACRO_MOVI, - unsigned_immed16_overflow}, - {"movi", "t,i", "t,i,E", 2, - OP_MATCH_ADDI, OP_MASK_IRS|OP_MASK_IOP, NIOS2_INSN_MACRO_MOVI, - signed_immed16_overflow}, - /* movia expands to two instructions so there is no mask or match */ - {"movia", "t,o", "t,o,E", 2, - OP_MATCH_ORHI, OP_MASK_IOP, NIOS2_INSN_MACRO_MOVIA, no_overflow}, - {"mul", "d,s,t", "d,s,t,E", 3, - OP_MATCH_MUL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"muli", "t,s,i", "t,s,i,E", 3, - OP_MATCH_MULI, OP_MASK_IOP, 0, signed_immed16_overflow}, - {"mulxss", "d,s,t", "d,s,t,E", 3, - OP_MATCH_MULXSS, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"mulxsu", "d,s,t", "d,s,t,E", 3, - OP_MATCH_MULXSU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"mulxuu", "d,s,t", "d,s,t,E", 3, - OP_MATCH_MULXUU, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"nextpc", "d", "d,E", 1, - OP_MATCH_NEXTPC, OP_MASK_NEXTPC, 0, no_overflow}, - {"nop", "", "E", 0, - OP_MATCH_ADD, OP_MASK, NIOS2_INSN_MACRO_MOV, no_overflow}, - {"nor", "d,s,t", "d,s,t,E", 3, - OP_MATCH_NOR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"or", "d,s,t", "d,s,t,E", 3, - OP_MATCH_OR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"orhi", "t,s,u", "t,s,u,E", 3, - OP_MATCH_ORHI, OP_MASK_IOP, 0, unsigned_immed16_overflow}, - {"ori", "t,s,u", "t,s,u,E", 3, - OP_MATCH_ORI, OP_MASK_IOP, NIOS2_INSN_ORI, unsigned_immed16_overflow}, - {"rdctl", "d,c", "d,c,E", 2, - OP_MATCH_RDCTL, OP_MASK_RDCTL, 0, no_overflow}, - {"rdprs", "t,s,i", "t,s,i,E", 3, - OP_MATCH_RDPRS, OP_MASK_IOP, 0, unsigned_immed16_overflow}, - {"ret", "", "E", 0, - OP_MATCH_RET, OP_MASK, 0, no_overflow}, - {"rol", "d,s,t", "d,s,t,E", 3, - OP_MATCH_ROL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"roli", "d,s,j", "d,s,j,E", 3, - OP_MATCH_ROLI, OP_MASK_ROLI, 0, unsigned_immed5_overflow}, - {"ror", "d,s,t", "d,s,t,E", 3, - OP_MATCH_ROR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"sll", "d,s,t", "d,s,t,E", 3, - OP_MATCH_SLL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"slli", "d,s,j", "d,s,j,E", 3, - OP_MATCH_SLLI, OP_MASK_SLLI, 0, unsigned_immed5_overflow}, - {"sra", "d,s,t", "d,s,t,E", 3, - OP_MATCH_SRA, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"srai", "d,s,j", "d,s,j,E", 3, - OP_MATCH_SRAI, OP_MASK_SRAI, 0, unsigned_immed5_overflow}, - {"srl", "d,s,t", "d,s,t,E", 3, - OP_MATCH_SRL, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"srli", "d,s,j", "d,s,j,E", 3, - OP_MATCH_SRLI, OP_MASK_SRLI, 0, unsigned_immed5_overflow}, - {"stb", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_STB, OP_MASK_IOP, 0, address_offset_overflow}, - {"stbio", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_STBIO, OP_MASK_IOP, 0, address_offset_overflow}, - {"stc", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_STC, OP_MASK_IOP, 0, address_offset_overflow}, - {"sth", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_STH, OP_MASK_IOP, 0, address_offset_overflow}, - {"sthio", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_STHIO, OP_MASK_IOP, 0, address_offset_overflow}, - {"stw", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_STW, OP_MASK_IOP, 0, address_offset_overflow}, - {"stwio", "t,i(s)", "t,i(s)E", 3, - OP_MATCH_STWIO, OP_MASK_IOP, 0, address_offset_overflow}, - {"sub", "d,s,t", "d,s,t,E", 3, - OP_MATCH_SUB, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"sync", "", "E", 0, - OP_MATCH_SYNC, OP_MASK_SYNC, 0, no_overflow}, - {"trap", "b", "b,E", 1, - OP_MATCH_TRAP, OP_MASK_TRAP, 0, no_overflow}, - {"eret", "", "E", 0, - OP_MATCH_ERET, OP_MASK, 0, no_overflow}, - {"custom", "l,d,s,t", "l,d,s,t,E", 4, - OP_MATCH_CUSTOM, OP_MASK_ROP, 0, custom_opcode_overflow}, - {"wrctl", "c,s", "c,s,E", 2, - OP_MATCH_WRCTL, OP_MASK_WRCTL, 0, no_overflow}, - {"wrprs", "d,s", "d,s,E", 2, - OP_MATCH_WRPRS, OP_MASK_RRT|OP_MASK_ROPX|OP_MASK_ROP, 0, no_overflow}, - {"xor", "d,s,t", "d,s,t,E", 3, - OP_MATCH_XOR, OP_MASK_ROPX | OP_MASK_ROP, 0, no_overflow}, - {"xorhi", "t,s,u", "t,s,u,E", 3, - OP_MATCH_XORHI, OP_MASK_IOP, 0, unsigned_immed16_overflow}, - {"xori", "t,s,u", "t,s,u,E", 3, - OP_MATCH_XORI, OP_MASK_IOP, NIOS2_INSN_XORI, unsigned_immed16_overflow} + /* { name, args, args_test, num_args, size, format, + match, mask, pinfo, overflow } */ + {"add", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_ADD, MASK_R1_ADD, 0, no_overflow}, + {"addi", "t,s,i", "t,s,i,E", 3, 4, iw_i_type, + MATCH_R1_ADDI, MASK_R1_ADDI, NIOS2_INSN_ADDI, signed_immed16_overflow}, + {"and", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_AND, MASK_R1_AND, 0, no_overflow}, + {"andhi", "t,s,u", "t,s,u,E", 3, 4, iw_i_type, + MATCH_R1_ANDHI, MASK_R1_ANDHI, 0, unsigned_immed16_overflow}, + {"andi", "t,s,u", "t,s,u,E", 3, 4, iw_i_type, + MATCH_R1_ANDI, MASK_R1_ANDI, NIOS2_INSN_ANDI, unsigned_immed16_overflow}, + {"beq", "s,t,o", "s,t,o,E", 3, 4, iw_i_type, + MATCH_R1_BEQ, MASK_R1_BEQ, NIOS2_INSN_CBRANCH, branch_target_overflow}, + {"bge", "s,t,o", "s,t,o,E", 3, 4, iw_i_type, + MATCH_R1_BGE, MASK_R1_BGE, NIOS2_INSN_CBRANCH, branch_target_overflow}, + {"bgeu", "s,t,o", "s,t,o,E", 3, 4, iw_i_type, + MATCH_R1_BGEU, MASK_R1_BGEU, NIOS2_INSN_CBRANCH, branch_target_overflow}, + {"bgt", "s,t,o", "s,t,o,E", 3, 4, iw_i_type, + MATCH_R1_BGT, MASK_R1_BGT, + NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow}, + {"bgtu", "s,t,o", "s,t,o,E", 3, 4, iw_i_type, + MATCH_R1_BGTU, MASK_R1_BGTU, + NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow}, + {"ble", "s,t,o", "s,t,o,E", 3, 4, iw_i_type, + MATCH_R1_BLE, MASK_R1_BLE, + NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow}, + {"bleu", "s,t,o", "s,t,o,E", 3, 4, iw_i_type, + MATCH_R1_BLEU, MASK_R1_BLEU, + NIOS2_INSN_MACRO|NIOS2_INSN_CBRANCH, branch_target_overflow}, + {"blt", "s,t,o", "s,t,o,E", 3, 4, iw_i_type, + MATCH_R1_BLT, MASK_R1_BLT, NIOS2_INSN_CBRANCH, branch_target_overflow}, + {"bltu", "s,t,o", "s,t,o,E", 3, 4, iw_i_type, + MATCH_R1_BLTU, MASK_R1_BLTU, NIOS2_INSN_CBRANCH, branch_target_overflow}, + {"bne", "s,t,o", "s,t,o,E", 3, 4, iw_i_type, + MATCH_R1_BNE, MASK_R1_BNE, NIOS2_INSN_CBRANCH, branch_target_overflow}, + {"br", "o", "o,E", 1, 4, iw_i_type, + MATCH_R1_BR, MASK_R1_BR, NIOS2_INSN_UBRANCH, branch_target_overflow}, + {"break", "j", "j,E", 1, 4, iw_r_type, + MATCH_R1_BREAK, MASK_R1_BREAK, NIOS2_INSN_OPTARG, no_overflow}, + {"bret", "", "E", 0, 4, iw_r_type, + MATCH_R1_BRET, MASK_R1_BRET, 0, no_overflow}, + {"call", "m", "m,E", 1, 4, iw_j_type, + MATCH_R1_CALL, MASK_R1_CALL, NIOS2_INSN_CALL, call_target_overflow}, + {"callr", "s", "s,E", 1, 4, iw_r_type, + MATCH_R1_CALLR, MASK_R1_CALLR, 0, no_overflow}, + {"cmpeq", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_CMPEQ, MASK_R1_CMPEQ, 0, no_overflow}, + {"cmpeqi", "t,s,i", "t,s,i,E", 3, 4, iw_i_type, + MATCH_R1_CMPEQI, MASK_R1_CMPEQI, 0, signed_immed16_overflow}, + {"cmpge", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_CMPGE, MASK_R1_CMPGE, 0, no_overflow}, + {"cmpgei", "t,s,i", "t,s,i,E", 3, 4, iw_i_type, + MATCH_R1_CMPGEI, MASK_R1_CMPGEI, 0, signed_immed16_overflow}, + {"cmpgeu", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_CMPGEU, MASK_R1_CMPGEU, 0, no_overflow}, + {"cmpgeui", "t,s,u", "t,s,u,E", 3, 4, iw_i_type, + MATCH_R1_CMPGEUI, MASK_R1_CMPGEUI, 0, unsigned_immed16_overflow}, + {"cmpgt", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_CMPGT, MASK_R1_CMPGT, NIOS2_INSN_MACRO, no_overflow}, + {"cmpgti", "t,s,i", "t,s,i,E", 3, 4, iw_i_type, + MATCH_R1_CMPGTI, MASK_R1_CMPGTI, NIOS2_INSN_MACRO, signed_immed16_overflow}, + {"cmpgtu", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_CMPGTU, MASK_R1_CMPGTU, NIOS2_INSN_MACRO, no_overflow}, + {"cmpgtui", "t,s,u", "t,s,u,E", 3, 4, iw_i_type, + MATCH_R1_CMPGTUI, MASK_R1_CMPGTUI, + NIOS2_INSN_MACRO, unsigned_immed16_overflow}, + {"cmple", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_CMPLE, MASK_R1_CMPLE, NIOS2_INSN_MACRO, no_overflow}, + {"cmplei", "t,s,i", "t,s,i,E", 3, 4, iw_i_type, + MATCH_R1_CMPLEI, MASK_R1_CMPLEI, NIOS2_INSN_MACRO, signed_immed16_overflow}, + {"cmpleu", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_CMPLEU, MASK_R1_CMPLEU, NIOS2_INSN_MACRO, no_overflow}, + {"cmpleui", "t,s,u", "t,s,u,E", 3, 4, iw_i_type, + MATCH_R1_CMPLEUI, MASK_R1_CMPLEUI, + NIOS2_INSN_MACRO, unsigned_immed16_overflow}, + {"cmplt", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_CMPLT, MASK_R1_CMPLT, 0, no_overflow}, + {"cmplti", "t,s,i", "t,s,i,E", 3, 4, iw_i_type, + MATCH_R1_CMPLTI, MASK_R1_CMPLTI, 0, signed_immed16_overflow}, + {"cmpltu", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_CMPLTU, MASK_R1_CMPLTU, 0, no_overflow}, + {"cmpltui", "t,s,u", "t,s,u,E", 3, 4, iw_i_type, + MATCH_R1_CMPLTUI, MASK_R1_CMPLTUI, 0, unsigned_immed16_overflow}, + {"cmpne", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_CMPNE, MASK_R1_CMPNE, 0, no_overflow}, + {"cmpnei", "t,s,i", "t,s,i,E", 3, 4, iw_i_type, + MATCH_R1_CMPNEI, MASK_R1_CMPNEI, 0, signed_immed16_overflow}, + {"custom", "l,d,s,t", "l,d,s,t,E", 4, 4, iw_custom_type, + MATCH_R1_CUSTOM, MASK_R1_CUSTOM, 0, custom_opcode_overflow}, + {"div", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_DIV, MASK_R1_DIV, 0, no_overflow}, + {"divu", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_DIVU, MASK_R1_DIVU, 0, no_overflow}, + {"eret", "", "E", 0, 4, iw_r_type, + MATCH_R1_ERET, MASK_R1_ERET, 0, no_overflow}, + {"flushd", "i(s)", "i(s),E", 2, 4, iw_i_type, + MATCH_R1_FLUSHD, MASK_R1_FLUSHD, 0, address_offset_overflow}, + {"flushda", "i(s)", "i(s),E", 2, 4, iw_i_type, + MATCH_R1_FLUSHDA, MASK_R1_FLUSHDA, 0, address_offset_overflow}, + {"flushi", "s", "s,E", 1, 4, iw_r_type, + MATCH_R1_FLUSHI, MASK_R1_FLUSHI, 0, no_overflow}, + {"flushp", "", "E", 0, 4, iw_r_type, + MATCH_R1_FLUSHP, MASK_R1_FLUSHP, 0, no_overflow}, + {"initd", "i(s)", "i(s),E", 2, 4, iw_i_type, + MATCH_R1_INITD, MASK_R1_INITD, 0, address_offset_overflow}, + {"initda", "i(s)", "i(s),E", 2, 4, iw_i_type, + MATCH_R1_INITDA, MASK_R1_INITDA, 0, address_offset_overflow}, + {"initi", "s", "s,E", 1, 4, iw_r_type, + MATCH_R1_INITI, MASK_R1_INITI, 0, no_overflow}, + {"jmp", "s", "s,E", 1, 4, iw_r_type, + MATCH_R1_JMP, MASK_R1_JMP, 0, no_overflow}, + {"jmpi", "m", "m,E", 1, 4, iw_j_type, + MATCH_R1_JMPI, MASK_R1_JMPI, 0, call_target_overflow}, + {"ldb", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_LDB, MASK_R1_LDB, 0, address_offset_overflow}, + {"ldbio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_LDBIO, MASK_R1_LDBIO, 0, address_offset_overflow}, + {"ldbu", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_LDBU, MASK_R1_LDBU, 0, address_offset_overflow}, + {"ldbuio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_LDBUIO, MASK_R1_LDBUIO, 0, address_offset_overflow}, + {"ldh", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_LDH, MASK_R1_LDH, 0, address_offset_overflow}, + {"ldhio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_LDHIO, MASK_R1_LDHIO, 0, address_offset_overflow}, + {"ldhu", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_LDHU, MASK_R1_LDHU, 0, address_offset_overflow}, + {"ldhuio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_LDHUIO, MASK_R1_LDHUIO, 0, address_offset_overflow}, + {"ldw", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_LDW, MASK_R1_LDW, 0, address_offset_overflow}, + {"ldwio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_LDWIO, MASK_R1_LDWIO, 0, address_offset_overflow}, + {"mov", "d,s", "d,s,E", 2, 4, iw_r_type, + MATCH_R1_MOV, MASK_R1_MOV, NIOS2_INSN_MACRO_MOV, no_overflow}, + {"movhi", "t,u", "t,u,E", 2, 4, iw_i_type, + MATCH_R1_MOVHI, MASK_R1_MOVHI, + NIOS2_INSN_MACRO_MOVI, unsigned_immed16_overflow}, + {"movi", "t,i", "t,i,E", 2, 4, iw_i_type, + MATCH_R1_MOVI, MASK_R1_MOVI, NIOS2_INSN_MACRO_MOVI, signed_immed16_overflow}, + {"movia", "t,o", "t,o,E", 2, 4, iw_i_type, + MATCH_R1_ORHI, MASK_R1_ORHI, NIOS2_INSN_MACRO_MOVIA, no_overflow}, + {"movui", "t,u", "t,u,E", 2, 4, iw_i_type, + MATCH_R1_MOVUI, MASK_R1_MOVUI, + NIOS2_INSN_MACRO_MOVI, unsigned_immed16_overflow}, + {"mul", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_MUL, MASK_R1_MUL, 0, no_overflow}, + {"muli", "t,s,i", "t,s,i,E", 3, 4, iw_i_type, + MATCH_R1_MULI, MASK_R1_MULI, 0, signed_immed16_overflow}, + {"mulxss", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_MULXSS, MASK_R1_MULXSS, 0, no_overflow}, + {"mulxsu", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_MULXSU, MASK_R1_MULXSU, 0, no_overflow}, + {"mulxuu", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_MULXUU, MASK_R1_MULXUU, 0, no_overflow}, + {"nextpc", "d", "d,E", 1, 4, iw_r_type, + MATCH_R1_NEXTPC, MASK_R1_NEXTPC, 0, no_overflow}, + {"nop", "", "E", 0, 4, iw_r_type, + MATCH_R1_NOP, MASK_R1_NOP, NIOS2_INSN_MACRO_MOV, no_overflow}, + {"nor", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_NOR, MASK_R1_NOR, 0, no_overflow}, + {"or", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_OR, MASK_R1_OR, 0, no_overflow}, + {"orhi", "t,s,u", "t,s,u,E", 3, 4, iw_i_type, + MATCH_R1_ORHI, MASK_R1_ORHI, 0, unsigned_immed16_overflow}, + {"ori", "t,s,u", "t,s,u,E", 3, 4, iw_i_type, + MATCH_R1_ORI, MASK_R1_ORI, NIOS2_INSN_ORI, unsigned_immed16_overflow}, + {"rdctl", "d,c", "d,c,E", 2, 4, iw_r_type, + MATCH_R1_RDCTL, MASK_R1_RDCTL, 0, no_overflow}, + {"rdprs", "t,s,i", "t,s,i,E", 3, 4, iw_i_type, + MATCH_R1_RDPRS, MASK_R1_RDPRS, 0, signed_immed16_overflow}, + {"ret", "", "E", 0, 4, iw_r_type, + MATCH_R1_RET, MASK_R1_RET, 0, no_overflow}, + {"rol", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_ROL, MASK_R1_ROL, 0, no_overflow}, + {"roli", "d,s,j", "d,s,j,E", 3, 4, iw_r_type, + MATCH_R1_ROLI, MASK_R1_ROLI, 0, unsigned_immed5_overflow}, + {"ror", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_ROR, MASK_R1_ROR, 0, no_overflow}, + {"sll", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_SLL, MASK_R1_SLL, 0, no_overflow}, + {"slli", "d,s,j", "d,s,j,E", 3, 4, iw_r_type, + MATCH_R1_SLLI, MASK_R1_SLLI, 0, unsigned_immed5_overflow}, + {"sra", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_SRA, MASK_R1_SRA, 0, no_overflow}, + {"srai", "d,s,j", "d,s,j,E", 3, 4, iw_r_type, + MATCH_R1_SRAI, MASK_R1_SRAI, 0, unsigned_immed5_overflow}, + {"srl", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_SRL, MASK_R1_SRL, 0, no_overflow}, + {"srli", "d,s,j", "d,s,j,E", 3, 4, iw_r_type, + MATCH_R1_SRLI, MASK_R1_SRLI, 0, unsigned_immed5_overflow}, + {"stb", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_STB, MASK_R1_STB, 0, address_offset_overflow}, + {"stbio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_STBIO, MASK_R1_STBIO, 0, address_offset_overflow}, + {"sth", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_STH, MASK_R1_STH, 0, address_offset_overflow}, + {"sthio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_STHIO, MASK_R1_STHIO, 0, address_offset_overflow}, + {"stw", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_STW, MASK_R1_STW, 0, address_offset_overflow}, + {"stwio", "t,i(s)", "t,i(s),E", 3, 4, iw_i_type, + MATCH_R1_STWIO, MASK_R1_STWIO, 0, address_offset_overflow}, + {"sub", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_SUB, MASK_R1_SUB, 0, no_overflow}, + {"subi", "t,s,i", "t,s,i,E", 3, 4, iw_i_type, + MATCH_R1_SUBI, MASK_R1_SUBI, NIOS2_INSN_MACRO, signed_immed16_overflow}, + {"sync", "", "E", 0, 4, iw_r_type, + MATCH_R1_SYNC, MASK_R1_SYNC, 0, no_overflow}, + {"trap", "j", "j,E", 1, 4, iw_r_type, + MATCH_R1_TRAP, MASK_R1_TRAP, NIOS2_INSN_OPTARG, no_overflow}, + {"wrctl", "c,s", "c,s,E", 2, 4, iw_r_type, + MATCH_R1_WRCTL, MASK_R1_WRCTL, 0, no_overflow}, + {"wrprs", "d,s", "d,s,E", 2, 4, iw_r_type, + MATCH_R1_WRPRS, MASK_R1_WRPRS, 0, no_overflow}, + {"xor", "d,s,t", "d,s,t,E", 3, 4, iw_r_type, + MATCH_R1_XOR, MASK_R1_XOR, 0, no_overflow}, + {"xorhi", "t,s,u", "t,s,u,E", 3, 4, iw_i_type, + MATCH_R1_XORHI, MASK_R1_XORHI, 0, unsigned_immed16_overflow}, + {"xori", "t,s,u", "t,s,u,E", 3, 4, iw_i_type, + MATCH_R1_XORI, MASK_R1_XORI, NIOS2_INSN_XORI, unsigned_immed16_overflow} }; #define NIOS2_NUM_OPCODES \ - ((sizeof nios2_builtin_opcodes) / (sizeof (nios2_builtin_opcodes[0]))) -const int bfd_nios2_num_builtin_opcodes = NIOS2_NUM_OPCODES; + ((sizeof nios2_r1_opcodes) / (sizeof (nios2_r1_opcodes[0]))) +const int nios2_num_r1_opcodes = NIOS2_NUM_OPCODES; -/* This is not const to allow for dynamic extensions to the - built-in instruction set. */ -struct nios2_opcode *nios2_opcodes = - (struct nios2_opcode *) nios2_builtin_opcodes; -int bfd_nios2_num_opcodes = NIOS2_NUM_OPCODES; +struct nios2_opcode *nios2_opcodes = (struct nios2_opcode *) nios2_r1_opcodes; +int nios2_num_opcodes = NIOS2_NUM_OPCODES; #undef NIOS2_NUM_OPCODES diff --git a/binutils-2.25/opcodes/sparc-opc.c b/binutils-2.25/opcodes/sparc-opc.c index 1150b2f..7568974 100644 --- a/binutils-2.25/opcodes/sparc-opc.c +++ b/binutils-2.25/opcodes/sparc-opc.c @@ -314,12 +314,12 @@ const struct sparc_opcode sparc_opcodes[] = { { "ldx", F3(3, 0x21, 1)|RD(1), F3(~3, ~0x21, ~1)|RS1_G0|RD(~1), "[i],F", 0, 0, 0, v9 }, { "ldx", F3(3, 0x21, 1)|RD(1), F3(~3, ~0x21, ~1)|SIMM13(~0)|RD(~1),"[1],F", 0, 0, 0, v9 }, /* ld [rs1+0],d */ -{ "ldx", F3(3, 0x21, 0)|RD(3), F3(~3, ~0x21, ~0)|RD(~3), "[1+2],(", 0, 0, 0, v9b }, -{ "ldx", F3(3, 0x21, 0)|RD(3), F3(~3, ~0x21, ~0)|RS2_G0|RD(~3),"[1],(", 0, 0, 0, v9b }, -{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|RD(~3), "[1+i],(", 0, 0, 0, v9b }, -{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|RD(~3), "[i+1],(", 0, 0, 0, v9b }, -{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|RS1_G0|RD(~3),"[i],(", 0, 0, 0, v9b }, -{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|SIMM13(~0)|RD(~3),"[1],(", 0, 0, 0, v9b }, +{ "ldx", F3(3, 0x21, 0)|RD(3), F3(~3, ~0x21, ~0)|RD(~3), "[1+2],(", 0, 0, HWCAP2_VIS3B, v9b }, +{ "ldx", F3(3, 0x21, 0)|RD(3), F3(~3, ~0x21, ~0)|RS2_G0|RD(~3),"[1],(", 0, 0, HWCAP2_VIS3B, v9b }, +{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|RD(~3), "[1+i],(", 0, 0, HWCAP2_VIS3B, v9b }, +{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|RD(~3), "[i+1],(", 0, 0, HWCAP2_VIS3B, v9b }, +{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|RS1_G0|RD(~3),"[i],(", 0, 0, HWCAP2_VIS3B, v9b }, +{ "ldx", F3(3, 0x21, 1)|RD(3), F3(~3, ~0x21, ~1)|SIMM13(~0)|RD(~3),"[1],(", 0, 0, HWCAP2_VIS3B, v9b }, { "lda", F3(3, 0x10, 0), F3(~3, ~0x10, ~0), "[1+2]A,d", 0, 0, 0, v6 }, { "lda", F3(3, 0x10, 0), F3(~3, ~0x10, ~0)|RS2_G0, "[1]A,d", 0, 0, 0, v6 }, /* lda [rs1+%g0],d */ @@ -920,10 +920,10 @@ const struct sparc_opcode sparc_opcodes[] = { { "wr", F3(2, 0x30, 1)|RD(22), F3(~2, ~0x30, ~1)|RD(~22), "1,i,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,i,%softint */ { "wr", F3(2, 0x30, 0)|RD(23), F3(~2, ~0x30, ~0)|RD(~23)|ASI(~0), "1,2,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,r,%tick_cmpr */ { "wr", F3(2, 0x30, 1)|RD(23), F3(~2, ~0x30, ~1)|RD(~23), "1,i,_", 0, HWCAP_VIS, 0, v9a }, /* wr r,i,%tick_cmpr */ -{ "wr", F3(2, 0x30, 0)|RD(24), F3(~2, ~0x30, ~0)|RD(~24)|ASI(~0), "1,2,_", HWCAP_VIS2, 0, 0, v9b }, /* wr r,r,%sys_tick */ -{ "wr", F3(2, 0x30, 1)|RD(24), F3(~2, ~0x30, ~1)|RD(~24), "1,i,_", HWCAP_VIS2, 0, 0, v9b }, /* wr r,i,%sys_tick */ -{ "wr", F3(2, 0x30, 0)|RD(25), F3(~2, ~0x30, ~0)|RD(~25)|ASI(~0), "1,2,_", HWCAP_VIS2, 0, 0, v9b }, /* wr r,r,%sys_tick_cmpr */ -{ "wr", F3(2, 0x30, 1)|RD(25), F3(~2, ~0x30, ~1)|RD(~25), "1,i,_", HWCAP_VIS2, 0, 0, v9b }, /* wr r,i,%sys_tick_cmpr */ +{ "wr", F3(2, 0x30, 0)|RD(24), F3(~2, ~0x30, ~0)|RD(~24)|ASI(~0), "1,2,_", 0, HWCAP_VIS2, 0, v9b }, /* wr r,r,%sys_tick */ +{ "wr", F3(2, 0x30, 1)|RD(24), F3(~2, ~0x30, ~1)|RD(~24), "1,i,_", 0, HWCAP_VIS2, 0, v9b }, /* wr r,i,%sys_tick */ +{ "wr", F3(2, 0x30, 0)|RD(25), F3(~2, ~0x30, ~0)|RD(~25)|ASI(~0), "1,2,_", 0, HWCAP_VIS2, 0, v9b }, /* wr r,r,%sys_tick_cmpr */ +{ "wr", F3(2, 0x30, 1)|RD(25), F3(~2, ~0x30, ~1)|RD(~25), "1,i,_", 0, HWCAP_VIS2, 0, v9b }, /* wr r,i,%sys_tick_cmpr */ { "wr", F3(2, 0x30, 0)|RD(26), F3(~2, ~0x30, ~0)|RD(~26)|ASI(~0), "1,2,_", 0, HWCAP_CBCOND, 0, v9b }, /* wr r,r,%cfr */ { "wr", F3(2, 0x30, 1)|RD(26), F3(~2, ~0x30, ~1)|RD(~26), "1,i,_", 0, HWCAP_CBCOND, 0, v9b }, /* wr r,i,%cfr */ { "wr", F3(2, 0x30, 0)|RD(27), F3(~2, ~0x30, ~0)|RD(~27)|ASI(~0), "1,2,_", 0, HWCAP_PAUSE, 0, v9b }, /* wr r,r,%pause */ @@ -1927,17 +1927,17 @@ SLCBCC("cbnefr", 15), { "array32", F3F(2, 0x36, 0x014), F3F(~2, ~0x36, ~0x014), "1,2,d", 0, HWCAP_VIS, 0, v9a }, /* Cheetah instructions */ -{ "edge8n", F3F(2, 0x36, 0x001), F3F(~2, ~0x36, ~0x001), "1,2,d", HWCAP_VIS2, 0, 0, v9b }, -{ "edge8ln", F3F(2, 0x36, 0x003), F3F(~2, ~0x36, ~0x003), "1,2,d", HWCAP_VIS2, 0, 0, v9b }, -{ "edge16n", F3F(2, 0x36, 0x005), F3F(~2, ~0x36, ~0x005), "1,2,d", HWCAP_VIS2, 0, 0, v9b }, -{ "edge16ln", F3F(2, 0x36, 0x007), F3F(~2, ~0x36, ~0x007), "1,2,d", HWCAP_VIS2, 0, 0, v9b }, -{ "edge32n", F3F(2, 0x36, 0x009), F3F(~2, ~0x36, ~0x009), "1,2,d", HWCAP_VIS2, 0, 0, v9b }, -{ "edge32ln", F3F(2, 0x36, 0x00b), F3F(~2, ~0x36, ~0x00b), "1,2,d", HWCAP_VIS2, 0, 0, v9b }, +{ "edge8n", F3F(2, 0x36, 0x001), F3F(~2, ~0x36, ~0x001), "1,2,d", 0, HWCAP_VIS2, 0, v9b }, +{ "edge8ln", F3F(2, 0x36, 0x003), F3F(~2, ~0x36, ~0x003), "1,2,d", 0, HWCAP_VIS2, 0, v9b }, +{ "edge16n", F3F(2, 0x36, 0x005), F3F(~2, ~0x36, ~0x005), "1,2,d", 0, HWCAP_VIS2, 0, v9b }, +{ "edge16ln", F3F(2, 0x36, 0x007), F3F(~2, ~0x36, ~0x007), "1,2,d", 0, HWCAP_VIS2, 0, v9b }, +{ "edge32n", F3F(2, 0x36, 0x009), F3F(~2, ~0x36, ~0x009), "1,2,d", 0, HWCAP_VIS2, 0, v9b }, +{ "edge32ln", F3F(2, 0x36, 0x00b), F3F(~2, ~0x36, ~0x00b), "1,2,d", 0, HWCAP_VIS2, 0, v9b }, -{ "bmask", F3F(2, 0x36, 0x019), F3F(~2, ~0x36, ~0x019), "1,2,d", HWCAP_VIS2, 0, 0, v9b }, -{ "bshuffle", F3F(2, 0x36, 0x04c), F3F(~2, ~0x36, ~0x04c), "v,B,H", HWCAP_VIS2, 0, 0, v9b }, +{ "bmask", F3F(2, 0x36, 0x019), F3F(~2, ~0x36, ~0x019), "1,2,d", 0, HWCAP_VIS2, 0, v9b }, +{ "bshuffle", F3F(2, 0x36, 0x04c), F3F(~2, ~0x36, ~0x04c), "v,B,H", 0, HWCAP_VIS2, 0, v9b }, -{ "siam", F3F(2, 0x36, 0x081), F3F(~2, ~0x36, ~0x081)|RD_G0|RS1_G0|RS2(~7), "3", HWCAP_VIS2, 0, 0, v9b }, +{ "siam", F3F(2, 0x36, 0x081), F3F(~2, ~0x36, ~0x081)|RD_G0|RS1_G0|RS2(~7), "3", 0, HWCAP_VIS2, 0, v9b }, { "fnadds", F3F(2, 0x34, 0x051), F3F(~2, ~0x34, ~0x051), "e,f,g", F_FLOAT, HWCAP_HPC, 0, v9b }, { "fnaddd", F3F(2, 0x34, 0x052), F3F(~2, ~0x34, ~0x052), "v,B,H", F_FLOAT, HWCAP_HPC, 0, v9b }, @@ -1986,9 +1986,9 @@ SLCBCC("cbnefr", 15), { "fsra32", F3F(2, 0x36, 0x02f), F3F(~2, ~0x36, ~0x02f), "v,B,H", 0, HWCAP_VIS3, 0, v9b }, { "pdistn", F3F(2, 0x36, 0x03f), F3F(~2, ~0x36, ~0x03f), "v,B,d", 0, HWCAP_VIS3, 0, v9b }, { "fmean16", F3F(2, 0x36, 0x040), F3F(~2, ~0x36, ~0x040), "v,B,H", 0, HWCAP_VIS3, 0, v9b }, -{ "fpadd64", F3F(2, 0x36, 0x042), F3F(~2, ~0x36, ~0x042), "v,B,H", 0, HWCAP_VIS3, 0, v9b }, +{ "fpadd64", F3F(2, 0x36, 0x042), F3F(~2, ~0x36, ~0x042), "v,B,H", 0, HWCAP_VIS3, HWCAP2_VIS3B, v9b }, { "fchksm16", F3F(2, 0x36, 0x044), F3F(~2, ~0x36, ~0x044), "v,B,H", 0, HWCAP_VIS3, 0, v9b }, -{ "fpsub64", F3F(2, 0x36, 0x046), F3F(~2, ~0x36, ~0x046), "v,B,H", 0, HWCAP_VIS3, 0, v9b }, +{ "fpsub64", F3F(2, 0x36, 0x046), F3F(~2, ~0x36, ~0x046), "v,B,H", 0, HWCAP_VIS3, HWCAP2_VIS3B, v9b }, { "fpadds16", F3F(2, 0x36, 0x058), F3F(~2, ~0x36, ~0x058), "v,B,H", 0, HWCAP_VIS3, 0, v9b }, { "fpadds16s", F3F(2, 0x36, 0x059), F3F(~2, ~0x36, ~0x059), "e,f,g", 0, HWCAP_VIS3, 0, v9b }, { "fpadds32", F3F(2, 0x36, 0x05a), F3F(~2, ~0x36, ~0x05a), "v,B,H", 0, HWCAP_VIS3, 0, v9b }, @@ -2004,14 +2004,14 @@ SLCBCC("cbnefr", 15), { "movwtos", F3F(2, 0x36, 0x119), F3F(~2, ~0x36, ~0x119), "2,g", F_FLOAT, HWCAP_VIS3, 0, v9b }, { "xmulx", F3F(2, 0x36, 0x115), F3F(~2, ~0x36, ~0x115), "1,2,d", 0, HWCAP_VIS3, 0, v9b }, { "xmulxhi", F3F(2, 0x36, 0x116), F3F(~2, ~0x36, ~0x116), "1,2,d", 0, HWCAP_VIS3, 0, v9b }, -{ "fpcmpule8", F3F(2, 0x36, 0x120), F3F(~2, ~0x36, ~0x120), "v,B,d", 0, HWCAP_VIS3, 0, v9b }, +{ "fpcmpule8", F3F(2, 0x36, 0x120), F3F(~2, ~0x36, ~0x120), "v,B,d", 0, HWCAP_VIS3, HWCAP2_VIS3B, v9b }, { "fucmple8", F3F(2, 0x36, 0x120), F3F(~2, ~0x36, ~0x120), "v,B,d", F_ALIAS, HWCAP_VIS3, 0, v9b }, -{ "fpcmpune8", F3F(2, 0x36, 0x122), F3F(~2, ~0x36, ~0x122), "v,B,d", 0, HWCAP_VIS3, 0, v9b }, +{ "fpcmpune8", F3F(2, 0x36, 0x122), F3F(~2, ~0x36, ~0x122), "v,B,d", 0, HWCAP_VIS3, HWCAP2_VIS3B, v9b }, { "fpcmpne8", F3F(2, 0x36, 0x122), F3F(~2, ~0x36, ~0x122), "v,B,d", F_PREF_ALIAS, HWCAP_VIS3, 0, v9b }, { "fucmpne8", F3F(2, 0x36, 0x122), F3F(~2, ~0x36, ~0x122), "v,B,d", F_ALIAS, HWCAP_VIS3, 0, v9b }, -{ "fpcmpugt8", F3F(2, 0x36, 0x128), F3F(~2, ~0x36, ~0x128), "v,B,d", 0, HWCAP_VIS3, 0, v9b }, +{ "fpcmpugt8", F3F(2, 0x36, 0x128), F3F(~2, ~0x36, ~0x128), "v,B,d", 0, HWCAP_VIS3, HWCAP2_VIS3B, v9b }, { "fucmpgt8", F3F(2, 0x36, 0x128), F3F(~2, ~0x36, ~0x128), "v,B,d", F_ALIAS, HWCAP_VIS3, 0, v9b }, -{ "fpcmpueq8", F3F(2, 0x36, 0x12a), F3F(~2, ~0x36, ~0x12a), "v,B,d", 0, HWCAP_VIS3, 0, v9b }, +{ "fpcmpueq8", F3F(2, 0x36, 0x12a), F3F(~2, ~0x36, ~0x12a), "v,B,d", 0, HWCAP_VIS3, HWCAP2_VIS3B, v9b }, { "fpcmpeq8", F3F(2, 0x36, 0x12a), F3F(~2, ~0x36, ~0x12a), "v,B,d", F_PREF_ALIAS, HWCAP_VIS3, 0, v9b }, { "fucmpeq8", F3F(2, 0x36, 0x12a), F3F(~2, ~0x36, ~0x12a), "v,B,d", F_ALIAS, HWCAP_VIS3, 0, v9b }, {"aes_kexpand0",F3F(2, 0x36, 0x130), F3F(~2, ~0x36, ~0x130), "v,B,H", F_FLOAT, HWCAP_AES, 0, v9b }, diff --git a/binutils-2.25/ylwrap b/binutils-2.25/ylwrap index 84d5634..13fa706 100755 --- a/binutils-2.25/ylwrap +++ b/binutils-2.25/ylwrap @@ -1,10 +1,9 @@ #! /bin/sh # ylwrap - wrapper for lex/yacc invocations. -scriptversion=2009-04-28.21; # UTC +scriptversion=2013-01-12.17; # UTC -# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, -# 2007, 2009 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # # Written by Tom Tromey <tromey@cygnus.com>. # @@ -30,9 +29,41 @@ scriptversion=2009-04-28.21; # UTC # bugs to <bug-automake@gnu.org> or send patches to # <automake-patches@gnu.org>. +get_dirname () +{ + case $1 in + */*|*\\*) printf '%s\n' "$1" | sed -e 's|\([\\/]\)[^\\/]*$|\1|';; + # Otherwise, we want the empty string (not "."). + esac +} + +# guard FILE +# ---------- +# The CPP macro used to guard inclusion of FILE. +guard () +{ + printf '%s\n' "$1" \ + | sed \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ + -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g' \ + -e 's/__*/_/g' +} + +# quote_for_sed [STRING] +# ---------------------- +# Return STRING (or stdin) quoted to be used as a sed pattern. +quote_for_sed () +{ + case $# in + 0) cat;; + 1) printf '%s\n' "$1";; + esac \ + | sed -e 's|[][\\.*]|\\&|g' +} + case "$1" in '') - echo "$0: No files given. Try \`$0 --help' for more information." 1>&2 + echo "$0: No files given. Try '$0 --help' for more information." 1>&2 exit 1 ;; --basedir) @@ -65,41 +96,62 @@ esac # The input. -input="$1" +input=$1 shift -case "$input" in +# We'll later need for a correct munging of "#line" directives. +input_sub_rx=`get_dirname "$input" | quote_for_sed` +case $input in [\\/]* | ?:[\\/]*) # Absolute path; do nothing. ;; *) # Relative path. Make it absolute. - input="`pwd`/$input" + input=`pwd`/$input ;; esac +input_rx=`get_dirname "$input" | quote_for_sed` + +# The parser itself, the first file, is the destination of the .y.c +# rule in the Makefile. +parser=$1 + +# A sed program to s/FROM/TO/g for all the FROM/TO so that, for +# instance, we rename #include "y.tab.h" into #include "parse.h" +# during the conversion from y.tab.c to parse.c. +sed_fix_filenames= + +# Also rename header guards, as Bison 2.7 for instance uses its header +# guard in its implementation file. +sed_fix_header_guards= -pairlist= -while test "$#" -ne 0; do - if test "$1" = "--"; then +while test $# -ne 0; do + if test x"$1" = x"--"; then shift break fi - pairlist="$pairlist $1" + from=$1 shift + to=$1 + shift + sed_fix_filenames="${sed_fix_filenames}s|"`quote_for_sed "$from"`"|$to|g;" + sed_fix_header_guards="${sed_fix_header_guards}s|"`guard "$from"`"|"`guard "$to"`"|g;" done # The program to run. -prog="$1" +prog=$1 shift # Make any relative path in $prog absolute. -case "$prog" in +case $prog in [\\/]* | ?:[\\/]*) ;; - *[\\/]*) prog="`pwd`/$prog" ;; + *[\\/]*) prog=`pwd`/$prog ;; esac -# FIXME: add hostname here for parallel makes that run commands on -# other machines. But that might take us over the 14-char limit. dirname=ylwrap$$ -trap "cd '`pwd`'; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15 +do_exit="cd '`pwd`' && rm -rf $dirname > /dev/null 2>&1;"' (exit $ret); exit $ret' +trap "ret=129; $do_exit" 1 +trap "ret=130; $do_exit" 2 +trap "ret=141; $do_exit" 13 +trap "ret=143; $do_exit" 15 mkdir $dirname || exit 1 cd $dirname @@ -111,98 +163,56 @@ esac ret=$? if test $ret -eq 0; then - set X $pairlist - shift - first=yes - # Since DOS filename conventions don't allow two dots, - # the DOS version of Bison writes out y_tab.c instead of y.tab.c - # and y_tab.h instead of y.tab.h. Test to see if this is the case. - y_tab_nodot="no" - if test -f y_tab.c || test -f y_tab.h; then - y_tab_nodot="yes" - fi - - # The directory holding the input. - input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'` - # Quote $INPUT_DIR so we can use it in a regexp. - # FIXME: really we should care about more than `.' and `\'. - input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'` - - while test "$#" -ne 0; do - from="$1" - # Handle y_tab.c and y_tab.h output by DOS - if test $y_tab_nodot = "yes"; then - if test $from = "y.tab.c"; then - from="y_tab.c" - else - if test $from = "y.tab.h"; then - from="y_tab.h" - fi - fi - fi + for from in * + do + to=`printf '%s\n' "$from" | sed "$sed_fix_filenames"` if test -f "$from"; then # If $2 is an absolute path name, then just use that, - # otherwise prepend `../'. - case "$2" in - [\\/]* | ?:[\\/]*) target="$2";; - *) target="../$2";; + # otherwise prepend '../'. + case $to in + [\\/]* | ?:[\\/]*) target=$to;; + *) target=../$to;; esac - # We do not want to overwrite a header file if it hasn't - # changed. This avoid useless recompilations. However the - # parser itself (the first file) should always be updated, - # because it is the destination of the .y.c rule in the - # Makefile. Divert the output of all other files to a temporary - # file so we can compare them to existing versions. - if test $first = no; then - realtarget="$target" - target="tmp-`echo $target | sed s/.*[\\/]//g`" + # Do not overwrite unchanged header files to avoid useless + # recompilations. Always update the parser itself: it is the + # destination of the .y.c rule in the Makefile. Divert the + # output of all other files to a temporary file so we can + # compare them to existing versions. + if test $from != $parser; then + realtarget=$target + target=tmp-`printf '%s\n' "$target" | sed 's|.*[\\/]||g'` fi - # Edit out `#line' or `#' directives. - # - # We don't want the resulting debug information to point at - # an absolute srcdir; it is better for it to just mention the - # .y file with no path. - # - # We want to use the real output file name, not yy.lex.c for - # instance. - # - # We want the include guards to be adjusted too. - FROM=`echo "$from" | sed \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ - -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` - TARGET=`echo "$2" | sed \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ - -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` - - sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \ - -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$? - - # Check whether header files must be updated. - if test $first = no; then - if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then - echo "$2" is unchanged - rm -f "$target" - else - echo updating "$2" + + # Munge "#line" or "#" directives. Don't let the resulting + # debug information point at an absolute srcdir. Use the real + # output file name, not yy.lex.c for instance. Adjust the + # include guards too. + sed -e "/^#/!b" \ + -e "s|$input_rx|$input_sub_rx|" \ + -e "$sed_fix_filenames" \ + -e "$sed_fix_header_guards" \ + "$from" >"$target" || ret=$? + + # Check whether files must be updated. + if test "$from" != "$parser"; then + if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then + echo "$to is unchanged" + rm -f "$target" + else + echo "updating $to" mv -f "$target" "$realtarget" fi fi else - # A missing file is only an error for the first file. This - # is a blatant hack to let us support using "yacc -d". If -d - # is not specified, we don't want an error when the header - # file is "missing". - if test $first = yes; then + # A missing file is only an error for the parser. This is a + # blatant hack to let us support using "yacc -d". If -d is not + # specified, don't fail when the header file is "missing". + if test "$from" = "$parser"; then ret=1 fi fi - shift - shift - first=no done -else - ret=$? fi # Remove the directory. |