Unbreak Linux binaries linked against new glibc, such as the ones
from recent Ubuntu versions. Without it they segfault on startup. Reviewed by: emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D20687
This commit is contained in:
parent
97c1567f72
commit
541e57af0b
@ -343,6 +343,12 @@ linux_copyout_strings(struct image_params *imgp)
|
||||
*/
|
||||
vectp -= imgp->args->argc + 1 + imgp->args->envc + 1;
|
||||
|
||||
/*
|
||||
* Starting with 2.24, glibc depends on a 16-byte stack alignment.
|
||||
* One "long argc" will be prepended later.
|
||||
*/
|
||||
vectp = (char **)((((uintptr_t)vectp + 8) & ~0xF) - 8);
|
||||
|
||||
/* vectp also becomes our initial stack base. */
|
||||
stack_base = (register_t *)vectp;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user