[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_
From: |
victorldn at sourceware dot org |
Subject: |
[Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function |
Date: |
Mon, 08 Apr 2024 12:52:22 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=31595
--- Comment #5 from Victor Do Nascimento <victorldn at sourceware dot org> ---
(In reply to Nick Clifton from comment #4)
Hi Nick,
> In my opinion, the disassembler should never trigger an abort (or an
> assertion), even if it is being asked to decode an illegal bit sequence.
> Instead it should just display the bits with an annotation that they are
> illegal. In fact when a user is disassembling with the -D/--disassemble-all
> it should be clear that they expect illegal bit sequences to be encountered,
> and objdump should really be able to cope.
Agreed.
> (This also goes back to my long standing opinion that library functions
> should never call abort. Instead they should always report back to their
> caller that they have encountered some kind of problem, and allow the caller
> to decide what to do).
>
> My suggestion is that you change get_sreg_qualifier_from_value() so that it
> returns AARCH64_OPND_QLF_NIL if it encounters an error. (Or maybe a new
> aarch64_opnd_qualifier value such as AARCH64_OPND_QLF_ERR). And then update
> the callers of get_sreg_qualifier_from_value to take some kind of action if
> this result is returned. A bit if a hassle I know, but I think that it is
> the right thing to do.
Thanks for the suggestion, it'll come in handy. I do agree it's the right
course of action to take.
cheers,
Victor
> Cheers
> Nick
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug binutils/31595] New: Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function, nickc at redhat dot com, 2024/04/02
- [Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function, nickc at redhat dot com, 2024/04/02
- [Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function, victorldn at sourceware dot org, 2024/04/05
- [Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function, nickc at redhat dot com, 2024/04/08
- [Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function, victorldn at sourceware dot org, 2024/04/08
- [Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function, nickc at redhat dot com, 2024/04/08
- [Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function,
victorldn at sourceware dot org <=
- [Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function, victorldn at sourceware dot org, 2024/04/17
- [Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function, victorldn at sourceware dot org, 2024/04/17
- [Bug binutils/31595] Abort in AArch64 disassembler's get_sreg_qualifier_from_value() function, victorldn at sourceware dot org, 2024/04/17