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; _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"