Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/libexec/ld.elf_so



Module Name:    src
Committed By:   joerg
Date:           Wed Oct 17 23:36:58 UTC 2018

Modified Files:
        src/libexec/ld.elf_so: Makefile reloc.c rtld.c rtld.h
Added Files:
        src/libexec/ld.elf_so: compat.c

Log Message:
Move compatibility for pre-2.0 ELF binaries into separate file.
Early ELF binaries defined dlopen and friends in crt0.o by
using function pointers in the object handle passed from rtld.
This contract wastes space when many shared objects are allocated
and ties dynamic linker and rest of the system tightly together.
Fake the entry points in a static object and restrict them to the
platforms that had working ELF support at the time. Keep the magic and
version field used by modern crt0.o for all architectures. The checks
will be removed from crt0.o in a follow-up step.


To generate a diff of this commit:
cvs rdiff -u -r1.138 -r1.139 src/libexec/ld.elf_so/Makefile
cvs rdiff -u -r0 -r1.1 src/libexec/ld.elf_so/compat.c
cvs rdiff -u -r1.112 -r1.113 src/libexec/ld.elf_so/reloc.c
cvs rdiff -u -r1.192 -r1.193 src/libexec/ld.elf_so/rtld.c
cvs rdiff -u -r1.133 -r1.134 src/libexec/ld.elf_so/rtld.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index