summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Style: Use ARCHIVE_VERSION_NUMBER to conditionalize tests onkientzle2008-09-0153-311/+309
| | | | | the particular libarchive version being tested instead of the deprecated ARCHIVE_API_VERSION and ARCHIVE_VERSION_STAMP macros.
* MfP4: set/unset tracking for atime, ctime, mtime, and size fields.kientzle2008-09-014-28/+160
| | | | | | | | | | | | | This generalizes the existing set/unset tracking for hardlink/symlink fields and extends it to cover non-string fields. Eventually, this will be further extended to cover most fields. In particular, this is needed to correctly detect when time fields are missing (for example, reading ustar archives doesn't set atime or ctime) for proper time restore and is helpful when trying to determine whether to overwrite data when restoring hardlinks. This commit updates the tests but not the docs.
* Sort the list of format names.kientzle2008-09-011-1/+1
|
* Use the "start_time" (time at which the restore process began)kientzle2008-09-012-7/+17
| | | | | | to fill in a missing atime instead of substituting mtime. PR: bin/124915
* New mtree writer, thanks to Joerg Sonnenberger.kientzle2008-08-315-0/+263
| | | | Obtained from: Joerg Sonnenberger
* Joerg Sonnenberger's improvements to the shar writer.kientzle2008-08-311-190/+255
| | | | Significant performance improvements, better quoting of file names, etc.
* Make libarchive_test a little smarter about trying to findkientzle2008-08-311-11/+52
| | | | | | its reference files when you don't specify -r. It now checks a couple of likely nearby directories to see if any of them have a particular known file.
* When atime wasn't specified, it should get set == mtime.kientzle2008-08-301-2/+2
| | | | This is much stronger than just asserting that it's not zero.
* Add the needed libpthread_md.c for MIPS.obrien2008-08-281-0/+90
| | | | Obtained from: Juniper Networks
* Add links to all libpcap functions.pjd2008-08-281-0/+48
|
* If no atime was specified (for example, when extracting from ustarkientzle2008-08-282-1/+11
| | | | | archives), set atime == mtime. Before this, atime would get restored to 0.
* Add the needed _setjmp.S for MIPS.obrien2008-08-271-0/+139
| | | | Obtained from: Juniper Networks
* Add thread-specific caching for small size classes, based on magazines.jasone2008-08-275-256/+1143
| | | | | | | | | | | | | | | | | | | | | | | | This caching allows for completely lock-free allocation/deallocation in the steady state, at the expense of likely increased memory use and fragmentation. Reduce the default number of arenas to 2*ncpus, since thread-specific caching typically reduces arena contention. Modify size class spacing to include ranges of 2^n-spaced, quantum-spaced, cacheline-spaced, and subpage-spaced size classes. The advantages are: fewer size classes, reduced false cacheline sharing, and reduced internal fragmentation for allocations that are slightly over 512, 1024, etc. Increase RUN_MAX_SMALL, in order to limit fragmentation for the subpage-spaced size classes. Add a size-->bin lookup table for small sizes to simplify translating sizes to size classes. Include a hard-coded constant table that is used unless custom size class spacing is specified at run time. Add the ability to disable tiny size classes at compile time via MALLOC_TINY.
* Implement WNOWAIT flag for wait4(2). It specifies that process whose statuskib2008-08-261-2/+10
| | | | | | | | | is returned shall be kept in the waitable state. Add WSTOPPED as an alias for WUNTRACED. Submitted by: Jukka Ukkonen <jau at iki fi> PR: standards/116221 MFC after: 2 weeks
* When calculating arguments to the interpreter for the shebang scriptkib2008-08-261-1/+18
| | | | | | | | executed by fexecve(2), imgp->args->fname is NULL. Moreover, there is no way to recover the path to the script being executed. Do what some other U*ixes do unconditionally, namely supply /dev/fd/n as the script path when called from fexecve(). Document requirement of having fdescfs mounted as caveat.
* Alphabetize the list of tests.kientzle2008-08-251-4/+4
|
* Update the total archive byte counters when writing entries to disk usingkientzle2008-08-241-0/+2
| | | | | | archive_write_disk. Update cpio to use this to emit block counts in -p mode. Update cpio tests to verify these block counts.
* Remove the stillborn attempt to cleanup tests as well as the build dir.kientzle2008-08-241-4/+0
|
* Fail copying path/.. only if SECURE_NODOTDOT was specified.kientzle2008-08-242-15/+7
| | | | | | | Since we already warn for any '..' elements in that case, the extra "lastdotdot" tracking turns out to be unnecessary. PR: bin/124924
* Fix the cpio bug tested for by r182092 of usr.bin/cpio/test.kientzle2008-08-241-1/+5
| | | | | | | | Since various 'find' incantations can emit container directories in various orders, we cannot refuse to update a dir because it's apparently the same age. MFC after: 3 days
* Add -fno-omit-frame-pointer to CFLAGS used to compile crt1.c on amd64.kib2008-08-221-0/+1
| | | | | | | | | | For gcc' __builtin_frame_address() to work, all call frames need to save frame pointer. In particular, this is important for the upper frame that should terminate the chain. No objections from: jhb PR: amd64/126543 MFC after: 1 week
* Add a "CACHING" section regarding the internal caching of kernel variablesjhb2008-08-211-0/+8
| | | | and the ability to clear that cache.
* Remove grantpt.c, which should have been deleted in the MPSAFE TTY commit.ed2008-08-201-286/+0
| | | | | | The routines in grantpt.c have been moved to ptsname.c in the MPSAFE TTY layer, because grantpt() is now effectively a no-op. I forgot to remove the corresponding source file from libc.
* Integrate the new MPSAFE TTY layer to the FreeBSD operating system.ed2008-08-2010-117/+286
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The last half year I've been working on a replacement TTY layer for the FreeBSD kernel. The new TTY layer was designed to improve the following: - Improved driver model: The old TTY layer has a driver model that is not abstract enough to make it friendly to use. A good example is the output path, where the device drivers directly access the output buffers. This means that an in-kernel PPP implementation must always convert network buffers into TTY buffers. If a PPP implementation would be built on top of the new TTY layer (still needs a hooks layer, though), it would allow the PPP implementation to directly hand the data to the TTY driver. - Improved hotplugging: With the old TTY layer, it isn't entirely safe to destroy TTY's from the system. This implementation has a two-step destructing design, where the driver first abandons the TTY. After all threads have left the TTY, the TTY layer calls a routine in the driver, which can be used to free resources (unit numbers, etc). The pts(4) driver also implements this feature, which means posix_openpt() will now return PTY's that are created on the fly. - Improved performance: One of the major improvements is the per-TTY mutex, which is expected to improve scalability when compared to the old Giant locking. Another change is the unbuffered copying to userspace, which is both used on TTY device nodes and PTY masters. Upgrading should be quite straightforward. Unlike previous versions, existing kernel configuration files do not need to be changed, except when they reference device drivers that are listed in UPDATING. Obtained from: //depot/projects/mpsafetty/... Approved by: philip (ex-mentor) Discussed: on the lists, at BSDCan, at the DevSummit Sponsored by: Snow B.V., the Netherlands dcons(4) fixed by: kan
* Add a new routine kvm_getcptime(3) for fetching the equivalent ofjhb2008-08-194-3/+214
| | | | | | | | | | 'kern.cp_time'. For a live kernel it uses the sysctl. For a crashdump, it first checks to see if the kernel has a 'cp_time' global symbol. If it does, it uses that. If that doesn't work, when it uses the recently added kvm_getmaxcpu(3) and kvm_getpcpu(3) routines to walk all the CPUs and sum up their counters. MFC after: 1 week
* Add two new routines to libkvm for working with per-CPU data:jhb2008-08-194-3/+251
| | | | | | kvm_getmaxcpu() and kvm_getpcpu(). MFC after: 1 week
* atomic_fetchadd_int works on unsigned quantities - changekmacy2008-08-151-1/+1
| | | | | | sigev_generation to be unsigned MFC after: 1 month
* Import the uuid_enc_le(), uuid_dec_le(), uuid_enc_be() andemax2008-08-143-2/+148
| | | | | | | | | uuid_dec_be() functions. These routines are not part of the DCE RPC API. They are provided for convenience. Reviewed by: marcel Obtained from: NetBSD MFC after: 1 week
* Move CPU_SPINWAIT into the innermost spin loop, in order to allow fasterjasone2008-08-141-2/+3
| | | | | | preemption while busy-waiting. Submitted by: Mike Schuster <schuster@adobe.com>
* Re-order the terms of an expression in arena_run_reg_dalloc() to correctlyjasone2008-08-141-2/+2
| | | | | | detect whether the integer division table is large enough to handle the divisor. Before this change, the last two table elements were never used, thus causing the slow path to be used for those divisors.
* Import handy shorthand Bluetooth address (BD_ADDR) utility functionsemax2008-08-133-2/+67
| | | | | | | from NetBSD and document them. Obtained from: NetBSD MFC after: 1 week
* Change bpf(4) to use the cdevpriv API.ed2008-08-131-1/+1
| | | | | | | | | | | | | | | | | | Right now the bpf(4) driver uses the cloning API to generate /dev/bpf%u. When an application such as tcpdump needs a BPF, it opens /dev/bpf0, /dev/bpf1, etc. until it opens the first available device node. We used this approach, because our devfs implementation didn't allow per-descriptor data. Now that we can, make it use devfs_get_cdevpriv() to obtain the private data. To remain compatible with the existing implementation, add a symlink from /dev/bpf0 to /dev/bpf. I've already changed libpcap to compile with HAVE_CLONING_BPF, which makes it use /dev/bpf. There may be other applications in the base system (dhclient) that use the loop to obtain a valid bpf. Discussed on: src-committers Approved by: csjp
* Change the type of ti_traceme from a char to an int as itsmarcel2008-08-131-1/+1
| | | | address is passed to ps_pread for reading sizeof(int) bytes.
* Fix up test suite so it works again with the libarchive 1.x API.kientzle2008-08-115-2/+38
| | | | | | In particular, FreeBSD 6 still uses the libarchive 1.x API and this correction will permit MFCing new libarchive features back to FreeBSD 6.
* Correct test_tar_large so it works correctly with the libarchive 1.x API.kientzle2008-08-101-1/+1
|
* Explain why two apparently-identical archive_read_data() callskientzle2008-08-101-0/+2
| | | | really should have different return values.
* MfP4: Joerg Sonnenberger's fixes to make 'ar' and 'pax' writerskientzle2008-08-102-0/+6
| | | | robust against multiple calls to their destroy() functions.
* Add sbuf_new_auto as a shortcut for the very common case of creating ades2008-08-091-1/+1
| | | | | | | completely dynamic sbuf. Obtained from: Varnish MFC after: 2 weeks
* Add prototype defination for setfib(2) to sys/socket.h.delphij2008-08-081-1/+2
|
* Remove variables which are assigned values and never used thereafter.cperciva2008-08-081-5/+1
| | | | | Found by: LLVM/Clang Static Checker Approved by: jasone
* Remove some unused variables.das2008-08-084-4/+1
| | | | Reported by: Intel C Compiler
* In the linedas2008-08-083-3/+3
| | | | | | | #pragma STDC CX_LIMITED_RANGE ON the "ON" needs to be in caps. gcc doesn't understand this pragma anyway and assumes it is always on in any case, but icc supports it and cares about the case.
* Implement cproj{,f,l}().das2008-08-076-7/+170
|
* Use cpack() and the gcc extension __imag__ to implement cimag() anddas2008-08-076-6/+18
| | | | | | | | | | | | conj() instead of using expressions like z * I. The latter is bad for several reasons: 1. It is implemented using arithmetic, which is unnecessary, and can generate floating point exceptions, contrary to the requirements on these functions. 2. gcc implements complex multiplication using a formula that breaks down for infinities, e.g., it gives INFINITY * I == nan + inf I.
* Fix ia64 build.dfr2008-08-061-3/+3
|
* Fix 64bt build.dfr2008-08-061-1/+3
|
* Add an implementation of the RPCSEC_GSS authentication protocol for RPC. Thisdfr2008-08-0645-92/+4739
| | | | | | | | is based on an old implementation from the University of Michigan with lots of changes and fixes by me and the addition of a Solaris-compatible API. Sponsored by: Isilon Systems Reviewed by: alfred
* Cleanup for WARNS 6.marcel2008-08-067-47/+50
|
* Add EPERM to the ERRORS section.trhodes2008-08-041-1/+3
| | | | PR: 125746
* Initialize "nconv" to a reasonable value in all code paths. Prior tocperciva2008-08-041-1/+3
| | | | | | | this commit, sprintf("%s", "") could fail depending on what happened to be on the stack. Found by: LLVM/Clang Static Checker
OpenPOWER on IntegriCloud