disas: Push const down through host disassembly
authorRichard Henderson <richard.henderson@linaro.org>
Sat, 31 Oct 2020 03:59:01 +0000 (20:59 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Thu, 7 Jan 2021 15:09:42 +0000 (05:09 -1000)
Reviewed-by: Joelle van Dyne <j@getutm.app>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
disas.c
disas/capstone.c
include/disas/dis-asm.h

diff --git a/disas.c b/disas.c
index de1de7be94a3b5fa461689c36dcb33b2b88f9d6c..a61f95b580b8daac2361933a3f2f0fc89b0b661b 100644 (file)
--- a/disas.c
+++ b/disas.c
@@ -299,10 +299,8 @@ char *plugin_disas(CPUState *cpu, uint64_t addr, size_t size)
 }
 
 /* Disassemble this for me please... (debugging). */
-void disas(FILE *out, const void *ccode, unsigned long size)
+void disas(FILE *out, const void *code, unsigned long size)
 {
-    /* TODO: Push constness through the disas backends. */
-    void *code = (void *)ccode;
     uintptr_t pc;
     int count;
     CPUDebug s;
index 7462c0e3053f445e5a8461e029c3ed196b844d44..20bc8f9669553be37b673a7146bc89589ec1e112 100644 (file)
@@ -229,7 +229,7 @@ bool cap_disas_target(disassemble_info *info, uint64_t pc, size_t size)
 }
 
 /* Disassemble SIZE bytes at CODE for the host.  */
-bool cap_disas_host(disassemble_info *info, void *code, size_t size)
+bool cap_disas_host(disassemble_info *info, const void *code, size_t size)
 {
     csh handle;
     const uint8_t *cbuf;
index 2164762b4670a7c1038eaefc99a0ded6c6781cb4..d1133a4e043945dad81078c40b803fdc082ffff7 100644 (file)
@@ -358,7 +358,7 @@ typedef struct disassemble_info {
     (bfd_vma addr, struct disassemble_info * info);
 
   /* These are for buffer_read_memory.  */
-  bfd_byte *buffer;
+  const bfd_byte *buffer;
   bfd_vma buffer_vma;
   int buffer_length;
 
@@ -462,7 +462,7 @@ int print_insn_rx(bfd_vma, disassemble_info *);
 
 #ifdef CONFIG_CAPSTONE
 bool cap_disas_target(disassemble_info *info, uint64_t pc, size_t size);
-bool cap_disas_host(disassemble_info *info, void *code, size_t size);
+bool cap_disas_host(disassemble_info *info, const void *code, size_t size);
 bool cap_disas_monitor(disassemble_info *info, uint64_t pc, int count);
 bool cap_disas_plugin(disassemble_info *info, uint64_t pc, size_t size);
 #else