summaryrefslogtreecommitdiffstats
path: root/lib/libc (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* correct documentation for PT_WRITE_I. it may be necessary to flush icache.tedu2016-05-311-4/+5
| | | | after explanation from kettenis
* Move __getcwd from ASM to HIDDEN: we don't want the literal __getcwd symbolguenther2016-05-301-3/+3
| | | | ok millert@ deraadt@
* We no longer have syscalls with multiple return values. Whine aboutguenther2016-05-301-5/+7
| | | | long long alignment instead.
* Consistently reference '_end' instead of 'end' in the brk/sbrk implementationguenther2016-05-3015-33/+28
| | | | ok deraadt@
* The icdb magic number doesn't need to be visible to static linksguenther2016-05-301-2/+2
| | | | ok tedu@
* Stop publicly declaring _yp_dobind() and struct dom_binding, closing outguenther2016-05-303-5/+10
| | | | | | a rant Theo wrote 24 years ago. Mark __ypexclude_{add,is,free}() as hidden "get off my lawn!" deraadt@
* Do setjmp cookies for eip, esp, and ebp. For bonus points, mix howguenther2016-05-303-70/+124
| | | | | | | | the cookies are used in setjmp/_setjmp/sigsetjmp so that mixing calls (e.g., longjmp on a _setjmp buffer) will scramble all three registers and jump you to a random location on a random stack! ok deraadt@
* Do setjmp cookies for gp, sp, and raguenther2016-05-302-26/+58
| | | | | endian testing and ok deraadt@ ok visa@
* _yp_bind(), _ypbindlist, _yp_domain, and _yplib_timeout are no longerguenther2016-05-292-5/+5
| | | | | | exported, so declare them as hidden to avoid pointless GOT relocations ok millert@ deraadt@
* Switch from calling obsolete sig{block,setmask} to directly using theguenther2016-05-292-21/+27
| | | | | | sigprocmask syscall ok kettenis@
* Wrap <machine/sysarch.h> to prevent overriding internal calls, forguenther2016-05-291-0/+25
| | | | | | alpha and mips64 ok millert@
* Remove dead support for changing BDB hash algorithm and cache of alternativesguenther2016-05-294-120/+11
| | | | ok natano@ millert@ deraadt@
* wxabort bits; ok deraadtjmc2016-05-291-2/+7
|
* Only require 4 byte alignment on ILP32 archsguenther2016-05-292-4/+4
|
* Use .balign instead of .align; only need 8 byte alignment not 2^8guenther2016-05-291-2/+2
|
* Prefer AF_* over PF_* and 'address family' over 'protocol family'guenther2016-05-292-13/+13
| | | | ok jung@
* The synopsis rendered very poorly because of a "Quite Ugly buttb2016-05-281-6/+8
| | | | | | | | syntactically correct" roff mess. Follow the mdoc style guide on function pointers to improve this a little. Neglect and remove a comment that advises against trying to fix this. guidance and ok schwarze@
* rcmd(3) and rcmdsh(3) use getaddrinfo(3) not gethostbyname(3).millert2016-05-282-9/+9
|
* Use getaddrinfo() instead of the non-standard gethostbyname2().millert2016-05-281-5/+14
| | | | OK deraadt@ jca@ jung@ florian@
* W^X violations are no longer permitted by default. A kernel log messagederaadt2016-05-273-6/+37
| | | | | | | | | | | | | | | | is generated, and mprotect/mmap return ENOTSUP. If the sysctl(8) flag kern.wxabort is set then a SIGABRT occurs instead, for gdb use or coredump creation. W^X violating programs can be permitted on a ffs/nfs filesystem-basis, using the "wxallowed" mount option. One day far in the future upstream software developers will understand that W^X violations are a tremendously risky practice and that style of programming will be banished outright. Until then, we recommend most users need to use the wxallowed option on their /usr/local filesystem. At least your other filesystems don't permit such programs. ok jca kettenis mlarkin natano
* typo fixes; Anthony Coultersthen2016-05-271-2/+2
|
* The destination string is declared as "s" but referred to as "dst"millert2016-05-261-5/+5
| | | | | in some cases. Be consistent and use "dst" everywhere like for strlcat(3) and strncat(3). From Tim Kuijsten.
* Use S_ISDIR instead of doing it by hand. No binary change.millert2016-05-261-3/+2
|
* fputs(3) now returns a non-negative number (as opposed to 0) on successfulmillert2016-05-261-10/+8
| | | | | completion, just like puts(3). Found the hard way in portable code. OK jmc@
* Calculate elapsed time in poll() and subtract that from the remaining timejmatthew2016-05-261-4/+19
| | | | | | | | | | when restarting poll() after receiving a signal. The ruby runtime send signals to threads periodically, so without accounting for elapsed time, the timeout would never expire if we didn't get a response from a nameserver. ok deraadt@ eric@
* Change the way regexec handles REG_STARTEND combined with REG_NOTBOL.martijn2016-05-262-20/+62
| | | | | | | | | | | | | The new code sees this combination as a continuation of string at offset pmatch[0].rm_so, instead of a new string which starts at that offset. This change fixes a search quirk in vi and is needed for upcoming fixes in ed/sed/vi. This new behaviour is also used in gnu regex. Lots of help from schwarze@ Manpage bits by schwarze@ OK schwarze@ and millert@
* KNF with respect to indentation; no code changeschwarze2016-05-251-28/+27
|
* Fix another one-byte buffer underflow (read access only).schwarze2016-05-251-7/+4
| | | | | | | | | | | | This change touches code that only runs when REG_BASIC is given and the regular expression is anchored with [[:<:]] or \< _and_ uses backreferences. Simplify the logic while here, already looking at the previous character if REG_STARTEND and REG_NOTBOL are both in use, in anticipation of martijn@'s upcoming patch which will further improve REG_STARTEND. OK millert@ martijn@ Also tested by Pedro Giffuni (pfg) on FreeBSD.
* More fixes from miodguenther2016-05-231-4/+4
|
* Include SYS.h instead of DEFS.h now that this does a direct syscallguenther2016-05-231-2/+2
|
* Major bump for the removal of the various locale, ruserok, andguenther2016-05-231-1/+1
| | | | longjmperror symbols
* Add XOR cookies for rp and sp. Switch from calling obsoleteguenther2016-05-231-77/+75
| | | | | | | | sig{block,setmask} to directly using the sigprocmask syscall. Remove longjmperror()-if-passed-real-sigcontext checks and the filling in of sigcontext fields that longjmp ignores. in snaps; ok deraadt@
* Make _fwalk and _cleanup completely internal to libcguenther2016-05-232-6/+3
| | | | ok deraadt@
* Stop supporting longjmperror(); it's not used, not portable, and the checksguenther2016-05-2311-106/+22
| | | | | | | longjmp performs can't really be relied upon, even after we got rid of the false positives... ok millert@ deraadt@
* Remove iruserok(_sa)? and __ivaliduser(sa)?guenther2016-05-234-97/+21
| | | | ok millert@ deraadt@
* Eliminate __check_rhosts_file and __rcmd_errstr: they were only used byguenther2016-05-232-7/+1
| | | | | | rlogind and rshd (remember them?) ok deraadt@
* Stop exposing <sys/localedef.h> and various symbols internal to the libcguenther2016-05-2312-39/+129
| | | | | | | locale implementation: _{Current,Default}*Locale, __[mn]locale_changed, __mb_len_max_runtime ok millert@ schwarze@ deraadt@
* Add XOR cookies for r1 (stack) and lr. Switch from calling obsoleteguenther2016-05-222-108/+209
| | | | | | | | sig{block,setmask} to directly using the sigprocmask syscall. Rewrite sig{set,long}jmp based on {set,long}jmp to avoid the deprecated store/load-multiple instructions. in snaps; ok deraadt@
* Oh right, actually delete this now that __cerror is unusedguenther2016-05-221-61/+0
|
* Delete the _SDA_BASE and _SDA2_BASE symbols: they're unnecessary inguenther2016-05-201-5/+1
| | | | shared libraries...and I misspelled them anyway
* no more v6only;jmc2016-05-191-12/+2
|
* Add ASM_NOERR for syscalls that never fail and thus don't need the errnoguenther2016-05-191-15/+36
| | | | | | | setting logic...which can significantly reduce the size of the stub on some archs; 20 syscalls get a trim with this. in snaps for a bit and ok deraadt@
* Save and restore 'gbr' register when enter/leaving the kernel, and useguenther2016-05-188-110/+35
| | | | | | it for the TCB pointer. Eliminate __cerror. "looks good" kettenis@, testing and ok deraadt@
* Reduce quadruple negation to double negation;schwarze2016-05-181-10/+10
| | | | | | | from Edgar Pettijohn <edgar at pettijohn minus web dot com>. OK jmc@ deraadt@ While here, remove two instances of inconsistent future tense.
* Fix a one-byte buffer underflow (read access only).schwarze2016-05-171-4/+4
| | | | | | | | | | This change touches code that only runs when REG_BASIC is given and the regular expression is anchored with ^ _and_ uses backreferences. The segfault could only be triggered when the ^ anchor was inside a leading () subexpression quantified with *. OK martijn@ Patch also proofread by Pedro Giffuni <pfg at FreeBSD dot org>.
* ...and delete the GP setup. Should have been in previous commitguenther2016-05-161-4/+1
|
* Eliminate cerror: use PAL_rdunique to get the TCB address directlyguenther2016-05-163-59/+12
| | | | ok deraadt@ kettenis@
* Add END() to match ENTRY() macrosguenther2016-05-152-3/+8
| | | | ok kettenis@
* TIB conversion is complete, so set errno in the syscall stub and eliminateguenther2016-05-156-21/+33
| | | | | | __cerror ok ketternis@
* remove extra argument; from rafael nevesjmc2016-05-131-3/+3
|