ACPICA: Headers: Deploy #pragma pack (push) and (pop).

Use push and pop to both guarantee that the correct alignment is used,
and to restore the alignment to whatever it was before the header
was included.

It is reported that the #pragma pack(push/pop) directives are not supported
by the specific GCCs, but this patch still doesn't affect kernel build
as there are already #pragma pack([1]) directives used in the old ACPICA
headers, which means there shouldn't be GCCs that are currently used to
compile the ACPI kernels do not support #pragma pack() directives.

References: https://bugs.acpica.org/show_bug.cgi?id=1058
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Bob Moore
2014-02-26 10:28:32 +08:00
committed by Rafael J. Wysocki
parent 4dde507fc1
commit 4ac4c5fad8
30 changed files with 115 additions and 10 deletions

View File

@@ -44,6 +44,8 @@
#ifndef __ACTBL_H__
#define __ACTBL_H__
#pragma pack(push) /* Set default struct packing */
/*******************************************************************************
*
* Fundamental ACPI tables
@@ -404,4 +406,6 @@ struct acpi_table_desc {
#define ACPI_FADT_V3_SIZE (u32) (ACPI_FADT_OFFSET (sleep_control))
#define ACPI_FADT_V5_SIZE (u32) (sizeof (struct acpi_table_fadt))
#pragma pack(pop) /* Restore original struct packing */
#endif /* __ACTBL_H__ */