diff options
author | Paul Hua <paul.hua.gm@gmail.com> | 2019-02-19 17:57:16 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2019-02-19 17:57:16 +0000 |
commit | 6f2117ba3892110badc65a7126b19cec211acfa2 (patch) | |
tree | de74092f7e459a02ee1c1c04a2907250d2597650 /gas/configure | |
parent | 179f2db0d9c397d7dd8a59907b84208b79f7f48c (diff) | |
download | fsf-binutils-gdb-6f2117ba3892110badc65a7126b19cec211acfa2.zip fsf-binutils-gdb-6f2117ba3892110badc65a7126b19cec211acfa2.tar.gz fsf-binutils-gdb-6f2117ba3892110badc65a7126b19cec211acfa2.tar.bz2 |
Fix a potential deadlock in some older Loongson 3A1000 MIPS processors.
* NEWS: Mention -m[no-]fix-loongson3-llsc.
* configure.ac: Add --enable-mips-fix-loongson3-llsc.
Define DEFAULT_MIPS_FIX_LOONGSON3_LLSC.
* config.in: Regenerated.
* configure: Likewise.
* config/tc-mips.c (sync_insn, mips_fix_loongson3_llsc):
New variables.
(options): New OPTION_FIX_LOONGSON3_LLSC,
OPTION_NO_FIX_LOONGSON3_LLSC.
(md_longopts): Add -m[no-]fix-loongson3-llsc.
(md_begin): Initialize sync insn.
(fix_loongson3_llsc): New.
(append_insn): Call fix_loongson3_llsc.
(md_parse_option): Handle OPTION_FIX_LOONGSON3_LLSC,
OPTION_NO_FIX_LOONGSON3_LLSC.
(md_show_usage): Display -m[no-]fix-loongson3-llsc.
* doc/c-mips.texi: Document -m[no-]fix-loongson3-llsc,
--enable-mips-fix-loongson3-llsc=[yes|no].
Diffstat (limited to 'gas/configure')
-rwxr-xr-x | gas/configure | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/gas/configure b/gas/configure index 6f3307b..1aafa6b 100755 --- a/gas/configure +++ b/gas/configure @@ -808,6 +808,7 @@ enable_compressed_debug_sections enable_x86_relax_relocations enable_elf_stt_common enable_generate_build_notes +enable_mips_fix_loongson3_llsc enable_x86_used_note enable_default_riscv_attribute enable_werror @@ -1471,6 +1472,8 @@ Optional Features: --enable-generate-build-notes generate GNU Build notes if none are provided by the input + --enable-mips-fix-loongson3-llsc + enable MIPS fix Loongson3 LLSC errata --enable-x86-used-note generate GNU x86 used ISA and feature properties --enable-default-riscv-attribute generate RISC-V arch attribute by default @@ -11340,7 +11343,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11343 "configure" +#line 11346 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11446,7 +11449,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11449 "configure" +#line 11452 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12114,6 +12117,17 @@ if test "${enable_generate_build_notes+set}" = set; then : esac fi +# Decide if the MIPS assembler should default to enable MIPS fix Loongson3 +# LLSC errata. +ac_default_mips_fix_loongson3_llsc=unset +# Provide a configuration option to override the default. +# Check whether --enable-mips-fix-loongson3-llsc was given. +if test "${enable_mips_fix_loongson3_llsc+set}" = set; then : + enableval=$enable_mips_fix_loongson3_llsc; case "${enableval}" in + yes) ac_default_mips_fix_loongson3_llsc=1 ;; + no) ac_default_mips_fix_loongson3_llsc=0 ;; +esac +fi # Decide if the x86 ELF assembler should default to generating GNU x86 # used ISA and feature properties. @@ -13131,6 +13145,15 @@ cat >>confdefs.h <<_ACEOF _ACEOF +if test ${ac_default_mips_fix_loongson3_llsc} = unset; then + ac_default_mips_fix_loongson3_llsc=0 +fi + +cat >>confdefs.h <<_ACEOF +#define DEFAULT_MIPS_FIX_LOONGSON3_LLSC $ac_default_mips_fix_loongson3_llsc +_ACEOF + + if test x$ac_default_compressed_debug_sections = xyes ; then $as_echo "#define DEFAULT_FLAG_COMPRESS_DEBUG 1" >>confdefs.h |