mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
* sysdeps/powerpc/elf/libc-start.c: Use long in place of int for argc
load, so as to work on both 32-bit and 64-bit. Remove unnecessary casts. Align __libc_stack_end to 8 bytes. 2002-09-20 Roland McGrath <roland@redhat.com> * sysdeps/powerpc/fpu/s_lrint.c: Use strong_alias/weak_alias macros instead of asm for lrintf, __lrintf aliases. * sysdeps/powerpc/fpu/s_lrint.c (__lrint): Change union long array to int array for 32-/64-bit compatibility. From Steven Munroe <sjmunroe@us.ibm.com>.
This commit is contained in:
@ -104,7 +104,8 @@ BP_SYM (__libc_start_main) (int argc, char *__unbounded *__unbounded ubp_av,
|
||||
/* ...in which case, we have argc as the top thing on the
|
||||
stack, followed by argv (NULL-terminated), envp (likewise),
|
||||
and the auxilary vector. */
|
||||
argc = *(int *__unbounded) stack_on_entry;
|
||||
/* 32/64-bit agnostic load from stack */
|
||||
argc = *(long int *__unbounded) stack_on_entry;
|
||||
ubp_av = stack_on_entry + 1;
|
||||
ubp_ev = ubp_av + argc + 1;
|
||||
#ifdef HAVE_AUX_VECTOR
|
||||
@ -113,9 +114,8 @@ BP_SYM (__libc_start_main) (int argc, char *__unbounded *__unbounded ubp_av,
|
||||
++temp;
|
||||
auxvec = (ElfW(auxv_t) *)++temp;
|
||||
|
||||
|
||||
# ifndef SHARED
|
||||
_dl_aux_init ((ElfW(auxv_t) *) auxvec);
|
||||
_dl_aux_init (auxvec);
|
||||
# endif
|
||||
#endif
|
||||
rtld_fini = NULL;
|
||||
@ -124,11 +124,12 @@ BP_SYM (__libc_start_main) (int argc, char *__unbounded *__unbounded ubp_av,
|
||||
INIT_ARGV_and_ENVIRON;
|
||||
|
||||
/* Initialize the __cache_line_size variable from the aux vector. */
|
||||
__aux_init_cache((ElfW(auxv_t) *) auxvec);
|
||||
__aux_init_cache(auxvec);
|
||||
|
||||
/* Store something that has some relationship to the end of the
|
||||
stack, for backtraces. This variable should be thread-specific. */
|
||||
__libc_stack_end = stack_on_entry + 4;
|
||||
stack, for backtraces. This variable should be thread-specific.
|
||||
Use +8 so it works for both 32- and 64-bit. */
|
||||
__libc_stack_end = stack_on_entry + 8;
|
||||
|
||||
#ifndef SHARED
|
||||
/* Initialize the thread library at least a bit since the libgcc
|
||||
|
Reference in New Issue
Block a user