Up to [cvs.NetBSD.org] / src / libexec / ld.elf_so
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.11.6.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:03:17 2020 UTC (9 months ago) by martin
Branch: phil-wifi
Changes since 1.11.6.1: +5 -3
lines
Diff to previous 1.11.6.1 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored)
Mostly merge changes from HEAD upto 20200411
Revision 1.12.2.1 / (download) - annotate - [select for diffs], Tue Nov 26 08:12:26 2019 UTC (13 months, 3 weeks ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-1-RELEASE,
netbsd-9-0-RELEASE,
netbsd-9-0-RC2,
netbsd-9-0-RC1
Changes since 1.12: +5 -3
lines
Diff to previous 1.12 (colored) next main 1.13 (colored)
Pull up following revision(s) (requested by nakayama in ticket #469): lib/libc/tls/tls.c: revision 1.10 lib/libc/tls/tls.c: revision 1.11 lib/libc/tls/tls.c: revision 1.12 lib/libc/tls/tls.c: revision 1.13 libexec/ld.elf_so/tls.c: revision 1.13 libexec/ld.elf_so/tls.c: revision 1.14 libexec/ld.elf_so/Makefile: revision 1.142 lib/libc/tls/Makefile.inc: revision 1.3 usr.bin/ldd/Makefile.elf: revision 1.6 PR 54093: Align static TLS area to max_align_t. Use alignof and not size_t for platforms with non-natural base alignments. Mirror the ld.elf_so logic for handling aligning the TLS size. Most noticable, recompute the start of the TLS area for variant I relative to the TCB. This makes a difference when the segment size and base alignment don't agree. Fix PR/54074 and PR/54093 completely. More similar to the ld.elf_so logic, it is necessary to align with p_align first. Also, invert the #ifdef condition for consistency. Should fix regression for static linking binaries: http://releng.netbsd.org/b5reports/sparc/commits-2019.11.html#2019.11.10.23.39.03 http://releng.netbsd.org/b5reports/sparc64/commits-2019.11.html#2019.11.16.04.10.33
Revision 1.14 / (download) - annotate - [select for diffs], Tue Nov 5 22:22:42 2019 UTC (14 months, 2 weeks ago) by joerg
Branch: MAIN
CVS Tags: phil-wifi-20200421,
phil-wifi-20200411,
phil-wifi-20200406,
phil-wifi-20191119,
is-mlppp-base,
is-mlppp,
HEAD
Changes since 1.13: +4 -3
lines
Diff to previous 1.13 (colored)
Use alignof and not size_t for platforms with non-natural base alignments.
Revision 1.13 / (download) - annotate - [select for diffs], Mon Nov 4 12:45:10 2019 UTC (14 months, 2 weeks ago) by joerg
Branch: MAIN
Changes since 1.12: +4 -3
lines
Diff to previous 1.12 (colored)
PR 54093: Align static TLS area to max_align_t.
Revision 1.11.6.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:05:29 2019 UTC (19 months, 1 week ago) by christos
Branch: phil-wifi
Changes since 1.11: +3 -3
lines
Diff to previous 1.11 (colored)
Sync with HEAD
Revision 1.12 / (download) - annotate - [select for diffs], Sat Apr 13 00:23:32 2019 UTC (21 months, 1 week ago) by rin
Branch: MAIN
CVS Tags: phil-wifi-20190609,
netbsd-9-base
Branch point for: netbsd-9
Changes since 1.11: +3 -3
lines
Diff to previous 1.11 (colored)
Do not compile __tls_get_addr() into ldd(1), which fixes ldd(1) crashing on arm after switching to new jemalloc. jemalloc invokes __tls_get_addr() under some condition. If anything other than ld.elf_so nor libc exports it, inconsistency arises as a result.
Revision 1.9.4.2 / (download) - annotate - [select for diffs], Wed Jul 26 15:54:15 2017 UTC (3 years, 5 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-2-RELEASE
Changes since 1.9.4.1: +15 -10
lines
Diff to previous 1.9.4.1 (colored) to branchpoint 1.9 (colored) next main 1.10 (colored)
Pull up following revision(s) (requested by joerg in ticket #1455): libexec/ld.elf_so/tls.c: revision 1.11 Fix two bugs related to promotion of DSO TLS blocks into the static thread allocation: (1) Set the DTV vector up whenever an offset into the static allocation is assigned, even if the block itself is not initialized. This has been seen in libstdc++. (2) Do not free a DTV block if it is part of the static thread allocation.
Revision 1.10.8.1 / (download) - annotate - [select for diffs], Tue Jul 25 01:36:58 2017 UTC (3 years, 5 months ago) by snj
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.10: +15 -10
lines
Diff to previous 1.10 (colored) next main 1.11 (colored)
Pull up following revision(s) (requested by joerg in ticket #133): libexec/ld.elf_so/tls.c: revision 1.11 Fix two bugs related to promotion of DSO TLS blocks into the static thread allocation: (1) Set the DTV vector up whenever an offset into the static allocation is assigned, even if the block itself is not initialized. This has been seen in libstdc++. (2) Do not free a DTV block if it is part of the static thread allocation.
Revision 1.7.6.2 / (download) - annotate - [select for diffs], Sun Jul 23 14:25:46 2017 UTC (3 years, 5 months ago) by snj
Branch: netbsd-6
Changes since 1.7.6.1: +15 -10
lines
Diff to previous 1.7.6.1 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored)
Pull up following revision(s) (requested by joerg in ticket #1462): libexec/ld.elf_so/tls.c: revision 1.11 via patch Fix two bugs related to promotion of DSO TLS blocks into the static thread allocation: (1) Set the DTV vector up whenever an offset into the static allocation is assigned, even if the block itself is not initialized. This has been seen in libstdc++. (2) Do not free a DTV block if it is part of the static thread allocation.
Revision 1.11 / (download) - annotate - [select for diffs], Thu Jul 13 14:10:38 2017 UTC (3 years, 6 months ago) by joerg
Branch: MAIN
CVS Tags: phil-wifi-base,
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
Branch point for: phil-wifi
Changes since 1.10: +15 -10
lines
Diff to previous 1.10 (colored)
Fix two bugs related to promotion of DSO TLS blocks into the static thread allocation: (1) Set the DTV vector up whenever an offset into the static allocation is assigned, even if the block itself is not initialized. This has been seen in libstdc++. (2) Do not free a DTV block if it is part of the static thread allocation.
Revision 1.9.4.1 / (download) - annotate - [select for diffs], Wed Dec 31 06:51:08 2014 UTC (6 years ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116,
netbsd-7-nhusb-base,
netbsd-7-nhusb,
netbsd-7-1-RELEASE,
netbsd-7-1-RC2,
netbsd-7-1-RC1,
netbsd-7-1-2-RELEASE,
netbsd-7-1-1-RELEASE,
netbsd-7-1,
netbsd-7-0-RELEASE,
netbsd-7-0-RC3,
netbsd-7-0-RC2,
netbsd-7-0-RC1,
netbsd-7-0-2-RELEASE,
netbsd-7-0-1-RELEASE,
netbsd-7-0
Changes since 1.9: +2 -9
lines
Diff to previous 1.9 (colored)
Pull up following revision(s) (requested by chs in ticket #364): lib/libc/tls/tls.c: revision 1.8 libexec/ld.elf_so/tls.c: revision 1.10 sys/arch/powerpc/include/types.h: revision 1.50 sys/arch/powerpc/powerpc/sig_machdep.c: revision 1.44 fix powerpc TLS problems by removing the hacks for PPC EABI. the kernel no longer treats R2 specially and its use as the TLS register is now handled entirely in userland.
Revision 1.10 / (download) - annotate - [select for diffs], Sun Dec 14 23:49:17 2014 UTC (6 years, 1 month ago) by chs
Branch: MAIN
CVS Tags: prg-localcount2-base3,
prg-localcount2-base2,
prg-localcount2-base1,
prg-localcount2-base,
prg-localcount2,
pgoyette-localcount-base,
pgoyette-localcount-20170426,
pgoyette-localcount-20170320,
pgoyette-localcount-20170107,
pgoyette-localcount-20161104,
pgoyette-localcount-20160806,
pgoyette-localcount-20160726,
pgoyette-localcount,
netbsd-8-base,
localcount-20160914,
bouyer-socketcan-base1,
bouyer-socketcan-base,
bouyer-socketcan
Branch point for: netbsd-8
Changes since 1.9: +2 -9
lines
Diff to previous 1.9 (colored)
fix powerpc TLS problems by removing the hacks for PPC EABI. the kernel no longer treats R2 specially and its use as the TLS register is now handled entirely in userland.
Revision 1.7.10.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:02:22 2014 UTC (6 years, 5 months ago) by tls
Branch: tls-maxphys
Changes since 1.7: +8 -3
lines
Diff to previous 1.7 (colored) next main 1.8 (colored)
Rebase to HEAD as of a few days ago.
Revision 1.7.4.1 / (download) - annotate - [select for diffs], Thu May 22 11:37:13 2014 UTC (6 years, 7 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.7: +8 -3
lines
Diff to previous 1.7 (colored) next main 1.8 (colored)
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")
Revision 1.7.18.1 / (download) - annotate - [select for diffs], Thu Nov 7 20:32:36 2013 UTC (7 years, 2 months ago) by snj
Branch: netbsd-6-1
CVS Tags: netbsd-6-1-5-RELEASE,
netbsd-6-1-4-RELEASE,
netbsd-6-1-3-RELEASE
Changes since 1.7: +3 -3
lines
Diff to previous 1.7 (colored) next main 1.8 (colored)
Pull up following revision(s) (requested by joerg in ticket #976): libexec/ld.elf_so/tls.c: revision 1.9 tests/lib/libc/tls/dso/h_tls_dlopen.c: revision 1.5 Only initialise TLS space from the PT_TLS segment, if the size is positive and the offset has been computed. Fixes PR lib/48324.
Revision 1.7.12.1 / (download) - annotate - [select for diffs], Thu Nov 7 20:31:55 2013 UTC (7 years, 2 months ago) by snj
Branch: netbsd-6-0
CVS Tags: netbsd-6-0-6-RELEASE,
netbsd-6-0-5-RELEASE,
netbsd-6-0-4-RELEASE
Changes since 1.7: +3 -3
lines
Diff to previous 1.7 (colored) next main 1.8 (colored)
Pull up following revision(s) (requested by joerg in ticket #976): libexec/ld.elf_so/tls.c: revision 1.9 tests/lib/libc/tls/dso/h_tls_dlopen.c: revision 1.5 Only initialise TLS space from the PT_TLS segment, if the size is positive and the offset has been computed. Fixes PR lib/48324.
Revision 1.7.6.1 / (download) - annotate - [select for diffs], Thu Nov 7 20:23:46 2013 UTC (7 years, 2 months ago) by snj
Branch: netbsd-6
Changes since 1.7: +3 -3
lines
Diff to previous 1.7 (colored)
Pull up following revision(s) (requested by joerg in ticket #976): libexec/ld.elf_so/tls.c: revision 1.9 tests/lib/libc/tls/dso/h_tls_dlopen.c: revision 1.5 Only initialise TLS space from the PT_TLS segment, if the size is positive and the offset has been computed. Fixes PR lib/48324.
Revision 1.9 / (download) - annotate - [select for diffs], Mon Oct 21 19:14:15 2013 UTC (7 years, 2 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base9,
tls-maxphys-base,
tls-earlyentropy-base,
tls-earlyentropy,
riastradh-xf86-video-intel-2-7-1-pre-2-21-15,
riastradh-drm2-base3,
netbsd-7-base
Branch point for: netbsd-7
Changes since 1.8: +3 -3
lines
Diff to previous 1.8 (colored)
Only initialise TLS space from the PT_TLS segment, if the size is positive and the offset has been computed. Fixes PR lib/48324.
Revision 1.8 / (download) - annotate - [select for diffs], Sat Oct 19 10:14:06 2013 UTC (7 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.7: +7 -2
lines
Diff to previous 1.7 (colored)
Add debug code.
Revision 1.7 / (download) - annotate - [select for diffs], Sat Apr 23 16:40:08 2011 UTC (9 years, 8 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-tag8,
yamt-pagecache-base8,
yamt-pagecache-base7,
yamt-pagecache-base6,
yamt-pagecache-base5,
yamt-pagecache-base4,
yamt-pagecache-base3,
yamt-pagecache-base2,
yamt-pagecache-base,
riastradh-drm2-base2,
riastradh-drm2-base1,
riastradh-drm2-base,
riastradh-drm2,
netbsd-6-base,
netbsd-6-1-RELEASE,
netbsd-6-1-RC4,
netbsd-6-1-RC3,
netbsd-6-1-RC2,
netbsd-6-1-RC1,
netbsd-6-1-2-RELEASE,
netbsd-6-1-1-RELEASE,
netbsd-6-0-RELEASE,
netbsd-6-0-RC2,
netbsd-6-0-RC1,
netbsd-6-0-3-RELEASE,
netbsd-6-0-2-RELEASE,
netbsd-6-0-1-RELEASE,
matt-nb6-plus-nbase,
matt-nb6-plus-base,
matt-nb6-plus,
cherry-xenmp-base,
cherry-xenmp,
agc-symver-base,
agc-symver
Branch point for: yamt-pagecache,
tls-maxphys,
netbsd-6-1,
netbsd-6-0,
netbsd-6
Changes since 1.6: +3 -3
lines
Diff to previous 1.6 (colored)
Fix a Freudian slip found by rmind
Revision 1.6 / (download) - annotate - [select for diffs], Thu Apr 7 02:19:28 2011 UTC (9 years, 9 months ago) by matt
Branch: MAIN
Changes since 1.5: +9 -2
lines
Diff to previous 1.5 (colored)
Add a workaround for older crt0.o that overwrite r2 (tcb pointer). (save tcb pointer using _lwp_setprivate in ld.elf_so and retrieve the tcb via _lwp_getprivate in libc and use it to restore the value in r2).
Revision 1.5 / (download) - annotate - [select for diffs], Tue Mar 29 20:56:35 2011 UTC (9 years, 9 months ago) by joerg
Branch: MAIN
Changes since 1.4: +11 -8
lines
Diff to previous 1.4 (colored)
Block signals when using the exclusive lock.
Revision 1.4 / (download) - annotate - [select for diffs], Fri Mar 25 18:07:04 2011 UTC (9 years, 9 months ago) by joerg
Branch: MAIN
Changes since 1.3: +27 -5
lines
Diff to previous 1.3 (colored)
Add basic locking to ld.elf_so.
Revision 1.3 / (download) - annotate - [select for diffs], Sat Mar 12 07:43:53 2011 UTC (9 years, 10 months ago) by matt
Branch: MAIN
Changes since 1.2: +16 -4
lines
Diff to previous 1.2 (colored)
Add TLS support for PowerPC. If the port has __lwp_gettcb_fast or __lwp_settcb use them instead of __lwp_getprivate_fast or lwp_setprivate.
Revision 1.2 / (download) - annotate - [select for diffs], Thu Mar 10 14:27:31 2011 UTC (9 years, 10 months ago) by joerg
Branch: MAIN
Changes since 1.1: +27 -2
lines
Diff to previous 1.1 (colored)
Fix prototype for __tls_get_addr. Add a generic implementation of it using __tls_get_addr. Update TLS notes.
Revision 1.1 / (download) - annotate - [select for diffs], Wed Mar 9 23:10:07 2011 UTC (9 years, 10 months ago) by joerg
Branch: MAIN
Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports _rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions to setup the thread private area of all new threads. ld.elf_so is responsible for setting up the private area for the initial thread. Similar functions are called from _libc_init for static binaries, using dl_iterate_phdr to access the ELF Program Header. Add test cases to exercise the different TLS storage models. Test cases are compiled and installed on all platforms, but are skipped on platforms not marked for TLS support. This material is based upon work partially supported by The NetBSD Foundation under a contract with Joerg Sonnenberger. It is inspired by the TLS support in FreeBSD by Doug Rabson and the clean ups of the DragonFly port of the original FreeBSD modifications.