OpenBSD CVS

CVS log for src/lib/librthread/shlib_version


[BACK] Up to [local] / src / lib / librthread

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.34 / (download) - annotate - [select for diffs], Sun Aug 20 15:17:53 2023 UTC (9 months, 3 weeks ago) by visa
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, HEAD
Changes since 1.33: +1 -1 lines
Diff to previous 1.33 (colored)

Add syscall stub for kqueue1(2)

This rides previous libc minor bump.

Feedback and OK guenther@

Revision 1.33 / (download) - annotate - [select for diffs], Sun Feb 12 17:41:46 2023 UTC (15 months, 3 weeks ago) by tb
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

bump major after syscall removal

Revision 1.32 / (download) - annotate - [select for diffs], Sat Jan 7 05:24:58 2023 UTC (17 months ago) by guenther
Branch: MAIN
Changes since 1.31: +1 -1 lines
Diff to previous 1.31 (colored)

Add {get,set}thrname(2) for putting thread names in the kernel and
exposed in a new field returned by sysctl(KERN_PROC).  Update
pthread_{get,set}_name_np(3) to use the syscalls.  Show them, when
set, in ps -H and top -H output.

libc and libpthread minor bumps

ok mpi@, mvs@, deraadt@

Revision 1.31 / (download) - annotate - [select for diffs], Wed Oct 26 23:16:24 2022 UTC (19 months, 2 weeks ago) by kettenis
Branch: MAIN
Changes since 1.30: +1 -1 lines
Diff to previous 1.30 (colored)

Add waitid(2) syscall stub.

Minor bump to both libc and libpthread: make sure you install a new kernel!

ok millert@, deraadt@

Revision 1.30 / (download) - annotate - [select for diffs], Fri Sep 9 13:53:00 2022 UTC (21 months ago) by mbuhl
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2
Changes since 1.29: +1 -1 lines
Diff to previous 1.29 (colored)

Add libc wrappers for the new sendmmsg and recvmmsg system calls.
Feedback tb@, miod@, jca@
OK jca@

Revision 1.29 / (download) - annotate - [select for diffs], Mon Feb 4 17:18:08 2019 UTC (5 years, 4 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.28: +1 -1 lines
Diff to previous 1.28 (colored)

add a pthread_get_name_np to match pthread_set_name_np.
could be useful in ports.
initial diff by David Carlier some time ago.
ok jca

Revision 1.28 / (download) - annotate - [select for diffs], Fri Jan 11 18:46:30 2019 UTC (5 years, 5 months ago) by deraadt
Branch: MAIN
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored)

mincore() is a relic from the past, exposing physical machine information
about shared resources which no program should see.  only a few pieces of
software use it, generally poorly thought out.  they are being fixed, so
mincore() can be deleted.
ok guenther tedu jca sthen, others

Revision 1.27 / (download) - annotate - [select for diffs], Sat Nov 4 22:53:57 2017 UTC (6 years, 7 months ago) by jca
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3
Changes since 1.26: +1 -1 lines
Diff to previous 1.26 (colored)

Revert recent changes to unbreak ports/net/samba

While it is not clear (to me) why that ports ends up with corrupted
shared libs, reverting those changes fixes the issue and should allow us
to close p2k17 more smoothly.

Discussed with a bunch, ok ajacoutot@ guenther@

Revision 1.26 / (download) - annotate - [select for diffs], Sat Oct 28 21:23:14 2017 UTC (6 years, 7 months ago) by guenther
Branch: MAIN
Changes since 1.25: +1 -1 lines
Diff to previous 1.25 (colored)

Change pthread_cleanup_{push,pop} to macros that store the cleanup info
on the stack instead of mallocing the list and move the APIs from libpthread
to libc so that they can be used inside libc.

Note: the standard was explicitly written to permit/support this
"macro with unmatched brace" style and it's what basically everyone
else already does.  We xor the info with random cookies with a
random magic to detect/trip-up overwrites.

Major bump to both libc and libpthread due to the API move.

ok mpi@

Revision 1.25 / (download) - annotate - [select for diffs], Tue Sep 5 02:40:54 2017 UTC (6 years, 9 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_2_BASE, OPENBSD_6_2
Changes since 1.24: +1 -1 lines
Diff to previous 1.24 (colored)

Move mutex, condvar, and thread-specific data routes, pthread_once, and
pthread_exit from libpthread to libc, along with low-level bits to
support them.  Major bump to both libc and libpthread.

Requested by libressl team.  Ports testing by naddy@
ok kettenis@

Revision 1.24 / (download) - annotate - [select for diffs], Thu Sep 1 10:41:31 2016 UTC (7 years, 9 months ago) by otto
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.23: +1 -1 lines
Diff to previous 1.23 (colored)

bump

Revision 1.23 / (download) - annotate - [select for diffs], Sat May 7 19:05:22 2016 UTC (8 years, 1 month ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.22: +1 -1 lines
Diff to previous 1.22 (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.22 / (download) - annotate - [select for diffs], Mon Mar 21 22:41:28 2016 UTC (8 years, 2 months ago) by bluhm
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)

Rename the system call sendsyslog2 to sendsyslog.  Keep the old one
as osendsyslog for a while.  The three argument variant is the only
one that will stay.
input kettenis@;  OK deraadt@

Revision 1.21 / (download) - annotate - [select for diffs], Tue Nov 10 04:30:59 2015 UTC (8 years, 7 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.20: +1 -1 lines
Diff to previous 1.20 (colored)

Split the intra-thread functionality from kill(2) into its own syscall
thrkill(2), rolling the kill(2) syscall number with the ABI change to
avoid breaking binaries during during the transition.  thrkill(2) includes
a 'tcb' argument that eliminates the need for locking in pthread_kill()
and simplifies pthread_cancel().  Switch __stack_smash_handler() to use
thrkill(2) and explicitly unblock SIGABRT.

Minor bump to both libc and libpthread: make sure you install a new kernel!

ok semarie@

Revision 1.20 / (download) - annotate - [select for diffs], Fri Oct 23 04:39:24 2015 UTC (8 years, 7 months ago) by guenther
Branch: MAIN
Changes since 1.19: +1 -1 lines
Diff to previous 1.19 (colored)

Merge the sigaction() and sigprocmask() overloads/wrappers from libpthread
into libc, and move pthread_sigmask() as well (just a trivial wrapper).
This provides consistent handling of SIGTHR between single- and multi-threaded
programs and is a step in the merge of all the libpthread overloads, providing
some ASM and Makefile bits that the other wrappers will need.

ok deraadt@ millert@

Revision 1.19 / (download) - annotate - [select for diffs], Tue Apr 7 01:27:07 2015 UTC (9 years, 2 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)

Make pthread_atfork() track the DSO that called it like atexit() does,
unregistering callbacks if the DSO is unloaded.  Move the callback
handling from libpthread to libc, though libpthread still overrides the
inner call to handle locking and thread-library reinitialization.
Major version bump for both libc and libpthread.

verification that this fixes various ports ajacoutot@
asm assistance miod@; ok millert@ deraadt@

Revision 1.18 / (download) - annotate - [select for diffs], Sun Aug 31 20:23:10 2014 UTC (9 years, 9 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.17: +1 -1 lines
Diff to previous 1.17 (colored)

accept4() should be a cancellation point.
Update the list in the pthread_testcancel(3) manpage: several were missing.

noted by miod@

Revision 1.17 / (download) - annotate - [select for diffs], Tue Aug 13 05:52:15 2013 UTC (10 years, 10 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6, OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

Switch time_t, ino_t, clock_t, and struct kevent's ident and data
members to 64bit types.  Assign new syscall numbers for (almost
all) the syscalls that involve the affected types, including anything
with time_t, timeval, itimerval, timespec, rusage, dirent, stat,
or kevent arguments.  Add a d_off member to struct dirent and replace
getdirentries() with getdents(), thus immensely simplifying and
accelerating telldir/seekdir.  Build perl with -DBIG_TIME.

Bump the major on every single base library: the compat bits included
here are only good enough to make the transition; the T32 compat
option will be burned as soon as we've reached the new world are
are happy with the snapshots for all architectures.

DANGER: ABI incompatibility.  Updating to this kernel requires extra
work or you won't be able to login: install a snapshot instead.

Much assistance in fixing userland issues from deraadt@ and tedu@
and build assistance from todd@ and otto@

Revision 1.16 / (download) - annotate - [select for diffs], Mon Jun 17 19:11:54 2013 UTC (10 years, 11 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4
Changes since 1.15: +1 -1 lines
Diff to previous 1.15 (colored)

Add support for the _POSIX_CPUTIME and _POSIX_THREAD_CPUTIME options,
including CLOCK_{PROCESS,THREAD}_CPUTIME_ID constants and
{clock,pthread}_getcpuclockid() functions.

Worked out at t2k13 with help from tedu@ and matthew@ and testing by aja@
ok matthew@

Revision 1.15 / (download) - annotate - [select for diffs], Sat Jun 1 09:49:53 2013 UTC (11 years ago) by miod
Branch: MAIN
Changes since 1.14: +1 -1 lines
Diff to previous 1.14 (colored)

Add utrace(2), a system call allowing for userland to send its own ktrace
records. From FreeBSD via otto@, with tweaks suggested by guenther@.
Commite on behalf of otto@ who is not around, to ride the libc minor bump.
Causes a librthread minor bump as well (new syscall).

Revision 1.14 / (download) - annotate - [select for diffs], Mon Apr 29 17:06:20 2013 UTC (11 years, 1 month ago) by matthew
Branch: MAIN
Changes since 1.13: +1 -1 lines
Diff to previous 1.13 (colored)

Extend P_SIGSUSPEND handling in userret() to properly restore the
sigmask even if there are no pending signals under the temporary
sigmask.

Refactor existing select() and poll() system calls to introduce the
pselect() and ppoll() system calls.

Add rthread wrappers for pselect() and ppoll().  While there, update
cancellation point comments to reflect recent fdatasync() addition.

Minor bumps for libc and librthread due to new symbols.

ok guenther, millert, deraadt, jmc

Revision 1.13 / (download) - annotate - [select for diffs], Wed Aug 15 18:08:22 2012 UTC (11 years, 9 months ago) by matthew
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE, OPENBSD_5_3
Changes since 1.12: +1 -1 lines
Diff to previous 1.12 (colored)

A couple small but long anticipated changes:

  - Link libpthread.so with -znodlopen.  Because libpthread overrides
    the weak symbols in libc, we can't allow it to be dynamically
    loaded or else libc's weak symbols might have already been
    resolved by ld.so.  (Also, major bump because this is technically
    a backwards incompat change in behavior, although dlopen()ing
    libpthread never really worked.)

  - Link libc.so with -nodefaultlibs -lgcc.  This ensures that libc
    doesn't try to link against itself (which ld.so wouldn't like).

  - Change GCC 4 to link shared objects with -lpthread and -lc as
    appropriate, now that there's no issues with doing so.  This means
    that it's no longer necessary to patch software to use -pthread
    instead of -lpthread.  (Ports tree rejoice!)

Also, to preemptively answer this question: No, this does not
eliminate the need for LD_PRELOAD=libpthread.so.  That's a separate
issue that won't be resolved until we eliminate libc's weak symbols.

Discussed extensively on email and icb over the past few months.
ok deraadt

Revision 1.12 / (download) - annotate - [select for diffs], Thu Jun 21 00:56:59 2012 UTC (11 years, 11 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_2_BASE, OPENBSD_5_2
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

__tfork() needs to set the stack address of the new thread in the kernel,
so that it can't get a signal while still running on the parent thread's
stack.  Also, pass in sizeof(struct __tfork) to provide forward compat
when more members are added.  This is an ABI change, so switch syscall
numbers and bump lib majors this time.

ok deraadt@ matthew@

Revision 1.11 / (download) - annotate - [select for diffs], Thu May 3 09:07:17 2012 UTC (12 years, 1 month ago) by pirofti
Branch: MAIN
Changes since 1.10: +1 -1 lines
Diff to previous 1.10 (colored)

Add pthread spinlock support.

Implementation, documentation and naive regression tests for:
- pthread_spin_init()
- pthread_spin_destroy()
- pthread_spin_lock()
- pthread_spin_trylock()
- pthread_spin_unlock()

Implementation okay guenther@, documentation okay jmc@.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Apr 11 10:37:26 2012 UTC (12 years, 2 months ago) by pirofti
Branch: MAIN
Changes since 1.9: +1 -1 lines
Diff to previous 1.9 (colored)

Minor bump after my previous commit. Noticed by deraadt@.

Revision 1.9 / (download) - annotate - [select for diffs], Thu Mar 22 05:03:14 2012 UTC (12 years, 2 months ago) by guenther
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

bump majors on libc and rthreads for the additions to libc and transfer
of __tfork_thread from rthreads to libc

Revision 1.8 / (download) - annotate - [select for diffs], Sat Mar 3 11:27:10 2012 UTC (12 years, 3 months ago) by guenther
Branch: MAIN
Changes since 1.7: +1 -1 lines
Diff to previous 1.7 (colored)

Bump minor for recent additions

Revision 1.7 / (download) - annotate - [select for diffs], Wed Feb 15 06:48:10 2012 UTC (12 years, 3 months ago) by guenther
Branch: MAIN
Changes since 1.6: +1 -1 lines
Diff to previous 1.6 (colored)

Bump major to be current libpthread major +1, so we can switch over cleanly.
If we have to revert to user-space threads, we'll do another major bump of
libpthread going back

Revision 1.6 / (download) - annotate - [select for diffs], Tue Jan 17 02:34:18 2012 UTC (12 years, 4 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_1_BASE, OPENBSD_5_1
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

Reimplement mutexes, condvars, and rwlocks to eliminate bugs,
particularly the "consume the signal you just sent" hang, and putting
the wait queues in userspace.

Do cancellation handling in pthread_cond_*wait(), pthread_join(),
and sem_wait().

Add __ prefix to thr{sleep,wakeup,exit,sigdivert}() syscalls; add
'abort" argument to thrsleep to close cancellation race; make
thr{sleep,wakeup} return errno values via *retval to avoid touching
userspace errno.

Revision 1.5 / (download) - annotate - [select for diffs], Mon Apr 12 03:38:20 2010 UTC (14 years, 2 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_0_BASE, OPENBSD_5_0, OPENBSD_4_9_BASE, OPENBSD_4_9, OPENBSD_4_8_BASE, OPENBSD_4_8
Changes since 1.4: +1 -1 lines
Diff to previous 1.4 (colored)

New functions: bump the minor

Revision 1.4 / (download) - annotate - [select for diffs], Sat Nov 28 00:17:57 2009 UTC (14 years, 6 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.3: +1 -1 lines
Diff to previous 1.3 (colored)

This might not be necessary, but Just In Case: since the underlying
syscall ABI has changed and everything is going to need to be relinked
anyway, bump the rthread major

Revision 1.3 / (download) - annotate - [select for diffs], Tue Oct 27 20:34:37 2009 UTC (14 years, 7 months ago) by jasper
Branch: MAIN
Changes since 1.2: +1 -1 lines
Diff to previous 1.2 (colored)

- bump the majors of libpthread and librthread, as they used to return an
aliased ENOTSUP. i should've done this earlier, but missed it. my bad.

as discussed with deraadt@ guenther@

Revision 1.2 / (download) - annotate - [select for diffs], Fri Jun 13 21:18:43 2008 UTC (16 years ago) by otto
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
Changes since 1.1: +1 -1 lines
Diff to previous 1.1 (colored)

remove _MALLOC_LOCK_INIT; major bump; ok deraadt@

Revision 1.1 / (download) - annotate - [select for diffs], Tue Dec 6 06:05:45 2005 UTC (18 years, 6 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_4_3_BASE, OPENBSD_4_3, OPENBSD_4_2_BASE, OPENBSD_4_2, OPENBSD_4_1_BASE, OPENBSD_4_1, OPENBSD_4_0_BASE, OPENBSD_4_0, OPENBSD_3_9_BASE, OPENBSD_3_9

can't build shared lib without shlib_version
Maxim Bourmistrov noticed.

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.