Module Name:    src
Committed By:   christos
Date:           Fri May 17 20:27:48 UTC 2019

Modified Files:
        src/sys/external/bsd/acpica/dist/events: evregion.c
        src/sys/external/bsd/acpica/dist/include: actypes.h

Log Message:
use a union cast to assert alignment of string constant.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/external/bsd/acpica/dist/events/evregion.c
cvs rdiff -u -r1.18 -r1.19 src/sys/external/bsd/acpica/dist/include/actypes.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/acpica/dist/events/evregion.c
diff -u src/sys/external/bsd/acpica/dist/events/evregion.c:1.8 src/sys/external/bsd/acpica/dist/events/evregion.c:1.9
--- src/sys/external/bsd/acpica/dist/events/evregion.c:1.8	Sun Apr 28 21:18:06 2019
+++ src/sys/external/bsd/acpica/dist/events/evregion.c	Fri May 17 16:27:48 2019
@@ -581,7 +581,7 @@ AcpiEvExecuteRegMethod (
     ACPI_EVALUATE_INFO      *Info;
     ACPI_OPERAND_OBJECT     *Args[3];
     ACPI_OPERAND_OBJECT     *RegionObj2;
-    const ACPI_NAME         *RegNamePtr = ACPI_CAST_PTR (ACPI_NAME, METHOD_NAME__REG);
+    const ACPI_NAME         *RegNamePtr = ACPI_ALIGNED_STR_UNION (ACPI_NAME, METHOD_NAME__REG);
     ACPI_NAMESPACE_NODE     *MethodNode;
     ACPI_NAMESPACE_NODE     *Node;
     ACPI_STATUS             Status;

Index: src/sys/external/bsd/acpica/dist/include/actypes.h
diff -u src/sys/external/bsd/acpica/dist/include/actypes.h:1.18 src/sys/external/bsd/acpica/dist/include/actypes.h:1.19
--- src/sys/external/bsd/acpica/dist/include/actypes.h:1.18	Sun Apr 28 21:18:07 2019
+++ src/sys/external/bsd/acpica/dist/include/actypes.h	Fri May 17 16:27:48 2019
@@ -540,6 +540,10 @@ typedef UINT64                          
 
 #define ACPI_ARRAY_LENGTH(x)            (sizeof(x) / sizeof((x)[0]))
 
+/* Use a union to align  string s to type t */
+#define ACPI_ALIGNED_STR_UNION(t, s)	\
+    (&((const union { char _s[sizeof(t)]; t _t; }){ s }._t))
+
 /* Pointer manipulation */
 
 #define ACPI_CAST_PTR(t, p)             ((t *) (ACPI_UINTPTR_T) (p))

Reply via email to