diff options
author | Roland McGrath <roland@gnu.org> | 1995-05-02 05:56:40 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1995-05-02 05:56:40 +0000 |
commit | 08162fa888913a5153d2fcdc4e1a816b57b1fe56 (patch) | |
tree | b396bf4869649f39bf52ab0489af4886b6780725 | |
parent | b7eb84454020c59d528e826ae1889f411ed69e26 (diff) | |
download | glibc-08162fa888913a5153d2fcdc4e1a816b57b1fe56.tar glibc-08162fa888913a5153d2fcdc4e1a816b57b1fe56.tar.gz glibc-08162fa888913a5153d2fcdc4e1a816b57b1fe56.tar.bz2 glibc-08162fa888913a5153d2fcdc4e1a816b57b1fe56.zip |
Tue May 2 01:52:58 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
Implemented runtime dynamic linker to support ELF shared libraries.
* elf/Makefile: Added rules to make ld.so and libdl.
* elf/dl-error.c: New file.
* elf/dl-fini.c: New file.
* elf/dl-init.c: New file.
* elf/dl-load.c: New file.
* elf/dl-lookup.c: New file.
* elf/dl-object.c: New file.
* elf/dl-reloc.c: New file.
* elf/dlclose.c: New file.
* elf/dlerror.c: New file.
* elf/dlopen.c: New file.
* elf/dlsym.c: New file.
* elf/dynamic-link.h: New file.
* elf/link.h: New file.
* elf/rtld.c: New file.
Mon May 1 18:48:30 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makerules (LDFLAGS-c.so): Add -interp and -e switches to make
libc.so runnable.
* version.c (__libc_print_version): Add "et al" and missing NL to
author credit.
-rw-r--r-- | ChangeLog | 26 | ||||
-rw-r--r-- | Makerules | 2 | ||||
-rw-r--r-- | sysdeps/stub/elfreloc.h | 36 | ||||
-rw-r--r-- | version.c | 4 |
4 files changed, 30 insertions, 38 deletions
@@ -1,3 +1,29 @@ +Tue May 2 01:52:58 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + Implemented runtime dynamic linker to support ELF shared libraries. + * elf/Makefile: Added rules to make ld.so and libdl. + * elf/dl-error.c: New file. + * elf/dl-fini.c: New file. + * elf/dl-init.c: New file. + * elf/dl-load.c: New file. + * elf/dl-lookup.c: New file. + * elf/dl-object.c: New file. + * elf/dl-reloc.c: New file. + * elf/dlclose.c: New file. + * elf/dlerror.c: New file. + * elf/dlopen.c: New file. + * elf/dlsym.c: New file. + * elf/dynamic-link.h: New file. + * elf/link.h: New file. + * elf/rtld.c: New file. + +Mon May 1 18:48:30 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * Makerules (LDFLAGS-c.so): Add -interp and -e switches to make + libc.so runnable. + * version.c (__libc_print_version): Add "et al" and missing NL to + author credit. + Sat Apr 29 15:46:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * posix/glob.c (S_ISDIR): Define if undefined. @@ -350,6 +350,8 @@ lib%.so: lib%_pic.a # Also omits crti.o and crtn.o, which we do not want # since we define our own `.init' section specially. LDFLAGS-c.so = -nostdlib +# Give libc.so an entry point and make it directly runnable itself. +LDFLAGS-c.so += -Wl,-interp -Wl,/lib/ld.so -e __libc_print_version endif libobjs: $(foreach o,$(object-suffixes),\ diff --git a/sysdeps/stub/elfreloc.h b/sysdeps/stub/elfreloc.h deleted file mode 100644 index 2fea444cbc..0000000000 --- a/sysdeps/stub/elfreloc.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Machine-dependent ELF dynamic relocation inline functions. Stub version. -Copyright (C) 1995 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 -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - -/* Perform the relocation specified by RELOC and SYM (which is fully resolved). - LOADADDR is the load address of the object; INFO is an array indexed - by DT_* of the .dynamic section info. */ - -static inline void -elf_machine_rel (Elf32_Addr loadaddr, const Elf32_Word *info, - const Elf32_Rel *reloc, Elf32_Sym *sym) -{ - abort (); -} - -static inline void -elf_machine_rela (Elf32_Addr loadaddr, const Elf32_Word *info, - const Elf32_Rela *reloc) -{ - abort (); -} @@ -20,12 +20,12 @@ Cambridge, MA 02139, USA. */ #include <stdio.h> CONST char __libc_release[] = "alpha"; -CONST char __libc_version[] = "1.09.6"; +CONST char __libc_version[] = "1.09.7"; void DEFUN_VOID(__libc_print_version) { - printf ("GNU C Library %s release version %s, by Roland McGrath.", + printf ("GNU C Library %s release version %s, by Roland McGrath et al.\n", __libc_release, __libc_version); #ifdef __VERSION__ printf ("Compiled by GNU CC version %s.\n", __VERSION__); |