diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-03-31 23:45:03 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-03-31 23:45:03 +0000 |
commit | 71bedb76ac4e71537d980705ed8d390950570071 (patch) | |
tree | 2dc751a6fbf89818c1e5d622c97d073b9a6412af /sysdeps | |
parent | f5baa731d07c8d9b13bd04f4532f714cddfc8da2 (diff) | |
download | glibc-71bedb76ac4e71537d980705ed8d390950570071.tar.gz glibc-71bedb76ac4e71537d980705ed8d390950570071.tar.xz glibc-71bedb76ac4e71537d980705ed8d390950570071.zip |
Update.
* iconvdata/Makefile: Use libKSC shared object in JOHAB and EUC-KR. * sysdeps/unix/sysv/linux/bits/socket.h (PF_FILE): Correct comment. 1998-03-30 08:43 H.J. Lu <hjl@gnu.org> * sysdeps/alpha/elf/start.S: Let __libc_start_main do most of the init stuff. 1998-03-31 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/alpha/syscalls.list: Wrapper for adjtimex syscall. * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Add adjtimex. Patches by Dominik Kubla <kubla@sundiver.zdv.uni-mainz.de>. 1998-03-31 Andreas Jaeger <aj@arthur.rhein-neckar.de> * Makerules (install): Change comment for libc.so following the libc_nonshared changes. 1998-03-31 Ulrich Drepper <drepper@cygnus.com>
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/alpha/elf/start.S | 58 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/Makefile | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/syscalls.list | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/bits/socket.h | 2 |
4 files changed, 19 insertions, 47 deletions
diff --git a/sysdeps/alpha/elf/start.S b/sysdeps/alpha/elf/start.S index a67a39a49f..1330d1fda2 100644 --- a/sysdeps/alpha/elf/start.S +++ b/sysdeps/alpha/elf/start.S @@ -1,5 +1,5 @@ /* Startup code for Alpha/ELF. - Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1993, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson <rth@tamu.edu> @@ -31,56 +31,24 @@ _start: 1: ldgp gp, 0(gp) .prologue 1 - /* Save v0. When starting a binary via the dynamic linker, s0 - contains the address of the shared library termination function, - which we will register below with atexit() to be called by exit(). - If we are statically linked, this will be NULL. */ - mov v0, s0 + /* Load address of the user's main function. */ + lda a0, main - /* Do essential libc initialization (sp points to argc, argv, and envp) */ - jsr ra, __libc_init_first - ldgp gp, 0(ra) - - /* Now that we have the proper stack frame, register library termination - function, if there is any: */ - - beq s0, 1f - mov s0, a0 - jsr ra, atexit - ldgp gp, 0(ra) -1: - - /* Extract the arguments and environment as encoded on the stack. */ - ldl a0, 0(sp) /* get argc */ - lda a1, 8(sp) /* get argv */ - s8addq a0, a1, a2 /* get envp */ - addq a2, 8, a2 - stq a2, _environ + ldl a1, 0(sp) /* get argc */ + lda a2, 8(sp) /* get argv */ - mov a0, s0 /* tuck them away */ - mov a1, s1 - mov a2, s2 + /* Load address of our own entry points to .fini and .init. */ + lda a3, _init + lda a4, _fini - /* Call _init, the entry point to our own .init section. */ - jsr ra, _init - ldgp gp, 0(ra) + /* Store address of the shared library termination function. */ + mov v0, a5 - /* Register our .fini section with atexit. */ - lda a0, _fini - jsr ra, atexit + /* Call the user's main function, and exit with its value. + But let the libc call main. */ + jsr ra, __libc_start_main ldgp gp, 0(ra) - /* Call the user's main and exit with its return value. */ - mov s0, a0 - mov s1, a1 - mov s2, a2 - - jsr ra, main - ldgp gp, 0(ra) - - mov v0, a0 - jsr ra, exit - /* Die very horribly if exit returns. Call_pal hlt is callable from kernel mode only; this will result in an illegal instruction trap. */ call_pal 0 diff --git a/sysdeps/unix/sysv/linux/alpha/Makefile b/sysdeps/unix/sysv/linux/alpha/Makefile index 7821e46deb..f830303578 100644 --- a/sysdeps/unix/sysv/linux/alpha/Makefile +++ b/sysdeps/unix/sysv/linux/alpha/Makefile @@ -2,7 +2,8 @@ ifeq ($(subdir),misc) sysdep_headers += alpha/ptrace.h alpha/regdef.h sysdep_routines += ieee_get_fp_control ieee_set_fp_control \ - sethae ioperm osf_sigprocmask fstatfs statfs llseek + sethae ioperm osf_sigprocmask fstatfs statfs llseek \ + adjtimex # Support old timeval32 entry points sysdep_routines += osf_select osf_gettimeofday osf_settimeofday \ diff --git a/sysdeps/unix/sysv/linux/alpha/syscalls.list b/sysdeps/unix/sysv/linux/alpha/syscalls.list index ea3c9452d2..b380996865 100644 --- a/sysdeps/unix/sysv/linux/alpha/syscalls.list +++ b/sysdeps/unix/sysv/linux/alpha/syscalls.list @@ -62,6 +62,9 @@ getresgid - getresgid 3 getresgid pciconfig_read EXTRA pciconfig_read 5 pciconfig_read pciconfig_write EXTRA pciconfig_write 5 pciconfig_write +# Wrapper for adjtimex. +adjtimex - syscall_adjtimex 1 __syscall_adjtimex syscall_adjtimex + # support old timeval32 entry points osf_select - osf_select 5 __select_tv32 __select@GLIBC_2.0 select@GLIBC_2.0 osf_gettimeofday - osf_gettimeofday 2 __gettimeofday_tv32 __gettimeofday@GLIBC_2.0 gettimeofday@GLIBC_2.0 diff --git a/sysdeps/unix/sysv/linux/bits/socket.h b/sysdeps/unix/sysv/linux/bits/socket.h index ddf1a64a2f..0938a17a81 100644 --- a/sysdeps/unix/sysv/linux/bits/socket.h +++ b/sysdeps/unix/sysv/linux/bits/socket.h @@ -56,7 +56,7 @@ enum __socket_type #define PF_UNSPEC 0 /* Unspecified. */ #define PF_LOCAL 1 /* Local to host (pipes and file-domain). */ #define PF_UNIX PF_LOCAL /* Old BSD name for PF_LOCAL. */ -#define PF_FILE PF_LOCAL /* POSIX name for PF_LOCAL. */ +#define PF_FILE PF_LOCAL /* Another non-standard name for PF_LOCAL. */ #define PF_INET 2 /* IP protocol family. */ #define PF_AX25 3 /* Amateur Radio AX.25. */ #define PF_IPX 4 /* Novell Internet Protocol. */ |