summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Unlike other functions __aeabi_read_tp function must preserve r1-r3. Theandrew2012-04-081-2/+5
| | | | | | | currently generated code clobbers r3. Fix this by loading ARM_TP_ADDRESS using inline assembly. Approved by: imp (mentor)
* - Use __NO_TLS preprocessor value to make assumptions about TLS supportstas2012-04-081-1/+1
| | | | on a platform.
* - Revert part of r234005, which I did not intend to commit.stas2012-04-071-1/+1
| | | | Sorry! :(
* - Add kernel config file for QEMU-emulated gumstix board.stas2012-04-071-1/+1
|
* Properly resolve the _ctx_start function descriptor (the symbol _ctx_startnwhitehorn2012-04-071-1/+1
| | | | | | | is a descriptor, not a code address), which prevents crashes when starting a context. This fixes QEMU on powerpc64. MFC after: 3 days
* mdoc: fix function type.joel2012-04-071-1/+1
|
* mdoc: fix column names, indentation, column separation within each row, andjoel2012-04-0712-103/+104
| | | | | | | quotation. Also make sure we have the same amount of columns in each row as the number of columns we specify in the head arguments. Reviewed by: brueffer
* Fix a bug in remquo{,f,l}, in which the quotient didn't always have thedas2012-04-073-5/+8
| | | | | | | | | | | | | | | correct sign when the remainder was 0. Fix a separate bug in remquo alone, in which the remainder and quotient were both off by a bit in certain cases involving subnormal remainders. The bugs affected all platforms except amd64 and i386, on which the routines are implemented in assembly. PR: 166463 Submitted by: Ilya Burylov MFC after: 2 weeks
* - Do not use deprecated krb5 error message reporting functions in libtelnet.stas2012-04-061-1/+0
|
* Update to version 9.8.2, the latest from ISC, which contains numerous bug fixes.dougb2012-04-057-68/+71
|
* In sem_post, the field _has_waiters is no longer used, because somedavidxu2012-04-051-16/+8
| | | | | | | application destroys semaphore after sem_wait returns. Just enter kernel to wake up sleeping threads, only update _has_waiters if it is safe. While here, check if the value exceed SEM_VALUE_MAX and return EOVERFLOW if this is true.
* umtx operation UMTX_OP_MUTEX_WAKE has a side-effect that it accessesdavidxu2012-04-052-5/+18
| | | | | | | | | | | | | | | | | | | | | a mutex after a thread has unlocked it, it event writes data to the mutex memory to clear contention bit, there is a race that other threads can lock it and unlock it, then destroy it, so it should not write data to the mutex memory if there isn't any waiter. The new operation UMTX_OP_MUTEX_WAKE2 try to fix the problem. It requires thread library to clear the lock word entirely, then call the WAKE2 operation to check if there is any waiter in kernel, and try to wake up a thread, if necessary, the contention bit is set again by the operation. This also mitgates the chance that other threads find the contention bit and try to enter kernel to compete with each other to wake up sleeping thread, this is unnecessary. With this change, the mutex owner is no longer holding the mutex until it reaches a point where kernel umtx queue is locked, it releases the mutex as soon as possible. Performance is improved when the mutex is contensted heavily. On Intel i3-2310M, the runtime of a benchmark program is reduced from 26.87 seconds to 2.39 seconds, it even is better than UMTX_OP_MUTEX_WAKE which is deprecated now. http://people.freebsd.org/~davidxu/bench/mutex_perf.c
* Eliminate two cases of unwanted strncpy(). The name is not requireddelphij2012-04-022-4/+0
| | | | | | | | by the current code, and the results would get overwritten anyway by subsequent memset(). Reviewed by: ume MFC after: 1 month
* Export some more useful info about shared memory objects to userlandjhb2012-04-015-1/+101
| | | | | | | | | | | | | | | | | | | via procstat(1) and fstat(1): - Change shm file descriptors to track the pathname they are associated with and add a shm_path() method to copy the path out to a caller-supplied buffer. - Use the fo_stat() method of shared memory objects and shm_path() to export the path, mode, and size of a shared memory object via struct kinfo_file. - Add a struct shmstat to the libprocstat(3) interface along with a procstat_get_shm_info() to export the mode and size of a shared memory object. - Change procstat to always print out the path for a given object if it is valid. - Teach fstat about shared memory objects and to display their path, mode, and size. MFC after: 2 weeks
* mdoc: terminate quoted strings.joel2012-03-301-53/+53
|
* Remove unnecessary Xo/Xc.joel2012-03-291-10/+5
| | | | Reviewed by: brueffer
* mdoc: Ud takes no argument.joel2012-03-291-1/+1
|
* Remove superfluous paragraph macro.joel2012-03-291-3/+0
|
* mandoc complains loudly when <TAB>s are misused in columnated lists. Fixjoel2012-03-297-51/+51
| | | | | this syntax violation and while I'm here also convert <TAB> to Ta and adjust quotation marks in order to prevent this problem in the future.
* mdoc: sort prologue macros.joel2012-03-291-1/+1
|
* Remove trailing whitespace per mdoc lint warningeadler2012-03-2956-135/+135
| | | | | | | Disussed with: gavin No objection from: doc Approved by: joel MFC after: 3 days
* Fix 32-bit libgeom consumers run on 64-bit kernels with COMPAT_FREEBSD32.jmallett2012-03-292-29/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | Kernel pointer values are used as opaque unique identifiers, which are then used to reconstruct references between various providers, classes, etc., inside libgeom from the source XML. Unfortunately, they're converted to pointer-width integers (in the form of pointers) to do this, and 32-bit userland pointers cannot hold sensible representations (however opaque) of 64-bit kernel pointers on all systems. In the case where the leading bits are zero and 32 distinct bits of pointer can be identified, this will happen to work. On systems where the upper 32-bits of kernel pointers are non-zero and the same for all kernel pointers, this will result in double frees and all kinds of bizarre crashes and linkage between objects inside libgeom. To mitigate this problem, treat the opaque identifiers in the XML as C strings instead, and internalize them to give unique and consistent per-object pointer values in userland for each identifier in the XML. This allows us to keep the libgeom logic the same with only minor changes to initial setup and parsing. It might be more sensible for speed reasons to treat the identifiers as numbers of a large size (uintmax_t, say) rather than strings, but strings seem fine for now. (As an added side-effect, this makes it slightly easier to identify unresolved references, but nothing has been added to inform the user of those.)
* Fix comment to specify correct struct name.jimharris2012-03-281-2/+2
| | | | | Reviewed by: gjb Approved by: sbruno
* Add software PMC support.fabient2012-03-2826-26/+234
| | | | | | | | | | | | | New kernel events can be added at various location for sampling or counting. This will for example allow easy system profiling whatever the processor is with known tools like pmcstat(8). Simultaneous usage of software PMC and hardware PMC is possible, for example looking at the lock acquire failure, page fault while sampling on instructions. Sponsored by: NETASQ MFC after: 1 month
* Fix Fo arguments.joel2012-03-281-1/+1
| | | | Reviewed by: gabor
* mdoc: add missing El macro.joel2012-03-271-0/+2
|
* Minor indentation and paragraph nits.joel2012-03-271-4/+4
|
* Remove useless Ta macro.joel2012-03-273-14/+14
|
* Minor mdoc nit.joel2012-03-271-1/+1
|
* Handle MIPS .reginfo section as ELF_T_BYTEgonzo2012-03-261-0/+2
|
* mdoc: correct .Bd/.Bl arguments.joel2012-03-262-7/+7
| | | | Reviewed by: brueffer
* mdoc: sort prologue macros.joel2012-03-268-8/+8
|
* Register signal 33 explicitly as reserved by real-time library, andrmh2012-03-262-7/+5
| | | | | | | use it by its new name (SIGLIBRT) rather than internal definition in librt (SIGSERVICE). Approved by: davidxu, arch
* mdoc: remove unknown macro.joel2012-03-262-2/+0
|
* libthr: In the atfork handlers for signals, do not skip the last signal.jilles2012-03-261-3/+3
| | | | | | | | _SIG_MAXSIG works a bit unexpectedly: signals 1 till _SIG_MAXSIG are valid, both bounds inclusive. Reviewed by: davidxu MFC after: 1 week
* mdoc: remove empty lines.joel2012-03-262-2/+0
|
* This string should be quoted.joel2012-03-261-1/+1
| | | | Noticed by: brueffer
* mdoc: terminate quoted strings.joel2012-03-263-23/+23
| | | | Reviewed by: brueffer
* Fix date.joel2012-03-261-1/+1
|
* Use program exit status as pam_exec return code (optional)dumbbell2012-03-262-38/+362
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pam_exec(8) now accepts a new option "return_prog_exit_status". When set, the program exit status is used as the pam_exec return code. It allows the program to tell why the step failed (eg. user unknown). However, if it exits with a code not allowed by the calling PAM service module function (see $PAM_SM_FUNC below), a warning is logged and PAM_SERVICE_ERR is returned. The following changes are related to this new feature but they apply no matter if the "return_prog_exit_status" option is set or not. The environment passed to the program is extended: o $PAM_SM_FUNC contains the name of the PAM service module function (eg. pam_sm_authenticate). o All valid PAM return codes' numerical values are available through variables named after the return code name. For instance, $PAM_SUCCESS, $PAM_USER_UNKNOWN or $PAM_PERM_DENIED. pam_exec return code better reflects what went on: o If the program exits with !0, the return code is now PAM_PERM_DENIED, not PAM_SYSTEM_ERR. o If the program fails because of a signal (WIFSIGNALED) or doesn't terminate normally (!WIFEXITED), the return code is now PAM_SERVICE_ERR, not PAM_SYSTEM_ERR. o If a syscall in pam_exec fails, the return code remains PAM_SYSTEM_ERR. waitpid(2) is called in a loop. If it returns because of EINTR, do it again. Before, it would return PAM_SYSTEM_ERR without waiting for the child to exit. Several log messages now include the PAM service module function name. The man page is updated accordingly. Reviewed by: gleb@, des@ Sponsored by: Yakaz (http://www.yakaz.com) MFC after: 2 weeks
* mdoc: document title should be all caps.joel2012-03-251-1/+1
|
* Make sure sections are sorted into conventional order.joel2012-03-253-29/+29
|
* Remove superfluous paragraph macro.joel2012-03-2535-38/+0
|
* Update manual pages for MIPS-related CPUs:gonzo2012-03-253-6/+261
| | | | | | | | - Rename pmc.mips to pmc.mips24k since it covers just one CPU, no whole architecture - Add documetnations for Octeon's PMC counters - Remove CAVEATS section from pmc.mips24k page: PMC for MIPS supports sampling now.
* Minor mdoc fixes.joel2012-03-241-11/+1
|
* Build libproc and librtld_db for MIPSgonzo2012-03-241-0/+5
|
* - Avoid using deprecated heimdal functions in pam_krb5.stas2012-03-242-69/+102
|
* Make libproc compilable for MIPSgonzo2012-03-232-0/+11
|
* Add handler for MIPS.options sectiongonzo2012-03-231-0/+2
|
* Silence alignment warnings from clang in libarchive's ppmd code (whichdim2012-03-231-0/+1
| | | | | is actually third-party code). Clang even warns about alignment issues on x86, and the warnings are not needed there.
OpenPOWER on IntegriCloud