From 613a76ff52a680e71db772306a260b9cb7f95b49 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 24 May 1996 20:16:39 +0000 Subject: Fri May 24 02:31:36 1996 Ulrich Drepper * sysdeps/unix/sysv/linux/speed.c: Add new speed value 460800. Thu May 23 23:09:33 1996 Ulrich Drepper * 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 . * stdlib/gmp-impl.h: Add prototypes for internal functions. Thu May 23 22:49:15 1996 Roland McGrath * 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, --- sysdeps/alpha/bsd-_setjmp.S | 8 +++---- sysdeps/generic/utmpbits.h | 1 - sysdeps/unix/sysv/linux/alpha/Makefile | 2 +- sysdeps/unix/sysv/linux/alpha/sigsuspend.S | 8 +++---- sysdeps/unix/sysv/linux/alpha/start.S | 35 +++++++++++++++++++++--------- sysdeps/unix/sysv/linux/speed.c | 5 +++-- 6 files changed, 37 insertions(+), 22 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/alpha/bsd-_setjmp.S b/sysdeps/alpha/bsd-_setjmp.S index 9947d8f45a..16709dfc09 100644 --- a/sysdeps/alpha/bsd-_setjmp.S +++ b/sysdeps/alpha/bsd-_setjmp.S @@ -23,8 +23,8 @@ Cambridge, MA 02139, USA. */ #include -ENTRY (setjmp) - lda $27, __sigsetjmp /* Load address to jump to. */ - bis $31, $31, $17 /* Pass a second argument of zero. */ - jmp $31, ($27), __sigsetjmp /* Call __sigsetjmp. */ +ENTRY(setjmp) + lda $27, __sigsetjmp /* Load address to jump to. */ + bis $31, $31, $17 /* Pass a second argument of zero. */ + jmp $31, ($27), __sigsetjmp /* Call __sigsetjmp. */ .end setjmp diff --git a/sysdeps/generic/utmpbits.h b/sysdeps/generic/utmpbits.h index 3189ff0fdf..0cd8f1d238 100644 --- a/sysdeps/generic/utmpbits.h +++ b/sysdeps/generic/utmpbits.h @@ -49,4 +49,3 @@ struct utmp { __END_DECLS #endif /* utmpbits.h */ - diff --git a/sysdeps/unix/sysv/linux/alpha/Makefile b/sysdeps/unix/sysv/linux/alpha/Makefile index 9e12a0daa2..beb8441b46 100644 --- a/sysdeps/unix/sysv/linux/alpha/Makefile +++ b/sysdeps/unix/sysv/linux/alpha/Makefile @@ -1,5 +1,5 @@ ifeq ($(subdir), misc) -headers += alpha/regdef.h +headers += alpha/ptrace.h alpha/regdef.h sysdep_routines := $(sysdep_routines) \ ieee_get_fp_control ieee_set_fp_control fpu_control setfpucw \ diff --git a/sysdeps/unix/sysv/linux/alpha/sigsuspend.S b/sysdeps/unix/sysv/linux/alpha/sigsuspend.S index 29cba8d312..00c02de72b 100644 --- a/sysdeps/unix/sysv/linux/alpha/sigsuspend.S +++ b/sysdeps/unix/sysv/linux/alpha/sigsuspend.S @@ -17,12 +17,13 @@ not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* sigsuspend is a special syscall since it needs to dereference the -sigset. */ + sigset. */ #include .text -ENTRY(sigsuspend) + +LEAF(sigsuspend, 0) .prologue 0 ldq a0, 0(a0) @@ -33,7 +34,6 @@ ENTRY(sigsuspend) error: br gp, 1f 1: ldgp gp, 0(gp) - lda pv, syscall_error - jmp zero, (pv) + jmp zero, syscall_error .end sigsuspend diff --git a/sysdeps/unix/sysv/linux/alpha/start.S b/sysdeps/unix/sysv/linux/alpha/start.S index d1966a82ba..a7099f6840 100644 --- a/sysdeps/unix/sysv/linux/alpha/start.S +++ b/sysdeps/unix/sysv/linux/alpha/start.S @@ -18,11 +18,16 @@ Cambridge, MA 02139, USA. */ #include -.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) diff --git a/sysdeps/unix/sysv/linux/speed.c b/sysdeps/unix/sysv/linux/speed.c index 84811deba6..d229f766f9 100644 --- a/sysdeps/unix/sysv/linux/speed.c +++ b/sysdeps/unix/sysv/linux/speed.c @@ -1,5 +1,5 @@ /* `struct termios' speed frobnication functions. Linux version. -Copyright (C) 1991, 1992, 1993, 1995 Free Software Foundation, Inc. +Copyright (C) 1991, 1992, 1993, 1995, 1996 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -43,6 +43,7 @@ static const speed_t speeds[] = 57600, 115200, 230400, + 460800, }; @@ -68,7 +69,7 @@ strong_alias (cfgetospeed, cfgetispeed); /* Set the output baud rate stored in *TERMIOS_P to SPEED. */ int -cfsetospeed (termios_p, speed) +cfsetospeed (termios_p, speed) struct termios *termios_p; speed_t speed; { -- cgit v1.2.3