* util.c (umoven, umovestr) [SUPPORTED_PERSONALITIES > 1]: If current
personality's wordsize is less than sizeof(long), use only significant
bits of the given address.
char x[sizeof(long)];
} u;
+#if SUPPORTED_PERSONALITIES > 1
+ if (personality_wordsize[current_personality] < sizeof(addr))
+ addr &= (1ul << 8 * personality_wordsize[current_personality]) - 1;
+#endif
+
if (addr & (sizeof(long) - 1)) {
/* addr not a multiple of sizeof(long) */
n = addr - (addr & -sizeof(long)); /* residue */
char x[sizeof(long)];
} u;
+#if SUPPORTED_PERSONALITIES > 1
+ if (personality_wordsize[current_personality] < sizeof(addr))
+ addr &= (1ul << 8 * personality_wordsize[current_personality]) - 1;
+#endif
+
if (addr & (sizeof(long) - 1)) {
/* addr not a multiple of sizeof(long) */
n = addr - (addr & -sizeof(long)); /* residue */