Up to [local] / src / libexec / ld.so
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.88 / (download) - annotate - [select for diffs], Fri Apr 5 13:51:47 2024 UTC (8 weeks, 1 day ago) by deraadt
Branch: MAIN
CVS Tags: HEAD
Changes since 1.87: +2 -2 lines
Diff to previous 1.87 (colored)
ld.so should stop calling msyscall(2), since it is fully neutered and about to be removed. Please be careful building through this, you need a kernel at least March 29th or so to build through it, otherwise use snapshots to cross over. ok various people
Revision 1.87 / (download) - annotate - [select for diffs], Fri Jan 19 14:16:41 2024 UTC (4 months, 1 week ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE,
OPENBSD_7_5
Changes since 1.86: +2 -2 lines
Diff to previous 1.86 (colored)
Stop initializing pinsyscall(SYS_execve in dynamic binaries that contain a reference reaching the execve(2) stub. The new pinsyscalls(2) that applies to all system calls has made this redundant.
Revision 1.86 / (download) - annotate - [select for diffs], Wed Dec 20 14:54:29 2023 UTC (5 months, 1 week ago) by deraadt
Branch: MAIN
Changes since 1.85: +3 -2 lines
Diff to previous 1.85 (colored)
create a stub for pinsyscalls(2)
Revision 1.85 / (download) - annotate - [select for diffs], Sat Jul 8 11:03:45 2023 UTC (10 months, 3 weeks ago) by jasper
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE,
OPENBSD_7_4
Changes since 1.84: +2 -2 lines
Diff to previous 1.84 (colored)
zap stray backslash ok deraadt@
Revision 1.84 / (download) - annotate - [select for diffs], Sat Feb 18 01:22:50 2023 UTC (15 months, 1 week ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE,
OPENBSD_7_3
Changes since 1.83: +3 -3 lines
Diff to previous 1.83 (colored)
Lookup the start,len of the "execve" stub in libc.so, and tell the kernel where it is with pinsyscall(). In non-static binaries, kernel execve(2) will now insist upon being called from that small region. Arriving from a different region smells like ROP methodology, and the process is killed.
Revision 1.83 / (download) - annotate - [select for diffs], Sat Nov 5 18:44:09 2022 UTC (18 months, 3 weeks ago) by deraadt
Branch: MAIN
Changes since 1.82: +3 -3 lines
Diff to previous 1.82 (colored)
teach ld.so how to call the mimmutable() system call ok kettenis
Revision 1.82 / (download) - annotate - [select for diffs], Thu Dec 23 18:50:32 2021 UTC (2 years, 5 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE,
OPENBSD_7_2,
OPENBSD_7_1_BASE,
OPENBSD_7_1
Changes since 1.81: +10 -9 lines
Diff to previous 1.81 (colored)
Roll the syscalls that have an off_t argument to remove the explicit padding. Switch libc and ld.so to the generic stubs for these calls. WARNING: reboot to updated kernel before installing libc or ld.so! Time for a story... When gcc (back in 1.x days) first implemented long long, it didn't (always) pass 64bit arguments in 'aligned' registers/stack slots, with the result that argument offsets didn't match structure offsets. This affected the nine system calls that pass off_t arguments: ftruncate lseek mmap mquery pread preadv pwrite pwritev truncate To avoid having to do custom ASM wrappers for those, BSD put an explicit pad argument in so that the off_t argument would always start on a even slot and thus be naturally aligned. Thus those odd wrappers in lib/libc/sys/ that use __syscall() and pass an extra '0' argument. The ABIs for different CPUs eventually settled how things should be passed on each and gcc 2.x followed them. The only arch now where it helps is landisk, which needs to skip the last argument register if it would be the first half of a 64bit argument. So: add new syscalls without the pad argument and on landisk do that skipping directly in the syscall handler in the kernel. Keep compat support for the existing syscalls long enough for the transition. ok deraadt@
Revision 1.81 / (download) - annotate - [select for diffs], Sat Jun 26 14:46:48 2021 UTC (2 years, 11 months ago) by kettenis
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE,
OPENBSD_7_0
Changes since 1.80: +4 -3 lines
Diff to previous 1.80 (colored)
Use AFLAGS when building syscall stubs. Drop AINC wich isn't used. ok deraadt@
Revision 1.80 / (download) - annotate - [select for diffs], Mon Dec 2 17:19:25 2019 UTC (4 years, 6 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE,
OPENBSD_6_9,
OPENBSD_6_8_BASE,
OPENBSD_6_8,
OPENBSD_6_7_BASE,
OPENBSD_6_7
Changes since 1.79: +1 -2 lines
Diff to previous 1.79 (colored)
It is not always clear what ld.so was backed up to ld.so.backup, and better that folk doing development in here use their own cp tooling.
Revision 1.79 / (download) - annotate - [select for diffs], Fri Nov 29 19:30:56 2019 UTC (4 years, 6 months ago) by deraadt
Branch: MAIN
Changes since 1.78: +2 -1 lines
Diff to previous 1.78 (colored)
As additional paranoia, make a copy of system ld.so into obj/ld.so.backup We don't want to CLEANFILES this one. On occasion this comes in useful.
Revision 1.78 / (download) - annotate - [select for diffs], Fri Nov 29 06:34:44 2019 UTC (4 years, 6 months ago) by deraadt
Branch: MAIN
Changes since 1.77: +2 -2 lines
Diff to previous 1.77 (colored)
Repurpose the "syscalls must be on a writeable page" mechanism to enforce a new policy: system calls must be in pre-registered regions. We have discussed more strict checks than this, but none satisfy the cost/benefit based upon our understanding of attack methods, anyways let's see what the next iteration looks like. This is intended to harden (translation: attackers must put extra effort into attacking) against a mixture of W^X failures and JIT bugs which allow syscall misinterpretation, especially in environments with polymorphic-instruction/variable-sized instructions. It fits in a bit with libc/libcrypto/ld.so random relink on boot and no-restart-at-crash behaviour, particularily for remote problems. Less effective once on-host since someone the libraries can be read. For static-executables the kernel registers the main program's PIE-mapped exec section valid, as well as the randomly-placed sigtramp page. For dynamic executables ELF ld.so's exec segment is also labelled valid; ld.so then has enough information to register libc's exec section as valid via call-once msyscall(2) For dynamic binaries, we continue to to permit the main program exec segment because "go" (and potentially a few other applications) have embedded system calls in the main program. Hopefully at least go gets fixed soon. We declare the concept of embedded syscalls a bad idea for numerous reasons, as we notice the ecosystem has many of static-syscall-in-base-binary which are dynamically linked against libraries which in turn use libc, which contains another set of syscall stubs. We've been concerned about adding even one additional syscall entry point... but go's approach tends to double the entry-point attack surface. This was started at a nano-hackathon in Bob Beck's basement 2 weeks ago during a long discussion with mortimer trying to hide from the SSL scream-conversations, and finished in more comfortable circumstances next to a wood-stove at Elk Lakes cabin with UVM scream-conversations. ok guenther kettenis mortimer, lots of feedback from others conversations about go with jsing tb sthen
Revision 1.77 / (download) - annotate - [select for diffs], Sun Oct 20 03:44:49 2019 UTC (4 years, 7 months ago) by guenther
Branch: MAIN
Changes since 1.76: +19 -3 lines
Diff to previous 1.76 (colored)
For more archs, ld.so itself only needs/uses the arch's "just add load offset" 'relative' relocation. Take advantage of that to simplify ld.so's self-reloc code: * give the exceptional archs (hppa and mips64) copies of the current boot.c as boot_md.c * teach the Makefile to use boot_md.c when present * reduce boot.c down to the minimum necessary to handle just relative reloc * teach the Makefile to fail if the built ld.so has other types of relocs ok visa@ kettenis@
Revision 1.76 / (download) - annotate - [select for diffs], Sat Aug 3 19:36:55 2019 UTC (4 years, 9 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE,
OPENBSD_6_6
Changes since 1.75: +3 -3 lines
Diff to previous 1.75 (colored)
Suppress DWARF2 warnings on clang archs by building with -gdwarf-4 ok deraadt@, kettenis@
Revision 1.75 / (download) - annotate - [select for diffs], Sun Jul 14 03:23:12 2019 UTC (4 years, 10 months ago) by guenther
Branch: MAIN
Changes since 1.74: +4 -4 lines
Diff to previous 1.74 (colored)
ld.so's $ORIGIN handling when argv[0] is a relative path was broken by the change in __getcwd(2)'s return value. Fix it by switching to the __realpath(2) syscall, eliminating the ld.so copy of realpath(). problem caught by regress and noted by bluhm@ ok deraadt@
Revision 1.74 / (download) - annotate - [select for diffs], Fri May 10 13:29:21 2019 UTC (5 years ago) by guenther
Branch: MAIN
Changes since 1.73: +10 -5 lines
Diff to previous 1.73 (colored)
ld.so boot cleanup support: - put functions and data which are only used before calling the executable's start function into their own page-aligned segments for unmapping (only done on amd64, arm64, armv7, powerpc, and sparc64 so far) - pass .init_array and .preinit_array functions an addition argument which is a callback to get a structure which includes a function that frees the boot text and data - sometimes delay doing RELRO processing: for a shared-object marked DF_1_INITFIRST do it after the object's .init_array, for the executable do it after the .preinit_array - improve test-ld.so to link against libpthread and trigger its initialization late libc changes to use this will come later ok kettenis@
Revision 1.73 / (download) - annotate - [select for diffs], Wed Aug 29 15:56:46 2018 UTC (5 years, 9 months ago) by robert
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE,
OPENBSD_6_5,
OPENBSD_6_4_BASE,
OPENBSD_6_4
Changes since 1.72: +12 -4 lines
Diff to previous 1.72 (colored)
make ld.so build reproducible by including a FILE symbol and by removing -x from ld; this is only used for syspatch creation so builds are still randomized just as before ok guenther@
Revision 1.72 / (download) - annotate - [select for diffs], Tue Jan 30 20:15:25 2018 UTC (6 years, 4 months ago) by otto
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE,
OPENBSD_6_3
Changes since 1.71: +2 -2 lines
Diff to previous 1.71 (colored)
provide ffs, gcc generates calls to it, even when __builtin_ffs() is used. ok deraadt@
Revision 1.71 / (download) - annotate - [select for diffs], Fri Dec 8 05:30:16 2017 UTC (6 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.70: +3 -1 lines
Diff to previous 1.70 (colored)
also cleanout ld.so.a
Revision 1.70 / (download) - annotate - [select for diffs], Sun Nov 5 10:29:24 2017 UTC (6 years, 6 months ago) by rpe
Branch: MAIN
Changes since 1.69: +4 -2 lines
Diff to previous 1.69 (colored)
Consolidate lib.so.*.a, ld.so.a and the kernel relink kit into one location under /usr/share/relink. Be more specific in src/etc/rc reorder_libs() what filesystems need r/w remount and ensure that their mount state is restored. Idea and positive feedback from deraadt@ OK aja@ tb@
Revision 1.69 / (download) - annotate - [select for diffs], Sun Aug 27 22:18:08 2017 UTC (6 years, 9 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_6_2_BASE,
OPENBSD_6_2
Changes since 1.68: +9 -0 lines
Diff to previous 1.68 (colored)
Place all .o files, Symbols.map, and the test program into /usr/libdata/ld.so.a. My work is done; the next piece is coming from rpe. ok visa kettenis
Revision 1.68 / (download) - annotate - [select for diffs], Sun Aug 27 22:16:14 2017 UTC (6 years, 9 months ago) by deraadt
Branch: MAIN
Changes since 1.67: +1 -1 lines
Diff to previous 1.67 (colored)
The test program run before ld.so is installed was encoding the $OBJDIR path to ld.so. Since the testprogram is run from inside $OBJDIR, encode with a ./ path instead. ok kettenis visa
Revision 1.67 / (download) - annotate - [select for diffs], Sun Aug 27 22:14:12 2017 UTC (6 years, 9 months ago) by deraadt
Branch: MAIN
Changes since 1.66: +4 -3 lines
Diff to previous 1.66 (colored)
Link the ~45 .o which become ld.so in a random order. ok kettenis visa
Revision 1.66 / (download) - annotate - [select for diffs], Sun Aug 27 22:04:47 2017 UTC (6 years, 9 months ago) by deraadt
Branch: MAIN
Changes since 1.65: +2 -2 lines
Diff to previous 1.65 (colored)
hppa & sh use support functions from libgcc. Rather than linking against the library, extract the specific pieces and link them directly. ok kettenis visa
Revision 1.65 / (download) - annotate - [select for diffs], Sun Aug 27 21:59:49 2017 UTC (6 years, 9 months ago) by deraadt
Branch: MAIN
Changes since 1.64: +13 -1 lines
Diff to previous 1.64 (colored)
Replace heaps of hand-written syscall stubs with a simpler framework which is largely MI. ok visa kettenis
Revision 1.64 / (download) - annotate - [select for diffs], Sat Aug 19 17:28:32 2017 UTC (6 years, 9 months ago) by deraadt
Branch: MAIN
Changes since 1.63: +2 -2 lines
Diff to previous 1.63 (colored)
Build ld.so with ${DEBUG} which defults to -g, like other "libraries" are. This provides some unwind benefits. ok kettenis dlg
Revision 1.63 / (download) - annotate - [select for diffs], Thu Jan 5 21:14:22 2017 UTC (7 years, 4 months ago) by naddy
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE,
OPENBSD_6_1
Changes since 1.62: +2 -1 lines
Diff to previous 1.62 (colored)
Build with -fno-builtin to keep clang from optimizing the _dl_memset() and _dl_bcopy() functions into calls to memset() and memcpy(). ok kettenis@
Revision 1.62 / (download) - annotate - [select for diffs], Mon Jul 4 21:15:06 2016 UTC (7 years, 10 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE,
OPENBSD_6_0
Changes since 1.61: +2 -2 lines
Diff to previous 1.61 (colored)
Remove prebind support: binding to symbol table indices is too fragile for our development process. ok kettenis@ deraadt@
Revision 1.61 / (download) - annotate - [select for diffs], Sat May 7 19:05:23 2016 UTC (8 years ago) by guenther
Branch: MAIN
Changes since 1.60: +2 -2 lines
Diff to previous 1.60 (colored)
Use a Thread Information Block in both single and multi-threaded programs. This stores errno, the cancelation flags, and related bits for each thread and is allocated by ld.so or libc.a. This is an ABI break from 5.9-stable! Make libpthread dlopen'able by moving the cancelation wrappers into libc and doing locking and fork/errno handling via callbacks that libpthread registers when it first initializes. 'errno' *must* be declared via <errno.h> now! Clean up libpthread's symbol exports like libc. On powerpc, offset the TIB/TCB/TLS data from the register per the ELF spec. Testing by various, particularly sthen@ and patrick@ ok kettenis@
Revision 1.60 / (download) - annotate - [select for diffs], Mon Aug 31 02:53:57 2015 UTC (8 years, 9 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE,
OPENBSD_5_9
Changes since 1.59: +2 -1 lines
Diff to previous 1.59 (colored)
Add framework for resolving (pun intended) libc namespace issues, using wrapper .h files and asm labels to let internal calls resolve directly and not be overridable or use the PLT. Then, apply that framework to most of the functions in stdio.h, string.h, err.h, and wchar.h. Delete the should-have-been-hidden-all-along _v?(err|warn)[cx]? symbols while here. tests clean on i386, amd64, sparc64, powerpc, and mips64 naming feedback from kettenis@ and millert@ ok kettenis@
Revision 1.59 / (download) - annotate - [select for diffs], Fri Aug 28 14:16:01 2015 UTC (8 years, 9 months ago) by kettenis
Branch: MAIN
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 (colored)
Use ELF_LDFLAGS to pass the --version-script argument such that we actually hide symbols on all our architectures; hppa, hppa64 and sh override LDADD. LDADD isn't really the proper variable for passing linker flags anyway. ok guenther@, deraadt@
Revision 1.58 / (download) - annotate - [select for diffs], Sun Aug 23 23:20:00 2015 UTC (8 years, 9 months ago) by guenther
Branch: MAIN
Changes since 1.57: +5 -2 lines
Diff to previous 1.57 (colored)
Apply a symbol export list to ld.so with just the expected dl*() and the two symbols needed by gdb. Remember: ld.so exports override those in shared libs. ok deraadt@
Revision 1.57 / (download) - annotate - [select for diffs], Sun Jul 26 19:30:58 2015 UTC (8 years, 10 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE,
OPENBSD_5_8
Changes since 1.56: +4 -4 lines
Diff to previous 1.56 (colored)
Reenable the ld.so pre-install test; the "am I cross-compiling" test was too loose. Update the test to try to exercise the printf binding twice. ok miod@
Revision 1.56 / (download) - annotate - [select for diffs], Tue May 26 20:15:54 2015 UTC (9 years ago) by miod
Branch: MAIN
Changes since 1.55: +2 -2 lines
Diff to previous 1.55 (colored)
Better cross-compilation check
Revision 1.55 / (download) - annotate - [select for diffs], Sun Feb 8 00:15:22 2015 UTC (9 years, 3 months ago) by uebayasi
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE,
OPENBSD_5_7
Changes since 1.54: +3 -1 lines
Diff to previous 1.54 (colored)
Fix cross-build. OK jsing@ miod@ guenther@ deraadt@
Revision 1.54 / (download) - annotate - [select for diffs], Mon Dec 22 19:14:59 2014 UTC (9 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.53: +1 -5 lines
Diff to previous 1.53 (colored)
Static PIE has been delayed for quite a while. By pushing hard with pascal towards a wimpy (but sufficient) model, kurt and kettenis got upset enough to do it the right way, right away before we got out of hand. Bravo! We no longer need /sbin/ld.so on the new roadmap.
Revision 1.53 / (download) - annotate - [select for diffs], Fri Dec 19 14:19:41 2014 UTC (9 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.52: +4 -5 lines
Diff to previous 1.52 (colored)
place the afterinstall: target correctly for static-only architectures
Revision 1.52 / (download) - annotate - [select for diffs], Tue Dec 16 23:59:47 2014 UTC (9 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.51: +3 -2 lines
Diff to previous 1.51 (colored)
install both ld.so with mode 444
Revision 1.51 / (download) - annotate - [select for diffs], Tue Dec 16 20:53:12 2014 UTC (9 years, 5 months ago) by pascal
Branch: MAIN
Changes since 1.50: +5 -1 lines
Diff to previous 1.50 (colored)
Install a copy of ld.so into /sbin. Soon to be used in order to make "static" PIE possible. ok deraadt@ tedu@
Revision 1.50 / (download) - annotate - [select for diffs], Sat Jun 21 08:00:22 2014 UTC (9 years, 11 months ago) by otto
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE,
OPENBSD_5_6
Changes since 1.49: +2 -2 lines
Diff to previous 1.49 (colored)
Move to a non-zeroing _dl_malloc, a _dl_calloc and _dl_reallocarry and fix _dl_strdup to return NULL instead of crash; ok deraadt@
Revision 1.49 / (download) - annotate - [select for diffs], Thu Jun 5 08:41:09 2014 UTC (9 years, 11 months ago) by otto
Branch: MAIN
Changes since 1.48: +3 -1 lines
Diff to previous 1.48 (colored)
add malloc.c
Revision 1.48 / (download) - annotate - [select for diffs], Wed May 28 18:57:56 2014 UTC (10 years ago) by brad
Branch: MAIN
Changes since 1.47: +3 -1 lines
Diff to previous 1.47 (colored)
Remove additional files generated during ld.so build on make clean. From drahn Bitrig ok miod@ guenther@
Revision 1.47 / (download) - annotate - [select for diffs], Sun Feb 16 01:16:38 2014 UTC (10 years, 3 months ago) by martynas
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE,
OPENBSD_5_5
Changes since 1.46: +6 -3 lines
Diff to previous 1.46 (colored)
Unbreak ld.so with ssp-strong/all on sparc64 and powerpc. With the new SSP logic it additionally protects functions which have their local addresses taken of, and _dl_boot_bind() gets selected. We have to go through GOT to reach __guard_local, however it hasn't been relocated yet. So add boot.c and don't protect everything up to the point until it has been relocated and no longer needs the loff adjustment. OK matthew@. Full build done & tested by florian@.
Revision 1.46 / (download) - annotate - [select for diffs], Tue Dec 31 04:07:34 2013 UTC (10 years, 5 months ago) by guenther
Branch: MAIN
Changes since 1.45: +12 -3 lines
Diff to previous 1.45 (colored)
Don't consider ld.so to be successfully built unless a test program using it works, because seeing "make build" fail right after it installs a broken ld.so is *#!&%(@*)# annoying. Presumably needs to be fixed for cross-builds. ok matthew@ deraadt@ miod@
Revision 1.45 / (download) - annotate - [select for diffs], Fri Jul 5 21:29:51 2013 UTC (10 years, 10 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE,
OPENBSD_5_4
Changes since 1.44: +1 -5 lines
Diff to previous 1.44 (colored)
ELF_TOOLCHAIN bye bye.
Revision 1.44 / (download) - annotate - [select for diffs], Sat Jun 1 09:57:55 2013 UTC (11 years ago) by miod
Branch: MAIN
Changes since 1.43: +2 -2 lines
Diff to previous 1.43 (colored)
Introduce ltrace(1). This tool works with ld.so to inject utrace record for each plt call, allowing to trace a binary linked against shared library at the public function call level. To do so, ltrace(1) sets up some environment variables to enable plt tracing in ld.so, and invokes ktrace(2) for utrace events. ld.so will force lazy binding and will send an utrace record in the plt resolver, without updating the plt. Minimal filtering capabilities are provided, inspired by Solaris' truss -u, to limit tracing to libraries and/or symbol names. Non-traced libraries and symbols will have the regular resolver processing, with the expected plt update. "Get it in" deraadt
Revision 1.43 / (download) - annotate - [select for diffs], Fri Apr 5 12:58:03 2013 UTC (11 years, 1 month ago) by kurt
Branch: MAIN
Changes since 1.42: +3 -2 lines
Diff to previous 1.42 (colored)
- Add ORIGIN, OSNAME, OSREL and PLATFORM substitution support for rpaths. Improvements and okay matthew@, millert@, guenther@
Revision 1.42 / (download) - annotate - [select for diffs], Wed Mar 20 21:49:59 2013 UTC (11 years, 2 months ago) by kurt
Branch: MAIN
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (colored)
- Parse colon separated paths into NULL terminated arrays of string pointers to prepare for adding rpath ORIGIN support. okay matthew@ millert@
Revision 1.41 / (download) - annotate - [select for diffs], Sun Feb 17 22:06:31 2013 UTC (11 years, 3 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE,
OPENBSD_5_3
Changes since 1.40: +6 -2 lines
Diff to previous 1.40 (colored)
Always enter this ld.so and subdirectories to create obj (and then the MI man pages, even if vax currently lacks the programs)
Revision 1.40 / (download) - annotate - [select for diffs], Sat Jan 5 11:19:25 2013 UTC (11 years, 4 months ago) by miod
Branch: MAIN
Changes since 1.39: +2 -2 lines
Diff to previous 1.39 (colored)
if defined(NOPIC), do not attempt to .include arch/Makefile.inc for it may not exist yet.
Revision 1.39 / (download) - annotate - [select for diffs], Wed Sep 12 09:19:54 2012 UTC (11 years, 8 months ago) by haesbaert
Branch: MAIN
Changes since 1.38: +2 -1 lines
Diff to previous 1.38 (colored)
Define empty CDIAGFLAGS for programs that use Werror. Makes "make build" build with WARNINGS=Yes on amd64. ok espie
Revision 1.38 / (download) - annotate - [select for diffs], Fri Aug 31 20:09:27 2012 UTC (11 years, 9 months ago) by kettenis
Branch: MAIN
Changes since 1.37: +2 -1 lines
Diff to previous 1.37 (colored)
Compile ld.so with debug info. This will not only help people hacking on ld.so itself, but also make it easier to debug code that uses dlopen(3). ok deraadt@, matthew@
Revision 1.37 / (download) - annotate - [select for diffs], Wed Feb 3 20:49:00 2010 UTC (14 years, 4 months ago) by miod
Branch: MAIN
CVS Tags: OPENBSD_5_2_BASE,
OPENBSD_5_2,
OPENBSD_5_1_BASE,
OPENBSD_5_1,
OPENBSD_5_0_BASE,
OPENBSD_5_0,
OPENBSD_4_9_BASE,
OPENBSD_4_9,
OPENBSD_4_8_BASE,
OPENBSD_4_8,
OPENBSD_4_7_BASE,
OPENBSD_4_7
Changes since 1.36: +4 -4 lines
Diff to previous 1.36 (colored)
Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent files or directories when applicable. The inspiration and name of MACHINE_CPU come from NetBSD, although the way to provide it to Makefiles is completely different. ok kettenis@
Revision 1.36 / (download) - annotate - [select for diffs], Wed Aug 8 21:04:13 2007 UTC (16 years, 9 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE,
OPENBSD_4_6,
OPENBSD_4_5_BASE,
OPENBSD_4_5,
OPENBSD_4_4_BASE,
OPENBSD_4_4,
OPENBSD_4_3_BASE,
OPENBSD_4_3,
OPENBSD_4_2_BASE,
OPENBSD_4_2
Changes since 1.35: +11 -3 lines
Diff to previous 1.35 (colored)
on NOPIC architectures, do not build and install ld.so. this is in particular for landisk (sh) where ld.so does not yet 100% work, but was still being installed. libtool cares. modified from matthieu patch; ok drahn
Revision 1.35 / (download) - annotate - [select for diffs], Tue Dec 26 22:36:51 2006 UTC (17 years, 5 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE,
OPENBSD_4_1
Changes since 1.34: +1 -2 lines
Diff to previous 1.34 (colored)
no more seperate prebind
Revision 1.34 / (download) - annotate - [select for diffs], Thu May 11 22:03:22 2006 UTC (18 years ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_4_0_BASE,
OPENBSD_4_0
Changes since 1.33: +2 -2 lines
Diff to previous 1.33 (colored)
move prebind_strip(8) into ldconfig as the -D option; ok drahn
Revision 1.33 / (download) - annotate - [select for diffs], Thu May 4 01:52:16 2006 UTC (18 years, 1 month ago) by drahn
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)
Dont build/install prebind tools just yet.
Revision 1.32 / (download) - annotate - [select for diffs], Wed May 3 16:10:51 2006 UTC (18 years, 1 month ago) by drahn
Branch: MAIN
Changes since 1.31: +4 -3 lines
Diff to previous 1.31 (colored)
prebind - how to prelink a binary without throwing security out the window Prelink fixes the address of libraries making 'return to libc' attacks trival, prebind uses a different method to achieve most of the same gains, however without adding any security conerns. Still under development, now in-tree.
Revision 1.31 / (download) - annotate - [select for diffs], Wed May 3 15:48:16 2006 UTC (18 years, 1 month ago) by drahn
Branch: MAIN
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (colored)
Extra paranoid, do not allow the dynamic linker to have unresolved references as this causes much frustration as it fails to run after being installed and is a paint to recover.
Revision 1.30 / (download) - annotate - [select for diffs], Wed Sep 28 16:20:01 2005 UTC (18 years, 8 months ago) by drahn
Branch: MAIN
CVS Tags: OPENBSD_3_9_BASE,
OPENBSD_3_9
Changes since 1.29: +2 -2 lines
Diff to previous 1.29 (colored)
If there is some compilation error/warning in ld.so do not allow it to build, ld.so is too fragile and destructive otherwise.
Revision 1.29 / (download) - annotate - [select for diffs], Fri Sep 23 01:15:03 2005 UTC (18 years, 8 months ago) by drahn
Branch: MAIN
Changes since 1.28: +1 -3 lines
Diff to previous 1.28 (colored)
sigh. again
Revision 1.28 / (download) - annotate - [select for diffs], Thu Sep 22 22:33:40 2005 UTC (18 years, 8 months ago) by drahn
Branch: MAIN
Changes since 1.27: +3 -1 lines
Diff to previous 1.27 (colored)
Track if symbols are searched but missing while resolving GOT, if any are missing exit instead of later causing an abort, ok kurt@
Revision 1.27 / (download) - annotate - [select for diffs], Fri Sep 16 23:20:51 2005 UTC (18 years, 8 months ago) by drahn
Branch: MAIN
Changes since 1.26: +1 -3 lines
Diff to previous 1.26 (colored)
revert the debug enable.
Revision 1.26 / (download) - annotate - [select for diffs], Fri Sep 16 23:19:41 2005 UTC (18 years, 8 months ago) by drahn
Branch: MAIN
Changes since 1.25: +3 -1 lines
Diff to previous 1.25 (colored)
Rework symbol lookup to more closely match sun's documentation, now treats dlopens as load groups. ok kurt@
Revision 1.25 / (download) - annotate - [select for diffs], Wed Mar 23 19:48:05 2005 UTC (19 years, 2 months ago) by drahn
Branch: MAIN
CVS Tags: OPENBSD_3_8_BASE,
OPENBSD_3_8
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)
Code reorganization, move copied code in library.c and library_mquery.c into its own file. no functional change.
Revision 1.24 / (download) - annotate - [select for diffs], Wed May 26 19:16:30 2004 UTC (20 years ago) by mickey
Branch: MAIN
CVS Tags: OPENBSD_3_7_BASE,
OPENBSD_3_7,
OPENBSD_3_6_BASE,
OPENBSD_3_6
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)
allow md makefile to supply LDADD; drahn@ ok
Revision 1.23 / (download) - annotate - [select for diffs], Thu Nov 20 23:23:09 2003 UTC (20 years, 6 months ago) by avsm
Branch: MAIN
CVS Tags: OPENBSD_3_5_BASE,
OPENBSD_3_5
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored)
remove -Werror from userland builds, to give us a chance to use more verbose warning options if desired. ok millert@, henning@, david@
Revision 1.22 / (download) - annotate - [select for diffs], Sun Jul 6 20:03:57 2003 UTC (20 years, 11 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_3_4_BASE,
OPENBSD_3_4
Changes since 1.21: +5 -5 lines
Diff to previous 1.21 (colored)
various proto, ansi, and knf repair. tested on all architectures that use it. (build may require make cleandir because of .depend balony)
Revision 1.21 / (download) - annotate - [select for diffs], Fri Jun 27 01:13:00 2003 UTC (20 years, 11 months ago) by deraadt
Branch: MAIN
Changes since 1.20: +2 -2 lines
Diff to previous 1.20 (colored)
put it in section 1
Revision 1.20 / (download) - annotate - [select for diffs], Thu Jun 26 17:55:42 2003 UTC (20 years, 11 months ago) by drahn
Branch: MAIN
Changes since 1.19: +1 -2 lines
Diff to previous 1.19 (colored)
Manpage for ELF ld.so, derived from a.out version, not yet complete also points out missing features in the ELF ld.so.
Revision 1.19 / (download) - annotate - [select for diffs], Thu Apr 17 03:40:45 2003 UTC (21 years, 1 month ago) by drahn
Branch: MAIN
Changes since 1.18: +8 -2 lines
Diff to previous 1.18 (colored)
mquery support, currently for i386 only.
Revision 1.18 / (download) - annotate - [select for diffs], Mon Oct 21 16:28:18 2002 UTC (21 years, 7 months ago) by drahn
Branch: MAIN
CVS Tags: OPENBSD_3_3_BASE,
OPENBSD_3_3
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)
Remove the -D__PIC__ from this, it does not affect the building of any current platform, so makes no sense. pointed out by Per. Tested on alpha, i386, macppc, sparc, sparc64 (binary diff).
Revision 1.17 / (download) - annotate - [select for diffs], Wed Aug 21 15:40:30 2002 UTC (21 years, 9 months ago) by art
Branch: MAIN
CVS Tags: OPENBSD_3_2_BASE,
OPENBSD_3_2
Changes since 1.16: +6 -34 lines
Diff to previous 1.16 (colored)
Split out MD makefile parts into separate files and do some other cleanup in the Makefile. drahn@ ok.
Revision 1.16 / (download) - annotate - [select for diffs], Sat Jul 27 13:19:26 2002 UTC (21 years, 10 months ago) by art
Branch: MAIN
Changes since 1.15: +9 -1 lines
Diff to previous 1.15 (colored)
Just a skeleton for sparc. Builds, but pieces are missing and it doesn't even get to dl_boot_bind correctly.
Revision 1.15 / (download) - annotate - [select for diffs], Fri Jul 12 20:18:30 2002 UTC (21 years, 10 months ago) by drahn
Branch: MAIN
Changes since 1.14: +10 -8 lines
Diff to previous 1.14 (colored)
Change ld.so search order/method to match the a.out ld.so. run destructors on dlclose() Move more symbols into _dl_ private space, so that the proper (libc) version of the function will be used. Add readdir() functionality to perform the proper library searching. Support DL_PRELOAD Do not relocate symbols if ld.so is being traced (and will exit). Misc lint cleanup. ok art@
Revision 1.14 / (download) - annotate - [select for diffs], Sat May 25 02:46:09 2002 UTC (22 years ago) by drahn
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)
use _dl_strncmp() not strncmp(), _dl version is already present and used.
Revision 1.13 / (download) - annotate - [select for diffs], Sat May 25 02:34:45 2002 UTC (22 years ago) by drahn
Branch: MAIN
Changes since 1.12: +2 -3 lines
Diff to previous 1.12 (colored)
_dl_strcmp() and _dl_strchr() exist, do not pull these routines from libsa source.
Revision 1.12 / (download) - annotate - [select for diffs], Thu Feb 21 23:17:53 2002 UTC (22 years, 3 months ago) by drahn
Branch: MAIN
CVS Tags: OPENBSD_3_1_BASE,
OPENBSD_3_1
Changes since 1.11: +4 -3 lines
Diff to previous 1.11 (colored)
cleanup of MD/MI ld.so (elf), most changes by art@ cleanup by me. tested on alpha sparc64 powerpc.
Revision 1.11 / (download) - annotate - [select for diffs], Tue Nov 20 01:13:44 2001 UTC (22 years, 6 months ago) by pvalchev
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10 (colored)
bye bye, libdl
Revision 1.10 / (download) - annotate - [select for diffs], Mon Sep 24 23:38:09 2001 UTC (22 years, 8 months ago) by art
Branch: MAIN
CVS Tags: OPENBSD_3_0_BASE,
OPENBSD_3_0
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored)
sparc64 needs slightly different flags.
Revision 1.9 / (download) - annotate - [select for diffs], Sun Sep 23 02:24:07 2001 UTC (22 years, 8 months ago) by drahn
Branch: MAIN
Changes since 1.8: +5 -1 lines
Diff to previous 1.8 (colored)
pass appropriate compilation flags for sparc64. needs to be compiled PIC. both C and asm files.
Revision 1.8 / (download) - annotate - [select for diffs], Fri Jul 20 20:16:29 2001 UTC (22 years, 10 months ago) by mickey
Branch: MAIN
Changes since 1.7: +1 -3 lines
Diff to previous 1.7 (colored)
do not include or define things which are common for this subdir's parent
Revision 1.7 / (download) - annotate - [select for diffs], Fri Jun 8 06:50:34 2001 UTC (22 years, 11 months ago) by art
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)
No more need to pull in strlen from libc.
Revision 1.6 / (download) - annotate - [select for diffs], Wed May 23 14:24:03 2001 UTC (23 years ago) by drahn
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)
Do not enable debugging, such as PRINTF_DEBUG for ld.so, it becomes too verbose for normal usage.
Revision 1.5 / (download) - annotate - [select for diffs], Tue May 15 11:38:25 2001 UTC (23 years ago) by deraadt
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)
Niklas, there is no excuse for breaking this code
Revision 1.4 / (download) - annotate - [select for diffs], Mon May 14 22:18:19 2001 UTC (23 years ago) by niklas
Branch: MAIN
Changes since 1.3: +13 -8 lines
Diff to previous 1.3 (colored)
Commit initial alpha bits, to facilitate in-tree dev. This code is not yet working.
Revision 1.3 / (download) - annotate - [select for diffs], Sun Sep 17 17:50:57 2000 UTC (23 years, 8 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_2_9_BASE,
OPENBSD_2_9,
OPENBSD_2_8_BASE,
OPENBSD_2_8
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)
activate ldd, and indent some ld.so messages to make it easier to see what is going on
Revision 1.2 / (download) - annotate - [select for diffs], Fri Sep 8 04:23:45 2000 UTC (23 years, 8 months ago) by rahnds
Branch: MAIN
Changes since 1.1: +19 -3 lines
Diff to previous 1.1 (colored)
PowerPC does not need to build this -Wall, if other archs would not.
Revision 1.1.1.2 / (download) - annotate - [select for diffs] (vendor branch), Tue Jun 13 03:39:53 2000 UTC (23 years, 11 months ago) by rahnds
Branch: per,
dsr
CVS Tags: r20000612
Changes since 1.1.1.1: +18 -2 lines
Diff to previous 1.1.1.1 (colored)
Updated version of ld.so, contains additional functionality and fixes/ design changes required by egcs. added support for ldconfig/ld.so.hints changes to low level relocation code, required by egcs pic code generation that moved global variable loads to before the self relocation was performed. Only powerpc supported, mips code not updated. Code cleaned up somewhat reasonably. This code needs to be reviewed closely for significant problems such as correctness and security.
Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Tue Jun 13 03:33:55 2000 UTC (23 years, 11 months ago) by rahnds
Branch: per,
dsr
CVS Tags: r19990103
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)
Initial import of ELF ld.so. This was written indepently of the gnu rtld code and is fully BSD copyrighted. This initial import contains a mostly working mips and partially working powerpc version. No support for ld.so.hints or system run path exists.
Revision 1.1 / (download) - annotate - [select for diffs], Tue Jun 13 03:33:55 2000 UTC (23 years, 11 months ago) by rahnds
Branch: MAIN
Initial revision