Open ericlagergren opened 2 years ago
I would send a CL but it looks like the tables were generated with a non-public tool, which is unfortunate.
cc @zhangfannie
I would send a CL but it looks like the tables were generated with a non-public tool, which is unfortunate.
The current go disassembler is not complete, and does not even support all ArmV8.0 instructions, including SHA-3 instructions of cource. And yes, this table is generated by a internal tool.
Can you use GNU objdump instead? Because we currently have no plans to perfect it. Thank you.
GNU objdump can't replace cmd/objdump
because it does not output Go assembly.
Could ARM open source the tool? Otherwise, I am not sure how anybody could reasonably be expected to contribute to cmd/objdump
.
Ok, I see. For your requirement, I I need to have a discussion within our group. Thank you.
@zhangfannie thank you.
@ericlagergren This tables.go is generated by one of our internal tools to parse internal architecture documents, but this tool can only parse internal armV8.0 documents, we currently do not have other good tools (public or internal) to parse non-armV8. 0 documentation to generate tables.go.
If you only add support for one or two instructions, we recommend that you follow the existing format and add it manually, and put it in a new file, such as tables_manual.go.
But if there are a lot of new instructions to support later, and at that time, we will consider rewriting a tool that can be exposed.
Thank you.
@zhangfannie thanks, that helps.
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
This is the latest release.
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
Ran
go tool objdump
on a binary using SHA-3 instructions like XAR (VAXR) and EOR3 (VEOR3).What did you expect to see?
It output valid Go (and GNU) assembly
What did you see instead?
?