summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--binutils-2.25/ChangeLog18
-rw-r--r--binutils-2.25/MAINTAINERS5
-rw-r--r--binutils-2.25/README.google270
-rw-r--r--binutils-2.25/bfd/.gitignore40
-rw-r--r--binutils-2.25/bfd/ChangeLog429
-rw-r--r--binutils-2.25/bfd/Makefile.in2
-rw-r--r--binutils-2.25/bfd/archures.c1
-rw-r--r--binutils-2.25/bfd/bfd-in2.h1
-rwxr-xr-xbinutils-2.25/bfd/configure20
-rw-r--r--binutils-2.25/bfd/cpu-mips.c2
-rw-r--r--binutils-2.25/bfd/development.sh2
-rw-r--r--binutils-2.25/bfd/doc/Makefile.in2
-rw-r--r--binutils-2.25/bfd/elf-attrs.c4
-rw-r--r--binutils-2.25/bfd/elf32-arm.c41
-rw-r--r--binutils-2.25/bfd/elf32-avr.c39
-rw-r--r--binutils-2.25/bfd/elf32-i386.c2
-rw-r--r--binutils-2.25/bfd/elf32-spu.c14
-rw-r--r--binutils-2.25/bfd/elf64-ppc.c4
-rw-r--r--binutils-2.25/bfd/elf64-x86-64.c32
-rw-r--r--binutils-2.25/bfd/elfxx-mips.c34
-rw-r--r--binutils-2.25/bfd/version.h2
-rw-r--r--binutils-2.25/bfd/version.m42
-rw-r--r--binutils-2.25/binutils/.gitignore58
-rw-r--r--binutils-2.25/binutils/ChangeLog93
-rw-r--r--binutils-2.25/binutils/Makefile.in2
-rw-r--r--binutils-2.25/binutils/bfdtest2.c210
-rwxr-xr-xbinutils-2.25/binutils/configure20
-rw-r--r--binutils-2.25/binutils/cxxfilt.c1
-rw-r--r--binutils-2.25/binutils/doc/Makefile.am2
-rw-r--r--binutils-2.25/binutils/doc/Makefile.in4
-rw-r--r--binutils-2.25/binutils/dwarf.c926
-rw-r--r--binutils-2.25/binutils/dwarf.h3
-rw-r--r--binutils-2.25/binutils/readelf.c6
-rwxr-xr-xbinutils-2.25/compile236
-rwxr-xr-xbinutils-2.25/config.guess11
-rwxr-xr-xbinutils-2.25/config.sub11
-rwxr-xr-xbinutils-2.25/configure2
-rw-r--r--binutils-2.25/configure.ac2
-rwxr-xr-xbinutils-2.25/depcomp544
-rwxr-xr-xbinutils-2.25/djunpack.bat52
-rw-r--r--binutils-2.25/elfcpp/ChangeLog4
-rw-r--r--binutils-2.25/elfcpp/arm.h5
-rw-r--r--binutils-2.25/elfcpp/dwarf.h22
-rw-r--r--binutils-2.25/gas/.gitignore9
-rw-r--r--binutils-2.25/gas/ChangeLog250
-rw-r--r--binutils-2.25/gas/Makefile.in2
-rw-r--r--binutils-2.25/gas/app.c6
-rw-r--r--binutils-2.25/gas/as.c17
-rw-r--r--binutils-2.25/gas/as.h3
-rwxr-xr-x[-rw-r--r--]binutils-2.25/gas/config/bfin-aux.h0
-rw-r--r--binutils-2.25/gas/config/m68k-parse.y12
-rw-r--r--binutils-2.25/gas/config/obj-elf.c4
-rw-r--r--binutils-2.25/gas/config/tc-aarch64.c38
-rw-r--r--binutils-2.25/gas/config/tc-alpha.c2
-rw-r--r--binutils-2.25/gas/config/tc-bfin.c2
-rw-r--r--binutils-2.25/gas/config/tc-d10v.c4
-rw-r--r--binutils-2.25/gas/config/tc-d30v.c6
-rwxr-xr-x[-rw-r--r--]binutils-2.25/gas/config/tc-epiphany.c0
-rwxr-xr-x[-rw-r--r--]binutils-2.25/gas/config/tc-epiphany.h0
-rw-r--r--binutils-2.25/gas/config/tc-i386-intel.c4
-rw-r--r--binutils-2.25/gas/config/tc-i386.c63
-rw-r--r--binutils-2.25/gas/config/tc-i860.c2
-rw-r--r--binutils-2.25/gas/config/tc-m68hc11.c2
-rw-r--r--binutils-2.25/gas/config/tc-m68k.c24
-rw-r--r--binutils-2.25/gas/config/tc-mips.c6
-rw-r--r--binutils-2.25/gas/config/tc-mn10200.c2
-rw-r--r--binutils-2.25/gas/config/tc-nios2.c1115
-rw-r--r--binutils-2.25/gas/config/tc-s390.c4
-rw-r--r--binutils-2.25/gas/config/tc-sh.c2
-rw-r--r--binutils-2.25/gas/config/tc-sparc.c4
-rw-r--r--binutils-2.25/gas/config/tc-tic30.c2
-rw-r--r--binutils-2.25/gas/config/tc-tic4x.c4
-rw-r--r--binutils-2.25/gas/config/tc-z80.c4
-rwxr-xr-xbinutils-2.25/gas/configure20
-rw-r--r--binutils-2.25/gas/doc/Makefile.am2
-rw-r--r--binutils-2.25/gas/doc/Makefile.in4
-rw-r--r--binutils-2.25/gas/doc/as.texinfo2
-rw-r--r--binutils-2.25/gas/doc/c-aarch64.texi4
-rw-r--r--binutils-2.25/gas/doc/c-mips.texi1
-rw-r--r--binutils-2.25/gas/dwarf2dbg.c817
-rw-r--r--binutils-2.25/gas/dwarf2dbg.h19
-rw-r--r--binutils-2.25/gas/ecoff.c102
-rw-r--r--binutils-2.25/gas/expr.c2
-rw-r--r--binutils-2.25/gas/frags.c10
-rw-r--r--binutils-2.25/gas/input-file.c4
-rw-r--r--binutils-2.25/gas/input-scrub.c6
-rw-r--r--binutils-2.25/gas/po/gas.pot8103
-rw-r--r--binutils-2.25/gas/read.c22
-rw-r--r--binutils-2.25/gas/subsegs.c2
-rw-r--r--binutils-2.25/gas/symbols.c18
-rw-r--r--binutils-2.25/gas/testsuite/ChangeLog54
-rw-r--r--binutils-2.25/gas/testsuite/gas/aarch64/mapmisc.d2
-rw-r--r--binutils-2.25/gas/testsuite/gas/all/cond.l3
-rw-r--r--binutils-2.25/gas/testsuite/gas/all/cond.s11
-rw-r--r--binutils-2.25/gas/testsuite/gas/all/incbin.d2
-rw-r--r--[-rwxr-xr-x]binutils-2.25/gas/testsuite/gas/epiphany/sample.s0
-rw-r--r--binutils-2.25/gas/testsuite/gas/i386/reloc64.d2
-rw-r--r--binutils-2.25/gas/testsuite/gas/i386/reloc64.l10
-rw-r--r--binutils-2.25/gas/testsuite/gas/i386/reloc64.s16
-rw-r--r--binutils-2.25/gas/testsuite/gas/i386/x86-64-mpx-branch-1.d16
-rw-r--r--binutils-2.25/gas/testsuite/gas/i386/x86-64-mpx-branch-2.d16
-rw-r--r--binutils-2.25/gas/testsuite/gas/mips/mips.exp4
-rw-r--r--binutils-2.25/gas/testsuite/gas/mips/octeon3.d20
-rw-r--r--binutils-2.25/gas/testsuite/gas/mips/octeon3.s22
-rwxr-xr-x[-rw-r--r--]binutils-2.25/gas/testsuite/gas/pe/pe.exp0
-rw-r--r--binutils-2.25/gas/write.c4
-rw-r--r--binutils-2.25/gold/ChangeLog602
-rw-r--r--binutils-2.25/gold/Makefile.am4
-rw-r--r--binutils-2.25/gold/Makefile.in242
-rw-r--r--binutils-2.25/gold/NEWS2
-rw-r--r--binutils-2.25/gold/README2
-rw-r--r--binutils-2.25/gold/aarch64-reloc-property.cc2
-rw-r--r--binutils-2.25/gold/aarch64-reloc-property.h2
-rw-r--r--binutils-2.25/gold/aarch64-reloc.def4
-rw-r--r--binutils-2.25/gold/aarch64.cc199
-rw-r--r--binutils-2.25/gold/archive.cc2
-rw-r--r--binutils-2.25/gold/archive.h2
-rw-r--r--binutils-2.25/gold/arm-reloc-property.cc2
-rw-r--r--binutils-2.25/gold/arm-reloc-property.h2
-rw-r--r--binutils-2.25/gold/arm-reloc.def2
-rw-r--r--binutils-2.25/gold/arm.cc103
-rw-r--r--binutils-2.25/gold/attributes.cc2
-rw-r--r--binutils-2.25/gold/attributes.h2
-rw-r--r--binutils-2.25/gold/binary.cc2
-rw-r--r--binutils-2.25/gold/binary.h2
-rw-r--r--binutils-2.25/gold/common.cc2
-rw-r--r--binutils-2.25/gold/common.h2
-rw-r--r--binutils-2.25/gold/compressed_output.cc2
-rw-r--r--binutils-2.25/gold/compressed_output.h2
-rwxr-xr-xbinutils-2.25/gold/configure40
-rw-r--r--binutils-2.25/gold/configure.ac23
-rw-r--r--binutils-2.25/gold/configure.tgt2
-rw-r--r--binutils-2.25/gold/copy-relocs.cc2
-rw-r--r--binutils-2.25/gold/copy-relocs.h2
-rw-r--r--binutils-2.25/gold/cref.cc2
-rw-r--r--binutils-2.25/gold/cref.h2
-rw-r--r--binutils-2.25/gold/debug.h7
-rw-r--r--binutils-2.25/gold/defstd.cc2
-rw-r--r--binutils-2.25/gold/defstd.h2
-rw-r--r--binutils-2.25/gold/descriptors.cc2
-rw-r--r--binutils-2.25/gold/descriptors.h2
-rw-r--r--binutils-2.25/gold/dirsearch.cc2
-rw-r--r--binutils-2.25/gold/dirsearch.h2
-rw-r--r--binutils-2.25/gold/dwarf_reader.cc503
-rw-r--r--binutils-2.25/gold/dwarf_reader.h39
-rw-r--r--binutils-2.25/gold/dwp.cc74
-rw-r--r--binutils-2.25/gold/dwp.h2
-rw-r--r--binutils-2.25/gold/dynobj.cc13
-rw-r--r--binutils-2.25/gold/dynobj.h2
-rw-r--r--binutils-2.25/gold/ehframe.cc20
-rw-r--r--binutils-2.25/gold/ehframe.h12
-rw-r--r--binutils-2.25/gold/errors.cc5
-rw-r--r--binutils-2.25/gold/errors.h2
-rw-r--r--binutils-2.25/gold/expression.cc2
-rw-r--r--binutils-2.25/gold/ffsll.c2
-rw-r--r--binutils-2.25/gold/fileread.cc2
-rw-r--r--binutils-2.25/gold/fileread.h2
-rw-r--r--binutils-2.25/gold/freebsd.h2
-rw-r--r--binutils-2.25/gold/ftruncate.c2
-rw-r--r--binutils-2.25/gold/gc.cc2
-rw-r--r--binutils-2.25/gold/gc.h2
-rw-r--r--binutils-2.25/gold/gdb-index.cc2
-rw-r--r--binutils-2.25/gold/gdb-index.h2
-rw-r--r--binutils-2.25/gold/gold-threads.cc6
-rw-r--r--binutils-2.25/gold/gold-threads.h2
-rw-r--r--binutils-2.25/gold/gold.cc68
-rw-r--r--binutils-2.25/gold/gold.h2
-rw-r--r--binutils-2.25/gold/i386.cc2
-rw-r--r--binutils-2.25/gold/icf.cc2
-rw-r--r--binutils-2.25/gold/icf.h2
-rw-r--r--binutils-2.25/gold/incremental-dump.cc2
-rw-r--r--binutils-2.25/gold/incremental.cc2
-rw-r--r--binutils-2.25/gold/incremental.h2
-rw-r--r--binutils-2.25/gold/int_encoding.cc2
-rw-r--r--binutils-2.25/gold/int_encoding.h2
-rw-r--r--binutils-2.25/gold/layout.cc129
-rw-r--r--binutils-2.25/gold/layout.h8
-rw-r--r--binutils-2.25/gold/main.cc2
-rw-r--r--binutils-2.25/gold/mapfile.cc2
-rw-r--r--binutils-2.25/gold/mapfile.h2
-rw-r--r--binutils-2.25/gold/merge.cc2
-rw-r--r--binutils-2.25/gold/merge.h2
-rw-r--r--binutils-2.25/gold/mips.cc2
-rw-r--r--binutils-2.25/gold/mremap.c2
-rw-r--r--binutils-2.25/gold/nacl.cc2
-rw-r--r--binutils-2.25/gold/nacl.h2
-rw-r--r--binutils-2.25/gold/object.cc31
-rw-r--r--binutils-2.25/gold/object.h118
-rw-r--r--binutils-2.25/gold/options.cc37
-rw-r--r--binutils-2.25/gold/options.h42
-rw-r--r--binutils-2.25/gold/output.cc2
-rw-r--r--binutils-2.25/gold/output.h2
-rw-r--r--binutils-2.25/gold/parameters.cc2
-rw-r--r--binutils-2.25/gold/parameters.h2
-rw-r--r--binutils-2.25/gold/plugin.cc2
-rw-r--r--binutils-2.25/gold/plugin.h2
-rw-r--r--binutils-2.25/gold/po/Make-in2
-rw-r--r--binutils-2.25/gold/powerpc.cc53
-rw-r--r--binutils-2.25/gold/pread.c2
-rw-r--r--binutils-2.25/gold/readsyms.cc2
-rw-r--r--binutils-2.25/gold/readsyms.h2
-rw-r--r--binutils-2.25/gold/reduced_debug_output.cc2
-rw-r--r--binutils-2.25/gold/reduced_debug_output.h2
-rw-r--r--binutils-2.25/gold/reloc-types.h2
-rw-r--r--binutils-2.25/gold/reloc.cc2
-rw-r--r--binutils-2.25/gold/reloc.h2
-rw-r--r--binutils-2.25/gold/resolve.cc2
-rw-r--r--binutils-2.25/gold/script-c.h4
-rw-r--r--binutils-2.25/gold/script-sections.cc2
-rw-r--r--binutils-2.25/gold/script-sections.h2
-rw-r--r--binutils-2.25/gold/script.cc7
-rw-r--r--binutils-2.25/gold/script.h2
-rw-r--r--binutils-2.25/gold/sparc.cc2
-rw-r--r--binutils-2.25/gold/stringpool.cc6
-rw-r--r--binutils-2.25/gold/stringpool.h2
-rw-r--r--binutils-2.25/gold/symtab.cc35
-rw-r--r--binutils-2.25/gold/symtab.h8
-rw-r--r--binutils-2.25/gold/system.h2
-rw-r--r--binutils-2.25/gold/target-reloc.h2
-rw-r--r--binutils-2.25/gold/target-select.cc2
-rw-r--r--binutils-2.25/gold/target-select.h2
-rw-r--r--binutils-2.25/gold/target.cc2
-rw-r--r--binutils-2.25/gold/target.h9
-rw-r--r--binutils-2.25/gold/testsuite/Makefile.am72
-rw-r--r--binutils-2.25/gold/testsuite/Makefile.in5174
-rwxr-xr-xbinutils-2.25/gold/testsuite/arm_abs_global.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/arm_attr_merge.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/arm_branch_in_range.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/arm_branch_out_of_range.sh2
-rw-r--r--binutils-2.25/gold/testsuite/arm_branch_range.t2
-rwxr-xr-xbinutils-2.25/gold/testsuite/arm_cortex_a8.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/arm_exidx_test.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/arm_farcall_arm_arm.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/arm_farcall_arm_thumb.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/arm_farcall_thumb_arm.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/arm_farcall_thumb_thumb.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/arm_fix_1176.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/arm_fix_v4bx.sh2
-rw-r--r--binutils-2.25/gold/testsuite/arm_thm_jump11.t2
-rw-r--r--binutils-2.25/gold/testsuite/arm_thm_jump8.t2
-rwxr-xr-xbinutils-2.25/gold/testsuite/arm_unaligned_reloc.sh2
-rw-r--r--binutils-2.25/gold/testsuite/basic_test.cc2
-rw-r--r--binutils-2.25/gold/testsuite/binary_test.cc2
-rw-r--r--binutils-2.25/gold/testsuite/binary_unittest.cc2
-rw-r--r--binutils-2.25/gold/testsuite/common_test_1.c2
-rw-r--r--binutils-2.25/gold/testsuite/common_test_1_v1.c2
-rw-r--r--binutils-2.25/gold/testsuite/common_test_1_v2.c2
-rw-r--r--binutils-2.25/gold/testsuite/common_test_2.c2
-rw-r--r--binutils-2.25/gold/testsuite/common_test_3.c2
-rw-r--r--binutils-2.25/gold/testsuite/constructor_test.cc2
-rw-r--r--binutils-2.25/gold/testsuite/copy_test.cc2
-rw-r--r--binutils-2.25/gold/testsuite/copy_test_1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/copy_test_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/copy_test_v1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/debug_msg.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/debug_msg.sh14
-rwxr-xr-xbinutils-2.25/gold/testsuite/defsym_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/disable_pie_unsafe_size_test.cc29
-rwxr-xr-xbinutils-2.25/gold/testsuite/disable_pie_unsafe_size_test.sh32
-rw-r--r--binutils-2.25/gold/testsuite/discard_locals_relocatable_test.c2
-rw-r--r--binutils-2.25/gold/testsuite/discard_locals_test.c2
-rwxr-xr-xbinutils-2.25/gold/testsuite/discard_locals_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/dwp_test.h2
-rw-r--r--binutils-2.25/gold/testsuite/dwp_test_1.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/dwp_test_1.sh2
-rw-r--r--binutils-2.25/gold/testsuite/dwp_test_1b.cc2
-rw-r--r--binutils-2.25/gold/testsuite/dwp_test_2.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/dwp_test_2.sh2
-rw-r--r--binutils-2.25/gold/testsuite/dwp_test_main.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/dyn_weak_ref.sh2
-rw-r--r--binutils-2.25/gold/testsuite/dyn_weak_ref_1.c2
-rw-r--r--binutils-2.25/gold/testsuite/dyn_weak_ref_2.c2
-rwxr-xr-xbinutils-2.25/gold/testsuite/dynamic_list.sh2
-rw-r--r--binutils-2.25/gold/testsuite/dynamic_list_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/dynamic_list_2.t2
-rw-r--r--binutils-2.25/gold/testsuite/dynamic_list_lib1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/dynamic_list_lib2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/ehdr_start_def.cc2
-rw-r--r--binutils-2.25/gold/testsuite/ehdr_start_test.cc2
-rw-r--r--binutils-2.25/gold/testsuite/ehdr_start_test.t2
-rwxr-xr-xbinutils-2.25/gold/testsuite/ehdr_start_test_4.sh2
-rw-r--r--binutils-2.25/gold/testsuite/exception_test.h2
-rw-r--r--binutils-2.25/gold/testsuite/exception_test_1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/exception_test_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/exception_test_main.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/exclude_libs_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/final_layout.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/final_layout.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/gc_comdat_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/gc_comdat_test_1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/gc_comdat_test_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/gc_dynamic_list_test.c2
-rwxr-xr-xbinutils-2.25/gold/testsuite/gc_dynamic_list_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/gc_dynamic_list_test.t2
-rw-r--r--binutils-2.25/gold/testsuite/gc_orphan_section_test.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/gc_orphan_section_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/gc_tls_test.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/gc_tls_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/gdb_index_test.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/gdb_index_test_1.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/gdb_index_test_2.sh2
-rw-r--r--binutils-2.25/gold/testsuite/gdb_index_test_3.c2
-rwxr-xr-xbinutils-2.25/gold/testsuite/gdb_index_test_3.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/gdb_index_test_4.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/gdb_index_test_comm.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/hidden_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/hidden_test_1.c2
-rw-r--r--binutils-2.25/gold/testsuite/hidden_test_main.c2
-rw-r--r--binutils-2.25/gold/testsuite/icf_keep_unique_test.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/icf_keep_unique_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/icf_preemptible_functions_test.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/icf_preemptible_functions_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/icf_safe_so_test.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/icf_safe_so_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/icf_safe_test.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/icf_safe_test.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/icf_sht_rel_addend_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/icf_sht_rel_addend_test_1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/icf_sht_rel_addend_test_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/icf_string_merge_test.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/icf_string_merge_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/icf_test.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/icf_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/icf_virtual_function_folding_test.cc2
-rw-r--r--binutils-2.25/gold/testsuite/incr_comdat_test_1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/incr_comdat_test_2_v1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/incr_comdat_test_2_v2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/incr_comdat_test_2_v3.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/incremental_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/incremental_test_1.c2
-rw-r--r--binutils-2.25/gold/testsuite/incremental_test_2.c2
-rw-r--r--binutils-2.25/gold/testsuite/initpri1.c2
-rw-r--r--binutils-2.25/gold/testsuite/initpri2.c2
-rw-r--r--binutils-2.25/gold/testsuite/initpri3.c2
-rw-r--r--binutils-2.25/gold/testsuite/justsyms.t2
-rw-r--r--binutils-2.25/gold/testsuite/justsyms_1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/justsyms_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/justsyms_exec.c2
-rw-r--r--binutils-2.25/gold/testsuite/justsyms_lib.c2
-rw-r--r--binutils-2.25/gold/testsuite/large.c2
-rw-r--r--binutils-2.25/gold/testsuite/large_symbol_alignment.cc2
-rw-r--r--binutils-2.25/gold/testsuite/leb128_unittest.cc2
-rw-r--r--binutils-2.25/gold/testsuite/many_sections_test.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/memory_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/memory_test_inc.t28
-rw-r--r--binutils-2.25/gold/testsuite/memory_test_inc_1.t.src1
-rw-r--r--binutils-2.25/gold/testsuite/memory_test_inc_2.t.src1
-rw-r--r--binutils-2.25/gold/testsuite/memory_test_inc_3.t.src1
-rwxr-xr-xbinutils-2.25/gold/testsuite/merge_string_literals.sh2
-rw-r--r--binutils-2.25/gold/testsuite/merge_string_literals_1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/merge_string_literals_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/missing_key_func.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/missing_key_func.sh2
-rw-r--r--binutils-2.25/gold/testsuite/no_version_test.c2
-rwxr-xr-xbinutils-2.25/gold/testsuite/no_version_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/object_unittest.cc2
-rw-r--r--binutils-2.25/gold/testsuite/pie_copyrelocs_shared_test.cc2
-rw-r--r--binutils-2.25/gold/testsuite/pie_copyrelocs_test.cc2
-rw-r--r--binutils-2.25/gold/testsuite/plugin_common_test_1.c2
-rw-r--r--binutils-2.25/gold/testsuite/plugin_common_test_2.c2
-rw-r--r--binutils-2.25/gold/testsuite/plugin_final_layout.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/plugin_final_layout.sh2
-rw-r--r--binutils-2.25/gold/testsuite/plugin_section_order.c2
-rw-r--r--binutils-2.25/gold/testsuite/plugin_test.c2
-rwxr-xr-xbinutils-2.25/gold/testsuite/plugin_test_1.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/plugin_test_10.sh2
-rw-r--r--[-rwxr-xr-x]binutils-2.25/gold/testsuite/plugin_test_11.sh0
-rwxr-xr-xbinutils-2.25/gold/testsuite/plugin_test_2.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/plugin_test_3.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/plugin_test_4.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/plugin_test_6.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/plugin_test_7.sh2
-rw-r--r--binutils-2.25/gold/testsuite/plugin_test_7_1.c2
-rw-r--r--binutils-2.25/gold/testsuite/plugin_test_7_2.c2
-rwxr-xr-xbinutils-2.25/gold/testsuite/plugin_test_tls.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/pr12826.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/pr14265.sh2
-rw-r--r--binutils-2.25/gold/testsuite/protected_1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/protected_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/protected_3.cc2
-rw-r--r--binutils-2.25/gold/testsuite/protected_4.cc2
-rw-r--r--binutils-2.25/gold/testsuite/protected_main_1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/protected_main_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/protected_main_3.cc2
-rw-r--r--binutils-2.25/gold/testsuite/relro_script_test.t2
-rw-r--r--binutils-2.25/gold/testsuite/relro_test.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/relro_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/relro_test_main.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/retain_symbols_file_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/script_test_1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/script_test_1.t2
-rwxr-xr-xbinutils-2.25/gold/testsuite/script_test_10.sh2
-rw-r--r--binutils-2.25/gold/testsuite/script_test_10.t2
-rw-r--r--binutils-2.25/gold/testsuite/script_test_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/script_test_2.t2
-rw-r--r--binutils-2.25/gold/testsuite/script_test_2a.cc2
-rw-r--r--binutils-2.25/gold/testsuite/script_test_2b.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/script_test_3.sh2
-rw-r--r--binutils-2.25/gold/testsuite/script_test_3.t2
-rwxr-xr-xbinutils-2.25/gold/testsuite/script_test_4.sh2
-rw-r--r--binutils-2.25/gold/testsuite/script_test_4.t2
-rw-r--r--binutils-2.25/gold/testsuite/script_test_5.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/script_test_5.sh2
-rw-r--r--binutils-2.25/gold/testsuite/script_test_5.t2
-rwxr-xr-xbinutils-2.25/gold/testsuite/script_test_6.sh2
-rw-r--r--binutils-2.25/gold/testsuite/script_test_6.t2
-rwxr-xr-xbinutils-2.25/gold/testsuite/script_test_7.sh2
-rw-r--r--binutils-2.25/gold/testsuite/script_test_7.t2
-rwxr-xr-xbinutils-2.25/gold/testsuite/script_test_8.sh2
-rw-r--r--binutils-2.25/gold/testsuite/script_test_9.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/script_test_9.sh2
-rw-r--r--binutils-2.25/gold/testsuite/searched_file_test.cc2
-rw-r--r--binutils-2.25/gold/testsuite/searched_file_test_lib.cc2
-rw-r--r--binutils-2.25/gold/testsuite/section_sorting_name.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/section_sorting_name.sh2
-rwxr-xr-xbinutils-2.25/gold/testsuite/split_i386.sh2
-rw-r--r--[-rwxr-xr-x]binutils-2.25/gold/testsuite/split_x32.sh0
-rwxr-xr-xbinutils-2.25/gold/testsuite/split_x86_64.sh2
-rw-r--r--binutils-2.25/gold/testsuite/start_lib_test_1.c2
-rw-r--r--binutils-2.25/gold/testsuite/start_lib_test_2.c2
-rw-r--r--binutils-2.25/gold/testsuite/start_lib_test_3.c2
-rw-r--r--binutils-2.25/gold/testsuite/start_lib_test_main.c2
-rwxr-xr-xbinutils-2.25/gold/testsuite/strong_ref_weak_def.sh2
-rw-r--r--binutils-2.25/gold/testsuite/strong_ref_weak_def_1.c2
-rw-r--r--binutils-2.25/gold/testsuite/strong_ref_weak_def_2.c2
-rw-r--r--binutils-2.25/gold/testsuite/test.cc2
-rw-r--r--binutils-2.25/gold/testsuite/test.h2
-rw-r--r--binutils-2.25/gold/testsuite/testfile.cc2
-rw-r--r--binutils-2.25/gold/testsuite/testfile.h2
-rw-r--r--binutils-2.25/gold/testsuite/testmain.cc2
-rw-r--r--binutils-2.25/gold/testsuite/text_section_grouping.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/text_section_grouping.sh2
-rw-r--r--binutils-2.25/gold/testsuite/thin_archive_main.cc2
-rw-r--r--binutils-2.25/gold/testsuite/thin_archive_test_1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/thin_archive_test_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/thin_archive_test_3.cc2
-rw-r--r--binutils-2.25/gold/testsuite/thin_archive_test_4.cc2
-rw-r--r--binutils-2.25/gold/testsuite/thumb2_branch_range.t2
-rw-r--r--binutils-2.25/gold/testsuite/thumb_branch_range.t2
-rwxr-xr-xbinutils-2.25/gold/testsuite/tls_pie_test.sh58
-rw-r--r--binutils-2.25/gold/testsuite/tls_test.cc2
-rw-r--r--binutils-2.25/gold/testsuite/tls_test.h2
-rw-r--r--binutils-2.25/gold/testsuite/tls_test_c.c2
-rw-r--r--binutils-2.25/gold/testsuite/tls_test_file2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/tls_test_main.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/two_file_shared.sh2
-rw-r--r--binutils-2.25/gold/testsuite/two_file_test.h2
-rw-r--r--binutils-2.25/gold/testsuite/two_file_test_1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/two_file_test_1_v1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/two_file_test_1b.cc2
-rw-r--r--binutils-2.25/gold/testsuite/two_file_test_1b_v1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/two_file_test_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/two_file_test_2_tls.cc2
-rw-r--r--binutils-2.25/gold/testsuite/two_file_test_2_v1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/two_file_test_main.cc2
-rw-r--r--binutils-2.25/gold/testsuite/two_file_test_tls.cc2
-rw-r--r--binutils-2.25/gold/testsuite/undef_symbol.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/undef_symbol.sh2
-rw-r--r--binutils-2.25/gold/testsuite/undef_symbol_main.cc2
-rw-r--r--binutils-2.25/gold/testsuite/ver_matching_def.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/ver_matching_test.sh2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test.h2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_1.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/ver_test_1.sh2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_10.script2
-rwxr-xr-xbinutils-2.25/gold/testsuite/ver_test_10.sh2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_2.script2
-rwxr-xr-xbinutils-2.25/gold/testsuite/ver_test_2.sh2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_3.cc2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_4.cc2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_4.script2
-rwxr-xr-xbinutils-2.25/gold/testsuite/ver_test_4.sh2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_5.cc2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_5.script2
-rwxr-xr-xbinutils-2.25/gold/testsuite/ver_test_5.sh2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_6.c2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_7.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/ver_test_7.sh2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_8.script2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_9.cc2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_main.cc2
-rw-r--r--binutils-2.25/gold/testsuite/ver_test_main_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_alias_test_1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_alias_test_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_alias_test_3.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_alias_test_4.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_alias_test_5.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_alias_test_main.cc2
-rwxr-xr-xbinutils-2.25/gold/testsuite/weak_plt.sh2
-rw-r--r--binutils-2.25/gold/testsuite/weak_plt_main.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_plt_shared.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_test.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_undef.h2
-rw-r--r--binutils-2.25/gold/testsuite/weak_undef_file1.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_undef_file2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_undef_file3.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_undef_file4.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_undef_test.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_undef_test_2.cc2
-rw-r--r--binutils-2.25/gold/testsuite/weak_unresolved_symbols_test.cc45
-rw-r--r--binutils-2.25/gold/tilegx.cc2
-rw-r--r--binutils-2.25/gold/timer.cc2
-rw-r--r--binutils-2.25/gold/timer.h2
-rw-r--r--binutils-2.25/gold/tls.h2
-rw-r--r--binutils-2.25/gold/token.h2
-rw-r--r--binutils-2.25/gold/version.cc2
-rw-r--r--binutils-2.25/gold/workqueue-internal.h2
-rw-r--r--binutils-2.25/gold/workqueue-threads.cc2
-rw-r--r--binutils-2.25/gold/workqueue.cc2
-rw-r--r--binutils-2.25/gold/workqueue.h2
-rw-r--r--binutils-2.25/gold/x86_64.cc8
-rw-r--r--binutils-2.25/gold/yyscript.y45
-rw-r--r--binutils-2.25/gprof/.gitignore8
-rw-r--r--binutils-2.25/gprof/ChangeLog2
-rw-r--r--binutils-2.25/gprof/Makefile.am2
-rw-r--r--binutils-2.25/gprof/Makefile.in4
-rwxr-xr-xbinutils-2.25/gprof/configure20
-rw-r--r--binutils-2.25/include/ChangeLog9
-rw-r--r--binutils-2.25/include/bfdlink.h3
-rw-r--r--binutils-2.25/include/dwarf2.def2
-rw-r--r--binutils-2.25/include/dwarf2.h24
-rw-r--r--binutils-2.25/include/elf/ChangeLog12
-rw-r--r--binutils-2.25/include/elf/arm.h17
-rwxr-xr-x[-rw-r--r--]binutils-2.25/include/elf/epiphany.h0
-rw-r--r--binutils-2.25/include/elf/mips.h1
-rw-r--r--binutils-2.25/include/elf/sparc.h2
-rw-r--r--binutils-2.25/include/elf/x86-64.h3
-rw-r--r--binutils-2.25/include/opcode/ChangeLog59
-rwxr-xr-x[-rw-r--r--]binutils-2.25/include/opcode/bfin.h0
-rw-r--r--binutils-2.25/include/opcode/mips.h5
-rw-r--r--binutils-2.25/include/opcode/nios2.h421
-rw-r--r--binutils-2.25/include/opcode/nios2r1.h474
-rw-r--r--binutils-2.25/include/opcode/sparc.h2
-rwxr-xr-xbinutils-2.25/install-sh385
-rw-r--r--binutils-2.25/ld/.gitignore16
-rw-r--r--binutils-2.25/ld/ChangeLog60
-rw-r--r--binutils-2.25/ld/Makefile.am2
-rw-r--r--binutils-2.25/ld/Makefile.in4
-rw-r--r--binutils-2.25/ld/config.in3
-rwxr-xr-xbinutils-2.25/ld/configure40
-rw-r--r--binutils-2.25/ld/configure.ac10
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/emulparams/aarch64elf32.sh0
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/emulparams/aarch64elf32b.sh0
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/emulparams/aarch64linux32.sh0
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/emulparams/aarch64linux32b.sh0
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/emulparams/elf32lppclinux.sh0
-rw-r--r--binutils-2.25/ld/emulparams/elf_x86_64.sh5
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/emulparams/nios2linux.sh0
-rw-r--r--binutils-2.25/ld/emultempl/elf32.em15
-rw-r--r--binutils-2.25/ld/emultempl/lnk960.em66
-rw-r--r--binutils-2.25/ld/emultempl/spu_icache.o_c50
-rw-r--r--binutils-2.25/ld/emultempl/spu_ovl.o_c44
-rw-r--r--binutils-2.25/ld/ld.h7
-rw-r--r--binutils-2.25/ld/ld.texinfo21
-rw-r--r--binutils-2.25/ld/ldexp.c8
-rw-r--r--binutils-2.25/ld/ldfile.c20
-rw-r--r--binutils-2.25/ld/ldlang.c187
-rw-r--r--binutils-2.25/ld/ldlang.h8
-rw-r--r--binutils-2.25/ld/ldlex.h3
-rw-r--r--binutils-2.25/ld/ldmain.c7
-rw-r--r--binutils-2.25/ld/lexsup.c24
-rw-r--r--binutils-2.25/ld/scripttempl/avrtiny.sc60
-rw-r--r--binutils-2.25/ld/scripttempl/elf.sc3
-rw-r--r--binutils-2.25/ld/testsuite/ChangeLog82
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/attr-merge-2.attr1
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/attr-merge-2a.s1
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/attr-merge-2b.s1
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/attr-merge-4.attr2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/attr-merge-4a.s3
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/attr-merge-4b.s3
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/attr-merge-6.attr1
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/attr-merge-6a.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-arm/attr-merge-6b.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-avr/relax-02.d64
-rw-r--r--binutils-2.25/ld/testsuite/ld-avr/relax-02.s65
-rw-r--r--binutils-2.25/ld/testsuite/ld-avr/relax-03.d26
-rw-r--r--binutils-2.25/ld/testsuite/ld-avr/relax-03.s18
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/testsuite/ld-pe/longsecn-1.d0
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/testsuite/ld-pe/longsecn-2.d0
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/testsuite/ld-pe/longsecn-3.d0
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/testsuite/ld-pe/longsecn-4.d0
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/testsuite/ld-pe/longsecn-5.d0
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/testsuite/ld-pe/longsecn.d0
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/testsuite/ld-pe/non-c-lang-syms.s0
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/testsuite/ld-pe/pe-compile.exp0
-rwxr-xr-x[-rw-r--r--]binutils-2.25/ld/testsuite/ld-pe/pe-run.exp0
-rw-r--r--binutils-2.25/ld/testsuite/ld-unique/unique.exp2
-rw-r--r--binutils-2.25/ld/testsuite/ld-unique/unique.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-unique/unique_shared.s2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.d2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/bnd-plt-1.d18
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/gotplt1.d6
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/gotplt1.s5
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx.exp15
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.rd2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.rd2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.rd2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.rd2
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx3.dd35
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx3a.s16
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx3b.s11
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx4.dd24
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx4a.s6
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/mpx4b.s5
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/start.obin0 -> 824 bytes
-rw-r--r--binutils-2.25/ld/testsuite/ld-x86-64/x86-64.exp1
-rw-r--r--binutils-2.25/ld/testsuite/lib/ld-lib.exp9
-rw-r--r--binutils-2.25/libiberty/.gitignore2
-rw-r--r--binutils-2.25/libiberty/ChangeLog54
-rw-r--r--binutils-2.25/libiberty/ChangeLog.jit23
-rw-r--r--binutils-2.25/libiberty/Makefile.in46
-rw-r--r--binutils-2.25/libiberty/choose-temp.c1
-rw-r--r--binutils-2.25/libiberty/config.in31
-rwxr-xr-xbinutils-2.25/libiberty/configure122
-rw-r--r--binutils-2.25/libiberty/configure.ac14
-rw-r--r--binutils-2.25/libiberty/d-demangle.c10
-rw-r--r--binutils-2.25/libiberty/filename_cmp.c29
-rw-r--r--binutils-2.25/libiberty/functions.texi49
-rw-r--r--binutils-2.25/libiberty/make-temp-file.c4
-rw-r--r--binutils-2.25/libiberty/sigsetmask.c1
-rw-r--r--binutils-2.25/libiberty/strtoll.c175
-rw-r--r--binutils-2.25/libiberty/strtoull.c122
-rw-r--r--binutils-2.25/libiberty/testsuite/Makefile.in12
-rw-r--r--binutils-2.25/libiberty/testsuite/test-strtol.c185
-rwxr-xr-xbinutils-2.25/missing461
-rwxr-xr-xbinutils-2.25/mkinstalldirs4
-rwxr-xr-xbinutils-2.25/move-if-change6
-rw-r--r--binutils-2.25/opcodes/.gitignore2
-rw-r--r--binutils-2.25/opcodes/ChangeLog65
-rw-r--r--binutils-2.25/opcodes/Makefile.in2
-rwxr-xr-xbinutils-2.25/opcodes/configure20
-rw-r--r--binutils-2.25/opcodes/mips-dis.c5
-rw-r--r--binutils-2.25/opcodes/mips-opc.c13
-rw-r--r--binutils-2.25/opcodes/nios2-dis.c308
-rw-r--r--binutils-2.25/opcodes/nios2-opc.c706
-rw-r--r--binutils-2.25/opcodes/sparc-opc.c50
-rwxr-xr-xbinutils-2.25/ylwrap202
639 files changed, 16353 insertions, 11703 deletions
diff --git a/binutils-2.25/ChangeLog b/binutils-2.25/ChangeLog
index 32b3c15f..473702b5 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 dd8601b4..b09fbc0e 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 00000000..a7bf0dcb
--- /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 00000000..33161338
--- /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 c66bb1ac..f124354c 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 2c385d57..5ee1650e 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 c9fd6c81..5e069b22 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 5f7879f4..97f01429 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 ea5d50d5..b70a6d0e 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 b617aaa7..a3769445 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 416ec8c8..4c0f5b90 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 65ad42db..3be6a5e9 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 e74176f1..14420f23 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 c507e4fe..bbda298a 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 54d67bf0..5aa3cf6e 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 ad8b5575..64cdeceb 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 13806ad1..ebc9e6a0 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 0b65ab19..0245a2c7 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 3881f60f..f2b13e7b 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 cb6fd21b..998549da 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 ec0bedc5..7c349d6f 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 c92d143b..0f2f2359 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 00000000..1934ea0f
--- /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 c2f69e9c..9f7e17c0 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 c6e0003d..aaf4d51c 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 a791080c..8b54765c 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 07551c30..70387ea2 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 157ebe02..03c4d0cc 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 e7a38c29..1c9b989e 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 2b172e11..21079c56 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 84e628a2..4777baba 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 124d9d6d..2a710836 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 d630684b..83518c75 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 ec64c622..a85b723c 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 1f5c50c0..6c32c864 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 88a0cb46..7cc68ba1 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 87677bc2..b86cfe68 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 4bb4865d..9316eb94 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 df8eea7e..4e70ff0b 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 5c6e9b2e..00000000
--- 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 bc5681a8..5f0e5f3e 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 b3336769..b0438e3e 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 331ec40e..bb622ecc 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 00000000..27d48874
--- /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 684098d5..3b1d0347 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 5dc250fc..01a797a1 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 32a172f5..d5a10c12 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 85a04a37..3d43dae2 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 df04dce4..f6141877 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 44665b95..44665b95 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 d5c59a18..3c7051cb 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 e2ef99e2..50a5d1c5 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 0e587646..4f3fe474 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 ea6aa190..f91c4ca9 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 447a477d..66464826 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 8e3d171c..dacfeb74 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 9076e412..a73f9b1f 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 ebaedc41..ebaedc41 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 ddfb4756..ddfb4756 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 86b96ebe..b55d985f 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 6f7a1ae7..97e326c2 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 1b55b807..dd51c26d 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 36419123..9026ff40 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 7fc4efeb..dbcd87b2 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 0f7e0c58..59f7a733 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 f76fb083..7462d932 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 21f42886..7691fd1e 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 59f6ab6c..60a7dacf 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 6e9ae921..888a51f1 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 758fcc81..e3fd64ae 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 dbcbf3c8..436aaebf 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 dc821680..12d8ec95 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 54fa322c..a602dc74 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 c8b6e875..32cfbeb5 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 c2ddc023..1976f888 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 2db51216..267b4288 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 55e4f547..e5949fa0 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 8fbae061..f3d4e41a 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 7d19169c..53e28f29 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 3067b8c2..f20c44a5 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 fdb185f0..d3112a96 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 771c8b52..fe7ad055 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 0ccfbd3b..b8266fcf 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 defa8538..beaceee1 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 354ff56c..f1f2ec58 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 042005ac..5388e816 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 622d08b6..e7e8dcea 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 9fd0335d..29b0456d 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 eb791953..0e0a7551 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 6af8604d..69fda994 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 51c1cb45..8c3e1369 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 0822c5ad..adc4e344 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 36f00664..af80a10b 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 164e055b..f0bf67ac 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 6505dc54..04b863a8 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 91f39406..91f39406 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 44919825..ea7f696a 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 ded5cabd..5e970cb7 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 7b35a029..ecaaef52 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 c0700291..5edb1c76 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 5bb6a57c..86fb360a 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 fb5d19ab..f9fd7c85 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 00000000..0e0b5087
--- /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 00000000..f28425c3
--- /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 0fab53d8..0fab53d8 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 0f82d479..0d80c588 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 e1ca71fb..9608cc03 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 fbf2081e..28e0c4a1 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 02a45d90..ceb22dbd 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 f7173bb5..bb246f6d 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 fb78f8fb..b1b24f11 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 bc6aa731..16f84498 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 a8431698..d8d13017 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 d03d9b53..b0d27df4 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 49481945..41533896 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 6d259803..0f7b372e 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 18cd899e..e0315593 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 33ac9ce7..dfc2fe11 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 145755ad..d98f6446 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 04105ecf..9bccdfac 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 2d10357a..86920c4f 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 8ddcd72c..8e2892cf 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 efb1b5c3..8e7aa927 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 12ca296e..a933b2d4 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 6b8a9160..a611e955 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 5e8339c5..739c8901 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 dcd1403d..20c37aba 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 5a10329a..19a7f639 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 b5fdbeb7..96a4bafc 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 34270746..1edd5abc 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 c08d0a2d..df4eafb8 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 a3cb34da..59a681eb 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 a7824fe3..41b65631 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 6724fd9d..800c0e7e 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 91f7b9e6..ac6f1c85 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 b03bf0ab..0e72d162 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 bca55f37..7875c718 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 2da606e8..cee68a03 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 9e7d092e..853a1e80 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 c55d45bb..cb6c16a0 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 a2f45cfa..c14ac077 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 1e92fa56..e9e2fa12 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 09f80672..d020d94f 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 e7c95ce6..f5ca7cd7 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 0792c1ca..66669134 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 d5e19ef0..121f37b1 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 cf628f19..6b57eaa3 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 8bf6251f..3c5fca9e 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 b7c60f82..c20ed203 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 faea1a83..4f926181 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 aa2bd31a..e9c9da89 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 d81b2aa5..d7881ace 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 99542c15..ea8f9927 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 a64fa423..61a3eaf1 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 3700b6ec..292ad806 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 0bd83206..ff0b2e85 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 601e7b04..d64f18a9 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 6f121d9c..737da90d 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 ae9e5e25..00f357f9 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 843b2b80..4759c008 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 be4a63c5..0efd2f53 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 666ee70b..7a64d4db 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 db0c2963..97dfc8fe 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 45140e0b..07b51add 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 cc6c9ecc..571cb940 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 ab15980f..eccbc589 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*>(&parameters->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*>(&parameters->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*>(&parameters->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 9dfafc89..b78a1656 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 eb5fbf76..80d58e23 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 8de6386c..ad887154 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 d343fa5c..31186427 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 6b647810..8ef16cfa 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 b4fff11a..b04e4713 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 493cbd2a..5440c863 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 4973fbf7..f949d9a1 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 07c5f45f..da4a2da0 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 7836640a..8b3a619a 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 aec0c53b..82177bb2 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 c5e50d61..bb866138 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 f2a9c424..c6d7ed27 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 4cc0d024..da158db4 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 bf004818..efd8bb56 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 6318f458..b4fd8e14 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 acf76cff..188364a6 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 46590c08..9c0fe6ee 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 2b46ba37..047f92e6 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 5b6f5a4c..cb0e9d19 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 c90b67e8..56d22663 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 cce6c8c2..7fa2ad73 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 7f1f69e0..1bb0cc17 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 9bbcc645..6502e1fc 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 e9dd522b..2e30e24d 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 8e0c33a3..599c2b70 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 8eab000c..3cfddd82 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 6404b8a7..fe5db157 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 68da8e36..40b30174 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 f9268798..95c7282e 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 8886c9a7..8212bf74 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 4deb5afb..3e936dad 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 7dc399b2..eb274117 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 45cbf196..8aaa91a6 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 01549f12..0276f4d4 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 d182870c..09bdf138 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 2c9557b2..a4f9ebbd 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 8612b77e..e5f235f7 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 5906754d..115ab375 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 559206ef..da14ec18 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 effcdca6..54de87d9 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 772c76cb..e52057df 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 9ff0feec..799f4ab3 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 2e07aa2b..daf9f64e 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 5350afc6..f4b88325 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 1731985d..99bba08a 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 d34585a9..5a5f76a6 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 c6d3c9b5..6c9ddde6 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 2a3fb08f..8ef8386b 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 045327ac..0c8cf376 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 9413360f..843a6ba3 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 10557680..8d4d6bea 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 c1354594..e44519b2 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 33e8f23f..e5f2597d 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 cb9302b8..c18d84be 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 f558c5e8..81c02cce 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 95bc57e6..fa4b5575 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 83619428..a9caa6bc 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 b4ae3fdc..3cdf45e6 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 aed8ef3d..7445b1c9 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 6fbe9bff..a579bb43 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 9ec38279..b034c9b5 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 1cc89360..aba1873b 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 1b04ce0d..7db4c640 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 d6341d2a..cd7c3c8f 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 43dd579a..9f7bd759 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 187a9506..ae59dd2e 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 cfc21692..8847f441 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 b9f2f672..b13e7833 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 45fb2d54..838535c4 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 5b29f682..4fe54658 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 869ca8e0..aeead675 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 b935e54d..abd22524 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 98abce89..d2af57d8 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 d1874538..bb1c43e5 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 0c032892..a8729cfa 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 4ee98689..be788bd1 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 35e2629a..f920de82 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 a5b37073..8c79a0b5 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 29ccdc15..db65063f 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 0acb433f..81614bfc 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 68b329e9..9f29dfb0 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 d13abbd3..a8d8120e 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 795be820..5c3aa53f 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 3de132e1..856511d5 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 7e8c41d2..b653ded2 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 c949ba17..8fd722a9 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 b01f6734..ce028843 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 13efa986..a48c1417 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 785e5c5f..891b4b87 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 2bedcf6b..6c1ff115 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 00000000..90fc7888
--- /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 00000000..c36c033b
--- /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 95ceb0c8..79f82db9 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 f1c68e27..e8766c88 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 0a9ab828..185d09b2 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 1e17fd3b..8e265ee2 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 01a22b09..b3ae8bc8 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 dfec67d1..90146acd 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 17203163..7ca28a51 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 db96196c..10baef0f 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 3db54086..dd0fe510 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 fc8eac39..7cf72cae 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 9591edcc..e2d200d0 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 d9dd9969..b32f3a8e 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 2804aa52..dfd4be10 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 1f5817f5..e2ef9fd0 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 63f552c7..59133123 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 44e6c6c1..eef848d8 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 ccf70e73..afc36ca2 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 54d722d3..8ed5be5c 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 6a5723d3..f102a78a 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 0d216017..a119b5e8 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 e8981362..50daa645 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 2d998e06..5e3d20fc 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 efab7587..f7825bf9 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 cb7c8ec3..7972f017 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 51001338..1267cf63 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 4eca1bed..a4c644b1 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 6993d05e..09f50b9e 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 61d24cea..71065c77 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 4b51210e..c93e2657 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 0b4bdf84..1a38f212 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 e3b3a5fe..8db55e91 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 2c471a27..1d68be27 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 efc02637..fb9a92ee 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 cbe7cd1d..a586929e 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 0af5607d..c0b818e2 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 308b46e2..bcf06e4d 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 a6bfa26e..de2d2fe1 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 bc4b867d..2d29d68b 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 2241c53f..7b6485e9 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 b9592a8c..6a562c3b 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 14d023df..5fae5500 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 9d8b52be..a1d4d83d 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 f64eaff0..683510c8 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 c7ba93ca..7b4948d7 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 8f82f8f3..3d5d66bb 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 e7436611..e8888250 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 8366bc93..39ebbf68 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 ea240275..e9c96e6e 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 9feb678e..60b8893b 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 4a196e70..75a83859 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 eabe9f75..d481d019 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 e22197ab..dc588a34 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 4446f3bd..c2a9f1ce 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 a0732bed..29bc6d42 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 dd33a13a..804334da 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 cb042e54..46bced18 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 9e6fffa1..691b8393 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 f35d155e..64b69d3f 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 2dacc1fe..8f20a71a 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 904b4759..dfc2bd4f 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 7b9ae272..869ee805 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 281cc799..a86728c6 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 5f99bcef..41168ec2 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 57d2081a..07af1a9d 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 41e95d21..ba144bf8 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 4c152468..7a798bdb 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 c6b329b6..02307ac9 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 bec44014..936d7a1b 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 de0248c2..3c402e98 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 cee1a0c8..d8c0c845 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 2d5df6ca..850d1164 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 0da76c12..a86c0fba 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 b37b977f..2fbe6bd9 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 ac84e0d9..023d76ab 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 c8c4d043..65963a90 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 450abc1b..2af2d01f 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 fff79207..362f939b 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 215d92eb..c0d9c948 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 49500805..3bb6d2fd 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 4882f3a4..9e043d9e 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 fa1c0529..0702d112 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 190c3e9b..296d7aab 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 c2d1be6d..5b438b35 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 4a820083..44530e21 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 5b12971e..4e858011 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 00000000..b835ab7b
--- /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 00000000..21c08511
--- /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 00000000..b0bc4de6
--- /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 00000000..fe58e3b7
--- /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 db656151..f17ab132 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 c57b8b55..b313dfc2 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 2c931c3f..73265f53 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 c685c79c..e89e95a0 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 465f5679..0027c7f8 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 de3fe456..1171fad9 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 6d86c345..cbcf24f8 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 1764d73b..adbd2757 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 3beacd81..85134175 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 a2ca746e..bebe89dc 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 f8b3291a..6f764fdc 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 fa9114e1..df9f7f1f 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 d00c8d53..a40c5d69 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 47a6a20d..dc456fab 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 29fcae71..48d30df2 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 cf6adf3e..e1dccea9 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 c54a74f5..e20935f4 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 62d22e7a..80b9f155 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 4e1057a7..4e1057a7 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 cb8c71c8..c3bec289 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 c61a662d..a80567fd 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 dae96886..9500e410 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 b81ef3e7..eec5073c 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 6ecd78f6..04a554a3 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 61aaffc0..fdb00748 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 8e02520c..e2ca4261 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 9873f2e8..0e7e7f30 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 9ec4d739..bd3e3a9c 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 137c5952..c82875fa 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 32c46866..e9725a95 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 e966c3a2..44bd9afb 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 4b9469b0..b22181cd 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 bdeb483b..918d7c13 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 bf95fd8c..b1c3b87e 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 f4d5bf9c..29bfcfa3 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 82a5f6e3..02f4c948 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 f940ebd1..e4af879b 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 2eadf6e5..b64e5cf2 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 c721d011..69f0ff7c 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 2106b5ed..8a142742 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 d36a1bd1..21373d10 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 32ff1023..ecdf67e2 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 53c6b904..22a1e393 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 c565c481..41b2bc75 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 185b8261..14b0578f 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 80ca2467..59c007c2 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 e852e38e..eabf4ec3 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 31293736..7c1990db 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 c3529578..c99d10d2 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 dec0d117..a24505e1 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 c4b4fd69..22a0c6f3 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 074b3d33..6a0a26b8 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 169b9507..c441ad5b 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 9ed612b3..d90477c7 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 d5f644ea..9ff94861 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 fa6a0e72..65ada933 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 263e686b..fc8d5049 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 31fdd9ea..e123a1e0 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 1e5c9d0e..efcbb4c5 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 96adceaf..575225d0 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 0533545c..02531d27 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 691bc4a9..19d71530 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 c149bf0a..29a8efe4 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 ece362fa..31277f11 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 038130b4..340afc42 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 b198fe42..cb7260c8 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 19f908b1..b4132995 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 0499cc9a..f48ea5dd 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 0bc0cf36..0bc0cf36 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 fdba1f80..530c4b1b 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 bc7c508c..3cd8a51b 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 b08eaa62..b6a99a14 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 04a72aeb..64a1ebf5 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 256ff25d..6531ba91 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 f22410e5..d5b766fd 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 d04b1cca..61493f25 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 f6c8067c..c7c9edec 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 ced8f3d3..80f2ab55 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 9952acdc..1522bcf1 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 c67caff4..3defb4d3 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 582cd67f..dac02ff2 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 b11eefbf..a3a105c0 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 3a6fcba2..dc29a1f0 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 6bbbd314..a819e57a 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 31e9db26..6f19c0a9 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 be60fd53..f44b3dd0 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 518e3162..15c9a7a1 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 fda886d0..96cd79d4 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 77db724e..903de113 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 2cc5dff1..2002fb9e 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 4feed83f..2b0e54e4 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 00000000..009154fd
--- /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 8864320a..7d386582 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 be569155..b70c0eee 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 0e680705..918a5b27 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 01156cb8..86cee67f 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 dc358400..42db36f2 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 32b8706a..84465f85 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 49255523..617b8d2a 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 b0c7e488..fdcb7d54 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 a7ea4c82..2518479a 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 d72b5e26..4083f0b9 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 b6f2413b..3306e9cc 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 ab56b217..e3818f98 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 4b49f01a..3f6dc0b3 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 c5467924..664380bf 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 21c6f5e0..6c1c52c2 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 56e8bd10..5f450a40 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 24908a38..306f29a8 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 661b8036..4f6308f4 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 bed71c1f..537eed82 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 1024af9a..ee2edc34 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 9cde23b9..9c7722ec 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 947b5baa..62a4b374 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 8162461c..63362340 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 35dd5762..63d5d499 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 e21c1e77..720220cf 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 3127ef32..11044f3c 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 ca635558..bf230d33 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 ed4e8abf..bd62fc1f 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 978c8c79..bd973bce 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 d4c40895..ec057926 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 7a5544e7..ef06e2cf 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 23c1a76f..071e3f61 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 05305b1f..f125f2b5 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 96d69fb2..d861d487 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 f773b571..950adc84 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 e69b0654..0c9b0244 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 2270650f..fb96c771 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 1dd489c2..2badceab 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 b336d832..f0fe8f65 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 92b96b6b..9e48e38f 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 fac97991..d0cc4e70 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 410aa5be..c24beb45 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 b2d515c1..9a031913 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 8665391e..67c709dd 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 c18b0f71..5933314c 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 82056a51..ef7b252d 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 e4383e60..04a00988 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 8bb13c7e..c3e746e7 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 abc3d88c..1b4778dd 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 9d334f60..20980112 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 0c4ebfb7..39fe46f1 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 ca774fda..0275a2e0 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 e0c2d126..67c44386 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 c7a898a2..796dca56 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 b5656f5d..60cf5c34 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 79e5da1f..7ceff001 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 87ad01f1..15974473 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 f8730301..a82a49ff 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 07f373ec..16277a24 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 bfaaec8c..549bd3fd 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 00000000..ec2c462d
--- /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 5d972715..1a14deaf 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 1744ade6..671439f4 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 32e3ec33..fca5b125 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 351032c9..1a287ad5 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 090aee1c..47091cb0 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 486a85a1..fe1372a5 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 937651aa..f27d075c 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 52931c04..41f0543a 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 bdd3233d..2d5684e5 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 8609142d..d62071ee 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 4543c8a8..02090df0 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 87aab582..f498fc52 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 00000000..28f9e80c
--- /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 19ee5007..b29f4633 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 ef54c385..221b8e39 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 01797b6e..c89a7049 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 53897bc4..3d2ecd1e 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 43e06f77..0204432c 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 f3181ba6..125683db 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 71a37b30..215d29d6 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 e05955ca..b3030248 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 17978ba3..d7767f5c 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 34afdfd9..e85536b7 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 38f973fb..38f973fb 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 f3589fff..87704e04 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..fd17a24f 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 d0dda478..13f87b27 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 d378910e..d40c9fd0 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 fafe0d8a..fafe0d8a 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 28826997..471f6c8b 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 04beff93..6b4c2f50 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 00000000..32a517d8
--- /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 cf4ff1c6..463b9c18 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 6781b987..0b0fdcbb 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 00000000..a345bfbc
--- /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 5aebb9c1..d3a348aa 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 9575f1f4..eb5df446 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 9f56ca1f..721b1b1f 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 2ab48448..766d23c5 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 1047d181..f11e0be9 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 1bddfc9f..e9edb7ff 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 f85c9ffd..f85c9ffd 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 aa0a2c54..aa0a2c54 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 b84eb451..b84eb451 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 e92feecb..e92feecb 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 9a56372e..9a56372e 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 1e83a74c..d8cb6bfb 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 e6542508..e6542508 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 137446fe..67c437da 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 6364f6df..26be394b 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 2006fe25..206615cd 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 c9eff93f..3e445ea5 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 f773ce78..bc7aebb6 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 43973cc8..eeb055c2 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 5c4f8dda..6f4dbeaf 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 782ed7f0..c36cf611 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 c4da07f5..8982aa22 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 5f6faae5..bab9863d 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 e3e9b247..20edec74 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 bc24957b..c4e5e152 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 4812c97b..a47f18e5 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 ab7294b1..70c5d929 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 2c73fdcd..27e4e091 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 e09af2b4..1526978c 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 578333b2..9f63df46 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 03031634..8a7260ce 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 047890a0..a22776b7 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 75fd0631..f74b0241 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 b5b77bf1..9282fa21 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 d2eb6de6..2cf68df2 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 0af32f77..1ee5d401 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 056d8c83..0423bbf3 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 b9ef4d27..9383bcc3 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 00000000..c8d9b103
--- /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 00000000..57fb7f6e
--- /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 00000000..3adc2793
--- /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 00000000..09935025
--- /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 81a44a7f..81a44a7f 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 64d16277..64d16277 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 c86a828d..c86a828d 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 e326d98e..e326d98e 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 f3ef22bd..f3ef22bd 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 e77f6eea..e77f6eea 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 28006a1b..28006a1b 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 ccc8516f..ccc8516f 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 fb823402..fb823402 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 a93f9b2e..994ed87c 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 9b0593c2..7477a694 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 b18a5b1b..80222915 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 11313ab1..cdcb4f69 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 6be82902..43e33565 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 d76a7a7d..3cfe9e6b 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 00000000..f2ee2457
--- /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 00000000..06758434
--- /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 bdf95935..f2a50d46 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 d66524c8..9bebc829 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 d3b292cb..2b050bd8 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 d66524c8..9bebc829 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 d66524c8..9bebc829 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 2a8356d9..00000000
--- 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 28cb580b..00000000
--- 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 1ee2557a..00000000
--- 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 0cf0f758..00000000
--- 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 0ee2723b..00000000
--- 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 0e9ac14e..00000000
--- 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
new file mode 100644
index 00000000..e015e739
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-x86-64/start.o
Binary files differ
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 54786a78..a9b68ff2 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 7d2df221..09213bcf 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 00000000..ca2fba5c
--- /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 829f684d..82a49ea0 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 00000000..5b64f809
--- /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 9b877209..1b0d8ae7 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 0a454cfa..8e1e84be 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 1cf9c11b..7c05b9d8 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 96feaedb..4a5e40ab 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 3380819a..90adaea1 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 d31bf942..bb481c09 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 9e16d242..150488cb 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 9323ff9f..9ed9ff03 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 7b74f817..244cc23c 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 3b708b16..f7a24246 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 00000000..37ff8cd3
--- /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 00000000..2f580fb3
--- /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 bb2db67f..4324a8f1 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 00000000..6faf81b5
--- /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 28055d2a..f62bbae3 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 4191a45d..55d537f8 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 e7ba25e3..88d95745 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 00000000..94ece5d4
--- /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 d4a74082..4524b57f 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 46ef017d..40629fcc 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 2fd1948c..556e7a5f 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 426d06f1..b6b68e37 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 8875f9b2..88760e70 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 b5c680f4..7243fa9a 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 47a7ee46..a12a2f8f 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 1150b2f3..75689745 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 84d56340..13fa706c 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.