This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH][MIPS] GAS: Fix Loongson3 LLSC errata.
- From: YunQiang Su <syq at debian dot org>
- To: paul dot hua dot gm at gmail dot com
- Cc: binutils at sourceware dot org, macro at linux-mips dot org
- Date: Sat, 1 Dec 2018 14:17:28 +0800
- Subject: Re: [PATCH][MIPS] GAS: Fix Loongson3 LLSC errata.
- References: <CAKjxQHnw7DG_C3-WDtov3uTMoEkv5Hnw41kt+ZPM4f3WJMFGJg@mail.gmail.com>
Paul Hua <paul.hua.gm@gmail.com> 于2018年11月30日周五 下午8:46写道:
>
> Hi:
>
> In some older Loongson 3A1000 processors there is a LL/SC errata that
This problem only exists on "some older Loongson 3A1000"?
Does it exists on current 3A 3000 machines?
> can cause the CPU to deadlock occasionally. The details are very
> complicated. We find a way to work around this errata by adding a sync
> before ll/lld instruction.
>
> This patch also add a configure options
> --enable-mips-fix-loongson3-llsc=[yes|no] to enable fix-loongson3-llsc
> by config.
>
> [MIPS] GAS: Fix Loongson3 LLSC errata.
>
> gas/
> * 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.
Is configure patch needed here?
It seems been generated by some newer version autotools.
> * 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].
https://sourceware.org/ml/binutils/2018-01/msg00303.html
here is an older version of patch.
While somebody told me that it will generate a .fixup section.
What about this one?