From 71bedb76ac4e71537d980705ed8d390950570071 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 31 Mar 1998 23:45:03 +0000 Subject: [PATCH] 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 * sysdeps/alpha/elf/start.S: Let __libc_start_main do most of the init stuff. 1998-03-31 Ulrich Drepper * 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 . 1998-03-31 Andreas Jaeger * Makerules (install): Change comment for libc.so following the libc_nonshared changes. 1998-03-31 Ulrich Drepper --- ChangeLog | 26 +++++++++++++ FAQ.in | 6 +-- Makerules | 2 +- iconvdata/Makefile | 9 ++++- sysdeps/alpha/elf/start.S | 58 +++++++---------------------- sysdeps/unix/sysv/linux/alpha/Makefile | 3 +- sysdeps/unix/sysv/linux/alpha/syscalls.list | 3 ++ sysdeps/unix/sysv/linux/bits/socket.h | 2 +- 8 files changed, 54 insertions(+), 55 deletions(-) diff --git a/ChangeLog b/ChangeLog index 840aff4..aa7ba56 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,31 @@ 1998-03-31 Ulrich Drepper + * 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 + + * sysdeps/alpha/elf/start.S: Let __libc_start_main do most of + the init stuff. + +1998-03-31 Ulrich Drepper + + * 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 . + +1998-03-31 Andreas Jaeger + + * Makerules (install): Change comment for libc.so following the + libc_nonshared changes. + +1998-03-31 Ulrich Drepper + * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): Fix typo. * iconvdata/gap.pl: Avoid using %#06x. diff --git a/FAQ.in b/FAQ.in index b6cc529..e0e7342 100644 --- a/FAQ.in +++ b/FAQ.in @@ -474,11 +474,7 @@ probably a missing or incorrect /usr/lib/libc.so file; note that this is a small text file now, not a symlink to libc.so.6. It should look something like this: -GROUP ( libc.so.6 ld.so.1 libc.a ) - -or in ix86/Linux and alpha/Linux: - -GROUP ( libc.so.6 ld-linux.so.2 libc.a ) +GROUP ( libc.so.6 libc_nonshared.a ) ?? How can I compile gcc 2.7.2.1 from the gcc source code using glibc 2.x? diff --git a/Makerules b/Makerules index c1b8a98..108b2fe 100644 --- a/Makerules +++ b/Makerules @@ -725,7 +725,7 @@ ifndef subdir # What we install as libc.so for programs to link against is in fact a # link script. It contains references for the various libraries we need. # The libc.so object is not complete since some functions are only defined -# in libc.a and the dynamic linker is an extra object. +# in libc_nonshared.a. install: $(inst_libdir)/libc.so $(inst_libdir)/libc.so: $(common-objpfx)libc.so$(libc.so-version) \ $(inst_libdir)/$(patsubst %,$(libtype.oS),\ diff --git a/iconvdata/Makefile b/iconvdata/Makefile index a71ab0b..6897ce6 100644 --- a/iconvdata/Makefile +++ b/iconvdata/Makefile @@ -53,12 +53,17 @@ HP-ROMAN8-routines := hp-roman8 EBCDIC-AT-DE-routines := ebcdic-at-de EBCDIC-AT-DE-A-routines := ebcdic-at-de-a EBCDIC-CA-FR-routines := ebcdic-ca-fr -EUC-KR-routines := euckr ksc5601 -JOHAB-routines := johab ksc5601 +EUC-KR-routines := euckr +JOHAB-routines := johab UHC-routines := uhc ksc5601 libJIS-routines := jis0201 jis0208 jis0212 libKSC-routines := ksc5601 +LDFLAGS-EUC-KR.so = -Wl,-rpath,$(gconvdir) -L$(objpfx) -lKSC +$(objpfx)EUC-KR.so: $(objpfx)libKSC.so +LDFLAGS-JOHAB.so = -Wl,-rpath,$(gconvdir) -L$(objpfx) -lKSC +$(objpfx)JOHAB.so: $(objpfx)libKSC.so + distribute := 8bit-generic.c 8bit-gap.c gap.pl gaptab.pl gconv-modules \ iso8859-1.c iso8859-2.c iso8859-3.c iso8859-4.c iso8859-5.c \ iso8859-6.c iso8859-7.c iso8859-8.c iso8859-9.c iso8859-10.c \ diff --git a/sysdeps/alpha/elf/start.S b/sysdeps/alpha/elf/start.S index a67a39a..1330d1f 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 @@ -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 7821e46..f830303 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 ea3c945..b380996 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 ddf1a64..0938a17 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. */ -- 2.7.4