summaryrefslogtreecommitdiffstats
path: root/lib/libc
Commit message (Collapse)AuthorAgeFilesLines
* Convert the i386 alloca(3) to the x86-64 ISA.obrien2003-05-011-0/+53
| | | | Alignment hack from: NetBSD
* Add __amd64__ to the list of things that use IEEEFPpeter2003-04-301-1/+1
|
* Tell malloc.c that AMD64 uses the same pagesize as i386.peter2003-04-301-0/+4
|
* Add __amd64__ to the list of things that use HIDENAME() to hide minbrkpeter2003-04-301-1/+1
|
* Delete i386_* syscall wrappers and manpages. Rename Ovfork.S to vfork.S.peter2003-04-301-12/+2
|
* Update for AMD64 after repocopy from i386/sys/*. This means:peter2003-04-306-105/+35
| | | | | | | - strip out the nasty PIC_PROLOGUE/EPILOGUE stuff, since we dont have to lose a register in PIC mode anymore (we use %rip-relative addressing). - update for C register argument passing conventions. - convert 32 bit to 64 bit register sizes etc.
* I have no idea why the reboot(2) syscall wrapper ends with iret, butpeter2003-04-301-1/+1
| | | | update it to be iretq for completeness.
* Update for AMD64. Depend on %rdi (first syscall argument) being preservedpeter2003-04-301-4/+3
| | | | across a "syscall"-style syscall
* Update for AMD64 (repocopied from i386/sys/Ovfork.S - why is it O?)peter2003-04-301-5/+4
| | | | | Depend on %rsi being preserved across the "syscall"-style syscall and strip out the PIC stuff (this cpu has full PC-relative addressing, at last!)
* Update for AMD64 contexts. Note that this still has some x87-style FPUpeter2003-04-303-105/+112
| | | | | instructions here, these may need to be updated for SSE. (Repocopied from i386/gen)
* Reduce the SRCS to what compilespeter2003-04-301-3/+3
|
* Update for AMD64 (repocopied from i386/net). We can depend on havingpeter2003-04-304-10/+6
| | | | | the bswap instruction (yay!). Update for register parameter passing instead of i386 style stack based param passing.
* Update for AMD64-style syscalls. Repocopied from i386/SYS.h.peter2003-04-301-7/+4
| | | | | | | | | | Note that the syscall instruction clobbers %rcx, which is inconvenient because it is the fourth syscall argument, so we use %r10 (another scratch register) for the 4th syscall arg instead (I picked %r10 to be the same as NetBSD). int 0x80 is still possible though, and it uses %rcx as usual. Note that the syscall style syscall does *NOT* preserve all the registers, unlike int 0x80. We do not preserve the scratch registers except for %rdi and %rsi. int 0x80 does preserve everything but the return values.
* Floating point libc functions traditionally written in ASM.obrien2003-04-302-0/+113
| | | | | | | AMD64 does away with the x87 in 64-bit long mode, so we have to play the SSE/SSE2 game now. Obtained from: NetBSD/x86-64
* Backout my changes in rev. 1.32 and 1.33. There is some code that dependsmtm2003-04-301-4/+2
| | | | | | | on the previous behaviour. This also brings strptime(3) behaviour back in line with the other BSDs. Approved by: markm (mentor)
* `Hide' strlcpy and strlcat (using the namespace.h / __weak_referencenectar2003-04-2920-51/+71
| | | | | | | technique) so that we don't wind up calling into an application's version if the application defines them. Inspired by: qpopper's interfering and buggy version of strlcpy
* Document VM86_INTCALL.mdodd2003-04-291-4/+35
| | | | Submitted by: Bruce M Simpson
* Replace the return value of rfork_thread(3) in its manual pagerobert2003-04-271-1/+1
| | | | | function prototype with `pid_t' to match the declaration in <unistd.h>.
* Correct the return value of vfork(2) and rfork(2) in theirrobert2003-04-272-2/+2
| | | | manual page function prototypes.
* Add some strategic whitespace.rwatson2003-04-261-0/+1
|
* When using `compat' mode, be sure to re-dispatch setpwent, endpwent,nectar2003-04-252-0/+58
| | | | | | | | | | setgrent, and endgrent also. (The previous NSS implementation used to simply twiddle the internal data of the various modules directly.) A symptom (group list set incorrectly in sshd) was Reported by: Glenn Johnson <gjohnson@srrc.ars.usda.gov> Sponsored by: DARPA, Network Associates Laboratories
* In compat mode, we `redispatch' the lookup. It is probably a goodnectar2003-04-241-0/+1
| | | | | | | | idea to re-initialize `struct passwd', because e.g. pw_class might get set by one module, but not by another. Add another call to the internal pwd_init function to accomplish this. Sponsored by: DARPA, Network Associates Laboratories
* Catch up with nsdispatch.c: nsdispatch(3) is now `hidden' bynectar2003-04-241-1/+3
| | | | | | namespace.h. Sponsored by: DARPA, Network Associates Laboratories
* Don't complain about missing NSS methods when built statically. It isnectar2003-04-241-1/+3
| | | | | | annoying and not very useful. Sponsored by: DARPA, Network Associates Laboratories
* Catch up with nsdispatch.c: nsdispatch(3) is now `hidden' bynectar2003-04-242-4/+8
| | | | | | namespace.h. Sponsored by: DARPA, Network Associates Laboratories
* Catch up with nsdispatch.c: nsdispatch(3) is now `hidden' bynectar2003-04-242-3/+3
| | | | | | namespace.h. Sponsored by: DARPA, Network Associates Laboratories
* ``Strong typing is a crutch for people with weak memories.''nectar2003-04-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | Correct a bug that should have wreaked havoc everywhere, but for some reason only bit unlucky people who use `-march' optimizations. The compiler cannot assist one in distinguishing between the two function calls below. int nsdispatch(void *, ...); void *discard; nsdispatch(&discard, ...); /* correct .. no, really! */ nsdispatch(discard, ...); /* Boom */ Robin provided me with a debugging environment in which I could see what was going on. Badness when using CPUTYPE was Reported by: "Robin P. Blanchard" <Robin.Blanchard@gactr.uga.edu> Reported by: nork Sponsored by: DARPA, Network Associates Laboratories
* Correct a bug that was somehow both obvious and hard-to-see. :-)nectar2003-04-211-1/+1
| | | | | | | | | | | | An incorrectly-sized allocation was being made due to an incorrect argument to the `sizeof' operator. Obvious, because it violated the `foo = malloc(sizeof(*foo))' idiom. Hard-to-see, because it was a missing `*' (`*p' versus `**p'). Resulting failure was Reported by: ache Sponsored by: DARPA, Network Associates Laboratories
* Don't try to access the NIS `master' maps unless we have superusernectar2003-04-211-7/+9
| | | | | | | | privileges. To do so may cause the NIS server to log spurious and annoying `access denied' messages. Reported by: Philip Paeps <philip@paeps.cx> Sponsored by: DARPA, Network Associates Laboratories
* Add FILES section to mac.3 and mac.conf.5. Properly Xref mac.conf.5rwatson2003-04-203-1/+22
| | | | | | | from mac.3; likewise, mac.conf.5 from mac_prepare.3. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Add a man page for the mac.conf MAC library configuration file.rwatson2003-04-202-0/+105
| | | | | Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Add the mac_prepare{,_*}() functions to the high-level function listrwatson2003-04-201-0/+11
| | | | | | | | in the mac.3 library man page. They were already cross-referenced at the end of the man page, just not explicitly listed here. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Repair a bug in which a faulty group entry (one with only 2 colons)nectar2003-04-201-8/+6
| | | | | | | | would result in an incorrectly terminated grouplist. login(1) crashes Reported by: Morten Rodal <morten@rodal.no>, Matthias Schuendehuette <msch@snafu.de>
* %E-like %g and %G conversions should remove trailing zeroes unlessdas2003-04-192-0/+14
| | | | | | | | the # flag is present. Implement this behavior and add a comment describing it. Noticed by: Enache Adrian <enache@rdslink.ro> Pointy hat to: das
* Follow-up to revision 1.74: Using the result buffer to store our emptynectar2003-04-181-22/+16
| | | | | | | string was an incredibly dumb idea (of course it will be changed by an NSS module on success!). Use a static empty string instead. Sponsored by: DARPA, Network Associates Laboratories
* Follow-up to revision 1.73: set _PWF_FILES when `compat' source is usednectar2003-04-181-4/+13
| | | | | | | but user is found in local file. Reported by: Shizuka Kudo <shizukakudo_99@yahoo.com> Sponsored by: DARPA, Network Associates Laboratories
* Don't use `memset' to initialize a struct passwd. A modulenectar2003-04-181-6/+31
| | | | | | | | | | | | | | | | may not fill in all fields, and in the case of string fields, this could cause trouble for applications. (The only likely example is `pw_class', because this field is not used by all modules in all cases.) Move initialization of struct passwd from module-specific code to the dispatch code. The problem of a NULL pw_class was Noticed by: Philip Paeps <philip@paeps.cx> and the c^Htrusty ssh(1) command. Déjà vu by: getpwent.c revision 1.56 Sponsored by: DARPA, Network Associates Laboratories
* Correctly set _PWF_FILES in pw_fields when appropriate.nectar2003-04-181-2/+6
| | | | | | | (_PWF_NIS and _PWF_HESIOD were already being set.) Reported by: Shizuka Kudo <shizukakudo_99@yahoo.com> Sponsored by: DARPA, Network Associates Laboratories
* Revert the definitions of _PW_KEY* to their previous values. There isnectar2003-04-181-2/+2
| | | | | | | | | | at least one consumer outside of libc and pwd_mkdb. Adjust the versioning in libc and pwd_mkdb accordingly. named was the application affected, and that fact was first Reported by: Zherdev Anatoly <tolyar@mx.ru> Sponsored by: DARPA, Network Associates Laboratories
* The default if nsswitch.conf(5) is not present is supposed to be thenectar2003-04-182-2/+2
| | | | | | | hated `compat' source, not `files'. Reported by: Philip Paeps <philip@paeps.cx> Sponsored by: DARPA, Network Associates Laboratories
* Add a manual page for the ntp_gettime syscall.trhodes2003-04-172-2/+106
| | | | Reviewed by: ru, phk (older version).
* = Implement thread-safe versions of the getpwent(3) and getgrent(3)nectar2003-04-174-1542/+2604
| | | | | | | | | | | | | | | | | | | | | | family of functions using the new nsdispatch(3) core. Remove arbitrary size limits when using the thread-safe versions. = Re-implement the traditional getpwent(3)/getgrent(3) functions on top of the thread-safe versions. = Update the on-disk format of the hashed version of the passwd(5) databases to allow for versioned entries. The legacy version is `3'. (Don't ask.) = Add support for version `4' entries in the passwd(5) database. Entries in this format are identical to version 3 entries except that all integers are stored as 32-bit integers in network byte order (big endian). = pwd_mkdb is updated to generate both version 3 and version 4 entries. Sponsored by: DARPA, Network Associates Laboratories
* = Implement name service switch modules (NSS modules). NSS modulesnectar2003-04-1711-205/+970
| | | | | | | | | | | | | | | | | | | | | may be built into libc (`static NSS modules') or dynamically loaded via dlopen (`dynamic NSS modules'). Modules are loaded/initialized at configuration time (i.e. when nsdispatch is called and nsswitch.conf is read or re-read). = Make the nsdispatch(3) core thread-safe. = New status code for nsdispatch(3) `NS_RETURN', currently used to signal ERANGE-type issues. = syslog(3) problems, don't warn/err/abort. = Try harder to avoid namespace pollution. = Implement some shims to assist in porting NSS modules written for the GNU C Library nsswitch interface. Sponsored by: DARPA, Network Associates Laboratories
* Clarify the relationship between the MAC library APIs and POSIX.1e:rwatson2003-04-161-2/+6
| | | | | | | | they resemble one another, but POSIX.1e interfaces were not sufficiently expressive to do what we needed. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Add a manual page for the ntp_adjtime syscall.trhodes2003-04-152-1/+148
| | | | | PR: 32674 Reviewed by: phk, ru
* Merge in vfprintf.c rev. 1.58.tjr2003-04-141-9/+11
|
* Fix a bug where printf was erroneously printing a decimal point fordas2003-04-141-8/+10
| | | | | | | | | %f and sufficiently short %g specifiers where the precision was explicitly zero, no '#' flag was specified, and the floating point argument was > 0 and <= 0.5. While at it, add some comments to better explain the relevant bits of code. Noticed by: Christoph Kukulies <kuku@physik.rwth-aachen.de>
* Return "/boot/kernel/kernel" instead of "/kernel" if the sysctl() calltjr2003-04-111-1/+1
| | | | fails. The documentation was incorrectly updated in getbootfile.3 rev. 1.10.
* When called with s == NULL, behave as if wc == L'\0' as required by thetjr2003-04-101-1/+3
| | | | standard.
* /strtopx/ s/result/&result/das2003-04-092-2/+2
| | | | This is the version I *meant* to commit last week.
OpenPOWER on IntegriCloud