This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [gold][aarch64] Patch for erratum-835769
- From: Cary Coutant <ccoutant at gmail dot com>
- To: Han Shen <shenhan at google dot com>
- Cc: binutils <binutils at sourceware dot org>, Bhaskar <bjanakiraman at google dot com>, Luis Lozano <llozano at google dot com>, Andrew Hsieh <andrewhsieh at google dot com>, Egor Pasko <pasko at google dot com>
- Date: Fri, 12 Jun 2015 12:21:09 -0700
- Subject: Re: [gold][aarch64] Patch for erratum-835769
- Authentication-results: sourceware.org; auth=none
- References: <CACkGtrg0-TnBKgH1xNX6iZraw+spO7pkfi2W1=_JTARqkxEjqg at mail dot gmail dot com>
> 2015-05-12 Han Shen <shenhan@google.com>
>
> * 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.
This is OK. Thanks!
A few more typos:
+ /* Exclude MUL instructions which are encoded as a multiple accumulate
"multiply-accumulate"
+// scanning the last few insns of a page, whereas for 835769, we need
scan every
+// insns.
"we need to scan every insn."
+ N_("(AArch64 only) Fix binaries for Cortex-A53 errata 843419."),
+ N_("(AArch64 only) Do not fix binaries for Cortex-A53 "
"errata 843419."));
+ DEFINE_bool(fix_cortex_a53_835769, options::TWO_DASHES, '\0', false,
+ N_("(AArch64 only) Fix binaries for Cortex-A53 errata 835769."),
+ N_("(AArch64 only) Do not fix binaries for Cortex-A53 "
+ "errata 835769."));
I think these help strings should use the singular form "erratum".
Although you're scanning and fixing multiple instances of each, the
message is actually referring to the erratum itself.
The phrasing "fix binaries for" also doesn't sound right. "Scan for"
worked, but not "fix for". How about just "Fix Cortex-A53 erratum
XXXXXX"?
-cary