mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Fri May 24 02:31:36 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/speed.c: Add new speed value 460800. Thu May 23 23:09:33 1996 Ulrich Drepper <drepper@cygnus.com> * FAQ: Add answer for 100% source code compatibility to Linux libc by David Mosberger-Tang. Update from bind-4.3.4-T3B. * inet/arpa/inet.h: Add prototypes for inet_pton, inet_ntop, inet_nsap_addr, and inet_nsap_ntoa. * resolv/gethnamaddr.c: Correct compatibility problems (sprintf), remove fourth argument to inet_pton and correct handling of host_addr passing. * resolv/inet_ntop.c: Correct compatibility problems (sprintf). * resolv/inet_pton.c: Remove fourth argument. * resolv/resolv.h: Remove prototypes for inet_nsap_addr and inet_nsap_ntoa. Now on <arpa/inet.h>. * stdlib/gmp-impl.h: Add prototypes for internal functions. Thu May 23 22:49:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * Rules (subdir_install): Remove dep on sor-$(subdir). (static-only-routines): Removed variable and associated rules. * sysdeps/unix/sysv/linux/alpha/Makefile (headers): Add sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/ffs.S, sysdeps/unix/sysv/linux/alpha/sigsuspend.S, sysdeps/unix/sysv/linux/alpha/start.S,
This commit is contained in:
@ -18,11 +18,16 @@ Cambridge, MA 02139, USA. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
.comm errno, 4
|
||||
.comm errno, 4
|
||||
#ifdef __ELF__
|
||||
.type errno, @object
|
||||
#endif
|
||||
|
||||
.text
|
||||
ENTRY(__start)
|
||||
LEAF(__start, 16)
|
||||
lda sp, -16(sp)
|
||||
.prologue 0
|
||||
|
||||
stq zero, 8(sp) /* terminate frame chain */
|
||||
|
||||
br t0, 1f
|
||||
@ -33,8 +38,7 @@ ENTRY(__start)
|
||||
ldgp gp, 0(ra)
|
||||
|
||||
/* clear out errno. */
|
||||
lda t0, errno
|
||||
stl zero, 0(t0)
|
||||
stl zero, (errno)
|
||||
|
||||
ldl a0, 16(sp) /* get argc */
|
||||
lda a1, 24(sp) /* get argv */
|
||||
@ -45,26 +49,32 @@ ENTRY(__start)
|
||||
addq a2, 0x8, a2
|
||||
stq a2, 0(t0)
|
||||
|
||||
#ifndef HAVE_INITFINI
|
||||
mov a0, s0
|
||||
mov a1, s1
|
||||
mov a2, s2
|
||||
|
||||
jsr ra, __libc_init
|
||||
#ifdef HAVE_INITFINI
|
||||
/* register the _fini sections to ensure destructors get run: */
|
||||
lda a0, _fini
|
||||
jsr ra, atexit
|
||||
ldgp gp, 0(ra)
|
||||
|
||||
mov s0, a0
|
||||
mov s1, a1
|
||||
mov s2, a2
|
||||
/* Now run the _init section of the program itself. The _init
|
||||
sections of shared libraries will be run by the dynamic linker. */
|
||||
jsr ra, _init
|
||||
ldgp gp, 0(ra)
|
||||
|
||||
/* initialize constructors: */
|
||||
jsr ra, __main
|
||||
ldgp gp, 0(ra)
|
||||
#else
|
||||
jsr ra, __libc_init
|
||||
ldgp gp, 0(ra)
|
||||
#endif
|
||||
|
||||
mov s0, a0
|
||||
mov s1, a1
|
||||
mov s2, a2
|
||||
#endif
|
||||
|
||||
jsr ra, main
|
||||
ldgp gp, 0(ra)
|
||||
@ -90,4 +100,9 @@ ENTRY(__start)
|
||||
__data_start:
|
||||
.long 0
|
||||
|
||||
#ifdef __ELF__
|
||||
.size __data_start, 4
|
||||
.type __data_start, @object
|
||||
#endif
|
||||
|
||||
weak_alias(__data_start, data_start)
|
||||
|
Reference in New Issue
Block a user