From 823061758bdcbc5e6c7710e349457e72f29cfd12 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Mon, 17 Jul 2017 16:22:29 -0400 Subject: [PATCH] Disable unaligned reads in LZMA SDK; it upsets GCC's strict-aliasing rules. --- src/physfs_lzmasdk.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/physfs_lzmasdk.h b/src/physfs_lzmasdk.h index 54f1116..fabce24 100644 --- a/src/physfs_lzmasdk.h +++ b/src/physfs_lzmasdk.h @@ -573,7 +573,7 @@ Stop_Compiling_Bad_Endian #ifdef MY_CPU_LE #if defined(MY_CPU_X86_OR_AMD64) \ /* || defined(__AARCH64EL__) */ - #define MY_CPU_LE_UNALIGN + /*#define MY_CPU_LE_UNALIGN*/ #endif #endif @@ -584,9 +584,9 @@ Stop_Compiling_Bad_Endian #define GetUi32(p) (*(const UInt32 *)(const void *)(p)) #define GetUi64(p) (*(const UInt64 *)(const void *)(p)) -#define SetUi16(p, v) { *(UInt16 *)((char *)(p)) = (v); } -#define SetUi32(p, v) { *(UInt32 *)((char *)(p)) = (v); } -#define SetUi64(p, v) { *(UInt64 *)((char *)(p)) = (v); } +#define SetUi16(p, v) { *(UInt16 *)(p) = (v); } +#define SetUi32(p, v) { *(UInt32 *)(p) = (v); } +#define SetUi64(p, v) { *(UInt64 *)(p) = (v); } #else