Index: sys/arch/amd64/amd64/kobj_machdep.c =================================================================== RCS file: /cvsroot/src/sys/arch/amd64/amd64/kobj_machdep.c,v retrieving revision 1.7 diff -u -r1.7 kobj_machdep.c --- sys/arch/amd64/amd64/kobj_machdep.c 24 Dec 2018 21:48:52 -0000 1.7 +++ sys/arch/amd64/amd64/kobj_machdep.c 27 May 2019 17:00:55 -0000 @@ -115,7 +115,7 @@ if (error) return -1; val = addr + addend; - *where = val; + memcpy(where, &val, sizeof(val)); break; case R_X86_64_PC32: /* S + A - P */ @@ -125,7 +125,7 @@ return -1; where32 = (Elf32_Addr *)where; val32 = (Elf32_Addr)(addr + addend - (Elf64_Addr)where); - *where32 = val32; + memcpy(where32, &val32, sizeof(val32)); break; case R_X86_64_32: /* S + A */ @@ -135,7 +135,7 @@ return -1; val32 = (Elf32_Addr)(addr + addend); where32 = (Elf32_Addr *)where; - *where32 = val32; + memcpy(where32, &val32, sizeof(val32)); break; case R_X86_64_GLOB_DAT: /* S */ @@ -143,13 +143,13 @@ error = kobj_sym_lookup(ko, symidx, &addr); if (error) return -1; - *where = addr; + memcpy(where, &addr, sizeof(addr)); break; case R_X86_64_RELATIVE: /* B + A */ addr = relocbase + addend; val = addr; - *where = val; + memcpy(where, &val, sizeof(val)); break; default: