mirror of git://sourceware.org/git/glibc.git
sparc: Fix argument passing to __libc_start_main (BZ 32981)
sparc start.S does not provide the final argument for
__libc_start_main, which is the highest stack address used to
update the __libc_stack_end.A
This fixes elf/tst-execstack-prog-static-tunable on sparc64.
On sparcv9 this does not happen because the kernel puts an
auxv value, which turns to point to a value in the stack itself.
Checked on sparc64-linux-gnu.
Reviewed-by: Florian Weimer <fweimer@redhat.com>
(cherry picked from commit 404526ee2e)
This commit is contained in:
parent
515d4166f4
commit
d952c6efaa
2
NEWS
2
NEWS
|
|
@ -29,6 +29,8 @@ The following bugs were resolved with this release:
|
|||
[32882] tst-audit10 fails with SIGILL on CPUs without AVX
|
||||
[32897] dynamic-link: pthread_getattr_np fails when executable stack
|
||||
tunable is set
|
||||
[32981] ports: elf/tst-execstack-prog-static-tunable fails on
|
||||
sparc64-linux-gnu
|
||||
[32987] elf: Fix subprocess status handling for tst-dlopen-sgid
|
||||
|
||||
Version 2.41
|
||||
|
|
|
|||
|
|
@ -73,6 +73,10 @@ _start:
|
|||
be NULL. */
|
||||
mov %g1, %o5
|
||||
|
||||
/* Provide the highest stack address to update the __libc_stack_end (used
|
||||
to enable executable stacks if required). */
|
||||
st %sp, [%sp+23*4]
|
||||
|
||||
/* Let libc do the rest of the initialization, and call main. */
|
||||
call __libc_start_main
|
||||
nop
|
||||
|
|
|
|||
|
|
@ -74,6 +74,10 @@ _start:
|
|||
be NULL. */
|
||||
mov %g1, %o5
|
||||
|
||||
/* Provide the highest stack address to update the __libc_stack_end (used
|
||||
to enable executable stacks if required). */
|
||||
stx %sp, [%sp+STACK_BIAS+22*8]
|
||||
|
||||
/* Let libc do the rest of the initialization, and call main. */
|
||||
call __libc_start_main
|
||||
nop
|
||||
|
|
|
|||
Loading…
Reference in New Issue