Commit Graph

13724 Commits

Author SHA1 Message Date
jilles
c902a38c4a Allow strerror(0) and strerror_r(0, ...).
Of course, strerror_r() may still fail with ERANGE.

Although the POSIX specification said this could fail with EINVAL and
doing this likely indicates invalid use of errno, most other
implementations permitted it, various POSIX testsuites require it to
work (matching the older sys_errlist array) and apparently some
applications depend on it.

PR:		standards/151316
MFC after:	1 week
2011-04-05 21:56:05 +00:00
obrien
cddd210098 * Add the readline(3) API to libedit. The libedit versions of
{readline,history}.h are in /usr/include/edit so as to not conflict with
  the GNU libreadline versions.  To use the libedit readline(3) one should
  add "-I/usr/include/edit" to their Makefile
  (spelled "-I${DESTDIR}/${INCLUDEDIR}/edit" within the FreeBSD source tree).

* Enable its use in the BSD licensed utilities that support readline(3).

* To make it easier to sync libedit development with NetBSD, histedit.h
  is moved into libedit's directory as history shows shown we keep merging
  it into that location.

Obtained from:	NetBSD
Sponsored by:	Juniper Networks
2011-04-05 18:41:01 +00:00
pluknet
7eb224fc95 Do not increment num_args if strsep(3) returned an empty field.
That fixes devstat_buildmatch(3) crashes with certain strings.

Reported by:	arundel
MFC after:	2 weeks
2011-04-04 09:25:27 +00:00
kib
2e921d1b1b Fix mdoc errors.
Submitted by:	ru
MFC after:	3 days
2011-04-01 19:57:27 +00:00
trasz
d5fad1aac8 Expose the rctl(2) API in libc. 2011-03-30 18:08:31 +00:00
pluknet
e27ebee43a Use FD_CLOEXEC explicitly.
MFC after:	3 days
2011-03-30 14:15:18 +00:00
pjd
0d6974a721 Don't calculate len too early. 2011-03-26 07:17:24 +00:00
pjd
5cdf4e6f59 Follow style(9) in example code and handle opendir(3) error. 2011-03-26 07:15:57 +00:00
kib
4dc12088a1 Document O_CLOEXEC.
Reviewed by:	jhb
MFC after:	1 week
2011-03-25 14:01:18 +00:00
pluknet
6e5f09a222 Add missing resource limits:
- RLIMIT_NPTS
- RLIMIT_SWAP

MFC after:	1 week
2011-03-24 16:06:57 +00:00
delphij
0ad5e9d9f0 humanize_number(3) multiply the input number by 100, which could cause an
integer overflow when the input is very large (for example, 100 Pi would
become about 10 Ei which exceeded signed int64_t).

Solve this issue by splitting the division into two parts and avoid the
multiplication.

PR:		bin/146205
Reviewed by:	arundel
MFC after:	1 month
2011-03-23 22:08:01 +00:00
trasz
eb401e64c1 Move the code around so that libc behaviour does not depend on a variable
that was supposed to be kernel-only.  There should be no functional changes.
2011-03-22 17:44:07 +00:00
gjb
0d69b2025b s/buffer/buf as is used in the code.
Submitted by:	arundel (via doc@)
MFC after:	3 days
2011-03-21 23:59:20 +00:00
jilles
b5db9ff604 index(3): Mention that index/rindex are deprecated and not specified by
POSIX.1-2008.

MFC after:	1 week
2011-03-20 20:53:55 +00:00
marcel
70f17b3a42 When building libc with the syscall compatibility, don't also generate the
syscall assembly files. This results in conflicting dependencies and can
cause unexpected results for parallel builds. This is because the .c file
and the .S file both generate the same .o file.

Submitted by:	Simon Gerraty <sjg@juniper.net>
Sponsored by:	Juniper Networks
2011-03-17 04:40:37 +00:00
marcel
799909333c Don't add sigwait.c to MISRCS here when sigwait.c lives under ../sys and
it's already added to SRCS there.
2011-03-17 04:30:43 +00:00
pjd
18c497939a From fts.c comment:
The "FTS_NOSTAT" option can avoid a lot of calls to stat(2) if it knows that a
directory could not possibly have subdirectories. This is decided by looking at
the link count: a subdirectory would increment its parent's link count by
virtue of its own ".." entry.  This assumption only holds for UFS-like
filesystems that implement links and directories this way, so we must punt for
others.

It looks like ZFS is a UFS-like file system, as the above also holds for ZFS.
Add ZFS to the list of file systems that allow for such optimization.

MFC after:	1 month
2011-03-16 08:58:09 +00:00
jilles
b7fd4888f8 rfork(2): Discourage rfork_thread-like approaches.
Calling rfork_thread(3) does not interoperate with pthreads and global state
is not properly protected.

Remove the BUGS section suggesting LinuxThreads entirely. With the current
pthread library libthr, all threads are kernel-level entities so there seems
little reason to use LinuxThreads.
2011-03-15 23:51:47 +00:00
kargl
247ca05bfc Take two. Add the missing file that should have been committed
with r219571 and re-enable building of cbrtl.

Implement the long double version for the cube root function, cbrtl.
The algorithm uses Newton's iterations with a crude estimate of the
cube root to converge to a result.

Reviewed by:    bde
Approved by:    das
2011-03-12 19:37:35 +00:00
kargl
b35373f851 Temporary disable the building of cbrtl until I
can determine why svn will not allow one to commit
a new file.

Approved by:	das (implicit)
2011-03-12 17:03:41 +00:00
kargl
c519d48b44 Implement the long double version for the cube root function, cbrtl.
The algorithm uses Newton's iterations with a crude estimate of the
cube root to converge to a result.

Reviewed by:	bde
Approved by:	das
2011-03-12 16:50:39 +00:00
rwatson
e7e662134b Move cap_enter(2) and cap_getmode(2) symbols from FBSD_1.1 to FBSD_1.2.
Suggested by:	kib
Obtained from:	Capsicum Project
Sponsored by:	Google
MFC after:	3 months
2011-03-12 12:10:17 +00:00
des
6470f47d70 Mention the name of the module in warning messages. 2011-03-12 11:26:37 +00:00
des
f2482661e2 Add "ruser" and "luser" options. The former corresponds to the current
behavior, where the module checks that the supplicant is a member of the
required group.  The latter checks the target user instead.  If neither
option was specified, pam_group(8) assumes "ruser" and issues a warning.
I intend to eventually change the default to "luser" to match the
behavior of similarly-named service modules in other operating systems.

MFC after:	1 month
2011-03-12 11:12:30 +00:00
marius
83676a4b3d Now that TLS generally is available on sparc64 since r219534 turn on
support for it. Note that while sparc64 also supports the static TLS
model and thus tls_model("initial-exec"), using the default model
turned out to yield slightly better buildstone performance.
2011-03-11 21:35:38 +00:00
des
e6c1faea49 No newline required.
MFC after:	2 weeks
2011-03-09 14:38:00 +00:00
rstone
b489000c79 Correct a typo in the malloc(3) manpage. Malloc options are set in the
MALLOC_OPTIONS environment variable, not JEMALLOC_OPTIONS.

Reviewed by:	jasone
Approved by:	emaste (mentor)
2011-03-07 15:19:17 +00:00
das
c1c16dcf08 Add cexp() to the complex(3) manpage. Thanks to bde for pointing out
that I missed this.
2011-03-07 08:54:20 +00:00
das
42f0a70e2e Remove part of an uncommitted change that snuck into the last commit. 2011-03-07 08:46:14 +00:00
das
763a6159cf Convert log10f() to use __kernel_log(), which is more accurate and simpler. 2011-03-07 03:12:08 +00:00
das
c8691f6e6a Convert log10() to use __kernel_log(), which is more accurate and simpler. 2011-03-07 03:11:27 +00:00
das
55e5832ebf Add cexp() and cexpf().
Reviewed by:	bde (earlier version)
2011-03-07 03:09:24 +00:00
pjd
afeb46924f Because we call __printf_out() with a on-stack buffer, also call
__printf_flush() so we are sure it won't be referenced after we return.

MFC after:	2 weeks
2011-03-06 19:47:46 +00:00
pjd
8bca3d08d5 expand_number() needs uint64_t, declare it here if not already declared.
MFC after:	3 days
2011-03-06 17:46:06 +00:00
pjd
3d92417062 Fix various issues in how %#T is handled:
- If precision is 0, don't print period followed by no digits.
- If precision is 0 stop printing units as soon as possible
  (eg. if we have three years and five days and precision is 0
   print only 3y5d).
- If precision is not 0, print all units (eg. 3y0d0h0m0s.00).

MFC after:	2 weeks
2011-03-06 17:43:32 +00:00
trasz
229ca25a4f Mention setloginclass(2) in login_class(3). 2011-03-06 08:56:44 +00:00
trasz
fb78109e59 Move getloginclass(2) and setloginclass(2) to FBSD_1.2, where they should've
been added in the first place.
2011-03-06 08:55:36 +00:00
trasz
3212fe1acf Add FBSD_1.2; syscalls added in 9-CURRENT are supposed to go there.
Suggested by:	kib
2011-03-06 08:52:59 +00:00
trasz
d9bca0ab24 Add manual page for getloginclass(2) and setloginclass(2). 2011-03-06 08:35:50 +00:00
trasz
62f6a13e39 Add two new system calls, setloginclass(2) and getloginclass(2). This makes
it possible for the kernel to track login class the process is assigned to,
which is required for RCTL.  This change also make setusercontext(3) call
setloginclass(2) and makes it possible to retrieve current login class using
id(1).

Reviewed by:	kib (as part of a larger patch)
2011-03-05 12:40:35 +00:00
trasz
a751651e6d Make acl_strip_np(3) use new trivial ACL format for NFSv4 ACls (three
entries instead of six).  This makes "setfacl -b" do the right thing
for ACLs on ZFS.  UFS recognizes both kinds of trivial ACLs; no change
there.

MFC after:	2 months
2011-03-04 17:23:10 +00:00
rwatson
817c148c9f Make cap_new(2) and cap_getmode(2) symbols from libc public so applications
can link against them.  Add man pages for the new system calls, with one
errant forward reference to changes not yet present in FreeBSD, but soon
will be.

Reviewed by:	anderson
Obtained from:	Capsicum Project
Sponsored by:	Google, Inc.
Discussed with:	benl, kris, pjd
MFC after:	3 months
2011-03-03 11:31:08 +00:00
rwatson
698cb59fd5 Add description of ECAPMODE to errno(2) man page.
Discussed with: anderson
Obtained from:  Capsicum Project
Sponsored by:   Google, Inc.
MFC after:      3 months
2011-03-03 11:29:48 +00:00
rwatson
34dc0cba8c Add text string for ECAPMODE to libc.
Discussed with:	anderson
Obtained from:	Capsicum Project
Sponsored by:	Google, Inc.
MFC after:	3 months
2011-03-03 11:28:57 +00:00
uqs
d8cc882294 Fix some duplicate-word typos in manpages.
Submitted by:	arundel
MFC after:	1 week
2011-03-02 21:59:53 +00:00
dim
475a315a77 Put in a temporary workaround for ctfmerge hanging on processing
kernel.debug (or possibly other files), when WITH_CTF is active.

This is caused by a bug in clang's integrated assembler, causing malloc
to sometimes hang during initialization in statically linked executables
that use threading, such as the copy of ctfmerge that is built during
the bootstrap stage of buildworld.  The bug has been submitted upstream:

  http://llvm.org/bugs/show_bug.cgi?id=9352

Note that you might have to rebuild and install libc first, to get your
kernel build to finish, because the ctfmerge binary built during
bootstrap is linked with your base system's copy of libc.a, which might
already contain a bad copy of malloc.o.
2011-03-01 17:15:44 +00:00
brucec
318d44b9bc Remove duplicate "in".
Suggested by:	Rob Farmer <rfarmer at predatorlabs.net>
MFC after:	3 days
2011-03-01 11:47:51 +00:00
hselasky
8604b17766 - Add missing MLINKS for libusb and some manpage fixes.
MFC after:	14 days
Approved by:	thompsa (mentor)
2011-02-28 18:53:06 +00:00
hselasky
f6b78c32dc - Add support for software pre-scaling of ISOCHRONOUS transfers.
MFC after:	14 days
Approved by:	thompsa (mentor)
2011-02-28 17:23:15 +00:00
brucec
3c9e970368 Revert some of r177626. "in in" is valid in certain sentences.
PR:		121490
MFC after:	3 days
2011-02-28 10:03:48 +00:00