Commit Graph

11118 Commits

Author SHA1 Message Date
delphij
7155705048 Include string.h for memcpy() and memcmp(). 2007-05-25 13:43:14 +00:00
delphij
0debc89a00 Const'ify and ANSIfy the internal interfaces of regex(3).
This is the final change that makes libc to compile with
WERROR on my amd64 crashbox.
2007-05-25 12:44:58 +00:00
delphij
7c7730fe41 ANSIfy function definitions, reduces diff against OpenBSD. 2007-05-25 10:40:33 +00:00
ru
ba9ece2611 Also fix the misspelling of hes_resolve().
Submitted by:	Danny Braniss
2007-05-25 09:58:25 +00:00
delphij
16abe9b047 The usage of "info" in init_hash() is read-only, so constify
the internal interface instead of casting away the constant
constraint upon calling.
2007-05-25 09:57:48 +00:00
des
678d09f0cf Re-add support for NIS netgroups (heavily modified from patch in PR)
PR:		bin/112955
Submitted by:	A. Blake Cooper <blake@cluebie.net>
MFC after:	3 weeks
2007-05-25 07:50:18 +00:00
rafan
7aa668468b - When I introduce wide character enabled ncurses into base, all headers
are installed twice (once in non-widec version, onec in widec version).
  Headers with widec enabled are compatible with non-widec version
  for libraries. However, if you do a repeat build/install, the curses.h
  is always overwritten. The reason is that headers and statics libraries
  are installed with -S option to preserve their mtime if no actual changes,
  which saves time when doing incremental builds. The curses.h is installed
  by non-widec ncurses first, then by widec ncurses. So next time, it happens
  again. You see something like this:

  # pwd
  /usr/src/lib/ncurses
  # make -s installincludes INSTALL="install -v"
  ===> ncurses (installincludes)
  install: curses.h -> /usr/include/curses.h
  ===> ncursesw (installincludes)
  install: curses.h -> /usr/include/curses.h
  # make -s installincludes INSTALL="install -v"
  ===> ncurses (installincludes)
  install: curses.h -> /usr/include/curses.h
  ===> ncursesw (installincludes)
  install: curses.h -> /usr/include/curses.h

  The solution is to disable installing headers in non-widec version. Now
  you see this:

  # pwd
  /usr/src/lib/ncurses
  # make -s installincludes INSTALL="install -v"
  ===> ncurses (installincludes)
  ===> ncursesw (installincludes)
  # make -s installincludes INSTALL="install -v"
  ===> ncurses (installincludes)
  ===> ncursesw (installincludes)

  For form/panel/menu libraries, the headers are the same for both version.
  To be consistent with ncurses, I also disable the installation in non-widec
  version.

Reported by:	des
Reviewed by:	ru
Thanks to:	ru
Approved by:	delphij (mentor)
MFC after:	2 weeks
2007-05-25 02:27:46 +00:00
obrien
579ab56765 FreeBSD has <limits.h>. 2007-05-24 22:10:22 +00:00
obrien
34c9c7627c Update for the 'file' 4.21 import. 2007-05-24 22:02:49 +00:00
des
74e15e6c70 Enable FTP_COMBINE_CWDS. 2007-05-24 20:28:14 +00:00
obrien
cb62c25588 Update for the 'file' 4.19 import. 2007-05-24 16:14:38 +00:00
ru
e483e0e1e3 hesiod_resolv -> hesiod_resolve
Submitted by:	Danny Braniss
2007-05-24 13:50:06 +00:00
des
7e2e8064f7 Nit: avoid shadowing truncate(2) with a local variable. 2007-05-23 12:09:33 +00:00
des
aac7a2ca82 Fix stupid braino in previous commit. 2007-05-23 10:06:03 +00:00
des
253a9fb8b6 If (flags & O_TRUNC), don't truncate the file until we've successfully
locked it.

MFC after:	3 weeks
2007-05-23 08:12:34 +00:00
cperciva
00c45ba7c0 Replace "sizeof(struct bucket[cache_size])" with
"cache_size * sizeof(struct bucket)".  The former is valid in C99 but can
confuse earlier compilers, while the latter is a standard idiom which all
C compilers understand.

Approved by:	kientzle
2007-05-22 15:37:58 +00:00
jon
50945671cb Backout 1.5 as requested by deischen 2007-05-22 05:28:40 +00:00
jon
f4c0271704 __cleanup() is needed for ports/devel/valgrind, export it. 2007-05-22 03:03:28 +00:00
rwatson
843ae548c7 Make pointer argument to kread_string() const since the kernel structure
field is const, and then employ __DECONST before getting into the kvm
code.  This eliminates a gcc 4.2 warning about losing constification.

__DECONST advice from:	sam
2007-05-21 18:16:04 +00:00
cperciva
f0e9277351 Don't test for NULL when it is both unnecessary (the pointer is checked
against NULL when it is first allocated) and pointless (we've already
dereferenced the pointer several times).

Found by:	Coverity Prevent(tm)
CID:		3204
2007-05-21 04:45:24 +00:00
cperciva
9eb753ea8e Remove pointless code: Don't assign a value to a variable when we're
going to overwrite it with a new value a few lines later.

Visual inspection of the surrounding code indicates that the code does
what it's supposed to do; i.e., the pointless code wasn't supposed to
be doing something other than what it was doing.

CID:		3323
Found by:	Coverity Prevent(tm)
2007-05-21 04:22:38 +00:00
deischen
ff36458e08 Bump library versions in preparation for 7.0.
Ok'd by:	kan
2007-05-21 02:49:08 +00:00
kan
b9acdd0d23 Use LDADD to add -lgcc to the end of linker command line. Using LDFLAGS
puts it before library's object files, making the whole constuct useless.
2007-05-19 16:38:39 +00:00
cognet
643c457209 Use __mcount() instead of _mcount() to reduce diffs with NetBSD. 2007-05-19 16:20:37 +00:00
marcel
797bdcc549 Add a level of indirection to the kernel PTE table. The old
scheme allowed for 1024 PTE pages, each containing 256 PTEs.
This yielded 2GB of KVA. This is not enough to boot a kernel
on a 16GB box and in general too low for a 64-bit machine.
By adding a level of indirection we now have 1024 2nd-level
directory pages, each capable of supporting 2GB of KVA. This
brings the grand total to 2TB of KVA.
2007-05-19 13:11:27 +00:00
cperciva
1a5e79cbeb Don't forget to free a string allocated by strdup where necessary.
Found by:	Coverity Prevent
Coverity ID:	CID 3132
2007-05-19 05:09:09 +00:00
kan
9cb8384f67 Make sure libc is installed before all other shared libraries. Other
libraries might depend on versioned symbols from libc.
2007-05-19 04:55:14 +00:00
kan
45bdca2b2d Use built-in _end symbol insteadof 'end' for consistency with other
architectures. Linker defines end is synonym for _end.
2007-05-19 04:36:34 +00:00
kan
078b4aa55e Do not declare float_detect_tininess as external if it will be re-delared
as static later.
2007-05-19 04:34:42 +00:00
kan
babe0719d6 Make sure GCC will not try to link libc with itself. 2007-05-19 04:32:56 +00:00
kan
34d4c477d2 Follow NetBSD, OpenBSD and DragonfyBSD project and add BSD-licensed
SSP functions into FreeBSD libc. Use the same file name and location
for consistency with other projects.
2007-05-19 04:31:43 +00:00
jon
9fa5f8882e Move nss_compat symbols from r1.11 to private section of symbol map.
Suggested by: deischen
2007-05-18 15:41:54 +00:00
ru
3be5d73f3d Fix a logic bug I re-introduced in my patch I sent to Daniel
that would cause the selected shared threading library to be
overwritten with its 32-bit version on amd64.

PR:		amd64/112509
2007-05-18 12:25:48 +00:00
jon
9f6d75987a __nss_compat_* from net/nss_compat.c are needed by ports/net/nss_ldap, so export them. 2007-05-18 05:45:28 +00:00
deischen
7d5de3a8a3 Allow DEFAULT_THREAD_LIB to be set from /etc/src.conf.
Submitted by:	ru
2007-05-17 04:54:35 +00:00
jon
beb2048e85 endrpcent belongs with rpc name service db, not services.
MFC after:	1 week
2007-05-17 03:34:33 +00:00
jon
3127d2bb31 fix memory leak from reading nsswitch.conf
MFC after:	1 week
2007-05-17 03:33:23 +00:00
rrs
b024dc211e -Fix so getoptinfo() is in conformance with socket api (it
can be used on any read socketopt).
-Clean up of sendmsg call and make it conformant when no syscall
 is available.
2007-05-16 20:23:39 +00:00
rrs
92bcfd1176 Resolves symbols map so sctp_xxx() functions are included.
PR:		112704
Submitted by:	kou@cozmixng.org
2007-05-16 20:20:54 +00:00
kan
06d44a8073 Do not export 'end' symbol. It is not meant to be visible to outside
world and it wreak havoc if libc collides with other versioned
libraries.
2007-05-16 02:32:55 +00:00
mav
830b368aaf Replace select() by poll() to avoid problems with big
descriptor number.

Approved by:	glebius (mentor)
2007-05-14 14:18:41 +00:00
pav
003d9887d8 Document RFTHREAD
PR:		docs/78915
Submitted by:	Marc Olzheim <marcolz@stack.nl>
MFC after:	1 week
2007-05-14 13:58:54 +00:00
deischen
5b911044f8 I guess powerpc needs vfork(), add it to the symbol list.
Submitted by:	marius
2007-05-14 07:46:29 +00:00
cperciva
3377b1e9f8 Use unsigned comparisons. Prior to this commit, SHA1_Update and
RIPEMD160_Update were broken when all of the following conditions
applied:
(1) The platform is i386.
(2) The program calling *_Update is statically linked to libmd.
(3) The buffer provided to *_Update is aligned modulo 4 bytes.
(4) The buffer extends beyond 2GB.

Due to the design of this code, SHA1_Update and RIPEMD160_Update will
still be broken if conditions (1)-(3) apply AND the buffer extends
beyond 4GB (i.e., there is an integer overflow in computing "data + len").
Since this remaining bug simply replaces SIGSEGV with a bogus hash (and
non-broken programs should never provide such operands) I don't consider
it to be a serious problem.

MFC After:      1 week
PR:             kern/102795
2007-05-14 05:00:37 +00:00
rwatson
12c13290f9 Add ether_aton_r and ether_ntoa_r to public symbol map for libc.
Pointed out by:	deischen
2007-05-13 15:01:25 +00:00
deischen
b52ec536bb Remove .mcount from gmon's Symbol map and add it to the appropriate
arch.  It can be named differently depending on the arch (.mcount,
_mcount).

Submitted by:	marius
2007-05-13 14:16:55 +00:00
deischen
bf3a79274d Enable symbol versioning by default. Use WITHOUT_SYMVER to disable it.
Warning, after symbol versioning is enabled, going back is not easy
(use WITHOUT_SYMVER at your own risk).

Change the default thread library to libthr.

There most likely still needs to be a version bump for at least the
thread libraries.  If necessary, this will happen later.
2007-05-13 14:12:40 +00:00
rwatson
cff73a5a63 Add and document ether_ntoa_r() and ether_aton_r() functions, which accept
passed storage buffers rather than using static storage.  Reimplement
ether_ntoa() and ether_aton() in terms of these functions.  These variants
are thread-safe.
2007-05-13 13:57:45 +00:00
rwatson
37843b872c Move to more conformant style(9) before making functional changes. 2007-05-13 12:04:06 +00:00
marius
6d578f19e4 - Add bits for userland profiling. For sun4u this is compile-tested only.
- Replace magic 14 with PIL_TICK.
2007-05-11 23:43:55 +00:00
des
719c87d1ee strlcpy() may be faster than snprintf(), but it is less portable, and this
is not performance critical code anyway.  Also, avoid using strlen() to
obtain information which we already have.

MFC after:	3 weeks
2007-05-11 11:10:05 +00:00
des
4503779c68 Fix typo.
Submitted by:	Bård Skaflestad <bardsk@math.ntnu.no>
2007-05-10 18:15:30 +00:00
des
ced6c23397 Well gag me with a spoon... I'm so used to working at high WARNS levels
that I make stupid fundamental mistakes like this when I don't.
2007-05-10 15:01:42 +00:00
des
2c5ccfbba9 Remove superfluous unexpanded RCS tag. 2007-05-10 14:56:07 +00:00
des
82f6d6455d Use flopen(3).
MFC after:	3 weeks
2007-05-10 14:54:53 +00:00
des
50d71f5464 DTRT when O_NONBLOCK is specified.
MFC after:	3 weeks
2007-05-10 14:52:57 +00:00
des
5d25ea6b62 I'm tired of seeing this done incorrectly and non-portably, so add a
flopen(3) function which reliably opens and locks a file.

MFC after:	3 weeks
2007-05-10 14:43:31 +00:00
gnn
38b76f0623 Integrate the Camellia Block Cipher. For more information see RFC 4132
and its bibliography.

Submitted by:   Tomoyuki Okazaki <okazaki at kick dot gr dot jp>
MFC after:      1 month
2007-05-09 19:37:02 +00:00
davidxu
d97c4f1e52 backout experimental adaptive spinning mutex for product use. 2007-05-09 08:39:33 +00:00
des
396660deb6 Handle temporary redirects (HTTP status code 307)
PR:		kern/112515
Submitted by:	Ryan C. Gordon <icculus@icculus.org>
MFC after:	3 weeks
2007-05-08 19:28:03 +00:00
das
d4d5d36cfc We should never zero-pad INF or NaN (yielding silly strings like "00inf")
even if the programmer asks for zero padding.
2007-05-08 03:08:28 +00:00
das
cdcf605760 Fix a rounding error.
Reported by: Bruno Haible
2007-05-08 02:59:37 +00:00
des
8b3c515d76 Remove parameter names from prototypes to avoid namespace issues. 2007-05-06 10:00:27 +00:00
pjd
06c3c94d09 Implement and document some utility functions that can be used to communicate
with GEOM providers.

OK'ed by:	phk
2007-05-06 01:17:46 +00:00
gabor
b75fdc8954 - Fix typo
Approved by:	keramida (mentor)
MFC after:	3 days
2007-05-04 16:01:07 +00:00
bde
7b4912a3de Don't assume that int is signed 32-bits in one place. Keep assuming
that ints have >= 31 value bits elsewhere.  s/int/int32_t/ seems to
have been done too globally for all other files in msun/src before
msun/ was imported into FreeBSD.

Minor fixes in comments.

e_lgamma_r.c:
Describe special cases in more detail:
- exception for lgamma(0) and lgamma(neg.integer)
- lgamma(-Inf) = Inf.  This is wrong but is required by C99 Annex F.  I
  hope to change this.
2007-05-02 16:54:22 +00:00
bde
f9978195dc Fix tgamma() on some special args:
(1) tgamma(-Inf) returned +Inf and failed to raise any exception, but
    should always have raised an exception, and should behave like
    tgamma(negative integer).
(2) tgamma(negative integer) returned +Inf and raised divide-by-zero,
    but should return NaN and raise "invalid" on any IEEEish system.
(3) About half of the 2**52 negative intgers between -2**53 and -2**52
    were misclassified as non-integers by using floor(x + 0.5) to round
    to nearest, so tgamma(x) was wrong (+-0 instead of +Inf and now NaN)
    on these args.  The floor() expression is hard to use since rounding
    of (x + 0.5) may give x or x + 1, depending on |x| and the current
    rounding mode.  The fixed version uses ceil(x) to classify x before
    operating on x and ends up being more efficient since ceil(x) is
    needed anyway.
(4) On at least the problematic args in (3), tgamma() raised a spurious
    inexact.
(5) tgamma(large positive) raised divide-by-zero but should raise overflow.
(6) tgamma(+Inf) raised divide-by-zero but should not raise any exception.
(7) Raise inexact for tiny |x| in a way that has some chance of not being
    optimized away.

The fix for (5) and (6), and probably for (2), also prevents -O optimizing
away the exception.

PR:		112180 (2)
Standards:	Annex F in C99 (IEC 60559 binding) requires (1), (2) and (6).
2007-05-02 15:24:49 +00:00
bde
98484906b6 Document (in a comment) the current (slightly broken) handling of special
values in more detail, and change the style of this comment to be closer
to fdlibm and C99:
- tgamma(-Inf) was undocumented and is wrong (+Inf, should be NaN)
- tgamma(negative integer) is as intended (+Inf) but not best for IEEE-754
  (NaN)
- tgamma(-0) was documented as being wrong (+Inf) but was correct (-Inf)
- documentation of setting of exceptions (overflow, etc.) was more
  complete here than in most of libm, but was further from matching
  the actual setting than in most of libm, due to various bugs here
  (primarily, always evaluating +Inf one/zero and getting unwanted
  divide-by-zero exceptions from this).  Now the actual behaviour with
  gcc -O0 is documented.  Optimization still breaks setting of exceptions
  all over libm, so nothing can depend on this working.
- tgamma(NaN)'s exception was documented as being wrong (invalid) but was
  correct (no exception with IEEEish NaNs).

Finish (?) rev.1.5.  gamma was not renamed to tgamma in one place.

Finish (?) rev.1.6.  errno.h was not completely removed.
2007-05-02 13:49:28 +00:00
cperciva
c5376d48ac s/@VERSION@/@ARCHIVE_VERSION@/
This is a no-op as far as FreeBSD is concerned, but makes libarchive
more autoconf-friendly.

Approved by:	kientzle
2007-05-02 05:29:55 +00:00
yar
1008fb2fea Fix one kind of style(9) bug and a typo in a comment.
Tested with:	md5(1)
2007-05-01 18:50:33 +00:00
marcel
1f3a6143f7 Roughly implement libpthread support. 2007-05-01 18:28:08 +00:00
ache
6ccaf050cc Back out all POSIXified *env() changes.
Not because I admit they are technically wrong and not because of bug
reports (I receive nothing). But because I surprisingly meets so
strong opposition and resistance so lost any desire to continue that.

Anyone who interested in POSIX can dig out what changes and how
through cvs diffs.
2007-05-01 16:02:44 +00:00
wkoszek
0e767958a5 Second call of sysctl() is used to gather a proper size of a memory chunk
needed to hold the GEOM tree. At this point, pointer 'p' has an improper
value (as it was used previously), and we're getting EFAULT. Fix this
functionality by passing NULL instead of 'p'.

This fixes mdconfig(8) -l output with high number of md(4) devices.

   Found by:	kris
Reviewed by:	phk
2007-05-01 10:47:09 +00:00
ache
55677ed894 Bump .Dd
Suggested by: Henrik Brix Andersen <henrik@brixandersen.dk>
2007-04-30 19:37:10 +00:00
ache
c0dd4e798d Add phrase
"so altering the argument shall change the environment."
into putenv description.
2007-04-30 18:01:51 +00:00
ache
d85104099a Make putenv() fully conforms to Open Group specs Issue 6
(also IEEE Std 1003.1-2001)

The specs explicitly says that altering passed string
should change the environment, i.e. putenv() directly puts its arg
into environment (unlike setenv() which just copies it there).
It means that putenv() can't be implemented via setenv()
(like we have before) at all. Putenv() value lives (allows modifying)
up to the next putenv() or setenv() call.
2007-04-30 16:56:18 +00:00
ache
c323ce85c0 Remove special case skipping initial '=' of the setenv() value "for
compatibility with the different environment conventions" (man page).
With the standards, we don't have them different anymore and
IEEE Std 1003.1-2001 says that

"The values that the environment variables may be assigned are not
restricted except that they are considered to end with a null byte"
2007-04-30 03:47:31 +00:00
ache
df3730247f Make setenv, putenv, getenv and unsetenv conforming to Open Group specs
Issue 6 (also IEEE Std 1003.1-2001) in following areas:
args, return, errors.

Putenv still needs rewriting because specs explicitly says that
altering passed string later should change the environment (currently we
copy the string so can't provide that).
2007-04-30 02:25:02 +00:00
pjd
ed3c97c636 Add missing links and sort. 2007-04-29 21:38:25 +00:00
deischen
ae8de717aa Don't enable symbol versioning for librt by default just yet. 2007-04-29 17:08:13 +00:00
kan
7f5712c74b Make sure FBSDprivate_1.0 is located at the end of the version
inheritance chain.
2007-04-29 16:14:17 +00:00
deischen
b780933380 Catch up with the renaming of the private version namespace. 2007-04-29 15:27:23 +00:00
deischen
2a7306fdc5 Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
deischen
dd57d65e2d Number the private version namespace in case we ever want to have
compatibility between versions (as we do for the public namespace).
2007-04-29 14:03:45 +00:00
deischen
c8d3bdefd9 Symbol version librt. 2007-04-29 14:01:45 +00:00
roam
b76036be69 Remove the MSG_PEEK flag from the documentation of the send(2) syscall -
it is only relevant to receiving data from sockets, not to sending.

PR:		109667
Submitted by:	Jari Kirma <kirma@cs.hut.fi>
Approved by:	wollman
2007-04-27 10:28:30 +00:00
phk
8b888b32a2 Get endianess right.
Why would an XML library need to know about endianess anyway ??

Prodded by, long time ago:	ahze
2007-04-24 06:29:27 +00:00
rwatson
55d666f72e Add au_to_zonename.3 alias for au_token.3.
Obtained from:	TrustedBSD Project
2007-04-23 14:46:59 +00:00
deischen
5e5a32d139 Add a reference and lock the target thread when setting its name.
Submitted by:	davidxu (via libthr)
2007-04-23 03:36:14 +00:00
njl
a22d768e0f Add back the original behavior of changing the entire directory path at
once (CWD a/b/c vs. 3 CWDs).  If an error occurs, we fall back to the default
method of a single CWD per directory element.  Since this is technically
a violation of the basic FTP RFC, this behavior is under a compile-time
option FTP_COMBINE_CWDS and is off by default.  It should work with most
Unix-based FTP daemons and can save latency.

MFC after:	2 weeks
2007-04-22 22:33:29 +00:00
kientzle
0c3bc8c454 Fix a memory leak in the uname/gname lookup cache.
Thanks to: VMiklos
2007-04-20 15:32:13 +00:00
mtm
b79eceb7f3 Make inet6_rth_* family of functions more compliant with RFC3542:
1. CMSG_NXTHDR(mhdr, cmsg) is supposed to dereference cmsg and return
   the next header in the chain. If cmsg is NULL it should return
   the first header, behaving essentially like CMSG_FIRSTHDR().
2. inet6_rth_(space|init|add) should do basic checking on their input
   to verify that the number of headers (segments) is
   between 0 and 127 inclusive.

MFC-After: 1 month
2007-04-19 15:48:16 +00:00
phk
1e5d27edb1 Grammer correction from: emaste 2007-04-19 14:01:04 +00:00
phk
19613c2bfe Loosen return value spec for fputs to be standards compliant so people
don't program against our more restrictive behaviour.
2007-04-19 09:38:31 +00:00
ru
b14b729d24 Add a missing backslash and unbreak the build. 2007-04-16 09:54:59 +00:00
rafan
6079f73df3 - Add missing man page links
- Remove link for define_key.3 which is a real man page
- Some whitespace nits

Approved by:	delphij (mentor)
2007-04-16 09:11:24 +00:00
cperciva
67c3258375 In libarchive: Downgrade ARCHIVE_FATAL and ARCHIVE_FAILED errors which
occur on the write side of extracting a file to ARCHIVE_WARN errors
when returning them from archive_read_extract.

In bsdtar: Use the return code from archive_read_data_into_fd and
archive_read_extract to determine whether we should continue trying to
extract an archive after one of the entries fails.

This commit makes extracting a truncated tarball complain once about
the archive being truncated, instead of complaining twice (once when
trying to extract an entry, and once when trying to seek to the next
entry).

Discussed with:	kientzle
2007-04-16 04:04:50 +00:00
kientzle
688cc6519f Properly cleanup the UID/GID lookup data. 2007-04-15 04:43:12 +00:00
kientzle
b97ee9aaff Don't free a NULL pointer. 2007-04-15 04:42:52 +00:00
kientzle
e790087db0 Clean up a lot of memory leaks in the libarchive test harness. 2007-04-15 04:30:02 +00:00