mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
8b10b0b3e1
Complement commit 9d862524f6
("MIPS: Verify the ISA mode and alignment
of branch and jump targets") and add GAS and LD options to control the
checks for invalid branches between ISA modes introduced there, to help
with some handwritten code lacking `.insn' annotation for labels used as
branch targets and code produced by older versions of GCC which suffers
from the issue with branches to code that has been optimized away,
addressed with GCC commit 242424 ("MIPS/GCC: Mark trailing labels with
`.insn'"), <https://gcc.gnu.org/ml/gcc-patches/2016-11/msg01061.html>.
bfd/
* elfxx-mips.h (_bfd_mips_elf_insn32): Rename prototype to...
(_bfd_mips_elf_linker_flags): ... this. Add another parameter.
* elfxx-mips.c (mips_elf_link_hash_table): Add
`ignore_branch_isa' member.
(mips_elf_perform_relocation): Do not treat an ISA mode mismatch
in branch relocation calculation as an error if
`ignore_branch_isa' has been set.
(_bfd_mips_elf_insn32): Rename to...
(_bfd_mips_elf_linker_flags): ... this. Rename the `on'
parameter to `insn32' and add an `ignore_branch_isa' parameter.
Handle the new parameter.
gas/
* config/tc-mips.c (mips_ignore_branch_isa): New variable.
(options): Add OPTION_IGNORE_BRANCH_ISA and
OPTION_NO_IGNORE_BRANCH_ISA enum values.
(md_longopts): Add "mignore-branch-isa" and
"mno-ignore-branch-isa" options.
(md_parse_option): Handle OPTION_IGNORE_BRANCH_ISA and
OPTION_NO_IGNORE_BRANCH_ISA.
(fix_bad_cross_mode_branch_p): Return FALSE if
`mips_ignore_branch_isa' has been set.
(md_show_usage): Add `-mignore-branch-isa' and
`-mno-ignore-branch-isa'.
* doc/as.texinfo (Target MIPS options): Add
`-mignore-branch-isa' and `-mno-ignore-branch-isa' options.
(-mignore-branch-isa, -mno-ignore-branch-isa): New options.
* doc/c-mips.texi (MIPS Options): Add `-mignore-branch-isa' and
`-mno-ignore-branch-isa' options.
* testsuite/gas/mips/branch-local-ignore-2.d: New test.
* testsuite/gas/mips/branch-local-ignore-3.d: New test.
* testsuite/gas/mips/branch-local-ignore-n32-2.d: New test.
* testsuite/gas/mips/branch-local-ignore-n32-3.d: New test.
* testsuite/gas/mips/branch-local-ignore-n64-2.d: New test.
* testsuite/gas/mips/branch-local-ignore-n64-3.d: New test.
* testsuite/gas/mips/mips.exp: Run the new tests.
ld/
* emultempl/mipself.em (ignore_branch_isa): New variable.
(mips_create_output_section_statements): Rename
`_bfd_mips_elf_insn32' called to `_bfd_mips_elf_linker_flags',
add `ignore_branch_isa' argument.
(PARSE_AND_LIST_PROLOGUE): Add OPTION_IGNORE_BRANCH_ISA and
OPTION_NO_IGNORE_BRANCH_ISA enum values.
(PARSE_AND_LIST_LONGOPTS): Add "ignore-branch-isa" and
"no-ignore-branch-isa" options.
(PARSE_AND_LIST_OPTIONS): Add `--ignore-branch-isa' and
`--no-ignore-branch-isa'.
(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_IGNORE_BRANCH_ISA and
OPTION_NO_IGNORE_BRANCH_ISA.
* ld.texinfo (Options specific to MIPS targets): Add
`--ignore-branch-isa' and `--no-ignore-branch-isa' options.
(ld and the MIPS family): Likewise.
* testsuite/ld-mips-elf/bal-jalx-pic-ignore.d: New test.
* testsuite/ld-mips-elf/bal-jalx-pic-ignore-n32.d: New test.
* testsuite/ld-mips-elf/bal-jalx-pic-ignore-n64.d: New test.
* testsuite/ld-mips-elf/unaligned-branch-ignore-2.d: New test.
* testsuite/ld-mips-elf/unaligned-branch-ignore-r6-1: New test.
* testsuite/ld-mips-elf/unaligned-branch-ignore-mips16: New
test.
* testsuite/ld-mips-elf/unaligned-branch-ignore-micromips: New
test.
* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
355 lines
11 KiB
Plaintext
355 lines
11 KiB
Plaintext
2017-01-30 Maciej W. Rozycki <macro@imgtec.com>
|
||
|
||
* config/tc-mips.c (mips_ignore_branch_isa): New variable.
|
||
(options): Add OPTION_IGNORE_BRANCH_ISA and
|
||
OPTION_NO_IGNORE_BRANCH_ISA enum values.
|
||
(md_longopts): Add "mignore-branch-isa" and
|
||
"mno-ignore-branch-isa" options.
|
||
(md_parse_option): Handle OPTION_IGNORE_BRANCH_ISA and
|
||
OPTION_NO_IGNORE_BRANCH_ISA.
|
||
(fix_bad_cross_mode_branch_p): Return FALSE if
|
||
`mips_ignore_branch_isa' has been set.
|
||
(md_show_usage): Add `-mignore-branch-isa' and
|
||
`-mno-ignore-branch-isa'.
|
||
|
||
* doc/as.texinfo (Target MIPS options): Add
|
||
`-mignore-branch-isa' and `-mno-ignore-branch-isa' options.
|
||
(-mignore-branch-isa, -mno-ignore-branch-isa): New options.
|
||
* doc/c-mips.texi (MIPS Options): Add `-mignore-branch-isa' and
|
||
`-mno-ignore-branch-isa' options.
|
||
|
||
* testsuite/gas/mips/branch-local-ignore-2.d: New test.
|
||
* testsuite/gas/mips/branch-local-ignore-3.d: New test.
|
||
* testsuite/gas/mips/branch-local-ignore-n32-2.d: New test.
|
||
* testsuite/gas/mips/branch-local-ignore-n32-3.d: New test.
|
||
* testsuite/gas/mips/branch-local-ignore-n64-2.d: New test.
|
||
* testsuite/gas/mips/branch-local-ignore-n64-3.d: New test.
|
||
* testsuite/gas/mips/mips.exp: Run the new tests.
|
||
|
||
2017-01-30 Maciej W. Rozycki <macro@imgtec.com>
|
||
|
||
* testsuite/gas/mips/branch-local-2.d: New test.
|
||
* testsuite/gas/mips/branch-local-3.d: New test.
|
||
* testsuite/gas/mips/branch-local-n32-2.d: New test.
|
||
* testsuite/gas/mips/branch-local-n32-3.d: New test.
|
||
* testsuite/gas/mips/branch-local-n64-2.d: New test.
|
||
* testsuite/gas/mips/branch-local-n64-3.d: New test.
|
||
* testsuite/gas/mips/mips.exp: Fold corresponding list tests
|
||
into the new tests.
|
||
|
||
2017-01-27 Alexis Deruell <alexis.deruelle@gmail.com>
|
||
|
||
PR 21056
|
||
* testsuite/gas/tic6x/insns16-parallel.s: New test case.
|
||
* testsuite/gas/tic6x/insns16-parallel.d: New test driver.
|
||
|
||
2017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* configure.tgt (aarch64*-*-rtems*): Remove.
|
||
(bfin-*-rtems*): Likewise.
|
||
(h8300-*-rtems*): Likewise.
|
||
(i386-*-rtems*): Likewise.
|
||
(m32c-*-rtems*): Likewise.
|
||
(m32r-*-rtems*): Likewise.
|
||
(m68k-*-rtems*): Likewise.
|
||
(mips-*-rtems*): Likewise.
|
||
(nios2-*-rtems*): Likewise.
|
||
(ppc-*-rtems*): Likewise.
|
||
(sh-*-rtems*): Likewise.
|
||
(sparc64-*-rtems*): Likewise.
|
||
(sparc-*-rtems*): Likewise.
|
||
(*-*-rtems*) Use ELF format.
|
||
|
||
2017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* configure.tgt (arm-*-rtems*): Move to (arm-*-eabi*).
|
||
|
||
2017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* configure.tgt (sh-*-rtemscoff*): Remove.
|
||
|
||
2017-01-24 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* configure.tgt (riscv*-*-*): Remove em=linux.
|
||
|
||
2017-01-23 Sebastian Rasmussen <sebras@gmail.com>
|
||
|
||
PR gas/21072
|
||
* asintl.h: Fix spelling mistakes and typos.
|
||
* atof-generic.c: Likewise.
|
||
* bit_fix.h: Likewise.
|
||
* config/atof-ieee.c: Likewise.
|
||
* config/bfin-defs.h: Likewise.
|
||
* config/bfin-parse.y: Likewise.
|
||
* config/obj-coff-seh.h: Likewise.
|
||
* config/obj-coff.c: Likewise.
|
||
* config/obj-evax.c: Likewise.
|
||
* config/obj-macho.c: Likewise.
|
||
* config/rx-parse.y: Likewise.
|
||
* config/tc-aarch64.c: Likewise.
|
||
* config/tc-alpha.c: Likewise.
|
||
* config/tc-arc.c: Likewise.
|
||
* config/tc-arm.c: Likewise.
|
||
* config/tc-avr.c: Likewise.
|
||
* config/tc-bfin.c: Likewise.
|
||
* config/tc-cr16.c: Likewise.
|
||
* config/tc-cris.c: Likewise.
|
||
* config/tc-crx.c: Likewise.
|
||
* config/tc-d10v.c: Likewise.
|
||
* config/tc-d30v.c: Likewise.
|
||
* config/tc-dlx.c: Likewise.
|
||
* config/tc-epiphany.c: Likewise.
|
||
* config/tc-frv.c: Likewise.
|
||
* config/tc-hppa.c: Likewise.
|
||
* config/tc-i370.c: Likewise.
|
||
* config/tc-i386-intel.c: Likewise.
|
||
* config/tc-i386.c: Likewise.
|
||
* config/tc-i960.c: Likewise.
|
||
* config/tc-ia64.c: Likewise.
|
||
* config/tc-m32r.c: Likewise.
|
||
* config/tc-m68hc11.c: Likewise.
|
||
* config/tc-m68k.c: Likewise.
|
||
* config/tc-mcore.c: Likewise.
|
||
* config/tc-mep.c: Likewise.
|
||
* config/tc-mep.h: Likewise.
|
||
* config/tc-metag.c: Likewise.
|
||
* config/tc-microblaze.c: Likewise.
|
||
* config/tc-mips.c: Likewise.
|
||
* config/tc-mmix.c: Likewise.
|
||
* config/tc-mn10200.c: Likewise.
|
||
* config/tc-mn10300.c: Likewise.
|
||
* config/tc-msp430.c: Likewise.
|
||
* config/tc-msp430.h: Likewise.
|
||
* config/tc-nds32.c: Likewise.
|
||
* config/tc-nds32.h: Likewise.
|
||
* config/tc-nios2.c: Likewise.
|
||
* config/tc-nios2.h: Likewise.
|
||
* config/tc-ns32k.c: Likewise.
|
||
* config/tc-pdp11.c: Likewise.
|
||
* config/tc-ppc.c: Likewise.
|
||
* config/tc-pru.c: Likewise.
|
||
* config/tc-rx.c: Likewise.
|
||
* config/tc-s390.c: Likewise.
|
||
* config/tc-score.c: Likewise.
|
||
* config/tc-score7.c: Likewise.
|
||
* config/tc-sh.c: Likewise.
|
||
* config/tc-sh64.c: Likewise.
|
||
* config/tc-sparc.c: Likewise.
|
||
* config/tc-tic4x.c: Likewise.
|
||
* config/tc-tic54x.c: Likewise.
|
||
* config/tc-v850.c: Likewise.
|
||
* config/tc-vax.c: Likewise.
|
||
* config/tc-visium.c: Likewise.
|
||
* config/tc-xgate.c: Likewise.
|
||
* config/tc-xtensa.c: Likewise.
|
||
* config/tc-z80.c: Likewise.
|
||
* config/tc-z8k.c: Likewise.
|
||
* config/te-vms.c: Likewise.
|
||
* config/xtensa-relax.c: Likewise.
|
||
* doc/as.texinfo: Likewise.
|
||
* doc/c-arm.texi: Likewise.
|
||
* doc/c-hppa.texi: Likewise.
|
||
* doc/c-i370.texi: Likewise.
|
||
* doc/c-i386.texi: Likewise.
|
||
* doc/c-m32r.texi: Likewise.
|
||
* doc/c-m68k.texi: Likewise.
|
||
* doc/c-mmix.texi: Likewise.
|
||
* doc/c-msp430.texi: Likewise.
|
||
* doc/c-nds32.texi: Likewise.
|
||
* doc/c-ns32k.texi: Likewise.
|
||
* doc/c-riscv.texi: Likewise.
|
||
* doc/c-rx.texi: Likewise.
|
||
* doc/c-s390.texi: Likewise.
|
||
* doc/c-tic6x.texi: Likewise.
|
||
* doc/c-tilegx.texi: Likewise.
|
||
* doc/c-tilepro.texi: Likewise.
|
||
* doc/c-v850.texi: Likewise.
|
||
* doc/c-xgate.texi: Likewise.
|
||
* doc/c-xtensa.texi: Likewise.
|
||
* dwarf2dbg.c: Likewise.
|
||
* ecoff.c: Likewise.
|
||
* itbl-ops.c: Likewise.
|
||
* listing.c: Likewise.
|
||
* macro.c: Likewise.
|
||
* po/gas.pot: Likewise.
|
||
* read.c: Likewise.
|
||
* struc-symbol.h: Likewise.
|
||
* symbols.h: Likewise.
|
||
* testsuite/gas/arc/relocs-errors.err: Likewise.
|
||
* write.c: Likewise.
|
||
|
||
2017-01-23 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/sv.po: Updated Swedish translation.
|
||
|
||
2017-01-20 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config/tc-i386.c (parse_operands): Check for operand overflow
|
||
before setting the unspecified bit.
|
||
|
||
2017-01-18 Maciej W. Rozycki <macro@imgtec.com>
|
||
|
||
PR gas/20649
|
||
* config/tc-mips.c (pic_need_relax): Don't check for linkonce
|
||
symbols, remove the `segtype' parameter.
|
||
(mips_frob_file, md_estimate_size_before_relax): Adjust
|
||
accordingly.
|
||
(s_is_linkonce): Add an explanatory comment.
|
||
* testsuite/gas/mips/comdat-reloc.d: New test.
|
||
* testsuite/gas/mips/comdat-reloc.s: New test source.
|
||
* testsuite/gas/mips/mips.exp: Run the new test.
|
||
|
||
2017-01-18 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* testsuite/gas/arm/armv8_3-a-simd.s: Add vcmla tests.
|
||
* testsuite/gas/arm/armv8_3-a-simd.d: Update.
|
||
|
||
2017-01-18 Bernhard Rosenkranzer <bero@lindev.ch>
|
||
|
||
PR 21059
|
||
* config/bfin-lex.l: Support processing with flex 2.6.3.
|
||
* itbl-lex.l: Likewise.
|
||
|
||
2017-01-18 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* as.h (gas_assert): Use abort.
|
||
(as_assert): Remove.
|
||
(signal_init): Declare.
|
||
* as.c (main): Call signal_init.
|
||
* messages.c: #include <signal.h>
|
||
(as_assert): Delete.
|
||
(as_abort): Allow NULL FILE.
|
||
(signal_crash): New.
|
||
(signal_init): Register fatal signal handlers.
|
||
* configure.ac: Check for strsignal.
|
||
* config.in: Rebuilt.
|
||
* configure: Rebuilt.
|
||
|
||
2017-01-17 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/sv.po: Updated Swedish translation.
|
||
|
||
2017-01-12 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
|
||
|
||
* config/tc-i386.c (cpu_arch): Add .avx512_vpopcntdq.
|
||
(cpu_noarch): Add noavx512_vpopcntdq.
|
||
* doc/c-i386.texi: Document avx512_vpopcntdq, noavx512_vpopcntdq.
|
||
* testsuite/gas/i386/i386.exp: Run AVX512_VPOPCNTDQ tests.
|
||
* testsuite/gas/i386/avx512_vpopcntdqd-intel.d: New file.
|
||
* testsuite/gas/i386/avx512_vpopcntdqd.d: Ditto.
|
||
* testsuite/gas/i386/avx512_vpopcntdqd.s: Ditto.
|
||
* testsuite/gas/i386/x86-64-avx512_vpopcntdqd-intel.d: Ditto.
|
||
* testsuite/gas/i386/x86-64-avx512_vpopcntdqd.d: Ditto.
|
||
* testsuite/gas/i386/x86-64-avx512_vpopcntdqd.s: Ditto.
|
||
|
||
2017-01-12 Nick Clifton <nickc@redhat.com>
|
||
|
||
* read.c (temp_ilp): New function. Installs a temporary input
|
||
line pointer.
|
||
(restore_ilp): New function. Restores the original input line
|
||
pointer.
|
||
* read.h (temp_ilp): Prototype.
|
||
(restore_ilp): Prototype.
|
||
* stabs.c (dot_func_p): Use bfd_boolean type.
|
||
(generate_asm_file): Use temp_ilp and restore_ilp.
|
||
(stabs_generate_asm_lineno): Likewise.
|
||
(stabs_generate_asm_endfunc): Likewise.
|
||
|
||
2017-01-11 Jeremy Soller <jackpot51@gmail.com>
|
||
|
||
* configure.tgt: Add entry for i386-redox.
|
||
|
||
2017-01-10 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/sv.po: Updated Swedish translation.
|
||
|
||
2017-01-10 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* testsuite/gas/all/sleb128-8.d: Adjust test.
|
||
* testsuite/gas/all/gas.exp (test_cond): Likewise.
|
||
|
||
2017-01-10 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* read.c (emit_leb128_expr): Extended unsigned big number for
|
||
sleb128.
|
||
* testsuite/gas/all/gas.exp (test_cond): Add sleb128-8 test.
|
||
* testsuite/gas/all/sleb128.d: New test.
|
||
* testsuite/gas/all/sleb128.s: New test source.
|
||
|
||
2017-01-09 Andrew Waterman <andrew@sifive.com>
|
||
|
||
* config/tc-riscv.c (append_insn): Don't eagerly apply relocations
|
||
against constants.
|
||
(md_apply_fix): Mark relocations against constants as "done."
|
||
|
||
2017-01-09 Andrew Waterman <andrew@sifive.com>
|
||
|
||
* config/tc-riscv.c (append_insn): Don't eagerly apply relocations
|
||
against constants.
|
||
(md_apply_fix): Mark relocations against constants as "done."
|
||
|
||
2017-01-09 Palmer Dabbelt <palmer@dabbelt.com>
|
||
Kito Cheng <kito.cheng@gmail.com>
|
||
|
||
* emulparams/elf32lriscv-defs.sh (INITIAL_READONLY_SECTIONS):
|
||
Removed.
|
||
(SDATA_START_SYMBOLS): Likewise.
|
||
|
||
2017-01-09 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/sv.po: New Swedish translation.
|
||
* configure.ac (ALL_LINGUAS): Add sv.
|
||
* configure: Regenerate.
|
||
|
||
2017-01-09 Andrew Waterman <andrew@sifive.com>
|
||
|
||
* config/tc-riscv.c (relaxed_branch_length): Use the long
|
||
sequence when the target is a weak symbol.
|
||
|
||
2017-01-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* config/tc-aarch64.c (aarch64_features): Add rcpc.
|
||
* doc/c-aarch64.texi (AArch64 Extensions): Document rcpc.
|
||
* testsuite/gas/aarch64/ldst-exclusive-armv8_3.d: Rename to ...
|
||
* testsuite/gas/aarch64/ldst-rcpc.d: This.
|
||
* testsuite/gas/aarch64/ldst-exclusive-armv8_3.s: Rename to ...
|
||
* testsuite/gas/aarch64/ldst-rcpc.s: This.
|
||
* testsuite/gas/aarch64/ldst-rcpc-armv8_2.d: New test.
|
||
|
||
2017-01-04 Norm Jacobs <norm.jacobs@oracle.com>
|
||
|
||
PR gas/20992
|
||
* configure.tgt: Treat sparcv9 as sparc64.
|
||
|
||
2017-01-03 Kito Cheng <kito.cheng@gmail.com>
|
||
|
||
* config/tc-riscv.c (riscv_set_arch): Whitelist the "q" ISA
|
||
extension.
|
||
(riscv_after_parse_args): Set FLOAT_ABI_QUAD when the Q ISA is
|
||
enabled and no other ABI is specified.
|
||
|
||
2017-01-03 Dimitar Dimitrov <dimitar@dinux.eu>
|
||
|
||
* config/tc-pru.c (md_number_to_chars): Fix parameter to be
|
||
valueT, as declared in tc.h.
|
||
(md_apply_fix): Fix to work on 32-bit hosts.
|
||
|
||
2017-01-02 Alan Modra <amodra@gmail.com>
|
||
|
||
Update year range in copyright notice of all files.
|
||
|
||
For older changes see ChangeLog-2016
|
||
|
||
Copyright (C) 2017 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.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|