OSDN Git Service

Patch from Stefan Allius and Edie C. Dost to add SuperH
authorEric Andersen <andersen@codepoet.org>
Thu, 8 Aug 2002 14:35:49 +0000 (14:35 -0000)
committerEric Andersen <andersen@codepoet.org>
Thu, 8 Aug 2002 14:35:49 +0000 (14:35 -0000)
commit9cba52f0aedbb95671e8a14e3fd5ff98381ff2b0
treedd82b29998103d7d8ba34351e6fc3a12dc0ed7ac
parent4c69b9f793fc1eae9190d8ba26dba25db616272f
Patch from Stefan Allius and Edie C. Dost to add SuperH
shared library support.  This also adds some cleaner error
handling, which I (Erik) then ported over to x86 and arm.
In addition Stefan added the following fixes:

- in hash.c was the lvalue handling of global library functions wrong.
   To fix this I had to change the prototype of _dl_find_hash. (==> TIS and
   ELF spec. Vers. 1.2)

- in ldso.c was the order of the .init sections calls wrong. Before we call
  the initialization code of a library we have to check that all dependend
  libraries are already initialized. This can easily made by calling it in the
  revers loading order. For this I added a previous pointer chain.

- in ldso.c the ELF magics wasn't checked fo PPC, MIPS and SH architecture
35 files changed:
ldso/ldso/Makefile
ldso/ldso/arm/boot1_arch.h
ldso/ldso/arm/dl-startup.h
ldso/ldso/arm/elfinterp.c
ldso/ldso/dl-elf.c
ldso/ldso/dl-hash.c
ldso/ldso/hash.c
ldso/ldso/i386/boot1_arch.h
ldso/ldso/i386/dl-startup.h
ldso/ldso/i386/elfinterp.c
ldso/ldso/ld_hash.h
ldso/ldso/ld_string.h
ldso/ldso/ld_syscall.h
ldso/ldso/ldso.c
ldso/ldso/m68k/boot1_arch.h
ldso/ldso/m68k/dl-startup.h
ldso/ldso/m68k/elfinterp.c
ldso/ldso/mips/boot1_arch.h
ldso/ldso/mips/dl-startup.h
ldso/ldso/mips/elfinterp.c
ldso/ldso/powerpc/boot1_arch.h
ldso/ldso/powerpc/dl-startup.h
ldso/ldso/powerpc/elfinterp.c
ldso/ldso/readelflib1.c
ldso/ldso/sh/boot1_arch.h [new file with mode: 0644]
ldso/ldso/sh/dl-startup.h [new file with mode: 0644]
ldso/ldso/sh/dl-syscalls.h [new file with mode: 0644]
ldso/ldso/sh/dl-sysdep.h [new file with mode: 0644]
ldso/ldso/sh/elfinterp.c [new file with mode: 0644]
ldso/ldso/sh/ld_syscalls.h [new file with mode: 0644]
ldso/ldso/sh/ld_sysdep.h [new file with mode: 0644]
ldso/ldso/sh/resolve.S [new file with mode: 0644]
ldso/ldso/sparc/boot1_arch.h
ldso/ldso/sparc/dl-startup.h
ldso/ldso/sparc/elfinterp.c