about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-03-31 23:45:03 +0000
committerUlrich Drepper <drepper@redhat.com>1998-03-31 23:45:03 +0000
commit71bedb76ac4e71537d980705ed8d390950570071 (patch)
tree2dc751a6fbf89818c1e5d622c97d073b9a6412af /sysdeps
parentf5baa731d07c8d9b13bd04f4532f714cddfc8da2 (diff)
downloadglibc-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.S58
-rw-r--r--sysdeps/unix/sysv/linux/alpha/Makefile3
-rw-r--r--sysdeps/unix/sysv/linux/alpha/syscalls.list3
-rw-r--r--sysdeps/unix/sysv/linux/bits/socket.h2
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.  */