On 30 March 2017 at 16:35, Michael S. Tsirkin <m...@redhat.com> wrote: > There's no reason to pack structures where we don't care about size or > padding, this applies to AcpiStdTable in tests/acpi-utils.h. > > OTOH bios-tables-test happens to be passing the address of a field in > this struct to a function that expects a pointer to normally aligned > data which results in a SIGBUS on architectures like SPARC that have > strict alignment requirements. > > Fixes: 9e8458c02 ("acpi unit-test: compare DSDT and SSDT tables against > expected values") > Reported-by: Peter Maydell <peter.mayd...@linaro.org> > Signed-off-by: Michael S. Tsirkin <m...@redhat.com> > --- > tests/acpi-utils.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tests/acpi-utils.h b/tests/acpi-utils.h > index 9f9a2d5..348e4d7 100644 > --- a/tests/acpi-utils.h > +++ b/tests/acpi-utils.h > @@ -26,7 +26,7 @@ typedef struct { > gsize asl_len; > gchar *asl_file; > bool tmp_files_retain; /* do not delete the temp asl/aml */ > -} QEMU_PACKED AcpiSdtTable; > +} AcpiSdtTable; > > #define ACPI_READ_FIELD(field, addr) \ > do { \
Yes, this fixes the SPARC crashes. Tested-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM