summaryrefslogtreecommitdiff
path: root/lib/libc/hidden
AgeCommit message (Collapse)Author
2016-09-26sigsetmask() and sigblock() are no longer used by any setjmp implementationPhilip Guenther
so the internal hidden names are unused; switch to PROTO_DEPRECATED() and drop the DEF_WEAK()s
2016-09-12Don't declare select() in <unistd.h>Philip Guenther
ok deraadt@ millert@
2016-09-06Make sure attributes are applied to function declarations before they'rePhilip Guenther
used or defined, as clang isn't as forgiving as gcc. Also, declare __flt_rounds() so that libc can build it despire clang providing its own <float.h> ok stefan@ kettenis@
2016-09-03Add functions for SHA512/256. The standard says you're supposed to startTed Unangst
with different magic numbers, so we need to add some functions instead of just asking the user to truncate as desired. Sigh. SHA512 is quite a bit faster than SHA256 on 64 bit CPUs, but 256 bit hashes are usually quite sufficient. Best of both. ok deraadt tom
2016-08-14Reduce qabs() and qdiv() to aliases of llabs() and lldiv().Philip Guenther
Merge the manual pages and call them deprecated there. ok and manpage tweak jmc@, ok natano@
2016-07-26Wrap fpgetround() so internal calls to it (seen on arm, powerpc, and sh)Philip Guenther
go direct instead of through the PLT. ok millert@ kettenis@
2016-05-30Stop publicly declaring _yp_dobind() and struct dom_binding, closing outPhilip Guenther
a rant Theo wrote 24 years ago. Mark __ypexclude_{add,is,free}() as hidden "get off my lawn!" deraadt@
2016-05-29Wrap <machine/sysarch.h> to prevent overriding internal calls, forPhilip Guenther
alpha and mips64 ok millert@
2016-05-29Remove dead support for changing BDB hash algorithm and cache of alternativesPhilip Guenther
ok natano@ millert@ deraadt@
2016-05-23Remove iruserok(_sa)? and __ivaliduser(sa)?Philip Guenther
ok millert@ deraadt@
2016-05-09Remove sigreturn declaration and the now-unused libc syscall stubPhilip Guenther
2016-05-07remove ancient dbm functions (ndbm remains). nothing uses them in forever.Ted Unangst
2016-05-07Use a Thread Information Block in both single and multi-threaded programs.Philip Guenther
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@
2016-03-30Turd polish: use HIDDEN= instead of PSEUDO= for ptrace syscall stub, toPhilip Guenther
make its underlying symbol name look like others.
2016-03-30Eliminate userspace caching by getlogin_r/setlogin; make the getloginPhilip Guenther
syscall behave exactly like userspace getlogin_r() and rename it to match. Eliminate the reduced-to-no-op wrappers of the syscalls. Eliminate the unnecessary per-thread static buffering by getlogin(). ok kettenis@ deraadt@
2016-03-21Rename the system call sendsyslog2 to sendsyslog. Keep the old oneAlexander Bluhm
as osendsyslog for a while. The three argument variant is the only one that will stay. input kettenis@; OK deraadt@
2016-03-20Rearrange C runtime bits: now that ld.so exports environ and __progname,Philip Guenther
move their definitions and initialization in static links to libc.a Make crt0 always invoke a new func _csu_finish() in libc to process the auxv and to either register the ld.so cleanup function (in dynamic links) or initialize environ and __progname and do MC_DISABLE_KBIND (in static links). In libc, get pagesize from auxv; cache that between getpagesize() and sysconf(_SC_PAGESIZE) ok mpi@ "good time" deraadt@
2016-03-13environ and __progname are not declared in a public header; declare themPhilip Guenther
in libc's hidden/stdlib.h instead of in each .c file that needs one ok deraadt@ gsoares@ mpi@
2015-11-25Wrap <icdb.h> so that calls go direct and the symbols are all weakPhilip Guenther
ok tedu@
2015-11-25Add a syscall stub for sendsyslog2(2), and use it in syslog_r(3), passingTheo de Raadt
LOG_CONS to the kernel. As a result, the /dev/console opening code can be removed. ok kettenis millert beck
2015-11-24Use reentrant versions of getpw{nam,uid} and getgr{nam,gid} withinTodd C. Miller
libc to avoid reusing the static buffers returned by the non-reentrant versions. Since this is inside libc we can use constants for the buffer sizes instead of having to call sysconf(). OK guenther@ deraadt@
2015-11-18Add _shadow variants to the two popular getpw functions (uid and nam).Ted Unangst
This version of the function will always open the secure/shadow/master password files. Soon, the regular variants of these functions will not. (Intermixing shadow and regular gets a little weird; don't do that.) Not using struct spwd and getspwnam functions to reduce churn in callers. Should just be a one line diff in most places. ok deraadt
2015-11-10Split the intra-thread functionality from kill(2) into its own syscallPhilip Guenther
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@
2015-11-10libc.so can't be unloaded, so move the hidden atexit() and pthread_atfork()Philip Guenther
stubs for the executable from crtbegin.o into libc, which lets them be excluded from static links that don't use them. For this, drop the normal crt{begin,end}S.o from libc.so: the .init and .fini sections for libc aren't called at the right times anyway, so it's good that they're unused. libc.so just needs __guard_local and the .note.openbsd.ident section, so add them to stack_protector.c for now (this will be improved) "good time" deraadt@
2015-10-31Do not include a timestamp in the syslog message. There is no need --Theo de Raadt
syslogd will fill it in immediately upon reception on the other side of sendsyslog(2). Our libc only talks to our syslogd, which will fix the timestamp before forwarding. syslog_r has done this for a long time already. ok tedu bluhm
2015-10-27Wrap the remaining math functions in libc: __fpclassify*(), __flt_rounds(),Philip Guenther
and ldexp(). ok millert@
2015-10-25Wrap waitpid() so calls go direct; weaken wait() and wait3().Philip Guenther
Strip out unnecessary #includes and use NULL instead of (struct rusage *)0
2015-10-25Hide __atexit and __atexit_register_cleanup()Philip Guenther
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@
2015-10-25Use sigaction() instead of signal() to avoid pulling in unnecessaryPhilip Guenther
wrappers. To keep uses from crawling back in, mark signal() as deprecated inside libc. ok deraadt@
2015-10-23Switch if_nameindex(3) to use the new NET_RT_IFNAMES sysctl to get theClaudio Jeker
list of interface names. At the same time switch if_nametoindex(3) and if_indextoname(3) to use if_nameindex(3) instead of getifaddrs(3). if_nameindex(3) exposes much less then getifaddrs(3) and is allowed by pledge(2). With and OK deraadt@
2015-10-23Merge the sigaction() and sigprocmask() overloads/wrappers from libpthreadPhilip Guenther
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@
2015-10-23Remove dnssocket() and dnsconnect(), since we decided to use a SOCK_DNSTheo de Raadt
flag instead. ok guenther tedu semarie
2015-10-18better placement for dnssocket/dnsconnectTheo de Raadt
2015-10-18create libc stubs for dnssocket() and dnsconnect()Theo de Raadt
2015-10-17Move the last of the __DBINTERFACE_PRIVATE bits from <db.h> to libc's wrapperPhilip Guenther
and eliminate the now superfluous -D option ok kettenis@ millert@
2015-10-17PROTO_NORMAL for pledge(); ok guentherTheo de Raadt
2015-10-05Wrap <resolv.h> so that internal calls go directPhilip Guenther
ok millert@
2015-10-04Wrap <search.h> to make all the symbols there weakPhilip Guenther
2015-10-04Wrap <spawn.h> to make all the symbols there weakPhilip Guenther
2015-10-04recv() and send() aren't overriden by libpthread (vs recvfrom() and sendto()!)Philip Guenther
so wrap them to make internal calls go direct
2015-10-04getpeereid() and sockatmark() are neither used in libc nor in ISO C, so markPhilip Guenther
them deprecated and weak
2015-09-19Don't wrap initialized variables: binutils appears to be mishandling themPhilip Guenther
on arm and m88k problems with optind observed by jsg@
2015-09-14Wrap <langinfo.h> and <regexp.h> so internal calls go direct andPhilip Guenther
the symbols are weak
2015-09-14Wrap <locale.h> so internal calls go directPhilip Guenther
2015-09-14Wrap <sys/sem.h> so internal calls go direct and all the symbols are weakPhilip Guenther
2015-09-14Wrap <asr.h> so internal calls go direct and all the symbols are weakPhilip Guenther
2015-09-14Wrap <ifaddrs.h>, <netinet/in.h>, and <netinet/if_ether.h> so internalPhilip Guenther
calls go direct and all the symbols are weak
2015-09-14Wrap <net/if.h> and <net/if_dl.h> so internal calls go direct and all thePhilip Guenther
symbols are weak
2015-09-14Wrap <readpassphrase.h> so internal calls go direct and readpassphrase is weakPhilip Guenther
2015-09-14Wrap <netgroup.h> so internal calls go direct and the symbols are all weakPhilip Guenther