The NetBSD Project

CVS log for src/lib/libc/tls/tls.c

[BACK] Up to [cvs.NetBSD.org] / src / lib / libc / tls

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.14 / (download) - annotate - [select for diffs], Thu Aug 20 15:54:11 2020 UTC (17 months, 1 week ago) by riastradh
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, HEAD
Changes since 1.13: +4 -2 lines
Diff to previous 1.13 (colored)

mmap MAP_FAILED audit.

Revision 1.13 / (download) - annotate - [select for diffs], Thu Nov 21 23:06:15 2019 UTC (2 years, 2 months ago) by nakayama
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp
Changes since 1.12: +9 -5 lines
Diff to previous 1.12 (colored)

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.12 / (download) - annotate - [select for diffs], Thu Nov 7 22:25:21 2019 UTC (2 years, 2 months ago) by joerg
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.11: +11 -8 lines
Diff to previous 1.11 (colored)

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.

Revision 1.11 / (download) - annotate - [select for diffs], Tue Nov 5 22:22:42 2019 UTC (2 years, 2 months ago) by joerg
Branch: MAIN
Changes since 1.10: +4 -3 lines
Diff to previous 1.10 (colored)

Use alignof and not size_t for platforms with non-natural base
alignments.

Revision 1.10 / (download) - annotate - [select for diffs], Mon Nov 4 12:45:10 2019 UTC (2 years, 2 months ago) by joerg
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored)

PR 54093: Align static TLS area to max_align_t.

Revision 1.9 / (download) - annotate - [select for diffs], Fri Jul 13 19:50:21 2018 UTC (3 years, 6 months ago) by joerg
Branch: MAIN
CVS Tags: phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, netbsd-9-base
Branch point for: netbsd-9
Changes since 1.8: +10 -8 lines
Diff to previous 1.8 (colored)

Determine dynamic binaries by presence of PT_INTERP. Static PIE has
_DYNAMIC.

Revision 1.8 / (download) - annotate - [select for diffs], Sun Dec 14 23:49:17 2014 UTC (7 years, 1 month ago) by chs
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-base, 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, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.7: +2 -11 lines
Diff to previous 1.7 (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 / (download) - annotate - [select for diffs], Mon Aug 19 22:14:37 2013 UTC (8 years, 5 months ago) by matt
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.6: +3 -3 lines
Diff to previous 1.6 (colored)

Put the startup code in .text.startup

Revision 1.6 / (download) - annotate - [select for diffs], Thu Apr 7 02:19:28 2011 UTC (10 years, 9 months ago) by matt
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-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, 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
Changes since 1.5: +13 -3 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], Fri Mar 18 14:56:01 2011 UTC (10 years, 10 months ago) by he
Branch: MAIN
Changes since 1.4: +3 -2 lines
Diff to previous 1.4 (colored)

It would be nice if lint knew that abort() will never return.
For now just insert a /* NOTREACHED */ comment to fix the build failure.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Mar 17 22:13:58 2011 UTC (10 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.3: +13 -4 lines
Diff to previous 1.3 (colored)

Appease the hppa linker.

Revision 1.3 / (download) - annotate - [select for diffs], Sat Mar 12 07:52:37 2011 UTC (10 years, 10 months ago) by matt
Branch: MAIN
Changes since 1.2: +6 -2 lines
Diff to previous 1.2 (colored)

Use __lwp_settcb if available.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Mar 9 23:50:40 2011 UTC (10 years, 10 months ago) by joerg
Branch: MAIN
Changes since 1.1: +5 -5 lines
Diff to previous 1.1 (colored)

Define namespace remap macros before including sys/tls.h.

Revision 1.1 / (download) - annotate - [select for diffs], Wed Mar 9 23:10:06 2011 UTC (10 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.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>