On 12/2/25 23:11, Richard Henderson wrote:
On 2/12/25 13:32, Philippe Mathieu-Daudé wrote:
All TypeInfo::class_data point to const data.
Enforce that in the structure, so future class_data
stays in .rodata.
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
---
include/qom/object.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/qom/object.h b/include/qom/object.h
index 1d5b0337242..31adc2ef174 100644
--- a/include/qom/object.h
+++ b/include/qom/object.h
@@ -488,7 +488,7 @@ struct TypeInfo
void (*class_init)(ObjectClass *klass, const void *data);
void (*class_base_init)(ObjectClass *klass, const void *data);
- const void *class_data;
+ const void *const class_data;
const InterfaceInfo *interfaces;
};
This doesn't do what you think it does.
Per cdecl(1):
const void *class_data;
// declare class_data as pointer to const void
const void *const class_data;
// declare class_data as const pointer to const void
I'm surprised it compiles.
I had to add the previous and virtio-pci patches to make it compile.
How should be what I'm looking for, or how should I describe it?
Thanks,
Phil.