>>> Building on exopi-3 under sysutils/dmidecode BDEPENDS = [archivers/xz] DIST = [sysutils/dmidecode:dmidecode-3.6.tar.xz] FULLPKGNAME = dmidecode-3.6 Avoided depends for xz-5.6.3 distfiles size=69284 >>> Running build in sysutils/dmidecode at 1732126335.12 ===> sysutils/dmidecode ===> Building from scratch dmidecode-3.6 ===> dmidecode-3.6 depends on: xz->=5.4.0 -> xz-5.6.3 ===> Verifying specs: c ===> found c.100.3 ===> Checking files for dmidecode-3.6 `/exopi-cvs/ports/distfiles/dmidecode-3.6.tar.xz' is up to date. >> (SHA256) all files: OK ===> Extracting for dmidecode-3.6 ===> Patching for dmidecode-3.6 ===> Applying OpenBSD patch patch-Makefile Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |Index: Makefile |--- Makefile.orig |+++ Makefile -------------------------- Patching file Makefile using Plan A... Hunk #1 succeeded at 146. done ===> Applying OpenBSD patch patch-util_c Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |Index: util.c |--- util.c.orig |+++ util.c -------------------------- Patching file util.c using Plan A... Hunk #1 succeeded at 192. done ===> Compiler link: clang -> /usr/bin/clang ===> Compiler link: clang++ -> /usr/bin/clang++ ===> Compiler link: cc -> /usr/bin/cc ===> Compiler link: c++ -> /usr/bin/c++ ===> Generating configure for dmidecode-3.6 ===> Configuring for dmidecode-3.6 ===> Building for dmidecode-3.6 cc -O2 -pipe -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -c dmidecode.c -o dmidecode.o dmidecode.c:592:26: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_list_item("0x%04X", WORD(p + sizeof(u16) * i)); ^~~~~~~~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1031:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x28) : data[0x06]; ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1078:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x28) : data[0x06]; ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1086:12: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] u16 dx = WORD(p); ^~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1109:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] && (WORD(data + 0x26) & (1 << 9))) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1149:9: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dx = WORD(p); ^~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1160:9: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dx = WORD(p); ^~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1168:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] midr = DWORD(p); ^~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1187:13: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] jep106 = DWORD(p); ^~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1188:19: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] soc_revision = DWORD(p + 4); ^~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1210:10: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] eax = DWORD(p); ^~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1226:10: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] eax = DWORD(p); ^~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1234:10: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] eax = DWORD(p); ^~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1297:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] edx = DWORD(p + 4); ^~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1348:13: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] u16 code = WORD(p); ^~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:1614:26: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_list_item("0x%04X", WORD(p + sizeof(u16) * i)); ^~~~~~~~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:2295:4: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data), data[2], data[3] >> 3, data[3] & 0x07, ^~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:2496:4: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p + 3 * i + 1), ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:2546:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p), WORD(p + 2)); ^~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:2546:14: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p), WORD(p + 2)); ^~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:2549:40: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr("Access Address", "0x%08X", DWORD(p)); ^~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:2552:40: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Access Address", "0x%04X", WORD(p)); ^~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:3672:28: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr(attr, "0x%04X", WORD(p + 3 * i + 1)); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:3705:17: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] u64 address = QWORD(p); ^~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:3815:4: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p + 0x01)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:3827:32: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Value", "0x%04x", WORD(p + 0x05)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:3830:32: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr("Value", "0x%08x", DWORD(p + 0x05)); ^~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4051:10: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] port = WORD(&rdata[84]); ^~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4052:10: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] vlan = DWORD(&rdata[86]); ^~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4168:5: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(&usbdata[0x0])); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4171:5: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(&usbdata[0x2])); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4183:5: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(&pcidata[0x0])); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4186:5: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(&pcidata[0x2])); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4189:5: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(&pcidata[0x4])); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4192:5: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(&pcidata[0x6])); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4200:5: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(&usbdata[0x1])); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4203:5: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(&usbdata[0x3])); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4220:32: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_device_characteristics(WORD(&usbdata[0xc])); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4224:9: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(&usbdata[0x0c]) & 0x1) ^~~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4227:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(&usbdata[0xe])); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4237:5: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(&pcidata[0x1])); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4240:5: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(&pcidata[0x3])); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4243:5: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(&pcidata[0x5])); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4246:5: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(&pcidata[0x7])); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4254:30: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_slot_segment_bus_func(WORD(&pcidata[0xf]), pcidata[0x11], pcidata[0x12]); ^~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4261:32: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_device_characteristics(WORD(&pcidata[0x13]) ); ^~~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4264:9: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(&pcidata[0x13]) & 0x1) ^~~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4267:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(&pcidata[0x15])); ^~~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4431:26: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_list_item("0x%04X", WORD(p + sizeof(u16) * i)); ^~~~~~~~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4462:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x06) != 0) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4465:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x06)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4466:38: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_bios_runtime_size((0x10000 - WORD(data + 0x06)) << 4); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4468:58: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_bios_rom_size(data[0x09], h->length < 0x1A ? 16 : WORD(data + 0x18)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4470:29: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] dmi_bios_characteristics(QWORD(data + 0x0A)); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4528:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x0B)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4563:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x0D)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4604:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x1A), "L1", ver); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4606:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x1C), "L2", ver); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4608:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x1E), "L3", ver); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4621:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x2A) : data[0x23]); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4625:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x2C) : data[0x24]); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4629:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x2E) : data[0x25]); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4630:29: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (h->length >= 0x32 && WORD(data + 0x30) != 0) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4632:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x30)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4634:13: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x26)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4653:12: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x09)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4655:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x0B), 0); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4671:36: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_memory_module_types("Type", WORD(data + 0x07), 1); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4683:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x05) & 0x0080 ? "Enabled" : "Disabled", ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4684:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x05) & 0x0008 ? "Socketed" : "Not Socketed", ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4685:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] (WORD(data + 0x05) & 0x0007) + 1); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4687:21: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_cache_mode((WORD(data + 0x05) >> 8) & 0x0003)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4689:25: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_cache_location((WORD(data + 0x05) >> 5) & 0x0003)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4691:40: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] dmi_cache_size_2("Installed Size", DWORD(data + 0x17)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4693:38: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_cache_size("Installed Size", WORD(data + 0x09)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4695:38: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] dmi_cache_size_2("Maximum Size", DWORD(data + 0x13)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4697:36: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_cache_size("Maximum Size", WORD(data + 0x07)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4698:44: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_cache_types("Supported SRAM Types", WORD(data + 0x0B), 0); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4699:43: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_cache_types("Installed SRAM Type", WORD(data + 0x0D), 1); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4742:30: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_slot_segment_bus_func(WORD(data + 0x0D), data[0x0F], data[0x10]); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4751:19: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_slot_pitch(WORD(data + 0x15 + data[0x12] * 5)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4803:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x04)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4805:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x06)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4806:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x08) - WORD(data + 0x06)) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4806:28: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x08) - WORD(data + 0x06)) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4808:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x08) - WORD(data + 0x06), ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4808:26: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x08) - WORD(data + 0x06), ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4809:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x08) - WORD(data + 0x06) > 1 ? "s" : ""); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4809:26: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x08) - WORD(data + 0x06) > 1 ? "s" : ""); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4811:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x08)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4817:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4836:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (DWORD(data + 0x07) == 0x80000000) ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4842:14: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] QWORD(data + 0x0F), 0); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4849:18: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] capacity.l = DWORD(data + 0x07); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4854:35: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_memory_array_error_handle(WORD(data + 0x0B)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4856:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x0D)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4865:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x04)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4866:35: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_memory_array_error_handle(WORD(data + 0x06)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4868:43: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_memory_device_width("Total Width", WORD(data + 0x08)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4869:42: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_memory_device_width("Data Width", WORD(data + 0x0A)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4870:29: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (h->length >= 0x20 && WORD(data + 0x0C) == 0x7FFF) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4871:37: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] dmi_memory_device_extended_size(DWORD(data + 0x1C)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4873:28: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_memory_device_size(WORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4883:34: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_memory_device_type_detail(WORD(data + 0x13)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4886:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x0C) == 0 && !(opt.flags & FLAG_NO_QUIRKS)) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4888:37: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_memory_device_speed("Speed", WORD(data + 0x15), ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4890:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x54) : 0); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4907:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x20), ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4909:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x58) : 0); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4912:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x22)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4914:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x24)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4916:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x26)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4919:41: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_memory_operating_mode_capability(WORD(data + 0x29)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4923:10: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x2C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4925:12: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x2E)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4927:10: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x30)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4929:12: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x32)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4931:41: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] dmi_memory_size("Non-Volatile Size", QWORD(data + 0x34)); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4933:37: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] dmi_memory_size("Volatile Size", QWORD(data + 0x3C)); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4935:34: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] dmi_memory_size("Cache Size", QWORD(data + 0x44)); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4937:36: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] dmi_memory_size("Logical Size", QWORD(data + 0x4C)); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4940:10: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x5C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4941:33: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_memory_revision("PMIC0", WORD(data + 0x5E), ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4944:10: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x60)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4945:31: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_memory_revision("RCD", WORD(data + 0x62), ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4958:30: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] dmi_memory_error_syndrome(DWORD(data + 0x07)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4960:14: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x0B)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4962:14: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x0F)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4964:14: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x13)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4970:29: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (h->length >= 0x1F && DWORD(data + 0x04) == 0xFFFFFFFF) ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4974:13: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] start = QWORD(data + 0x0F); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4975:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] end = QWORD(data + 0x17); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4986:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x04) >> 2, ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4987:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] (DWORD(data + 0x04) & 0x3) << 10); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4989:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x08) >> 2, ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4990:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] ((DWORD(data + 0x08) & 0x3) << 10) + 0x3FF); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4991:29: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] dmi_mapped_address_size(DWORD(data + 0x08) - DWORD(data + 0x04) + 1); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4991:50: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] dmi_mapped_address_size(DWORD(data + 0x08) - DWORD(data + 0x04) + 1); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:4995:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5003:29: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (h->length >= 0x23 && DWORD(data + 0x04) == 0xFFFFFFFF) ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5007:13: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] start = QWORD(data + 0x13); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5008:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] end = QWORD(data + 0x1B); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5019:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x04) >> 2, ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5020:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] (DWORD(data + 0x04) & 0x3) << 10); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5022:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x08) >> 2, ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5023:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] ((DWORD(data + 0x08) & 0x3) << 10) + 0x3FF); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5024:29: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] dmi_mapped_address_size(DWORD(data + 0x08) - DWORD(data + 0x04) + 1); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5024:50: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] dmi_mapped_address_size(DWORD(data + 0x08) - DWORD(data + 0x04) + 1); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5029:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5031:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x0E)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5068:26: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_battery_capacity(WORD(data + 0x0A), 1); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5070:26: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_battery_capacity(WORD(data + 0x0A), data[0x15]); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5071:24: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_battery_voltage(WORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5078:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x10)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5081:14: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] 1980 + (WORD(data + 0x12) >> 9), ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5082:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] (WORD(data + 0x12) >> 5) & 0x0F, ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5083:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x12) & 0x1F); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5088:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x16)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5104:42: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_system_reset_count("Reset Count", WORD(data + 0x05)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5105:42: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_system_reset_count("Reset Limit", WORD(data + 0x07)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5106:45: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_system_reset_timer("Timer Interval", WORD(data + 0x09)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5107:38: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_system_reset_timer("Timeout", WORD(data + 0x0B)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5138:45: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_voltage_probe_value("Maximum Value", WORD(data + 0x06)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5139:45: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_voltage_probe_value("Minimum Value", WORD(data + 0x08)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5140:33: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_voltage_probe_resolution(WORD(data + 0x0A)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5141:41: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_voltage_probe_value("Tolerance", WORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5142:23: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_probe_accuracy(WORD(data + 0x0E)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5144:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x10)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5146:45: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_voltage_probe_value("Nominal Value", WORD(data + 0x14)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5152:37: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (!(opt.flags & FLAG_QUIET) && WORD(data + 0x04) != 0xFFFF) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5154:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x04)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5163:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x08)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5165:29: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_cooling_device_speed(WORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5180:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x06)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5182:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x08)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5183:37: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_temperature_probe_resolution(WORD(data + 0x0A)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5185:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5186:23: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_probe_accuracy(WORD(data + 0x0E)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5188:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x10)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5191:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x14)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5204:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x06)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5206:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x08)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5207:33: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_current_probe_resolution(WORD(data + 0x0A)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5209:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5210:23: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_probe_accuracy(WORD(data + 0x0E)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5212:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x10)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5215:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x14)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5235:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x08) >> 16, ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5236:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x08) & 0xFFFF); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5238:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5257:30: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] dmi_memory_error_syndrome(DWORD(data + 0x07)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5259:14: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] QWORD(data + 0x0B)); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5261:14: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] QWORD(data + 0x13)); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5263:14: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x1B)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5274:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x06)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5287:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x05)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5289:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x07)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5290:9: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x09) != 0xFFFF) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5292:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x09)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5299:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x04) != 0x8000) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5301:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] (i16)WORD(data + 0x04)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5302:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x06) != 0x8000) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5304:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] (i16)WORD(data + 0x06)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5305:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x08) != 0x8000) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5307:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] (i16)WORD(data + 0x08)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5308:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x0A) != 0x8000) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5310:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] (i16)WORD(data + 0x0A)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5311:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x0C) != 0x8000) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5313:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] (i16)WORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5314:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x0E) != 0x8000) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5316:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] (i16)WORD(data + 0x0E)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5392:27: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_power_supply_power(WORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5393:8: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x0E) & (1 << 1)) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5395:31: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_power_supply_status((WORD(data + 0x0E) >> 7) & 0x07)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5399:28: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_power_supply_type((WORD(data + 0x0E) >> 10) & 0x0F)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5401:39: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_power_supply_range_switching((WORD(data + 0x0E) >> 3) & 0x0F)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5403:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x0E) & (1 << 2) ? "No" : "Yes"); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5405:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x0E) & (1 << 0) ? "Yes" : "No"); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5409:9: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x10) != 0xFFFF) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5411:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x10)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5412:9: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x12) != 0xFFFF) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5414:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x12)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5415:9: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x14) != 0xFFFF) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5417:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x14)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5437:30: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_slot_segment_bus_func(WORD(data + 0x07), data[0x09], data[0x0A]); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5483:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x0A) >> 16, ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5484:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x0A) & 0xFFFF); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5494:28: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] dmi_tpm_characteristics(QWORD(data + 0x13)); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5498:5: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x1B)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5513:34: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] dmi_memory_size("Image Size", QWORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5515:33: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_firmware_characteristics(WORD(data + 0x14)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5547:14: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] h->handle = WORD(data + 2); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5934:11: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] offset = QWORD(buf + 0x10); ^~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:5942:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] len = DWORD(buf + 0x0C); ^~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:6024:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] len = WORD(buf + 0x16); ^~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:6025:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] num = WORD(buf + 0x1C); ^~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:6026:24: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] table = dmi_table_get(DWORD(buf + 0x18), &len, num, ver << 8, ^~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:6065:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] len = WORD(buf + 0x06); ^~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:6066:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] num = WORD(buf + 0x0C); ^~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmidecode.c:6067:24: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] table = dmi_table_get(DWORD(buf + 0x08), &len, num, ver << 8, ^~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ 240 warnings generated. cc -O2 -pipe -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -c dmiopt.c -o dmiopt.o cc -O2 -pipe -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -c dmioem.c -o dmioem.o dmioem.c:113:10: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] cap = WORD(data + 0x04); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:119:65: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Function bitmap for Application Button", "0x%04hx", WORD(data + 0x06)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:120:59: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Function bitmap for Media Button", "0x%04hx", WORD(data + 0x08)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:121:61: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Function bitmap for Display Button", "0x%04hx", WORD(data + 0x0A)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:122:60: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Function bitmap for Others Button", "0x%04hx", WORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:419:27: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] data[2], data[3], WORD(data + 4)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:422:26: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr(name, "%d.%d", WORD(data + 4), WORD(data)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:422:42: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr(name, "%d.%d", WORD(data + 4), WORD(data)); ^~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:425:47: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr(name, "%d.%d.%d", data[0], data[1], WORD(data + 2)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:431:29: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr(name, "%d.%d %d", WORD(data + 2), WORD(data), DWORD(data + 4)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:431:45: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr(name, "%d.%d %d", WORD(data + 2), WORD(data), DWORD(data + 4)); ^~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:431:57: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr(name, "%d.%d %d", WORD(data + 2), WORD(data), DWORD(data + 4)); ^~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:434:32: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr(name, "%d.%d.%d.%d", WORD(data), WORD(data + 2), ^~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:434:44: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr(name, "%d.%d.%d.%d", WORD(data), WORD(data + 2), ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:435:11: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 4), WORD(data + 6)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:435:27: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 4), WORD(data + 6)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:445:5: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data), WORD(data + 2), WORD(data + 4), WORD(data + 6), ^~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:445:17: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data), WORD(data + 2), WORD(data + 4), WORD(data + 6), ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:445:33: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data), WORD(data + 2), WORD(data + 4), WORD(data + 6), ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:445:49: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data), WORD(data + 2), WORD(data + 4), WORD(data + 6), ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:446:23: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] data[8], data[9], WORD(data + 10)); ^~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:453:25: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr(name, "%08X", DWORD(data)); ^~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:884:44: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Associated Handle", "0x%04X", WORD(data + 0x04)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:895:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x0A)) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:896:38: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Maximum Power", "%d W", WORD(data + 0x0A)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:899:36: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr("x2APIC ID", "0x%08x", DWORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:901:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (DWORD(data + 0x10) || DWORD(data + 0x14)) ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:901:30: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (DWORD(data + 0x10) || DWORD(data + 0x14)) ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:902:35: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr("UUID", "0x%08x%08x", DWORD(data + 0x14), DWORD(data + 0x10)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:902:55: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr("UUID", "0x%08x%08x", DWORD(data + 0x14), DWORD(data + 0x10)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:904:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x18)) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:905:46: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Interconnect Speed", "%d MT/s", WORD(data + 0x18)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:925:17: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] u32 cpuid = DWORD(data + ptr + 2 * 4); ^~~~~~~~~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:934:12: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] date = DWORD(data + ptr + 4); ^~~~~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:937:33: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_subattr("Patch", "0x%X", DWORD(data + ptr)); ^~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:980:54: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_hp_203_assoc_hndl("Associated Device Record", WORD(data + 0x04)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:981:54: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_hp_203_assoc_hndl("Associated SMBus Record", WORD(data + 0x06)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:982:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x08) == 0xffff && WORD(data + 0x0A) == 0xffff && ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:982:39: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x08) == 0xffff && WORD(data + 0x0A) == 0xffff && ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:983:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x0C) == 0xffff && WORD(data + 0x0E) == 0xffff && ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:983:39: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x0C) == 0xffff && WORD(data + 0x0E) == 0xffff && ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:990:41: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_hp_203_pciinfo("PCI Vendor ID", WORD(data + 0x08)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:991:41: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_hp_203_pciinfo("PCI Device ID", WORD(data + 0x0A)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:992:45: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_hp_203_pciinfo("PCI Sub Vendor ID", WORD(data + 0x0C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:993:45: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_hp_203_pciinfo("PCI Sub Device ID", WORD(data + 0x0E)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:997:43: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_hp_203_assoc_hndl("Parent Handle", WORD(data + 0x12)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:998:31: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Flags", "0x%04X", WORD(data + 0x14)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:999:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x14) & 0x01) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1001:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x14) & 0x02) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1016:9: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x14) & 1) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1018:7: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(data + 0x20)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1026:46: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Segment Group Number", "0x%04x", WORD(data + 0x24)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1095:6: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(data + 0x04), ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1099:36: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr("Signature", "0x%08x", DWORD(data + 0x04)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1100:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (DWORD(data + 0x04) == 0x55524324) ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1102:17: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] u64 paddr = QWORD(data + 0x08); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1103:16: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] paddr.l += DWORD(data + 0x14); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1104:19: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (paddr.l < DWORD(data + 0x14)) ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1108:33: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr("Length", "0x%08x", DWORD(data + 0x10)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1149:23: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_hp_216_fw_type(WORD(data + 0x04)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1153:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x15)) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1154:36: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Unique ID", "0x%04x", WORD(data + 0x15)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1165:40: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr("Power Features", "0x%08x", DWORD(data + 0x04)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1167:40: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr("Omega Features", "0x%08x", DWORD(data + 0x08)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1169:11: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] feat = DWORD(data + 0x10); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1200:44: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Associated Handle", "0x%04X", WORD(data + 0x8)); ^~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1202:22: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_hp_224_chipid(WORD(data + 0x0a)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1227:44: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Associated Handle", "0x%04X", WORD(data + 0x4)); ^~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1287:32: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Box Number", "%d", WORD(data + 0x5)); ^~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1288:32: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("NVRAM ID", "0x%X", WORD(data + 0x7)); ^~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1290:41: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] pr_attr("SAS Expander WWID", "0x%X", QWORD(data + 0x9)); ^~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1321:44: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Associated Handle", "0x%04X", WORD(data + 0x4)); ^~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1327:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (WORD(data + 0x09)) ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1354:44: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Associated Handle", "0x%04X", WORD(data + 0x4)); ^~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1358:40: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_hp_238_flags("Management Port", WORD(data + 0x9)); ^~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1403:44: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Associated Handle", "0x%04X", WORD(data + 0x04)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1404:39: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("USB Vendor ID", "0x%04x", WORD(data + 0x06)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1407:40: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("USB Product ID", "0x%04x", WORD(data + 0x0D)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1408:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (DWORD(data + 0x0F)) ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1409:38: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr("USB Capacity", "%u MB", DWORD(data + 0x0F)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1441:44: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Associated Handle", "0x%04X", WORD(data + 0x4)); ^~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1442:41: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr("Package Version", "0x%08X", DWORD(data + 0x6)); ^~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1445:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (DWORD(data + 0x0B)) ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1446:41: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] dmi_print_memory_size("Image Size", QWORD(data + 0xB), 0); ^~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1450:20: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] dmi_hp_240_attr(QWORD(data + 0x13), QWORD(data + 0x1B)); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1450:40: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] dmi_hp_240_attr(QWORD(data + 0x13), QWORD(data + 0x1B)); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1452:8: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (DWORD(data + 0x23)) ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1453:51: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr("Lowest Supported Version", "0x%08X", DWORD(data + 0x23)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1498:44: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pr_attr("Associated Handle", "0x%04X", WORD(data + 0x4)); ^~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1500:26: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] pr_attr("ID", "%llx", QWORD(data + 0x07)); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1502:34: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr("Capacity", "%u MB", DWORD(data + 0x0F)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1504:39: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] dmi_print_memory_size("Capacity", QWORD(data + 0x2C), 0); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1506:36: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] pr_attr("Poweron", "%ld hours", QWORD(data + 0x13)); ^~~~~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1527:38: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] pr_attr("Block Size", "%u bytes", DWORD(data + 0x34)); ^~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1531:41: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_hp_242_speed("Negotiated Speed", WORD(data + 0x3A)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ dmioem.c:1532:38: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] dmi_hp_242_speed("Capable Speed", WORD(data + 0x3C)); ^~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ 96 warnings generated. cc -O2 -pipe -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -c dmioutput.c -o dmioutput.o cc -O2 -pipe -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -c util.c -o util.o cc dmidecode.o dmiopt.o dmioem.o dmioutput.o util.o -o dmidecode ld: warning: dmidecode.c(dmidecode.o:(dmi_dump)): warning: sprintf() is often misused, please use snprintf() cc -O2 -pipe -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -c biosdecode.c -o biosdecode.o biosdecode.c:113:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(p + 0x0C)); ^~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:115:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] QWORD(p + 0x10).h, QWORD(p + 0x10).l); ^~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:115:22: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] QWORD(p + 0x10).h, QWORD(p + 0x10).l); ^~~~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:135:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p + 0x16)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:137:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(p + 0x18)); ^~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:139:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p + 0x1C)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:141:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p + 0x08)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:161:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p + 0x06)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:163:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(p + 0x08)); ^~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:165:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p + 0x0C)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:176:9: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] return WORD(p + 0x08); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:181:33: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (len < 0x11 || !checksum(p, WORD(p + 0x08))) ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:188:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(p + 0x0A)); ^~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:190:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p + 0x0E)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:224:26: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pnp_event_notification(WORD(p + 0x06) & 0x03)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:225:7: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if ((WORD(p + 0x06) & 0x03) == 0x01) ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:227:4: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(p + 0x09)); ^~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:229:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p + 0x0F), WORD(p + 0x0D)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:229:19: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p + 0x0F), WORD(p + 0x0D)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:231:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p + 0x1B)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:233:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(p + 0x13) + WORD(p + 0x11)); ^~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:233:21: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] DWORD(p + 0x13) + WORD(p + 0x11)); ^~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:235:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(p + 0x1D)); ^~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:236:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (DWORD(p + 0x17) != 0) ^~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:277:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(p + 16)); ^~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:282:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (DWORD(p + 20) > len || !checksum(p, DWORD(p + 20))) ^~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:282:42: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (DWORD(p + 20) > len || !checksum(p, DWORD(p + 20))) ^~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:285:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (DWORD(p + 20) < 32) return 1; ^~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:288:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] QWORD(p + 24).h, QWORD(p + 24).l); ^~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:288:20: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align] QWORD(p + 24).h, QWORD(p + 24).l); ^~~~~~~~~~~~~ ./types.h:56:20: note: expanded from macro 'QWORD' #define QWORD(x) (*(const u64 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:330:3: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(p + 0x04)); ^~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:363:9: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] return WORD(p + 6); ^~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:372:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pir_irqs(WORD(p + 1)); ^~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:380:31: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] if (len < 32 || !checksum(p, WORD(p + 6))) ^~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:388:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] pir_irqs(WORD(p + 10)); ^~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:390:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (DWORD(p + 12) != 0) ^~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:392:4: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p + 12), WORD(p + 14)); ^~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:392:18: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p + 12), WORD(p + 14)); ^~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:393:6: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] if (DWORD(p + 16) != 0) ^~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:395:4: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(p + 16)); ^~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:455:19: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] p[8 + i * 10], DWORD(p + 9 + i * 10), ^~~~~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:456:4: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align] WORD(p + 13 + i * 10)); ^~~~~~~~~~~~~~~~~~~~~ ./types.h:54:24: note: expanded from macro 'WORD' #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~ biosdecode.c:567:4: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] DWORD(p + 4)); ^~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ 43 warnings generated. cc biosdecode.o util.o -o biosdecode cc -O2 -pipe -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -c ownership.c -o ownership.o ownership.c:108:11: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] return DWORD(p + 9 + i * 10); ^~~~~~~~~~~~~~~~~~~~~ ./types.h:55:25: note: expanded from macro 'DWORD' #define DWORD(x) (u32)(*(const u32 *)(x)) ^~~~~~~~~~~~~~~~ 1 warning generated. cc ownership.o util.o -o ownership cc -O2 -pipe -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -c vpddecode.c -o vpddecode.o cc -O2 -pipe -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -c vpdopt.c -o vpdopt.o cc vpddecode.o vpdopt.o util.o -o vpddecode >>> Running package in sysutils/dmidecode at 1732126340.27 ===> sysutils/dmidecode ===> Faking installation for dmidecode-3.6 install -m 755 -d /exopi-obj/pobj/dmidecode-3.6/fake-amd64/usr/local/sbin for program in dmidecode biosdecode ownership vpddecode ; do install -m 755 $program /exopi-obj/pobj/dmidecode-3.6/fake-amd64/usr/local/sbin ; done install -m 755 -d /exopi-obj/pobj/dmidecode-3.6/fake-amd64/usr/local/man/man8 for program in dmidecode biosdecode ownership vpddecode ; do install -m 644 man/$program.8 /exopi-obj/pobj/dmidecode-3.6/fake-amd64/usr/local/man/man8 ; done install -m 755 -d /exopi-obj/pobj/dmidecode-3.6/fake-amd64/usr/local/share/doc/dmidecode install -m 644 README /exopi-obj/pobj/dmidecode-3.6/fake-amd64/usr/local/share/doc/dmidecode install -m 644 NEWS /exopi-obj/pobj/dmidecode-3.6/fake-amd64/usr/local/share/doc/dmidecode install -m 644 AUTHORS /exopi-obj/pobj/dmidecode-3.6/fake-amd64/usr/local/share/doc/dmidecode if true || [ -d /usr/local/share/bash-completion/completions ] ; then install -m 755 -d /exopi-obj/pobj/dmidecode-3.6/fake-amd64/usr/local/share/bash-completion/completions ; for program in dmidecode biosdecode ownership vpddecode ; do install -m 644 completion/$program.bash /exopi-obj/pobj/dmidecode-3.6/fake-amd64/usr/local/share/bash-completion/completions/$program ; done ; fi /exopi-obj/pobj/dmidecode-3.6/bin/install -d -m 755 /exopi-obj/pobj/dmidecode-3.6/fake-amd64/usr/local/share/doc/dmidecode/ /exopi-obj/pobj/dmidecode-3.6/bin/install -c -m 644 /exopi-obj/pobj/dmidecode-3.6/dmidecode-3.6/README /exopi-obj/pobj/dmidecode-3.6/fake-amd64/usr/local/share/doc/dmidecode/ ===> Building package for dmidecode-3.6 Create /exopi-cvs/ports/packages/amd64/all/dmidecode-3.6.tgz Creating package dmidecode-3.6 reading plist| switching to /exopi-cvs/ports/sysutils/dmidecode/pkg/PFRAG.x86| checking dependencies| checksumming| checksumming| | 0% checksumming|** | 4% checksumming|***** | 8% checksumming|******* | 12% checksumming|********* | 15% checksumming|************ | 19% checksumming|************** | 23% checksumming|**************** | 27% checksumming|******************* | 31% checksumming|********************* | 35% checksumming|*********************** | 38% checksumming|************************** | 42% checksumming|**************************** | 46% checksumming|******************************* | 50% checksumming|********************************* | 54% checksumming|*********************************** | 58% checksumming|************************************** | 62% checksumming|**************************************** | 65% checksumming|****************************************** | 69% checksumming|********************************************* | 73% checksumming|*********************************************** | 77% checksumming|************************************************* | 81% checksumming|**************************************************** | 85% checksumming|****************************************************** | 88% checksumming|******************************************************** | 92% checksumming|*********************************************************** | 96% checksumming|*************************************************************|100% archiving| archiving| | 0% archiving|******* | 10% archiving|********** | 16% archiving|************** | 22% archiving|******************************************************** | 87% archiving|******************************************************** | 88% archiving|********************************************************* | 89% archiving|*********************************************************** | 92% archiving|************************************************************ | 94% archiving|*************************************************************** | 98% archiving|*************************************************************** | 99% archiving|****************************************************************|100% Link to /exopi-cvs/ports/packages/amd64/ftp/dmidecode-3.6.tgz >>> Running clean in sysutils/dmidecode at 1732126342.37 ===> sysutils/dmidecode ===> Cleaning for dmidecode-3.6 >>> Ended at 1732126342.74 max_stuck=0.00/build=5.16/package=2.05/clean=0.45