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 __ACTBL1_H__
#define __ACTBL1_H__
#pragma pack(push) /* Set default struct packing */
/*******************************************************************************
*
* Additional ACPI Tables (1)
@@ -972,8 +974,6 @@ struct acpi_srat_x2apic_cpu_affinity {
#define ACPI_SRAT_CPU_ENABLED (1) /* 00: Use affinity structure */
/* Reset to default packing */
#pragma pack()
#pragma pack(pop) /* Restore original struct packing */
#endif /* __ACTBL1_H__ */