Up to [cvs.NetBSD.org] / src / distrib / sets / lists / tests
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Pull up following revision(s), all via patch, (requested by riastradh in ticket #1699): distrib/sets/lists/tests/shl.mi: revision 1.14 distrib/sets/lists/tests/shl.mi: revision 1.15 distrib/sets/lists/tests/shl.mi: revision 1.16 tests/libexec/ld.elf_so/helper_def_static/h_def_static.c: revision 1.1 tests/libexec/ld.elf_so/helper_def_dynamic/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_def_dynamic/Makefile: revision 1.2 tests/libexec/ld.elf_so/helper_onlyuse_static/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_onlyuse_static/Makefile: revision 1.2 libexec/ld.elf_so/arch/mips/mips_reloc.c: revision 1.75 distrib/sets/lists/tests/mi: revision 1.1265 libexec/ld.elf_so/arch/sh3/mdreloc.c: revision 1.36 libexec/ld.elf_so/rtld.c: revision 1.214 tests/libexec/ld.elf_so/helper_onlydef_static/Makefile: revision 1.1 distrib/sets/lists/debug/mi: revision 1.400 tests/libexec/ld.elf_so/helper_onlydef_static/Makefile: revision 1.2 distrib/sets/lists/debug/mi: revision 1.401 distrib/sets/lists/debug/mi: revision 1.402 tests/libexec/ld.elf_so/helper_dso2/Makefile: revision 1.2 distrib/sets/lists/debug/mi: revision 1.403 tests/libexec/ld.elf_so/helper_symver_dso0/Makefile: revision 1.2 libexec/ld.elf_so/arch/x86_64/mdreloc.c: revision 1.48 distrib/sets/lists/debug/mi: revision 1.406 tests/libexec/ld.elf_so/helper_use_dynamic/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_use_dynamic/Makefile: revision 1.2 tests/libexec/ld.elf_so/helper_ifunc_dso/Makefile: revision 1.2 libexec/ld.elf_so/arch/sparc64/mdreloc.c: revision 1.70 libexec/ld.elf_so/arch/aarch64/mdreloc.c: revision 1.18 tests/libexec/ld.elf_so/helper_abuse_dynamic/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_abuse_dynamic/Makefile: revision 1.2 tests/libexec/ld.elf_so/Makefile: revision 1.13 libexec/ld.elf_so/arch/arm/mdreloc.c: revision 1.46 libexec/ld.elf_so/rtld.h: revision 1.146 tests/libexec/ld.elf_so/Makefile: revision 1.14 distrib/sets/lists/debug/shl.mi: revision 1.306 tests/libexec/ld.elf_so/Makefile: revision 1.15 tests/libexec/ld.elf_so/helper_abuse_static/Makefile: revision 1.1 distrib/sets/lists/debug/shl.mi: revision 1.307 tests/libexec/ld.elf_so/Makefile: revision 1.16 tests/libexec/ld.elf_so/helper_abuse_static/Makefile: revision 1.2 distrib/sets/lists/debug/shl.mi: revision 1.308 tests/libexec/ld.elf_so/Makefile: revision 1.17 distrib/sets/lists/debug/shl.mi: revision 1.309 tests/libexec/ld.elf_so/Makefile: revision 1.18 tests/libexec/ld.elf_so/Makefile: revision 1.19 libexec/ld.elf_so/tls.c: revision 1.16 libexec/ld.elf_so/tls.c: revision 1.17 libexec/ld.elf_so/tls.c: revision 1.18 libexec/ld.elf_so/tls.c: revision 1.19 tests/libexec/ld.elf_so/helper_onlydef_static/h_onlydef_static.c: revision 1.1 tests/libexec/ld.elf_so/helper_use_static/h_use_static.c: revision 1.1 tests/libexec/ld.elf_so/helper_use_static/h_use_static.c: revision 1.2 tests/libexec/ld.elf_so/helper_def_static/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_def_static/Makefile: revision 1.2 libexec/ld.elf_so/arch/hppa/hppa_reloc.c: revision 1.50 distrib/sets/lists/debug/shl.mi: revision 1.310 libexec/ld.elf_so/README.TLS: revision 1.6 distrib/sets/lists/debug/shl.mi: revision 1.311 distrib/sets/lists/debug/shl.mi: revision 1.314 tests/libexec/ld.elf_so/helper_dso3/Makefile: revision 1.2 tests/libexec/ld.elf_so/helper_symver_dso1/Makefile: revision 1.4 libexec/ld.elf_so/arch/powerpc/ppc_reloc.c: revision 1.63 tests/libexec/ld.elf_so/helper_def_dynamic/h_def_dynamic.c: revision 1.1 tests/libexec/ld.elf_so/helper_onlydef/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_onlydef/Makefile: revision 1.2 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.10 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.11 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.12 libexec/ld.elf_so/map_object.c: revision 1.66 tests/libexec/ld.elf_so/helper.mk: revision 1.1 libexec/ld.elf_so/arch/sparc/mdreloc.c: revision 1.57 libexec/ld.elf_so/map_object.c: revision 1.67 tests/libexec/ld.elf_so/helper_onlydef/h_onlydef.c: revision 1.1 tests/libexec/ld.elf_so/helper_symver_dso2/Makefile: revision 1.4 tests/libexec/ld.elf_so/helper_use_static/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_use_static/Makefile: revision 1.2 tests/libexec/ld.elf_so/helper_use_static/Makefile: revision 1.3 tests/libexec/ld.elf_so/helper_use_dynamic/h_use_dynamic.c: revision 1.1 tests/libexec/ld.elf_so/helper_abuse_static/h_abuse_static.c: revision 1.1 libexec/ld.elf_so/arch/riscv/mdreloc.c: revision 1.9 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.1 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.2 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.3 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.4 tests/libexec/ld.elf_so/helper_onlyctor_dynamic/Makefile: revision 1.1 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.5 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.6 libexec/ld.elf_so/arch/m68k/mdreloc.c: revision 1.34 tests/libexec/ld.elf_so/helper_onlyctor_dynamic/Makefile: revision 1.2 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.7 libexec/ld.elf_so/arch/i386/mdreloc.c: revision 1.42 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.8 libexec/ld.elf_so/arch/i386/mdreloc.c: revision 1.43 libexec/ld.elf_so/arch/or1k/mdreloc.c: revision 1.4 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.9 tests/libexec/ld.elf_so/helper_onlyuse_dynamic/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_onlyuse_dynamic/Makefile: revision 1.2 tests/libexec/ld.elf_so/helper_abuse_dynamic/h_abuse_dynamic.c: revision 1.1 tests/libexec/ld.elf_so/helper_onlyctor_dynamic/h_onlyctor_dynamic.c: revision 1.1 tests/libexec/ld.elf_so/helper_onlyuse_static/h_onlyuse_static.c: revision 1.1 tests/libexec/ld.elf_so/helper_onlyuse_dynamic/h_onlyuse_dynamic.c: revision 1.1 tests/libexec/ld.elf_so/helper_dso1/Makefile: revision 1.2 distrib/sets/lists/tests/shl.mi: revision 1.12 distrib/sets/lists/tests/shl.mi: revision 1.13 libexec/ld.elf_so/arch/alpha/alpha_reloc.c: revision 1.44 ld.elf_so: New test for extern initial-exec TLS, PR toolchain/50277. ld.elf_so: Fix extern TLS test to match PR toolchain/50277. Now it's actually testing the problem. ld.elf_so: Nix inadvertently committed private test program. ld.elf_so: Fix set lists for MKDEBUG=yes builds with t_tls_extern. ld.elf_so: Sprinkle tls debug messages. ld.elf_so: Make tls alloc debug messages more detailed and greppable. ld.elf_so: Test variations on PR toolchain/50277. ld.elf_so: Test extern dynamic TLS too. ld.elf_so: Factor out logic in TLS tests to make writing more easier. No functional change intended. ld.elf_so: Test TLS abuse of static def, dynamic use and vice versa. ld.elf_so: Shorter test names. No functional non-cosmetic change intended. ld.elf_so: Separately test eager and lazy resolution of def tls ptr. eager: before loading use library lazy: after loading use library Add recent ld.elf_so test helpers debug info ld.elf_so: Add new files to debug/shl.mi. ld.elf_so: tls_extern dynamic_defabuse_eager must xfail differently. If a symbol has already been resolved as dynamic TLS, any library that tries to use it as static TLS cannot be dlopened. ld.elf_so: Test another edge case of mismatched TLS models. One library defines a symbol and _doesn't_ use it, so it has no indication of whether the symbol is for static TLS or dynamic TLS, and then two other libraries use it in different ways. ld.elf_so: Test dynamic-then-static abuse via ctor. ld.elf_so: Fix missing tab in debug/shl.mi in last change. Fix interactions of initial-exec TLS model and dlopen (1) If an initial-exec relocation was used for a non-local symbol (i.e. the definition of the symbol is in a different DSO), the computation of the static TLS offset used the wrong DSO. This would effectively mean the wrong address was computed (PR toolchain/50277, PR pkg/57445). Fix this by forcing the computation of the correct DSO (the one defining the symbol). This code uses __UNCONST to avoid the vast interface changes for this special case. (2) If symbols from a DSO loaded via dlopen are used with both global-dynamic/local-dynamic and initial-exec relocations AND a initial-exec relocation was resolved first in a thread, a split brain situation could exist where the dynamic relocations would use one memory block (separate allocation) and the initial-exec relocations the static per-thread TLS space. (3) If the initial-exec relocation in (2) is seen after any thread has already used a GD/LD allocation, bail out. Since IE relocations are used only in the GOT, this will prevent the dlopen. This is a bit more aggressive than necessary, but a full blown reference counting doesn't seem to be justified. Avoid using uninitialized variable "symnum" when building with DEBUG enabled by borrowing the rdbg_symname() macro from arch/x86_64. ld.elf_so: Sprinkle more debug messages on dlopen and error. PR pkg/57445 Fix MKDEBUGLIB build by adding these installed files to the debug set list. One could argue that these files are not of any use, so why install them? I don't have a good argument either way, and this is (for now) a simple work-around for PR bin/57455 Please feel free to commit a different fix to avoid installing these files at all. Fix markup of libh_ MKDEBUGLIB=yes only files TLS variant I archs need to fudge the offset by the size of the TCB. tests/libexec/ld.elf_so: Fix helper library makefiles. 1. Consolidate logic into a single helper.mk to reduce duplication. 2. Set NO* variables, not MK* variables which are reserved for user. 3. Avoid eager X!= in favour of lazy ${X:sh}. 4. Mark _g.a set list entries obsolete. Never should've been built! PR misc/57462
Pull up following revision(s) (requested by riastradh in ticket #297): distrib/sets/lists/tests/shl.mi: revision 1.14 distrib/sets/lists/tests/shl.mi: revision 1.15 distrib/sets/lists/tests/shl.mi: revision 1.16 tests/libexec/ld.elf_so/helper_def_static/h_def_static.c: revision 1.1 tests/libexec/ld.elf_so/helper_def_dynamic/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_def_dynamic/Makefile: revision 1.2 tests/libexec/ld.elf_so/helper_onlyuse_static/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_onlyuse_static/Makefile: revision 1.2 libexec/ld.elf_so/arch/mips/mips_reloc.c: revision 1.75 distrib/sets/lists/tests/mi: revision 1.1265 libexec/ld.elf_so/arch/sh3/mdreloc.c: revision 1.36 libexec/ld.elf_so/rtld.c: revision 1.214 tests/libexec/ld.elf_so/helper_onlydef_static/Makefile: revision 1.1 distrib/sets/lists/debug/mi: revision 1.400 tests/libexec/ld.elf_so/helper_onlydef_static/Makefile: revision 1.2 distrib/sets/lists/debug/mi: revision 1.401 distrib/sets/lists/debug/mi: revision 1.402 tests/libexec/ld.elf_so/helper_dso2/Makefile: revision 1.2 distrib/sets/lists/debug/mi: revision 1.403 tests/libexec/ld.elf_so/helper_symver_dso0/Makefile: revision 1.2 libexec/ld.elf_so/arch/x86_64/mdreloc.c: revision 1.48 distrib/sets/lists/debug/mi: revision 1.406 tests/libexec/ld.elf_so/helper_use_dynamic/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_use_dynamic/Makefile: revision 1.2 tests/libexec/ld.elf_so/helper_ifunc_dso/Makefile: revision 1.2 libexec/ld.elf_so/arch/sparc64/mdreloc.c: revision 1.70 libexec/ld.elf_so/arch/aarch64/mdreloc.c: revision 1.18 tests/libexec/ld.elf_so/helper_abuse_dynamic/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_abuse_dynamic/Makefile: revision 1.2 tests/libexec/ld.elf_so/Makefile: revision 1.13 libexec/ld.elf_so/arch/arm/mdreloc.c: revision 1.46 libexec/ld.elf_so/rtld.h: revision 1.146 tests/libexec/ld.elf_so/Makefile: revision 1.14 distrib/sets/lists/debug/shl.mi: revision 1.306 tests/libexec/ld.elf_so/Makefile: revision 1.15 tests/libexec/ld.elf_so/helper_abuse_static/Makefile: revision 1.1 distrib/sets/lists/debug/shl.mi: revision 1.307 tests/libexec/ld.elf_so/Makefile: revision 1.16 tests/libexec/ld.elf_so/helper_abuse_static/Makefile: revision 1.2 distrib/sets/lists/debug/shl.mi: revision 1.308 tests/libexec/ld.elf_so/Makefile: revision 1.17 distrib/sets/lists/debug/shl.mi: revision 1.309 tests/libexec/ld.elf_so/Makefile: revision 1.18 tests/libexec/ld.elf_so/Makefile: revision 1.19 libexec/ld.elf_so/tls.c: revision 1.16 libexec/ld.elf_so/tls.c: revision 1.17 libexec/ld.elf_so/tls.c: revision 1.18 libexec/ld.elf_so/tls.c: revision 1.19 tests/libexec/ld.elf_so/helper_onlydef_static/h_onlydef_static.c: revision 1.1 tests/libexec/ld.elf_so/helper_use_static/h_use_static.c: revision 1.1 tests/libexec/ld.elf_so/helper_use_static/h_use_static.c: revision 1.2 tests/libexec/ld.elf_so/helper_def_static/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_def_static/Makefile: revision 1.2 libexec/ld.elf_so/arch/hppa/hppa_reloc.c: revision 1.50 distrib/sets/lists/debug/shl.mi: revision 1.310 libexec/ld.elf_so/README.TLS: revision 1.6 distrib/sets/lists/debug/shl.mi: revision 1.311 distrib/sets/lists/debug/shl.mi: revision 1.314 tests/libexec/ld.elf_so/helper_dso3/Makefile: revision 1.2 tests/libexec/ld.elf_so/helper_symver_dso1/Makefile: revision 1.4 libexec/ld.elf_so/arch/powerpc/ppc_reloc.c: revision 1.63 tests/libexec/ld.elf_so/helper_def_dynamic/h_def_dynamic.c: revision 1.1 tests/libexec/ld.elf_so/helper_onlydef/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_onlydef/Makefile: revision 1.2 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.10 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.11 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.12 libexec/ld.elf_so/map_object.c: revision 1.66 tests/libexec/ld.elf_so/helper.mk: revision 1.1 libexec/ld.elf_so/arch/sparc/mdreloc.c: revision 1.57 libexec/ld.elf_so/map_object.c: revision 1.67 tests/libexec/ld.elf_so/helper_onlydef/h_onlydef.c: revision 1.1 tests/libexec/ld.elf_so/helper_symver_dso2/Makefile: revision 1.4 tests/libexec/ld.elf_so/helper_use_static/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_use_static/Makefile: revision 1.2 tests/libexec/ld.elf_so/helper_use_static/Makefile: revision 1.3 tests/libexec/ld.elf_so/helper_use_dynamic/h_use_dynamic.c: revision 1.1 tests/libexec/ld.elf_so/helper_abuse_static/h_abuse_static.c: revision 1.1 libexec/ld.elf_so/arch/riscv/mdreloc.c: revision 1.9 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.1 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.2 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.3 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.4 tests/libexec/ld.elf_so/helper_onlyctor_dynamic/Makefile: revision 1.1 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.5 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.6 libexec/ld.elf_so/arch/m68k/mdreloc.c: revision 1.34 tests/libexec/ld.elf_so/helper_onlyctor_dynamic/Makefile: revision 1.2 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.7 libexec/ld.elf_so/arch/i386/mdreloc.c: revision 1.42 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.8 libexec/ld.elf_so/arch/i386/mdreloc.c: revision 1.43 libexec/ld.elf_so/arch/or1k/mdreloc.c: revision 1.4 tests/libexec/ld.elf_so/t_tls_extern.c: revision 1.9 tests/libexec/ld.elf_so/helper_onlyuse_dynamic/Makefile: revision 1.1 tests/libexec/ld.elf_so/helper_onlyuse_dynamic/Makefile: revision 1.2 tests/libexec/ld.elf_so/helper_abuse_dynamic/h_abuse_dynamic.c: revision 1.1 tests/libexec/ld.elf_so/helper_onlyctor_dynamic/h_onlyctor_dynamic.c: revision 1.1 tests/libexec/ld.elf_so/helper_onlyuse_static/h_onlyuse_static.c: revision 1.1 tests/libexec/ld.elf_so/helper_onlyuse_dynamic/h_onlyuse_dynamic.c: revision 1.1 tests/libexec/ld.elf_so/helper_dso1/Makefile: revision 1.2 distrib/sets/lists/tests/shl.mi: revision 1.12 distrib/sets/lists/tests/shl.mi: revision 1.13 libexec/ld.elf_so/arch/alpha/alpha_reloc.c: revision 1.44 (all via patch) ld.elf_so: New test for extern initial-exec TLS, PR toolchain/50277. ld.elf_so: Fix extern TLS test to match PR toolchain/50277. Now it's actually testing the problem. ld.elf_so: Nix inadvertently committed private test program. ld.elf_so: Fix set lists for MKDEBUG=yes builds with t_tls_extern. ld.elf_so: Sprinkle tls debug messages. ld.elf_so: Make tls alloc debug messages more detailed and greppable. ld.elf_so: Test variations on PR toolchain/50277. ld.elf_so: Test extern dynamic TLS too. ld.elf_so: Factor out logic in TLS tests to make writing more easier. No functional change intended. ld.elf_so: Test TLS abuse of static def, dynamic use and vice versa. ld.elf_so: Shorter test names. No functional non-cosmetic change intended. ld.elf_so: Separately test eager and lazy resolution of def tls ptr. eager: before loading use library lazy: after loading use library Add recent ld.elf_so test helpers debug info ld.elf_so: Add new files to debug/shl.mi. ld.elf_so: tls_extern dynamic_defabuse_eager must xfail differently. If a symbol has already been resolved as dynamic TLS, any library that tries to use it as static TLS cannot be dlopened. ld.elf_so: Test another edge case of mismatched TLS models. One library defines a symbol and _doesn't_ use it, so it has no indication of whether the symbol is for static TLS or dynamic TLS, and then two other libraries use it in different ways. ld.elf_so: Test dynamic-then-static abuse via ctor. ld.elf_so: Fix missing tab in debug/shl.mi in last change. Fix interactions of initial-exec TLS model and dlopen (1) If an initial-exec relocation was used for a non-local symbol (i.e. the definition of the symbol is in a different DSO), the computation of the static TLS offset used the wrong DSO. This would effectively mean the wrong address was computed (PR toolchain/50277, PR pkg/57445). Fix this by forcing the computation of the correct DSO (the one defining the symbol). This code uses __UNCONST to avoid the vast interface changes for this special case. (2) If symbols from a DSO loaded via dlopen are used with both global-dynamic/local-dynamic and initial-exec relocations AND a initial-exec relocation was resolved first in a thread, a split brain situation could exist where the dynamic relocations would use one memory block (separate allocation) and the initial-exec relocations the static per-thread TLS space. (3) If the initial-exec relocation in (2) is seen after any thread has already used a GD/LD allocation, bail out. Since IE relocations are used only in the GOT, this will prevent the dlopen. This is a bit more aggressive than necessary, but a full blown reference counting doesn't seem to be justified. Avoid using uninitialized variable "symnum" when building with DEBUG enabled by borrowing the rdbg_symname() macro from arch/x86_64. ld.elf_so: Sprinkle more debug messages on dlopen and error. PR pkg/57445 Fix MKDEBUGLIB build by adding these installed files to the debug set list. XXX One could argue that these files are not of any use, so why install them? I don't have a good argument either way, and this is (for now) a simple work-around for PR bin/57455 Please feel free to commit a different fix to avoid installing these files at all. Fix markup of libh_ MKDEBUGLIB=yes only files TLS variant I archs need to fudge the offset by the size of the TCB. tests/libexec/ld.elf_so: Fix helper library makefiles. 1. Consolidate logic into a single helper.mk to reduce duplication. 2. Set NO* variables, not MK* variables which are reserved for user. 3. Avoid eager X!= in favour of lazy ${X:sh}. 4. Mark _g.a set list entries obsolete. Never should've been built! PR misc/57462
ld.elf_so: Test dynamic-then-static abuse via ctor. XXX pullup-10
ld.elf_so: Test another edge case of mismatched TLS models. One library defines a symbol and _doesn't_ use it, so it has no indication of whether the symbol is for static TLS or dynamic TLS, and then two other libraries use it in different ways. XXX pullup-10
ld.elf_so: Test TLS abuse of static def, dynamic use and vice versa. XXX pullup-10
ld.elf_so: Test extern dynamic TLS too. XXX pullup-10
ld.elf_so: New test for extern initial-exec TLS, PR toolchain/50277. XXX pullup-10
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.
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.
Update some of the set lists to use the compatdir/compatfile compattestsdir/compattestsfile as well the kmod auto-entry creation. Remove entries that are now instantiated by the above.
Add basic support for indirect functions. It allows providing a public function symbol with an implementation choosen at run time. Refactor calls to functions by address in ld.elf_so to create temporary function descriptors on the stack, if the address is not leaked outside. Limitations: - no support for initialising static storage with function pointers - no support for unnamed resolver functions Inspired by FreeBSD's r228435 by kib@freebsd.org.
Rebase to HEAD as of a few days ago.
sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
Sort entries in strcmp order.
resync with head
sync with head
Add a new "debug" set that gets built when ${MKDEBUG} is set. On evbarm: -rw-r--r-- 1 root src 35806068 Jan 16 10:47 base.tgz -rw-r--r-- 1 root src 57374069 Jan 16 10:48 comp.tgz -rw-r--r-- 1 root src 101286193 Jan 16 10:49 debug.tgz ... This allows always building the debugging code and libraries but not installing it (although now it is placed in the default sets if ${MKDEBUG} is set
PR/45015: ld.elf_so: support ELF symbol versioning Applied latest patch.
fix a lot of different issues (doesn't anyone build anymore) - libdns had the wrong version - zfs attributes missing - missing debug libs - typos in library names - typos in library versions - _g libraries missing for new .so files (since we don't install .a files we should not be installing _g.a files either, why are we?) Hopefully this will fix the sparc64 build.
Move the recently added tests for libexec/ld.elf_so to shl.mi, so that the sun2 port builds again.
Put tests depending on dlopen etc. under a test for MKPIC, and move the corresponding entries in the set lists over to the shl.mi file. This should bring the sun2 port back to a buildable state.
Cleanup, sort entries and remove some duplicates.
Move shared library bits of the tests out to shl.mi, so that sun2, which only does static linking, can complete the build.