* [PATCH] RISC-V: Add support for numbered ISA mapping strings
@ 2023-09-27 11:20 Joseph Faulls
2023-09-27 12:09 ` Jan Beulich
0 siblings, 1 reply; 2+ messages in thread
From: Joseph Faulls @ 2023-09-27 11:20 UTC (permalink / raw)
To: binutils; +Cc: nelson
[-- Attachment #1: Type: text/plain, Size: 1327 bytes --]
The elf psabi allows for mapping symbols to be of the form $x<ISA>.<any>
opcodes/
* riscv-dis.c (riscv_get_map_state): allow mapping symbol to
be suffixed by a unique identifier .<any>
---
opcodes/riscv-dis.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/opcodes/riscv-dis.c b/opcodes/riscv-dis.c
index c0fd0625a2d..2a13a3f9f73 100644
--- a/opcodes/riscv-dis.c
+++ b/opcodes/riscv-dis.c
@@ -869,7 +869,23 @@ riscv_get_map_state (int n,
{
*state = MAP_INSN;
riscv_release_subset_list (&riscv_subsets);
- riscv_parse_subset (&riscv_rps_dis, name + 2);
+
+ /* ISA mapping string may be numbered, suffixed with '.n'. Do not
+ consider this as part of the ISA string. */
+ char *suffix = strchr (name, '.');
+ if (suffix)
+ {
+ int suffix_index = (int)(suffix - name);
+ char *name_substr = malloc (suffix_index + 1);
+ strncpy (name_substr, name, suffix_index);
+ name_substr[suffix_index] = '\0';
+ riscv_parse_subset (&riscv_rps_dis, name_substr + 2);
+ free (name_substr);
+ }
+ else
+ {
+ riscv_parse_subset (&riscv_rps_dis, name + 2);
+ }
}
else
return false;
--
2.34.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] RISC-V: Add support for numbered ISA mapping strings
2023-09-27 11:20 [PATCH] RISC-V: Add support for numbered ISA mapping strings Joseph Faulls
@ 2023-09-27 12:09 ` Jan Beulich
0 siblings, 0 replies; 2+ messages in thread
From: Jan Beulich @ 2023-09-27 12:09 UTC (permalink / raw)
To: Joseph Faulls; +Cc: nelson, binutils
On 27.09.2023 13:20, Joseph Faulls wrote:
> --- a/opcodes/riscv-dis.c
> +++ b/opcodes/riscv-dis.c
> @@ -869,7 +869,23 @@ riscv_get_map_state (int n,
> {
> *state = MAP_INSN;
> riscv_release_subset_list (&riscv_subsets);
> - riscv_parse_subset (&riscv_rps_dis, name + 2);
> +
> + /* ISA mapping string may be numbered, suffixed with '.n'. Do not
> + consider this as part of the ISA string. */
> + char *suffix = strchr (name, '.');
> + if (suffix)
> + {
> + int suffix_index = (int)(suffix - name);
> + char *name_substr = malloc (suffix_index + 1);
> + strncpy (name_substr, name, suffix_index);
You want to either use xmalloc(), or you need to check for getting
back NULL here.
Jan
> + name_substr[suffix_index] = '\0';
> + riscv_parse_subset (&riscv_rps_dis, name_substr + 2);
> + free (name_substr);
> + }
> + else
> + {
> + riscv_parse_subset (&riscv_rps_dis, name + 2);
> + }
> }
> else
> return false;
> --
> 2.34.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-09-27 12:09 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-27 11:20 [PATCH] RISC-V: Add support for numbered ISA mapping strings Joseph Faulls
2023-09-27 12:09 ` Jan Beulich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).