History log of /openbsd-current/lib/libc/stdio/local.h
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.25 23-May-2016 guenther

Make _fwalk and _cleanup completely internal to libc

ok deraadt@


# 1.24 07-May-2016 guenther

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 tags: OPENBSD_5_9_BASE
# 1.23 25-Oct-2015 guenther

Hide __atexit and __atexit_register_cleanup()
Wrap __cxa_{atexit,finalize}() so the call from exit() goes direct
Switch regress/lib/libc/atexit/ to be built with -static so that it can
still access __atexit*

ok millert@ jca@


# 1.22 04-Oct-2015 guenther

wrap _fwalk() so internal calls are direct (at least until we stop
exporting it)


# 1.21 27-Aug-2015 guenther

Use static and __{BEGIN,ENV}_HIDDEN_DECLS to hide a bunch of internal
symbols that are not longer exported. (This improves the generated code.)

ok deraadt@


Revision tags: OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.20 08-Nov-2011 guenther

Make __svfscanf() the unlocked, core of vfscanf() and use it in
sscanf()/vsscanf() where locking is unnecessary.

ok millert@


# 1.19 16-Oct-2011 stsp

Add wscanf(3) and friends. Based on our scanf(3) implementation, with wide
character support changes based on code from FreeBSD.
ok espie guenther; man page help from schwarze


Revision tags: OPENBSD_5_0_BASE
# 1.18 28-Apr-2011 stsp

Bring back wprintf. We've sorted out what to do for gcc2 and gcc3.
"Yes, go ahead then" deraadt


# 1.17 24-Apr-2011 stsp

Back out wprintf until we've determined what to do for gcc2 and gcc3 arches.


# 1.16 24-Apr-2011 stsp

Add fwprintf, swprintf, vfwprintf, vswprintf, vwprintf, and wprintf to libc.
Based on our vfprintf etc. implementations. Wide character parts based on
NetBSD but with lots of macros expanded. Minor bump for libc.
ok kettenis espie


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.15 09-Nov-2009 kurt

Fix the handle locking in stdio to use flockfile/funlockfile
internally when and where required. Macros in <stdio.h> are updated
to automatically call the underlying functions when the process is
threaded to obtain the necessary locking. A private mutex is added
to protect __sglue, the internal list of FILE handles, and another
to protect the one-time initialization. Some routines in libc that
use getc() change to use getc_unlocked() as they're either protected
by their own lock or aren't thread-safe routines anyway.

committing on behalf of and okay guenther@ now that we have install
media space available.


# 1.14 22-Oct-2009 guenther

Back out previous commit, as it caused too much growth for the install
media to fit


# 1.13 21-Oct-2009 guenther

Fix the handle locking in stdio to use flockfile/funlockfile
internally when and where required. Macros in <stdio.h> are updated
to automatically call the underlying functions when the process is
threaded to obtain the necessary locking. A private mutex is added
to protect __sglue, the internal list of FILE handles, and another
to protect the one-time initialization. Some routines in libc that
use getc() change to use getc_unlocked() as they're either protected
by their own lock or aren't thread-safe routines anyway.

ok kurt@, earlier version tested by sthen@ and jj@


Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.12 10-Oct-2005 espie

fix a few warnings, keep the crypt stuff for later.
okay otto@


Revision tags: OPENBSD_3_8_BASE
# 1.11 17-Jun-2005 espie

next citrus step.

reviewed by millert, otto, kevlo, naddy, kettenis...
libc+libstdc++ bump


# 1.10 30-Apr-2005 espie

Change internals of FILE: reuse the unget buffer field to access an
extended attribute data structure (pimpl idiom). Idea taken from citrus.
Much discussion with deraadt@, otto@, millert@...

This is the least disruptive way to extend FILE, since its size can't really
change without this being a flag day. So the size doesn't change.

Actual additions to the structure will come in separate steps, since this
change is nasty enough on its own.

Tests by otto@ and others, careful reading of code by otto@ and millert@.

This is definitely a major bump, and has been checked to not impact a
full ports build.


# 1.9 31-Mar-2005 pat

make sure the implementation matches the prototype..
char const * -> const char *

ok otto@ deraadt@


# 1.8 30-Mar-2005 pat

ansi + de-register

ok otto deraadt


Revision tags: OPENBSD_3_7_BASE
# 1.7 08-Mar-2005 moritz

fix typo in comment.


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE
# 1.6 02-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.5 14-Sep-2002 dhartmei

Move __cleanup into mprotect'ed page to prevent unintentional modifications
similar to the atexit handlers. Idea and help deraadt@, ok deraadt@


Revision tags: OPENBSD_3_1_BASE
# 1.4 17-Feb-2002 millert

Manual cleanup of remaining userland __P use (excluding packages maintained outside the tree)


# 1.3 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.2 19-Aug-1996 tholo

Fix RCS ids
Make sure everything uses {SYS,}LIBC_SCCS properly


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision