aboutsummaryrefslogtreecommitdiff
path: root/gas/configure
diff options
context:
space:
mode:
authorPaul Hua <paul.hua.gm@gmail.com>2019-02-19 17:57:16 +0000
committerNick Clifton <nickc@redhat.com>2019-02-19 17:57:16 +0000
commit6f2117ba3892110badc65a7126b19cec211acfa2 (patch)
treede74092f7e459a02ee1c1c04a2907250d2597650 /gas/configure
parent179f2db0d9c397d7dd8a59907b84208b79f7f48c (diff)
downloadfsf-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-xgas/configure27
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