Build of dmidecode with musl toolchain

The build took 00h 01m 29s and was SUCCESSFUL.

The program in this build is written in the following languages, according to sloccount:

SLOCLanguage
5,633 ansic
78 makefile
5,711 total

The process tree of the build process is here.

Several sub-process invocations were improper; see the process tree for details. Summary:

Log

To avoid scrolling, you may jump to the last line of the invocation of makepkg that was used to build this package.

Removed vanilla repositories from pacman.conf and added:
# [tuscan]
# Server = file:///var/cache/pacman/pkg/

CMD: pacman -Syy --noconfirm
# :: Synchronizing package databases...
# downloading tuscan.db...

There were existing files in /sysroot, using those
# /sysroot/lib
# /sysroot/share
# /sysroot/bin
# /sysroot/include
# /sysroot/libexec

CMD: sudo -u tuscan PATH=/sysroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin CC=clang CXX=clang++ red makepkg --noextract --syncdeps --skipinteg --skippgpcheck --skipchecksums --noconfirm --nocolor --log --noprogressbar --nocheck
# ==> Making package: dmidecode 3.0-1 (Wed Apr 5 00:12:04 UTC 2017)
# ==> Checking runtime dependencies...
# ==> Checking buildtime dependencies...
# ==> WARNING: Using existing $srcdir/ tree
# ==> Starting build()...
# gcc -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -O2 -c dmidecode.c -o dmidecode.o
# gcc -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -O2 -c dmiopt.c -o dmiopt.o
# gcc -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -O2 -c dmioem.c -o dmioem.o
# gcc -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -O2 -c util.c -o util.o
# dmioem.c:192:34: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]
# printf("\tSignature: 0x%08x", DWORD(data + 0x04));
# ^~~~~~~~~~~~~~~~~~
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmioem.c:197: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmioem.c:199: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:59:20: note: expanded from macro 'QWORD'
# #define QWORD(x) (*(const u64 *)(x))
# ^~~~~~~~~~~~~~~~
# dmioem.c:200: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmioem.c:201: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmioem.c:205:34: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]
# printf("\tLength: 0x%08x\n", DWORD(data + 0x10));
# ^~~~~~~~~~~~~~~~~~
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmioem.c:217:41: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]
# printf("\tPower Features: 0x%08x\n", DWORD(data + 0x04));
# ^~~~~~~~~~~~~~~~~~
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmioem.c:219:41: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]
# printf("\tOmega Features: 0x%08x\n", DWORD(data + 0x08));
# ^~~~~~~~~~~~~~~~~~
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmioem.c:221: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmioem.c:256: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmioem.c:262:66: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
# printf("\tFunction bitmap for Application Button: 0x%04hx\n", WORD(data + 0x06));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmioem.c:263:60: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
# printf("\tFunction bitmap for Media Button: 0x%04hx\n", WORD(data + 0x08));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmioem.c:264:62: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
# printf("\tFunction bitmap for Display Button: 0x%04hx\n", WORD(data + 0x0A));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmioem.c:265:61: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
# printf("\tFunction bitmap for Others Button: 0x%04hx\n", WORD(data + 0x0C));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:511: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]
# prefix, WORD(p + sizeof(u16) * i));
# ^~~~~~~~~~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:906: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:1000: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:1011: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:1068: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]
# eax = DWORD(p);
# ^~~~~~~~
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:1069: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:1088: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:1127: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:1347: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]
# prefix, WORD(p + sizeof(u16) * i));
# ^~~~~~~~~~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:2012: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]
# prefix, WORD(p + 3 * i + 1),
# ^~~~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:2061: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]
# printf(" Index 0x%04X, Data 0x%04X", WORD(p), WORD(p + 2));
# ^~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:2061:50: 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]
# printf(" Index 0x%04X, Data 0x%04X", WORD(p), WORD(p + 2));
# ^~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:2064:22: 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]
# printf(" 0x%08X", DWORD(p));
# ^~~~~~~~
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:2067:22: 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]
# printf(" 0x%04X", WORD(p));
# ^~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3031:16: 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]
# prefix, i, WORD(p + 3 * i + 1));
# ^~~~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3063: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:59:20: note: expanded from macro 'QWORD'
# #define QWORD(x) (*(const u64 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3172:12: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
# prefix, WORD(p + 0x01));
# ^~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3185:22: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
# printf("0x%04x", WORD(p + 0x05));
# ^~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3188:22: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]
# printf("0x%08x", DWORD(p + 0x05));
# ^~~~~~~~~~~~~~~
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3252: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3255: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3257: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3263: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), "\t\t");
# ^~~~~~~~~~~~~~~~~~
# ./types.h:59:20: note: expanded from macro 'QWORD'
# #define QWORD(x) (*(const u64 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3323: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3358: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3411: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_processor_cache(WORD(data + 0x1A), "L1", ver);
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3414: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_processor_cache(WORD(data + 0x1C), "L2", ver);
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3417: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_processor_cache(WORD(data + 0x1E), "L3", ver);
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3431: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3435: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3439: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3441: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_processor_characteristics(WORD(data + 0x26), "\t\t");
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3460: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_controller_speeds(WORD(data + 0x09), "\t\t");
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3462: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_module_types(WORD(data + 0x0B), "\n\t\t");
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3486: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_module_types(WORD(data + 0x07), " ");
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3504: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3505: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3506: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3508: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3510: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3512: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_cache_size(WORD(data + 0x09));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3515: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_cache_size(WORD(data + 0x07));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3518:20: 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(WORD(data + 0x0B), "\n\t\t");
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3521:20: 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(WORD(data + 0x0D), " ");
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3569: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], "\t");
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3616: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3618: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3619: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3619: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3621: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3621: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3622: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3622: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3624: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3634: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3654: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3659:28: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align]
# dmi_print_memory_size(QWORD(data + 0x0F), 0);
# ^~~~~~~~~~~~~~~~~~
# ./types.h:59:20: note: expanded from macro 'QWORD'
# #define QWORD(x) (*(const u64 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3666: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3673: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3677: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3686: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3688: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3692: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_width(WORD(data + 0x08));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3695: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_width(WORD(data + 0x0A));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3698: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3699: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3701: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3715: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3719: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_speed(WORD(data + 0x15));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3739: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_speed(WORD(data + 0x20));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3743: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_memory_voltage_value(WORD(data + 0x22));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3746: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_memory_voltage_value(WORD(data + 0x24));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3749: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_memory_voltage_value(WORD(data + 0x26));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3763: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.cgcc -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -O2 -c biosdecode.c -o biosdecode.o
# :3766:35: 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_32bit_memory_error_address(DWORD(data + 0x0B));
# ^~~~~~~~~~~~~~~~~~
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3769:35: 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_32bit_memory_error_address(DWORD(data + 0x0F));
# ^~~~~~~~~~~~~~~~~~
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3772:35: 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_32bit_memory_error_address(DWORD(data + 0x13));
# ^~~~~~~~~~~~~~~~~~
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3779: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3783: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:59:20: note: expanded from macro 'QWORD'
# #define QWORD(x) (*(const u64 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3784: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:59:20: note: expanded from macro 'QWORD'
# #define QWORD(x) (*(const u64 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3796: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3797: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3799: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3800: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3802: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3802: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3807: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3815: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3819: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:59:20: note: expanded from macro 'QWORD'
# #define QWORD(x) (*(const u64 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3820: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:59:20: note: expanded from macro 'QWORD'
# #define QWORD(x) (*(const u64 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3832: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3833: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3835: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3836: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3838: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3838: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3844: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3846: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]
# 14 warnings generated.
# WORD(data + 0x0E));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3886: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3888: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3891: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3901: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3904: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3905: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3906: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3911: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3928: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_system_reset_count(WORD(data + 0x05));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3931: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_system_reset_count(WORD(data + 0x07));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3934: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_system_reset_timer(WORD(data + 0x09));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3937: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_system_reset_timer(WORD(data + 0x0B));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# gcc -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -O2 -c ownership.c -o ownership.o
# dmidecode.c:3972: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_voltage_probe_value(WORD(data + 0x06));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3975: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_voltage_probe_value(WORD(data + 0x08));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3978: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3981: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_voltage_probe_value(WORD(data + 0x0C));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3984: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3987: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3990: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_voltage_probe_value(WORD(data + 0x14));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3997: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:3999: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4008: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4011: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4027:32: 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_value(WORD(data + 0x06));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4030:32: 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_value(WORD(data + 0x08));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4033: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4036:32: 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_value(WORD(data + 0x0C));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4039: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4042: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4045:32: 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_value(WORD(data + 0x14));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4059: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_current_probe_value(WORD(data + 0x06));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4062: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_current_probe_value(WORD(data + 0x08));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4065: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4068: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_current_probe_value(WORD(data + 0x0C));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4071: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4074: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4077: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_current_probe_value(WORD(data + 0x14));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4098: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4099: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4101: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4121: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4124:35: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align]
# dmi_64bit_memory_error_address(QWORD(data + 0x0B));
# ^~~~~~~~~~~~~~~~~~
# ./types.h:59:20: note: expanded from macro 'QWORD'
# #define QWORD(x) (*(const u64 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4127:35: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align]
# dmi_64bit_memory_error_address(QWORD(data + 0x13));
# ^~~~~~~~~~~~~~~~~~
# ./types.h:59:20: note: expanded from macro 'QWORD'
# #define QWORD(x) (*(const u64 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4130:35: 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_32bit_memory_error_address(DWORD(data + 0x1B));
# ^~~~~~~~~~~~~~~~~~
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4142: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4155: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4157: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4158: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4160: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 + 0x09));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4167: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4169: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4170: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:106:3: warning: dmidecode.ccast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]:
# 4172: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]
# DWORD(p + 0x0C));
# ^~~~~~~~~~~~~~~
# (i16)WORD(data + 0x06));
# ^~~~~~~~~~~~~~~~~
# ./types.h:58:./types.h25::57 :note24: :expanded from macro 'DWORD'
# note: expanded from macro 'WORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# #define WORD(x) (u16)(*(const u16 *)(x)) ^~~~~~~~~~~~~~~~
#
# ^~~~~~~~~~~~~~~~
# dmidecode.cbiosdecode.c::4173108::83:: warningwarning: : cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align]
#
# if (WORD(data + 0x08) != 0x8000) QWORD(p + 0x10).h, QWORD(p + 0x10).l);
#
# ^~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~
#
# ./types.h./types.h::5759::2420:: notenote: : expanded from macro 'WORD'expanded from macro 'QWORD'
#
# #define QWORD(x) (*(const u64 *)(x))#define WORD(x) (u16)(*(const u16 *)(x))
#
# ^~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~
#
# biosdecode.c:108:22: warning: cast from 'const u8 *' (aka 'const unsigned char *') to 'const u64 *' increases required alignment from 1 to 4 [-Wcast-align]
# dmidecode.c:4175: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]
# QWORD(p + 0x10).h, QWORD(p + 0x10).l);
# ^~~~~~~~~~~~~~~
# ./types.h:59:20: (i16)WORD(data + 0x08));note
# : ^~~~~~~~~~~~~~~~~expanded from macro 'QWORD'
#
# ./types.h:57:24: note: #define QWORD(x) (*(const u64 *)(x))expanded from macro 'WORD'
#
# ^~~~~~~~~~~~~~~~
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4176: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4178: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));
# biosdecode.c ^~~~~~~~~~~~~~~~~
# :128:./types.h3::57 :warning24: :cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
# note: expanded from macro 'WORD'
# WORD(p + 0x16));
# ^~~~~~~~~~~~~~
# #define WORD(x) (u16)(*(const u16 *)(x))./types.h
# : ^~~~~~~~~~~~~~~~57
# :24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4179: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]
# biosdecode.c:130: if (WORD(data + 0x0C) != 0x8000)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]
# ./types.h:57:24: note: expanded from macro 'WORD' DWORD(p + 0x18));
#
# ^~~~~~~~~~~~~~~
# ./types.h:58:25: #define WORD(x) (u16)(*(const u16 *)(x))note
# : ^~~~~~~~~~~~~~~~expanded from macro 'DWORD'
#
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4181: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]biosdecode.c
# :132: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]
# (i16)WORD(data + 0x0C));
# ^~~~~~~~~~~~~~~~~
# WORD(p + 0x1C));
# ./types.h ^~~~~~~~~~~~~~:
# 57:24./types.h:: 57note:: 24expanded from macro 'WORD':
# note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))#define WORD(x) (u16)(*(const u16 *)(x))
#
# ^~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~
#
# biosdecode.c:134:3:dmidecode.c warning:: 4182cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]:
# 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(p + 0x08));
# ^~~~~~~~~~~~~~
# ./types.h:57:24: if (WORD(data + 0x0E) != 0x8000)note
# : ^~~~~~~~~~~~~~~~~expanded from macro 'WORD'
#
# ./types.h:57:24: note: #define WORD(x) (u16)(*(const u16 *)(x))expanded from macro 'WORD'
#
# ^~~~~~~~~~~~~~~~
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4184: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:154: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:156: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:158: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:169: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:174: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4263: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:57:24: note: expanded from macro 'WORD'
# biosdecode.c:181: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]#define WORD(x) (u16)(*(const u16 *)(x))
#
# ^~~~~~~~~~~~~~~~
# DWORD(p + 0x0A));
# ^~~~~~~~~~~~~~~
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4266: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:57:biosdecode.c24::183 :note3: :expanded from macro 'WORD'
# 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]
# #define WORD(x) (u16)(*(const u16 *)(x)) WORD(p + 0x0E));
#
# ^~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~
#
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4268: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4273: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:57:24: note: expanded from macro 'WORD'
# biosdecode.c#define WORD(x) (u16)(*(const u16 *)(x))
# : ^~~~~~~~~~~~~~~~217
# :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:57:24: note: expanded from macro 'WORD'
# dmidecode.c#define WORD(x) (u16)(*(const u16 *)(x))
# : ^~~~~~~~~~~~~~~~4275
# :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:57:24: note: expanded from macro 'WORD'
# biosdecode.c:218:7: warning#define WORD(x) (u16)(*(const u16 *)(x)):
# 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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4277: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");
# ^~~~~~~~~~~~~~~~~
# biosdecode.c./types.h::22057::424:: warningnote: : cast from 'const u8 *' (aka 'const unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]expanded from macro 'WORD'
#
# DWORD(p + 0x09));#define WORD(x) (u16)(*(const u16 *)(x))
#
# ^~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~
#
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4279: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]
# biosdecode.c:222:3: WORD(data + 0x0E) & (1 << 0) ? "Yes" : "No");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]
#
# ./types.h:57:24: note: expanded from macro 'WORD'
# WORD(p + 0x0F), WORD(p + 0x0D));
# ^~~~~~~~~~~~~~
# ./types.h:57:24#define WORD(x) (u16)(*(const u16 *)(x)):
# ^~~~~~~~~~~~~~~~note
# : expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:222: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:57dmidecode.c:24::4283 :note9: :expanded from macro 'WORD'
# 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]
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# if (WORD(data + 0x10) != 0xFFFF)
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:224: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.hdmidecode.c:57::428524::7 :note : warningexpanded from macro 'WORD':
# cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
# #define WORD(x) (u16)(*(const u16 *)(x)) WORD(data + 0x10));
#
# ^~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~
#
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:226: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]
# dmidecode.c DWORD(p + 0x13) + WORD(p + 0x11));
# : ^~~~~~~~~~~~~~~4286
# :9: ./types.hwarning:: 58cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]:
# 25: note: expanded from macro 'DWORD'
# if (WORD(data + 0x12) != 0xFFFF)
# ^~~~~~~~~~~~~~~~~
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~./types.h
# :57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~biosdecode.c
# :226: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:57:24:dmidecode.c note:: 4288expanded from macro 'WORD':
# 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]
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# WORD(data + 0x12));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:228: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]
# dmidecode.c: DWORD(p + 0x1D));4289
# : ^~~~~~~~~~~~~~~9
# : warning: ./types.hcast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]:
# 58:25: note: expanded from macro 'DWORD'
# if (WORD(data + 0x14) != 0xFFFF)
# ^~~~~~~~~~~~~~~~~
# #define DWORD(x) (u32)(*(const u32 *)(x))./types.h
# : ^~~~~~~~~~~~~~~~57
# :24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:229: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]
# dmidecode.c:4291 if (DWORD(p + 0x17) != 0):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]
# ./types.h:58:25: note: expanded from macro 'DWORD'
# WORD(data + 0x14));
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24#define DWORD(x) (u32)(*(const u32 *)(x)):
# ^~~~~~~~~~~~~~~~note
# : expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4311: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], "\t");
# ^~~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:270: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:275: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:275: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:278: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:281: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:59:20: note: expanded from macro 'QWORD'
# #define QWORD(x) (*(const u64 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:281: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:59:20: note: expanded from macro 'QWORD'
# #define QWORD(x) (*(const u64 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:323: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:356: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:dmidecode.c363:31:: 4358warning:: 14cast from 'const u8 *' (aka 'const unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]:
# warning: cast from 'u8 *' (aka '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))) h->handle = WORD(data + 2);
#
# ^~~~~~~~~~~~~~ ^~~~~~~~~~~
#
# ./types.h./types.h::5757::2424:: notenote: : expanded from macro 'WORD'expanded from macro 'WORD'
#
# #define WORD(x) (u16)(*(const u16 *)(x))#define WORD(x) (u16)(*(const u16 *)(x))
#
# ^~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~
#
# biosdecode.c:371: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:373: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:375: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:375: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:376: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:378: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:380:20: 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]
# for (i = 1; i <= (WORD(p + 6) - 32) / 16; i++)
# ^~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:457: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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# biosdecode.c:458: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:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4594: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:59:20: note: expanded from macro 'QWORD'
# #define QWORD(x) (*(const u64 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4602: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(buf + 0x0C), 0, ver, devmem, flags | FLAG_STOP_AT_EOT);
# ^~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4651:12: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]
# dmi_table(DWORD(buf + 0x18), WORD(buf + 0x16), WORD(buf + 0x1C),
# ^~~~~~~~~~~~~~~~~
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4651:31: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
# dmi_table(DWORD(buf + 0x18), WORD(buf + 0x16), WORD(buf + 0x1C),
# ^~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4651:49: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
# dmi_table(DWORD(buf + 0x18), WORD(buf + 0x16), WORD(buf + 0x1C),
# ^~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# gcc -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -O2 -c vpddecode.c -o vpddecode.o
# dmidecode.c:4679:12: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u32 *' (aka 'const unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]
# dmi_table(DWORD(buf + 0x08), WORD(buf + 0x06), WORD(buf + 0x0C),
# ^~~~~~~~~~~~~~~~~
# ./types.h:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4679:31: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
# dmi_table(DWORD(buf + 0x08), WORD(buf + 0x06), WORD(buf + 0x0C),
# ^~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# dmidecode.c:4679:49: warning: cast from 'u8 *' (aka 'unsigned char *') to 'const u16 *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
# dmi_table(DWORD(buf + 0x08), WORD(buf + 0x06), WORD(buf + 0x0C),
# ^~~~~~~~~~~~~~~~
# ./types.h:57:24: note: expanded from macro 'WORD'
# #define WORD(x) (u16)(*(const u16 *)(x))
# ^~~~~~~~~~~~~~~~
# 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:58:25: note: expanded from macro 'DWORD'
# #define DWORD(x) (u32)(*(const u32 *)(x))
# ^~~~~~~~~~~~~~~~
# 1 warning generated.
# gcc -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -D_FILE_OFFSET_BITS=64 -O2 -c vpdopt.c -o vpdopt.o
# gcc ownership.o util.o -o ownership
# gcc vpddecode.o vpdopt.o util.o -o vpddecode
# 42 warnings generated.
# gcc biosdecode.o util.o -o biosdecode
# 182 warnings generated.
# gcc dmidecode.o dmiopt.o dmioem.o util.o -o dmidecode
# ==> Entering fakeroot environment...
# ==> Starting package()...
# install -m 755 -d /tmp/dmidecode/pkg/dmidecode/usr/bin
# install -m 755 -d /tmp/dmidecode/pkg/dmidecode/usr/share/man/man8
# install -m 755 -d /tmp/dmidecode/pkg/dmidecode/usr/share/doc/dmidecode
# for program in dmidecode biosdecode ownership vpddecode ; do \
# install -m 755 $program /tmp/dmidecode/pkg/dmidecode/usr/bin ; done
# for program in dmidecode biosdecode ownership vpddecode ; do \
# install -m 644 man/$program.8 /tmp/dmidecode/pkg/dmidecode/usr/share/man/man8 ; done
# install -m 644 README /tmp/dmidecode/pkg/dmidecode/usr/share/doc/dmidecode
# install -m 644 CHANGELOG /tmp/dmidecode/pkg/dmidecode/usr/share/doc/dmidecode
# install -m 644 AUTHORS /tmp/dmidecode/pkg/dmidecode/usr/share/doc/dmidecode
# ==> Tidying install...
# -> Removing doc files...
# -> Purging unwanted files...
# ==> Checking for packaging issue...
# ==> Creating package "dmidecode"...
# -> Generating .PKGINFO file...
# -> Generating .BUILDINFO file...
# error: invalid option '--noprogressbar'
# -> Generating .MTREE file...
# -> Compressing package...
# ==> Leaving fakeroot environment.
# ==> Finished making: dmidecode 3.0-1 (Wed Apr 5 00:12:06 UTC 2017)

CMD: pacman --query --file dmidecode-3.0-1-x86_64.pkg.tar.xz
# dmidecode 3.0-1

Creating hybrid package for 'dmidecode'

Trying to find vanilla package 'dmidecode'...

CMD: pacman --query --file /mirror/dmidecode-3.0-1.pkg.tar.xz
# dmidecode 3.0-1

Package file has the following structure:
# /.PKGINFO
# /.MTREE
# /usr/bin/dmidecode
# /usr/bin/biosdecode
# /usr/bin/ownership
# /usr/bin/vpddecode
# /usr/share/man/man8/dmidecode.8.gz
# /usr/share/man/man8/biosdecode.8.gz
# /usr/share/man/man8/ownership.8.gz
# /usr/share/man/man8/vpddecode.8.gz
# /usr/share/doc/dmidecode/README
# /usr/share/doc/dmidecode/CHANGELOG
# /usr/share/doc/dmidecode/AUTHORS

Generating .MTREE

CMD: bsdtar -czf .MTREE --format=mtree --options=!all,use-set,type,uid,mode,time,size,md5,sha256,link .PKGINFO usr

Tar-ing up files

CMD: bsdtar -cf - .PKGINFO usr .MTREE

CMD: xz -c -z

Successfully ran bsdtar -cf - .PKGINFO usr .MTREE | xz -c -z

CMD: bsdtar -tqf dmidecode.pkg.tar.xz .PKGINFO
# .PKGINFO

Created package at path /var/cache/pacman/pkg/dmidecode.pkg.tar.xz

Attempting to access local repository, attempt 1

CMD: repo-add /var/cache/pacman/pkg/tuscan.db.tar /var/cache/pacman/pkg/dmidecode.pkg.tar.xz
# ==> Extracting database to a temporary location...
# ==> Extracting database to a temporary location...
# ==> Adding package '/var/cache/pacman/pkg/dmidecode.pkg.tar.xz'
# -> Computing checksums...
# -> Creating 'desc' db entry...
# -> Creating 'files' db entry...
# ==> Creating updated database file '/var/cache/pacman/pkg/tuscan.db.tar'