svn commit: r334488 - head/sys/powerpc/include
Justin Hibbits
jhibbits at FreeBSD.org
Fri Jun 1 16:31:06 UTC 2018
Author: jhibbits
Date: Fri Jun 1 16:31:05 2018
New Revision: 334488
URL: https://svnweb.freebsd.org/changeset/base/334488
Log:
Unbreak 32-bit binaries on powerpc64
Recently a change was made which broke loading 32-bit binaries on powerpc64,
with an assertion in ld-elf32.so.1:
ld-elf32.so.1: assert failed:
/usr/local/poudriere/jails/ppc64/usr/src/libexec/rtld-elf/rtld.c:390
It turns out Elf32_AuxInfo was broken for a very long time on powerpc64, as
it uses long and pointers, which are both 64 bits on powerpc64, and only
manifested with the recent work on auxargs.
Modified:
head/sys/powerpc/include/elf.h
Modified: head/sys/powerpc/include/elf.h
==============================================================================
--- head/sys/powerpc/include/elf.h Fri Jun 1 16:23:47 2018 (r334487)
+++ head/sys/powerpc/include/elf.h Fri Jun 1 16:31:05 2018 (r334488)
@@ -69,9 +69,13 @@
typedef struct { /* Auxiliary vector entry on initial stack */
int a_type; /* Entry type. */
union {
+#ifdef __powerpc64__
+ int a_val; /* Integer value */
+#else
long a_val; /* Integer value. */
void *a_ptr; /* Address. */
void (*a_fcn)(void); /* Function pointer (not used). */
+#endif
} a_un;
} Elf32_Auxinfo;
More information about the svn-src-all
mailing list