History log of /openbsd/lib/libc/include/namespace.h (Results 1 – 16 of 16)
Revision Date Author Comments
# 5247af0f 29-Oct-2023 millert <millert@openbsd.org>

Enable ISO C11 APIs when building libc, even with an older compiler.
Otherwise, the prototypes for timespec_get() and aligned_alloc()
are not visible. OK guenther@


# fb832af5 25-Nov-2019 guenther <guenther@openbsd.org>

gcc3, like clang and unlike our gcc4, doesn't support redirecting builtins
like mem{set,cpy,move} or __stack_smash_handler using asm() renaming. So
treat gcc3 like clang and mark such functions as p

gcc3, like clang and unlike our gcc4, doesn't support redirecting builtins
like mem{set,cpy,move} or __stack_smash_handler using asm() renaming. So
treat gcc3 like clang and mark such functions as protected instead.

ok ayoma@

show more ...


# 5c7d06e5 02-Jun-2019 guenther <guenther@openbsd.org>

Complete the ld.so boot cleanup: move most libc initialization from
_csu_finish() to _libc_preinit(), which is an .init_array function
in shared libc (and mark it INITFIRST) or a .preinit_array funct

Complete the ld.so boot cleanup: move most libc initialization from
_csu_finish() to _libc_preinit(), which is an .init_array function
in shared libc (and mark it INITFIRST) or a .preinit_array function
in static libc, grabbing the _dl_cb callback there from ld.so. Then
in _csu_finish(), invoke the dl_clean_boot() callback to free ld.so's
startup bits before main() gets control.

Other cleanups this permits:
- move various startup structures into .data.rel.ro
- the dl* stubs in libc can be strong and call the callbacks provided
via _dl_cb
- no longer need to conditionalize dlctl() calls on presence of _DYNAMIC

original concept and full diff ok kettenis@
ok deraadt@

show more ...


# cfc1d11d 13-May-2019 guenther <guenther@openbsd.org>

Move 'how this works' details from namespace.h to DETAILS


# ae3cb403 18-Jan-2018 guenther <guenther@openbsd.org>

Instead of trying to handle ffs() with the normal rename-mark-hidden-and-alias
dance, mark it protected. This works better for both gcc and clang: gcc
blocks overriding of internal calls, while clan

Instead of trying to handle ffs() with the normal rename-mark-hidden-and-alias
dance, mark it protected. This works better for both gcc and clang: gcc
blocks overriding of internal calls, while clang permits inlining again.

ok otto@

show more ...


# ea6088e7 29-Nov-2017 guenther <guenther@openbsd.org>

clang doesn't propagate attributes like "asm labels" and "visibility(hidden)"
to builtins like mem{set,cpy,move} and __stack_smash_handler. So, when
building with clang, instead mark those as protec

clang doesn't propagate attributes like "asm labels" and "visibility(hidden)"
to builtins like mem{set,cpy,move} and __stack_smash_handler. So, when
building with clang, instead mark those as protected visibility to get rid
of the PLT relocations. We can't take the address of them then, but that's
ok: it's a build-time error not a run-time error.

ok kettenis@

show more ...


# fe38b55c 07-May-2016 guenther <guenther@openbsd.org>

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

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@

show more ...


# ff457008 05-Apr-2016 guenther <guenther@openbsd.org>

Update example in comment: setlogin doesn't use {PROTO,DEF}_WRAP() now


# 5aed4d28 23-Oct-2015 guenther <guenther@openbsd.org>

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

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@

show more ...


# 89db3a20 11-Sep-2015 guenther <guenther@openbsd.org>

Wrap blowfish, sha*, md5, and rmd160 so that internal calls go direct

ok deraadt@


# e6f98e3a 10-Sep-2015 guenther <guenther@openbsd.org>

Pull in namespace.h when building all .c files using gcc's -include option,
so that we can provide asm labels for the memcpy/memset/__stack_smash_handler
calls that it generates ab initio. Eliminate

Pull in namespace.h when building all .c files using gcc's -include option,
so that we can provide asm labels for the memcpy/memset/__stack_smash_handler
calls that it generates ab initio. Eliminate direct #includes of it. Make
sure it's a dependency of all objects (unnecessary for asm, but close enough).

ok deraadt@

show more ...


# 3f5ad7fc 06-Sep-2015 guenther <guenther@openbsd.org>

Fix aliasing of sys_errlist, sys_nerr, sys_siglist, and sys_signame
to eliminate duplicate copies of the tables and get direct access internally

ok kettenis@ deraadt@


# e969daf4 05-Sep-2015 guenther <guenther@openbsd.org>

Use new framework for wrapping cat{open,gets,close}(), eliminating
_cat* in the process.

ok kettenis@


# 9b9d2a55 31-Aug-2015 guenther <guenther@openbsd.org>

Add framework for resolving (pun intended) libc namespace issues, using
wrapper .h files and asm labels to let internal calls resolve directly and
not be overridable or use the PLT. Then, apply that

Add framework for resolving (pun intended) libc namespace issues, using
wrapper .h files and asm labels to let internal calls resolve directly and
not be overridable or use the PLT. Then, apply that framework to most of
the functions in stdio.h, string.h, err.h, and wchar.h. Delete the
should-have-been-hidden-all-along _v?(err|warn)[cx]? symbols while here.

tests clean on i386, amd64, sparc64, powerpc, and mips64

naming feedback from kettenis@ and millert@
ok kettenis@

show more ...


# e9b2b68c 19-Aug-1996 tholo <tholo@openbsd.org>

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


# df930be7 18-Oct-1995 deraadt <deraadt@openbsd.org>

initial import of NetBSD tree