Up to [cvs.NetBSD.org] / src / libexec / ld.elf_so
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.2.8.1 / (download) - annotate - [select for diffs], Wed May 13 18:08:38 2020 UTC (3 years, 11 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE,
netbsd-9-2-RELEASE,
netbsd-9-1-RELEASE
Changes since 1.2: +1 -0
lines
Diff to previous 1.2 (colored) next main 1.3 (colored) to selected 1.1 (colored)
Pull up following revision(s) (requested by chs in ticket #907): libexec/ld.elf_so/rtld.c: revision 1.205 libexec/ld.elf_so/rtld.h: revision 1.140 libexec/ld.elf_so/symbols.map: revision 1.3 libexec/ld.elf_so/symbols.map: revision 1.4 lib/libc/gen/pthread_atfork.c: revision 1.13 lib/libc/gen/pthread_atfork.c: revision 1.14 libexec/ld.elf_so/rtld.h: revision 1.139 libexec/ld.elf_so/rtld.c: revision 1.204 Introduce intermediate locking for fork, so that the dynamic linker is in a consistent state. This most importantly avoids races between dlopen and friends and fork, potentially resulting in dead locks in the child when it itself tries to acquire locks. Rename __atomic_fork to __locked_fork and give it &errno as argument. rtld and libc use different storage, so the initial version would incorrectly report the failure reason for fork(). There is still a small race condition inside ld.elf_so as it doesn't use thread-safe errno internally, but that's a more contained internal issue.
Revision 1.2.6.1 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:00 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.2: +1 -0
lines
Diff to previous 1.2 (colored) next main 1.3 (colored) to selected 1.1 (colored)
Sync with HEAD
Revision 1.4 / (download) - annotate - [select for diffs], Sun Apr 19 01:06:15 2020 UTC (4 years ago) by joerg
Branch: MAIN
CVS Tags: phil-wifi-20200421,
netbsd-10-base,
netbsd-10-0-RELEASE,
netbsd-10-0-RC6,
netbsd-10-0-RC5,
netbsd-10-0-RC4,
netbsd-10-0-RC3,
netbsd-10-0-RC2,
netbsd-10-0-RC1,
netbsd-10,
cjep_sun2x-base1,
cjep_sun2x-base,
cjep_sun2x,
cjep_staticlib_x-base1,
cjep_staticlib_x-base,
cjep_staticlib_x,
HEAD
Changes since 1.3: +1 -1
lines
Diff to previous 1.3 (colored) to selected 1.1 (colored)
Rename __atomic_fork to __locked_fork and give it &errno as argument. rtld and libc use different storage, so the initial version would incorrectly report the failure reason for fork(). There is still a small race condition inside ld.elf_so as it doesn't use thread-safe errno internally, but that's a more contained internal issue.
Revision 1.3 / (download) - annotate - [select for diffs], Thu Apr 16 14:39:58 2020 UTC (4 years ago) by joerg
Branch: MAIN
Changes since 1.2: +1 -0
lines
Diff to previous 1.2 (colored) to selected 1.1 (colored)
Introduce intermediate locking for fork, so that the dynamic linker is in a consistent state. This most importantly avoids races between dlopen and friends and fork, potentially resulting in dead locks in the child when it itself tries to acquire locks.
Revision 1.1.8.1 / (download) - annotate - [select for diffs], Tue Aug 29 09:43:17 2017 UTC (6 years, 7 months ago) by bouyer
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE,
netbsd-8-1-RELEASE,
netbsd-8-1-RC1,
netbsd-8-0-RELEASE,
netbsd-8-0-RC2,
netbsd-8-0-RC1,
matt-nb8-mediatek-base,
matt-nb8-mediatek
Changes since 1.1: +1 -0
lines
Diff to previous 1.1 (colored) next main 1.2 (colored)
Pull up following revision(s) (requested by joerg in ticket #127): tests/libexec/ld.elf_so/h_thread_local_dtor.c: revision 1.1 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/c++config.h: revision 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/c++config.h: revision 1.17 lib/libc/stdlib/atexit.h: file removal lib/libc/stdlib/exit.c: revision 1.16 external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc64/c++config.h: revision 1.8 lib/libc/stdlib/exit.c: revision 1.17 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/c++config.h: revision 1.14 distrib/sets/lists/debug/shl.mi: revision 1.178 external/gpl3/gcc/lib/libstdc++-v3/arch/sh3el/c++config.h: revision 1.21 distrib/sets/lists/debug/shl.mi: revision 1.179 distrib/sets/lists/debug/mi: revision 1.219 lib/libpthread/pthread.c: revision 1.150 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/c++config.h: revision 1.14 libexec/ld.elf_so/symbols.map: revision 1.2 include/dlfcn.h: revision 1.25 external/gpl3/gcc/lib/libstdc++-v3/arch/arm/c++config.h: revision 1.21 external/gpl3/gcc/lib/libstdc++-v3/arch/x86_64/c++config.h: revision 1.23 external/gpl3/gcc/lib/libstdc++-v3/arch/mips64el/c++config.h: revision 1.18 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/c++config.h: revision 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h: revision 1.19 external/gpl3/gcc/lib/libstdc++-v3/arch/mipsel/c++config.h: revision 1.19 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/c++config.h: revision 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/c++config.h: revision 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/c++config.h: revision 1.17 distrib/sets/lists/tests/mi: revision 1.755 external/gpl3/gcc/lib/libstdc++-v3/arch/mips64eb/c++config.h: revision 1.19 external/gpl3/gcc/lib/libstdc++-v3/arch/i386/c++config.h: revision 1.20 external/gpl3/gcc/lib/libstdc++-v3/arch/vax/c++config.h: revision 1.21 external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/c++config.h: revision 1.21 external/gpl3/gcc/lib/libstdc++-v3/arch/sparc/c++config.h: revision 1.20 lib/libc/dlfcn/dlfcn_elf.c: revision 1.14 tests/libexec/ld.elf_so/t_thread_local_dtor.sh: revision 1.1 tests/lib/libpthread/t_thread_local_dtor.sh: revision 1.1 lib/libc/stdlib/Makefile.inc: revision 1.93 lib/libc/include/atexit.h: revision 1.1 lib/libc/include/atexit.h: revision 1.2 external/gpl3/gcc/lib/libstdc++-v3/arch/m68k/c++config.h: revision 1.19 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/c++config.h: revision 1.14 distrib/sets/lists/debug/shl.mi: revision 1.180 external/gpl3/gcc/lib/libstdc++-v3/arch/sparc64/c++config.h: revision 1.19 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/c++config.h: revision 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/hppa/c++config.h: revision 1.19 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/c++config.h: revision 1.14 lib/libc/stdlib/cxa_thread_atexit.c: revision 1.1 tests/libexec/ld.elf_so/helper_dso3/h_helper_dso3.cpp: revision 1.1 tests/libexec/ld.elf_so/helper_dso3/Makefile: revision 1.1 external/gpl3/gcc/lib/libstdc++-v3/arch/riscv64/c++config.h: revision 1.5 libexec/ld.elf_so/rtld.c: revision 1.185 external/gpl3/gcc/lib/libstdc++-v3/arch/sh3eb/c++config.h: revision 1.19 external/gpl3/gcc/lib/libstdc++-v3/arch/riscv32/c++config.h: revision 1.5 external/gpl3/gcc/lib/libstdc++-v3/arch/m68000/c++config.h: revision 1.15 external/gpl3/gcc/lib/libstdc++-v3/arch/mipseb/c++config.h: revision 1.21 external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/c++config.h: revision 1.12 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/c++config.h: revision 1.14 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/c++config.h: revision 1.15 external/gpl3/gcc/lib/libstdc++-v3/arch/alpha/c++config.h: revision 1.19 tests/libexec/ld.elf_so/Makefile: revision 1.9 external/gpl3/gcc/lib/libstdc++-v3/arch/powerpc/c++config.h: revision 1.20 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/c++config.h: revision 1.14 tests/lib/libpthread/h_thread_local_dtor.cpp: revision 1.1 distrib/sets/lists/tests/shl.mi: revision 1.11 tests/lib/libpthread/Makefile: revision 1.13 libexec/ld.elf_so/rtld.h: revision 1.129 external/gpl3/gcc/lib/libstdc++-v3/arch/or1k/c++config.h: revision 1.6 Implement __cxa_thread_atexit and __cxa_thread_atexit_impl. This functions are used for destructors of thread_local objects. If a pending destructor exists, prevent unloading of shared objects. Introduce __dl_cxa_refcount interface for this purpose. When the last reference is gone and the object has been dlclose'd before, the unloading is finalized. Ideally, __cxa_thread_atexit_impl wouldn't exist, but libstdc++ insists on providing __cxa_thread_atexit as direct wrapper without further patching. Fix filename of new debug file Add misising DEBUGLIB file Avoid common declaration. Drop TLS variant checks, emutls is enough for VAX and Sun2.
Revision 1.2 / (download) - annotate - [select for diffs], Tue Jul 11 15:21:35 2017 UTC (6 years, 9 months ago) by joerg
Branch: MAIN
CVS Tags: phil-wifi-base,
phil-wifi-20200411,
phil-wifi-20200406,
phil-wifi-20191119,
phil-wifi-20190609,
pgoyette-compat-merge-20190127,
pgoyette-compat-base,
pgoyette-compat-20190127,
pgoyette-compat-20190118,
pgoyette-compat-1226,
pgoyette-compat-1126,
pgoyette-compat-1020,
pgoyette-compat-0930,
pgoyette-compat-0906,
pgoyette-compat-0728,
pgoyette-compat-0625,
pgoyette-compat-0521,
pgoyette-compat-0502,
pgoyette-compat-0422,
pgoyette-compat-0415,
pgoyette-compat-0407,
pgoyette-compat-0330,
pgoyette-compat-0322,
pgoyette-compat-0315,
pgoyette-compat,
perseant-stdc-iso10646-base,
perseant-stdc-iso10646,
netbsd-9-base,
netbsd-9-0-RELEASE,
netbsd-9-0-RC2,
netbsd-9-0-RC1,
is-mlppp-base,
is-mlppp
Branch point for: phil-wifi,
netbsd-9
Changes since 1.1: +1 -0
lines
Diff to previous 1.1 (colored)
Implement __cxa_thread_atexit and __cxa_thread_atexit_impl. This functions are used for destructors of thread_local objects. If a pending destructor exists, prevent unloading of shared objects. Introduce __dl_cxa_refcount interface for this purpose. When the last reference is gone and the object has been dlclose'd before, the unloading is finalized. Ideally, __cxa_thread_atexit_impl wouldn't exist, but libstdc++ insists on providing __cxa_thread_atexit as direct wrapper without further patching.
Revision 1.1.2.2 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:05 2017 UTC (7 years, 3 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.1.2.1: +26 -0
lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored) to selected 1.1 (colored)
Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
Revision 1.1.2.1, Thu Dec 1 14:29:15 2016 UTC (7 years, 4 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.1: +0 -26
lines
FILE REMOVED
file symbols.map was added on branch pgoyette-localcount on 2017-01-07 08:56:05 +0000
Revision 1.1 / (download) - annotate - [selected], Thu Dec 1 14:29:15 2016 UTC (7 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: prg-localcount2-base3,
prg-localcount2-base2,
prg-localcount2-base1,
prg-localcount2-base,
prg-localcount2,
pgoyette-localcount-20170426,
pgoyette-localcount-20170320,
pgoyette-localcount-20170107,
netbsd-8-base,
bouyer-socketcan-base1,
bouyer-socketcan-base,
bouyer-socketcan
Branch point for: pgoyette-localcount,
netbsd-8
Instead of using a function to resolve symbols that should be supplied by the dynamic linker itself, use a version script that exposes them. From joerg@