13078 Commits

Author SHA1 Message Date
ume
eace2c4331 Use the stored length value instead of calculating it by strlen(). 2010-04-06 12:33:05 +00:00
obrien
48496193ae I feel this wording of the history is more clear.
ANSIfy vasprintf() while I'm here.
2010-04-05 22:09:29 +00:00
avg
f7959704e8 libc/db/hash: cap auto-tuned block size with a value that actually works
This fix mostly matters after r206129 that made it possible for
st_blksize to be greater than 4K.  For this reason, this change should
be MFC-ed before r206129.
Also, it seems that all FreeBSD uitlities that use db(3) hash databases
and create new databases in files, specify their own block size value
and thus do not depend on block size autotuning.

PR:		bin/144446
Submitted by:	Peter Jeremy <peterjeremy@acm.org>
MFC after:	5 days
2010-04-05 10:12:21 +00:00
avg
75f42004bf hash.3: fix a factual mistake in the man page
PR:		bin/144446
Submitted by:	Peter Jeremy <peterjeremy@acm.org>
MFC after:	3 days
2010-04-05 10:01:53 +00:00
ume
7915a50654 Add capability to use a db version of services. It is enabled by
specifying `db' as source of service in /etc/nsswitch.conf.

MFC after:	2 weeks
2010-04-04 08:31:03 +00:00
ume
6e468628cf Reduce duplicate code.
MFC after:	2 weeks
2010-04-04 07:31:10 +00:00
ume
ad7b5cc594 Treat '+' as special only when in compat mode, and simplify
the logic bit.

MFC after:	2 weeks
2010-04-04 07:21:45 +00:00
ume
74ecc8e0c6 Stop adding trailing '\n'. The servent_unpack() doesn't expect
lines terminated with '\n'.

MFC after:	2 weeks
2010-04-04 07:02:10 +00:00
fabient
85d5b2855f - Support for uncore counting events: one fixed PMC with the uncore
domain clock, 8 programmable PMC.
- Westmere based CPU (Xeon 5600, Corei7 980X) support.
- New man pages with events list for core and uncore.
- Updated Corei7 events with Intel 253669-033US December 2009 doc.
  There is some removed events in the documentation, they have been
  kept in the code but documented in the man page as obsolete.
- Offcore response events can be setup with rsp token.

Sponsored by: NETASQ
2010-04-02 13:23:49 +00:00
delphij
31655aa073 Remove _LARGEFILE64_SOURCE==1 case which is supposed to be always false
on FreeBSD.

Pointed out by:	dougb
2010-04-01 22:52:09 +00:00
delphij
8da4807e95 For now, hardcode FreeBSD configuration that will never change on zlib.h:
unifdef -D_FILE_OFFSET_BITS=64 -U_LFS64_LARGEFILE -U_LARGEFILE64_SOURCE
2010-04-01 21:21:45 +00:00
delphij
ba79e1ef62 Update to 1.2.4.1 (beta). 2010-03-31 20:55:13 +00:00
delphij
4aabc5b3a4 Add prototype for libc internal interfaces. 2010-03-31 18:37:00 +00:00
delphij
1abd1d7fd9 Add prototypes for libc private interfaces.
While I'm there, apply __unused whenever appropriate.

Reviewed by:	md5(1)
2010-03-31 18:36:04 +00:00
jhb
b82a4c003c Use panic() (which the environment is required to provide to libstand) to
implement assert() instead of relying on a non-required exit().  The exit()
invocation also did not match the semantics of the exit() routine that
current boot environments happen to require.

PR:		kern/144749
Discussed with:	bde
MFC after:	1 week
2010-03-30 19:07:41 +00:00
trasz
b49ccfb35d Make acl_to_text_np(3) not crash on long group or user names in NFSv4 ACLs.
PR:		amd64/145091
MFC after:	2 weeks
2010-03-28 17:29:15 +00:00
ed
b8861cbb49 Don't forget to bump the date in the man page. 2010-03-28 13:40:13 +00:00
ed
4f08ecd7ed Rename st_*timespec fields to st_*tim for POSIX 2008 compliance.
A nice thing about POSIX 2008 is that it finally standardizes a way to
obtain file access/modification/change times in sub-second precision,
namely using struct timespec, which we already have for a very long
time. Unfortunately POSIX uses different names.

This commit adds compatibility macros, so existing code should still
build properly. Also change all source code in the kernel to work
without any of the compatibility macros. This makes it all a less
ambiguous.

I am also renaming st_birthtime to st_birthtim, even though it was a
local extension anyway. It seems Cygwin also has a st_birthtim.
2010-03-28 13:13:22 +00:00
kaiw
28e4fb3b8e Merge improvements from kernel HID parser to the userland usbhid(3)
parser.  This merge does not change any API and should not break any
native or thirdparty applications.

Changes include:

* Merge multiple report ID support and other improvements from kernel
  HID parser.
* Ignore rid argument in hid_start_parser, parse all the report items since
  we now support multiple report ID.
* Skip report ID byte in hid_get_data() and set report ID byte in
  hid_set_data(), if report ID is non-zero.
* Reimplement hid_get_report_id: instead get report id from uhid device
  (which is always 0), try parsing the report descriptor and return the
  first report ID encountered.

Reviewed by:	hps
Silent on:	-usb mailing list
2010-03-27 08:00:16 +00:00
gahr
d3131ffa6e - Remove const'ness from dlerror(3) prototype, for consistency with POSIX.
Approved by:	cognet
MFC after:	1 week
2010-03-24 15:59:51 +00:00
jhb
399c01844a Reject attempts to create a MAP_ANON mapping with a non-zero offset.
PR:		kern/71258
Submitted by:	Alexander Best
MFC after:	2 weeks
2010-03-23 21:08:07 +00:00
rpaulo
c95938299e Finish the much belated Intel XScale hwpmc(4) man page. 2010-03-23 11:33:08 +00:00
delphij
242fa9b755 Update to zlib 1.2.4 and add versioned symbols to the
library.

Sponsored by:	iXsystems, Inc.
2010-03-22 21:11:55 +00:00
ed
11f35d5f24 Let opendir() use O_DIRECTORY.
I am not removing the fstat() calls here, since we cannot yet assume
people will always run kernels that respect O_DIRECTORY.
2010-03-21 20:45:06 +00:00
ed
6156503467 Actually make O_DIRECTORY work.
According to POSIX open() must return ENOTDIR when the path name does
not refer to a path name. Change vn_open() to respect this flag. This
also simplifies the Linuxolator a bit.
2010-03-21 20:43:23 +00:00
marius
178b23b477 Avoid aliasing which leads to incorrect results when compiling with the
default strict aliasing rules.

PR:		144900
Submitted by:	Peter Jeremy
MFC after:	3 days
2010-03-21 13:18:08 +00:00
jilles
ff5a1c96ea Do not create *.gmon files for PIE executables on i386.
Scrt1_c.o was accidentally compiled with -DGCRT (profiling), like gcrt1_c.o.
This problem is i386-specific, the other architectures are OK.

If you have problems with PIE executables such as samba and cups leaving
behind gmon files, rebuild them after installing this change.

PR:		ports/143924
Reviewed by:	kib
MFC after:	3 days
2010-03-20 22:58:54 +00:00
marius
2fa96a801d - While SPARC V9 allows tininess to be detected either before or after
rounding (impl. dep. #55), the SPARC JPS1 responsible for SPARC64 and
  UltraSPARC processors defines that in all cases tinyness is detected
  before rounding, therefore rounding up to the smallest normalised
  number should set the underflow flag.
- If an infinite result is rounded down, the result should have an
  exponent 1 less than the value for infinity.

PR:		144900
Submitted by:	Peter Jeremy
MFC after:	3 days
2010-03-20 22:32:13 +00:00
marius
8ab5f9bf65 Division should take both arguments' signs into account when the
the dividend is infinity or zero and the divisor is not the same.

PR:		144900
Submitted by:	Peter Jeremy
MFC after:	3 days
2010-03-20 22:12:15 +00:00
marius
3bd5fab1de FPU_DEBUG requires <stdio.h>.
PR:		144900
Submitted by:	Peter Jeremy
MFC after:	3 days
2010-03-20 21:27:44 +00:00
marius
df7798b6b4 Ensure that __fpu_ftox() both returns the high bits and res[1] contains
the low bits also in the default case.

PR:		144900
Obtained from:	OpenBSD
MFC after:	3 days
2010-03-20 21:15:56 +00:00
marius
8842ef0888 - Remove a bogus forward declaration.
- Fix whitespace.
2010-03-20 21:04:47 +00:00
delphij
f1216d1f0a Create a custom branch where I will be able to do the merge. 2010-03-19 00:19:55 +00:00
dougb
d645bf55b3 Update to 9.6.2-P1, the latest patchfix release which deals with
the problems related to the handling of broken DNSSEC trust chains.

This fix is only relevant for those who have DNSSEC validation
enabled and configure trust anchors from third parties, either
manually, or through a system like DLV.
2010-03-18 19:00:35 +00:00
delphij
f7df177d99 Remove two pieces of code (one disabled in revision 39665 and another derived
from the first one) that is not used for the last 12 years.
2010-03-18 00:27:17 +00:00
phk
b9030b276e Comment a fine point, so it does not get lost when people borrow code
from FreeBSD for other purposes.
2010-03-15 08:58:35 +00:00
ed
1cea028198 Trim down libcompat by removing <regexp.h>.
Erwin ran an exp-run with libcompat and <regexp.h> removed. It turns out
the regexp library is almost entirely unused. In fact, it looks like it
is sometimes used by accident. Because these function names clash with
libc's <regex.h>, some application use both <regex.h> and libcompat,
which means they link against the wrong regex library.

This commit removes the regexp library and reimplements re_comp() and
re_exec() using <regex.h>. It seems the grammar of the regular
expressions accepted by these functions is similar to POSIX EREs.

After this commit, 1 low-profile port will be broken, but the maintainer
already has a patch for it sitting in his mailbox.
2010-03-14 10:18:58 +00:00
ed
533aa54353 Small style(9) cleanups. 2010-03-13 18:06:17 +00:00
imp
987fda9307 Make this conform to the other top-level Makefile subdir listings with
one file per line.

Suggested by: bde
2010-03-13 03:06:48 +00:00
jmallett
5637471dad Fix spelling of noreorder. 2010-03-13 02:10:20 +00:00
delphij
5da11ddf69 Correct bugs fixed but not merged from my own tree.
Pointy hat to:	delphij
MFC after:	1 month
2010-03-13 00:15:06 +00:00
delphij
91caf9b920 Follow up commit to reindent the code.
MFC after:	1 month
2010-03-12 21:15:35 +00:00
delphij
ae5ae700da Two optimizations to MI strlen(3) inspired by David S. Miller's
blog posting [1].

 - Use word-sized test for unaligned pointer before working
   the hard way.

   Memory page boundary is always integral multiple of a word
   alignment boundary.  Therefore, if we can access memory
   referenced by pointer p, then (p & ~word mask) must be also
   accessible.

 - Better utilization of multi-issue processor's ability of
   concurrency.

   The previous implementation utilized a formular that must be
   executed sequentially.  However, the ~, & and - operations can
   actually be caculated at the same time when the operand were
   different and unrelated.

   The original Hacker's Delight formular also offered consistent
   performance regardless whether the input would contain
   characters with their highest-bit set, as it catches real
   nul characters only.

These two optimizations has shown further improvements over the
previous implementation on microbenchmarks on i386 and amd64 CPU
including Pentium 4, Core Duo 2 and i7.

[1] http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2010/03/08#strlen_1

MFC after:	1 month
2010-03-12 21:14:56 +00:00
uqs
8f141f1a13 Fix several typos in macros or macro misusage.
Found by:	make manlint
Reviewed by:	ru
Approved by:	philip (mentor)
2010-03-12 10:01:06 +00:00
jhb
2684d78c89 - Use an initializer macro to initialize fields in 'fake' FILE objects used
by *sprintf(), etc.
- Explicitly initialize _fl_mutex to PTHREAD_MUTEX_INITIALIZER for all FILE
  objects.  This is currently a nop on FreeBSD, but is import for other
  platforms (or in the future) where PTHREAD_MUTEX_INITIALIZER is not simply
  zero.

PR:		threads/141198
Reported by:	Jeremy Huddleston @ Apple
MFC after:	2 weeks
2010-03-11 17:03:32 +00:00
jhb
03101f1cf6 Fix a bug in the previous change: remove function-local definition of
tcp_key and udp_key that shadows the global definition.

PR:		threads/144558
Submitted by:	Sam Robb
2010-03-11 16:58:15 +00:00
marius
4966ff62b9 Fix a typo in r204974 so that FTYPE_LNG matches the initialisers of
the opmask array.

Pointed out by:	Peter Jeremy
2010-03-11 07:46:17 +00:00
marius
7892dc274e - The OPSZ macro actually only does the right thing for int32 and int64
operands but not for double and extended double ones. Instead of trying
  to fix the macro just nuke it and unroll the loops in the correct way
  though as extended double operands turn out to be the only special case.
- For FxTO{s,d,q} the source operand is int64 so rs2 has to be re-decoded
  after setting type accordingly as it's generally decoded using the low
  2 bits as the type, which are 0 for these three instructions.
- Similarly, in case of F{s,d,q}TOx the target is int64 so rd has to be
  re-decoded using not only the operand mask appropriate for int64 but
  also the correct register number encoding.
- Use const where appropriate.
- Wrap long lines.

Submitted by:	Peter Jeremy (partly)
MFC after:	3 days
2010-03-10 19:55:48 +00:00
jhb
e0724fd324 Use thr_once() with once_t controls to initialize various thread_key_t
objects used to provide per-thread storage in the RPC code.  Almost all
of these used double-checking with a dedicated mutex (tsd_lock) to do this
before.  However, that is not always safe with more relaxed memory orders.
There were also other bugs, such as one in __rpc_createrr() that caused a
new key to be allocated each time __rpc_createrr() was invoked.

PR:		threads/144558
Reported by:	Sam Robb  samrobb of averesystems com (key leak)
MFC after:	1 week
2010-03-10 13:23:25 +00:00
ed
c5fa503cec Add warnings to <regexp.h> and <sys/timeb.h>.
These header files only provide functionality that can be used in
combination with libcompat. In order to prevent people from including
them without any actual use (which happens a lot with <sys/timeb.h>),
put a warning here to make people more aware.

This means we have to lower WARNS for libcompat, which is no big deal.
2010-03-09 21:01:12 +00:00