Commit Graph

9707 Commits

Author SHA1 Message Date
Joseph Koshy
ebccf1e3a6 Bring a working snapshot of hwpmc(4), its associated libraries, userland utilities
and documentation into -CURRENT.

Bump FreeBSD_version.

Reviewed by:	alc, jhb (kernel changes)
2005-04-19 04:01:25 +00:00
Hajimu UMEMOTO
a87b3988c9 rename the NIS related fields to have yp_ prefix.
Suggested by:	delphij
2005-04-18 18:34:58 +00:00
Xin LI
ffe49790ef Do not check whether a pointer is NULL, since free(3) already takes care of
this case.

Reviewed by:	ume
2005-04-18 03:45:23 +00:00
David Schultz
fe769cdd95 Add a sysctl that returns the full path of a process' text file.
This information is needed by things like `gdb -p' and Sun's javac,
and previously it could only be obtained via procfs
2005-04-18 02:10:37 +00:00
Tim Kientzle
48a54ddbd0 Portability enhancement: MS Windows won't restore metadata if the file
is still open, so close the file as soon as we've written the
file contents, before we attempt to restore metadata.

Thanks to:  Kees Zeelenberg
2005-04-17 22:49:00 +00:00
Andrey A. Chernov
db7354df52 Fix truncl.3 MLINKS 2005-04-17 19:57:52 +00:00
Tim Kientzle
fec57dbcd5 Update "make distfile" to use newest automake/autoconf from ports.
Thanks to: Juergen Lock
2005-04-17 17:51:05 +00:00
Xin LI
6d44c5c74b Fix build for !YP case.
BTW.  Shall we change these fields to have yp_ prefix?  That will make the
code easier to read.
2005-04-17 15:10:30 +00:00
Hajimu UMEMOTO
109e5709c0 libc-internal interfaces should have two underscores in front
of their names.

Pointed out by:	das
2005-04-17 14:42:52 +00:00
Xin LI
5c83bb4912 Wrong working directory, sorry. The previous patch was what I have
seen in NetBSD's tree, and this one is what I have submitted for review.

Pointy hat to:	me
2005-04-17 04:00:55 +00:00
Xin LI
f5d25e4900 Remove a check about whether sa->sa_len is equal to salen from
getnameinfo(3).  POSIX standard does not require a sa_len field
in sockaddr struct, hence such requirement will cause problem
for portability.

PR:		standards/80008
Requested by:	Xin Liu <lx@knight.6test.edu.cn>
Reviewed by:	freebsd-standards (das)
MFC After:	2 weeks
2005-04-17 03:56:07 +00:00
David Schultz
1be5319a76 Be bug-for-bug compatible with the C standard with respect to
printf("%#.0o", 0).  Cite an amusing passage from a defect report.
2005-04-16 22:36:51 +00:00
David Schultz
a4ca7ca8ac More optimized math functions. 2005-04-16 21:12:55 +00:00
David Schultz
2f2ee27de4 Implement truncl() based on floorl(). 2005-04-16 21:12:47 +00:00
Robert Watson
a6c2bc8bcb When parsing the second {uid,gid} in an identity phrase for ugidfw,
check the password or group database before attempting to parse as an
integer, as is done for the first {uid,gid} in an identity phrase.

Obtained from:	TrustedBSD Project
Sponsored by:	SPAWAR, SPARTA
2005-04-16 11:58:55 +00:00
Robert Watson
89afecd482 In practice, you need to include <sys/types.h> and
<security/mac_bsdextended/mac_bsdextended.h> in order to include
<ugidfw.h>, so document that.

MFC after:	3 days
2005-04-16 11:32:46 +00:00
Hajimu UMEMOTO
62e8b17d72 Now, our getservbyname(3) is thread-safe. So, we don't need
to protect it with mutex lock.
2005-04-15 18:15:12 +00:00
Hajimu UMEMOTO
96f79dca76 - add getserv{byname,byport,ent}_r for internal use within libc.
- make getserv{byname,byport,ent} thread-safe.

Reviewed by:	gnn
2005-04-15 18:09:39 +00:00
Hajimu UMEMOTO
159d2a98c5 hostalias() is not thread-safe. So, introduce _res_hostalias()
and use it.

Obtained from:	BIND9
2005-04-15 14:42:29 +00:00
Hajimu UMEMOTO
f35528f852 remove needless res_init() call.
Inspired by:	NetBSD
2005-04-14 11:44:43 +00:00
Peter Wemm
c050415d18 Adapt the libpthread patch for using i386_set_gsbase() to libthr. 2005-04-14 00:44:07 +00:00
Peter Wemm
72a79166ea Use the i386_set_gsbase() syscall if it is implemented in the kernel.
This is a little hairy here because the allocation and usage of this
functionality is split into two places in libpthread.
2005-04-14 00:13:20 +00:00
Peter Wemm
4453c6dc67 Attempt i386_set_gsbase() before using the user_ldt code. Unimplemented
sysarch() calls return EINVAL, not SIGSYS.. so we can trivially adapt.
2005-04-14 00:02:37 +00:00
Peter Wemm
53193c146a Add stubs for the %fs/%gs base management calls. 2005-04-14 00:01:35 +00:00
Yoshihiro Takahashi
365971ecad Merge two slice_type_name() functions. 2005-04-13 13:42:38 +00:00
David Xu
787e88a3ac o Code cleanup, eliminate private thread id map, directly
use lwpid as thread id.
 o Export tls pointer.
2005-04-13 04:57:38 +00:00
David Xu
b9da3fd798 Fill traceme and events fields. 2005-04-12 23:33:08 +00:00
David Xu
7a4cd8d366 Conditionally report initial thread event. 2005-04-12 03:13:49 +00:00
David Xu
4faae5e992 Add missing event reporting code. 2005-04-12 03:08:11 +00:00
David Xu
a80845eab1 Sync with debugger code in libthr. 2005-04-12 03:03:16 +00:00
David Xu
d245d9e13f Add debugger event reporting support, current only TD_CREATE and TD_DEATH
events are reported.
2005-04-12 03:00:28 +00:00
Alan Cox
7e266fcd1f Add a machine-specific, optimized implementation of strcat.
PR: 73111
Submitted by: Ville-Pertti Keinonen <will@iki.fi> (taken from NetBSD)
MFC after: 3 weeks
2005-04-10 18:58:49 +00:00
Alan Cox
fb41e04787 Eliminate a conditional branch and as a side-effect eliminate a branch to
a return instruction.  (The latter is discouraged by the Opteron
optimization manual because it disables branch prediction for the return
instruction.)

Reviewed by: bde
2005-04-10 18:12:07 +00:00
Xin LI
13c273c81a Remove duplicated "bytes".
Submitted by:	Wojciech A. Koszek [dunstan freebsd czest pl]
PR:		79747
2005-04-10 12:15:25 +00:00
Alan Cox
6524eb94a1 Add a machine-specific, optimized implementation of strcpy.
PR: 73111
Submitted by: Ville-Pertti Keinonen <will@iki.fi> (taken from NetBSD)
MFC after: 3 weeks
2005-04-10 05:11:06 +00:00
Alan Cox
e5dd4df84c Add a machine-specific, optimized implementation of strcmp.
PR: 73111
Submitted by: Ville-Pertti Keinonen <will@iki.fi> (taken from NetBSD)
MFC after: 3 weeks
2005-04-09 20:47:08 +00:00
Hajimu UMEMOTO
e8ffd81605 unbreak build without YP defined.
Submitted by:	Andrea Campi <andrea+freebsd_cvs_at_webcom.it>
2005-04-09 14:20:18 +00:00
Stefan Farfeleder
cf00abe993 Remove unused variables and assignments. 2005-04-08 21:24:23 +00:00
Stefan Farfeleder
fd42c4d829 Use prototypes in the function definitions. 2005-04-08 21:15:38 +00:00
Stefan Farfeleder
e413b7d2f8 Remove unused variable. 2005-04-08 20:58:47 +00:00
Alan Cox
26f6218be9 Add machine-specific, optimized implementations of bcmp and memcmp.
PR: 73111
Submitted by: Ville-Pertti Keinonen <will@iki.fi> (taken from NetBSD)
MFC after: 3 weeks
2005-04-08 05:15:55 +00:00
Alan Cox
b5c9ad687a Eliminate unneeded instructions that are a vestige of mechanical
translation from i386.
2005-04-08 05:10:18 +00:00
David Schultz
07f3bc5b9c Add roundl(), lroundl(), and llroundl(). 2005-04-08 01:24:08 +00:00
David Schultz
4bb190a74b These files should include s_lround.c instead of s_lrint.c.
This only matters for efficiency, not for correctness.
2005-04-08 00:52:27 +00:00
David Schultz
fc87986708 Fix a (coincidentally harmless) bug. 2005-04-08 00:52:16 +00:00
Olivier Houchard
e0d6cac076 Use the new atomic_cmpset_32(). 2005-04-07 22:06:05 +00:00
David Xu
62a2d99ce5 Adjust hash function for smaller pthread structure size. 2005-04-07 06:09:17 +00:00
Alan Cox
0417d4e3e9 Eliminate an unneeded instruction that is a vestige of mechanical
translation from i386.
2005-04-07 05:46:46 +00:00
Peter Wemm
8d6f45f534 Fix strict-alias warnings by removing excessive (and wrong) casts. 2005-04-07 04:33:15 +00:00
Alan Cox
91c09a383a Add machine-specific, optimized implementations of bcopy, bzero, memcpy,
memmove, and memset.

PR: 73111
Submitted by: Ville-Pertti Keinonen <will@iki.fi> (taken from NetBSD)
MFC after: 3 weeks
2005-04-07 03:56:03 +00:00
Hajimu UMEMOTO
2424b11851 - we are no longer shareing any resources to be locked between
getaddrinfo(3) and getipnodeby*(3).
- use definitions in reentrant.h.
- remove obsolete comment.
2005-04-06 15:36:34 +00:00
Hajimu UMEMOTO
1b482912d1 MUTEX_INITIALIZER should be used instead of
PTHREAD_MUTEX_INITIALIZER, here.
2005-04-06 15:16:04 +00:00
David Xu
bc1eb018c1 Remove unique id field which is no longer used by debugger. 2005-04-06 13:57:31 +00:00
David Xu
02e98e495b Remove debug symbol from installed library, one can always
use compiled version in libthr directory.
2005-04-06 13:48:11 +00:00
Hajimu UMEMOTO
148b7ece93 separate gai_strerror(3) from getaddrinfo.c.
Requested by:	phantom
2005-04-06 12:45:51 +00:00
Tim Kientzle
81a4ac6ddb A number of improvements to ZIP support.
* Handles entries with compressed size >2GB (signed/unsigned cleanup)
  * Handles entries with compressed size >4GB ("ZIP64" extension)
  * Handles Unix extensions (ctime, atime, mtime, mode, uid, etc)
  * Format-specific "skip data" override allows ZIP reader to skip
    entries without decompressing them, which makes "tar -t"
    a lot faster.
  * Handles "length-at-end" entries generated by, e.g., "zip -r - foo"

Many thanks to: Dan Nelson, who contributed the code and test files for
   the first three items above and suggested the fourth.
2005-04-06 04:19:30 +00:00
David Schultz
46691dfbe7 Fix a long-standing bug in k_rem_pio2(), which led to large errors when
tanf() was called with big arguments close to multiples of pi/2.

Reported by:	ucbtest via bde
2005-04-05 23:27:47 +00:00
Hajimu UMEMOTO
d7057edb15 make yp stuff re-entrant.
Obtained from:	NetBSD
2005-04-05 18:25:23 +00:00
Hajimu UMEMOTO
069eb2cafb protect _yp_domain with mutex lock.
Inspired by:	NetBSD
2005-04-05 18:07:59 +00:00
Hajimu UMEMOTO
78ebcde839 add missing mutex unlock. 2005-04-05 17:13:28 +00:00
Poul-Henning Kamp
a8bc22b47a natd core dumps when -reverse switch is used because of a bug in
libalias.

In /usr/src/lib/libalias/alias.c, the functions LibAliasIn and
LibAliasOutTry call the legacy PacketAliasIn/PacketAliasOut instead
of LibAliasIn/LibAliasOut when the PKT_ALIAS_REVERSE option is set.
In this case, the context variable "la" gets lost because the legacy
compatibility routines expect "la" to be global.  This was obviously
an oversight when rewriting the PacketAlias* functions to the
LibAlias* functions.

The fix (as shown in the patch below) is to remove the legacy
subroutine calls and replace with the new ones using the "la" struct
as the first arg.

Submitted by:	Gil Kloepfer <fgil@kloepfer.org>
Confirmed by:	<nicolai@catpipe.net>
PR:		76839
MFC after:	3 days
2005-04-05 13:04:35 +00:00
David Xu
2ec2da8602 Export thread address. 2005-04-05 11:38:30 +00:00
David Schultz
d06a0070af Build exp2(), exp2f(), and related documentation. 2005-04-05 02:57:39 +00:00
David Schultz
90232fdf16 Document exp2() and exp2f(), and make other minor tweaks and updates. 2005-04-05 02:57:28 +00:00
David Schultz
f8d6ede6b5 Implement exp2() and exp2f(). 2005-04-05 02:57:15 +00:00
David Xu
619f4fce79 Pass exact number of threads. 2005-04-04 23:43:53 +00:00
Hajimu UMEMOTO
9def31dcd7 make _files_getaddrinfo() re-entrant.
Obtained from:	NetBSD
2005-04-04 19:45:27 +00:00
David Xu
fb91fbdc5d Export pthread_condattr_getclock, pthread_condattr_setclock. 2005-04-03 23:52:29 +00:00
David Schultz
f0ceb98f93 Replace the current strspn() and strcspn() with significantly faster
implementations inspired by the ones in DragonFly.  Unlike the
DragonFly versions, these have a small data cache footprint, and my
tests show that they're never slower than the old code except when the
charset or the span is 0 or 1 characters.  This implementation is
generally faster than DragonFly until either the charset or the span
gets in the ballpark of 32 to 64 characters.
2005-04-02 18:52:44 +00:00
David Schultz
5e9b87a863 Add some missing errnos from POSIX. Nothing in FreeBSD generates
these at the moment, but applications that test for them will now
have a better chance of compiling.

I have intentionally omitted errnos that are only good for STREAMS,
since apps that use STREAMS won't compile anyway.  The exception is
EPROTO, which was apparently intended for STREAMS, but worth having
anyway because Linux (mis)uses it for other things.
2005-04-02 12:33:28 +00:00
Hajimu UMEMOTO
0fbf0979c8 nuke the logic for AF_UNSPEC and simplify. once, it was introduced
to improve getaddrinfo(3).  but, it is not needed for a long time
since getaddrinfo(3) became providing its own res_*N() functions.
2005-04-02 08:18:33 +00:00
David Xu
1014842397 Connect libthr and libthread_db to make buildworld. 2005-04-02 01:40:12 +00:00
David Xu
e65421ba6f Update debugger code for new libthr. 2005-04-02 01:36:21 +00:00
David Xu
a091d823ad Import my recent 1:1 threading working. some features improved includes:
1. fast simple type mutex.
 2. __thread tls works.
 3. asynchronous cancellation works ( using signal ).
 4. thread synchronization is fully based on umtx, mainly, condition
    variable and other synchronization objects were rewritten by using
    umtx directly. those objects can be shared between processes via
    shared memory, it has to change ABI which does not happen yet.
 5. default stack size is increased to 1M on 32 bits platform, 2M for
    64 bits platform.
As the result, some mysql super-smack benchmarks show performance is
improved massivly.

Okayed by: jeff, mtm, rwatson, scottl
2005-04-02 01:20:00 +00:00
David Xu
f150fe1394 Prepare for importing my 1:1 threading work, disconnect libthr and
libthread_db from make buildworld.
2005-04-02 00:59:18 +00:00
Yoshihiro Takahashi
4fe043b760 Add over 32GB disk support on pc98 (userland part).
Submitted by:	Hirokazu WATANABE
2005-03-30 13:03:33 +00:00
Tim Kientzle
fa37cdf60b Clean up the support for extracting very long pathnames. 2005-03-29 05:24:08 +00:00
Pawel Jakub Dawidek
4ba88b3d56 Fix typo - link for bsde_add_rule(3) manual page was not created.
MFC after:	1 week
2005-03-28 09:38:43 +00:00
Pawel Jakub Dawidek
fbc822ae3a Properly return rule number.
Submitted by:	Wojciech A. Koszek
PR:		bin/79292
MFC after:	1 week
2005-03-28 09:37:44 +00:00
David Schultz
3b9141ee91 Implement and document remquo() and remquof(). 2005-03-25 04:40:44 +00:00
David Xu
ab7f22e264 Eliminate plt relocation for kse_switchin. 2005-03-21 23:10:35 +00:00
David Xu
26896bda48 Use __weak_reference macro to define weak symbols. 2005-03-21 13:17:16 +00:00
David Schultz
3edb8f412f Teach fmtcheck() about the ' (thousands separator) flag. 2005-03-21 08:00:55 +00:00
Simon L. B. Nielsen
4bced63f6d Add byteorder(9) to SEE ALSO.
MFC after:	3 days
2005-03-20 17:27:57 +00:00
Pawel Jakub Dawidek
f8197bf090 Make kvm(3) aware of ki_jid field.
Reviewed by:	gad
MFC after:	3 days
2005-03-20 10:37:56 +00:00
Olivier Houchard
2b2714935b Use the correct values for softfloat, in both the little endian and the big
endian cases.
2005-03-20 00:53:52 +00:00
David Schultz
2c2435825a Fix the double rounding problem with subnormals, and
remove the XXX comments, which no longer apply.
2005-03-18 02:27:59 +00:00
David Schultz
21122bea01 Add missing prototypes for fma() and fmaf(), and remove an inaccurate
comment.
2005-03-18 01:47:42 +00:00
David Schultz
9233b45ad9 Make the fenv.h routines work for programs that use SSE for
floating-point arithmetic on i386.  Now I'm going to make excuses
for why this code is kinda scary:

- To avoid breaking the ABI with 5.3-RELEASE, we can't change
  sizeof(fenv_t).  I stuck the saved mxcsr in some discontiguous
  reserved bits in the existing structure.

- Attempting to access the mxcsr on older processors results
  in an illegal instruction exception, so support for SSE must
  be detected at runtime.  (The extra baggage is optimized away
  if either the application or libm is compiled with -msse{,2}.)

I didn't run tests to ensure that this doesn't SIGILL on older 486's
lacking the cpuid instruction or on other processors lacking SSE.
Results from running the fenv regression test on these processors
would be appreciated.  (You'll need to compile the test with
-DNO_STRICT_DFL_ENV.)  If you have an 80386, or if your processor
supports SSE but the kernel didn't enable it, then you're probably out
of luck.

Also, I un-inlined some of the functions that grew larger as a result
of this change, moving them from fenv.h to fenv.c.
2005-03-17 22:21:46 +00:00
Maksim Yevmenkin
738473e4ff Fix typo in comments (spell Linux correctly)
Submitted by:	Markus Brueffer < markus at brueffer dot de >
MFC after:	3 days
2005-03-17 21:39:44 +00:00
Doug Barton
abc776e5fc Regenerate for 9.3.1 2005-03-17 08:39:12 +00:00
Doug Barton
098df091f3 bmake changes to handle the move of dns/sec and related files 2005-03-17 08:35:21 +00:00
David Schultz
56ad27535a Spell 'fedisableexcept' correctly. 2005-03-16 22:34:14 +00:00
David Schultz
2e5fb44003 Document feenableexcept(), fedisableexcept(), and fegetexcept(). 2005-03-16 19:04:28 +00:00
David Schultz
10b01832c3 Replace fegetmask() and fesetmask() with feenableexcept(),
fedisableexcept(), and fegetexcept().  These two sets of routines
provide the same functionality.  I implemented the former as an
undocumented internal interface to make the regression test easier to
write.  However, fe(enable|disable|get)except() is already part of
glibc, and I would like to avoid gratuitous differences.  The only
major flaw in the glibc API is that there's no good way to report
errors on processors that don't support all the unmasked exceptions.
2005-03-16 19:03:46 +00:00
David Schultz
7b74e4a759 Remove fpsetsticky(). This was added for SysV compatibility, but due
to mistakes from day 1, it has always had semantics inconsistent with
SVR4 and its successors.  In particular, given argument M:

- On Solaris and FreeBSD/{alpha,sparc64}, it clobbers the old flags
  and *sets* the new flag word to M.  (NetBSD, too?)
- On FreeBSD/{amd64,i386}, it *clears* the flags that are specified in M
  and leaves the remaining flags unchanged (modulo a small bug on amd64.)
- On FreeBSD/ia64, it is not implemented.

There is no way to fix fpsetsticky() to DTRT for both old FreeBSD apps
and apps ported from other operating systems, so the best approach
seems to be to kill the function and fix any apps that break.  I
couldn't find any ports that use it, and any such ports would already
be broken on FreeBSD/ia64 and Linux anyway.

By the way, the routine has always been undocumented in FreeBSD,
except for an MLINK to a manpage that doesn't describe it.  This
manpage has stated since 5.3-RELEASE that the functions it describes
are deprecated, so that must mean that functions that it is *supposed*
to describe but doesn't are even *more* deprecated.  ;-)

Note that fpresetsticky() has been retained on FreeBSD/i386.  As far
as I can tell, no other operating systems or ports of FreeBSD
implement it, so there's nothing for it to be inconsistent with.

PR:		75862
Suggested by:	bde
2005-03-15 15:53:39 +00:00
Poul-Henning Kamp
9c4fb6619c Dike out unwarranted reference to si_udev. 2005-03-15 14:26:14 +00:00
Hartmut Brandt
1c80835774 Finish repo-copy of lib/libbsnmp/modules to usr.sbin/bsnmpd/modules.
These modules are modules for the daemon, not for the library so
they should be where the daemon is.
2005-03-14 17:32:16 +00:00
Tim Kientzle
236d2801ad Support extracting entries with pathnames longer than PATH_MAX. In
testing, I've archived and restored dir trees with ~1MB pathnames.
Most formats, of course, have much smaller limits.
2005-03-13 02:53:42 +00:00
Tim Kientzle
516788f9a0 When rejecting rediculously large pax attributes (such as pathnames
over 1MB), issue a warning instead of forcing an internal assertion
failure.
2005-03-13 02:35:52 +00:00
Tim Kientzle
569ed75cbc Correctly pass low-level I/O errors back up to the caller when
reading cpio format.
2005-03-13 01:52:35 +00:00
Tim Kientzle
20b8c58920 Better error messages on read and file-open errors. 2005-03-13 01:51:16 +00:00
Tim Kientzle
ceecd8dc63 Include detailed error message from zlib after a decompression error. 2005-03-13 01:48:33 +00:00
Tim Kientzle
666cdfecc9 If the output is not a regular file, it's okay to add it to the archive.
In particular, /dev/st0 can be added to an archive being written to /dev/st0.

Thanks to: Jaakko Heinonen
2005-03-13 01:47:31 +00:00
Stefan Farfeleder
595e532309 Use socklen_t where appropriate. 2005-03-11 14:17:12 +00:00
Stefan Farfeleder
1f7d62b344 Avoid pointer arithmetics on void *.
Approved by:	alfred
2005-03-10 08:25:49 +00:00
Stefan Farfeleder
08baa8a1fa Remove an superfluous assignment.
Approved by:	alfred
2005-03-10 00:58:21 +00:00
Stefan Farfeleder
720138bbde Use socklen_t where appropriate.
Approved by:	alfred
2005-03-10 00:57:01 +00:00
Colin Percival
186c183c23 In light of the recent 2^69 operation collision-finding attack on SHA1,
add support for SHA256.

Tested on:	i386, sparc64
Tested using:	NIST test vectors, built-in tests
X-MFC-after:	5.4-RELEASE
2005-03-09 19:23:04 +00:00
Colin Percival
c7981eaee3 The third parameter to SHA_Update and SHA1_Update is a "size_t", not a
"unsigned int".
2005-03-09 16:22:21 +00:00
Alfred Perlstein
d025278aa1 Make MSG_NOSIGNAL available to native programs.
Bump FreeBSD_version to note this change.

Reviewed by: sobomax
2005-03-09 00:17:33 +00:00
Stefan Farfeleder
f51df9ed11 Initialise `sn' before using its value. 2005-03-08 21:46:18 +00:00
Poul-Henning Kamp
9a9ef8b65a Have ttyname_r() try to ask DEVFS for the device name.
Document ttyname_r().

Simplify threaded/unthreaded stuff a lot.
2005-03-08 21:35:52 +00:00
Poul-Henning Kamp
008aca9807 Make the returnvalue of times(3) insensitive to changes in wall-clock.
PR:	78537
2005-03-08 08:12:35 +00:00
David Schultz
3d266bde6d Replace strong references with weak references. There's no
particularly good reason to do this, except that __strong_reference
does type checking, whereas __weak_reference does not.
On Alpha, the compiler won't accept a 'long double' parameter in
place of a 'double' parameter even thought the two types are
identical.
2005-03-07 21:27:37 +00:00
Stefan Farfeleder
3ddc6e9440 Remove an obsolete sentence from a comment. 2005-03-07 20:28:26 +00:00
Alexey Zelkin
85faa37735 Add korean NLS message catalogs for libc
Submitted by:	Hye-Shik Chang <perky@FreeBSD.org>
PR:		misc/78290
2005-03-07 13:57:24 +00:00
David Schultz
c8642491d5 - If z is 0, one of x or y is 0, and the other is infinite, raise
an invalid exception and return an NaN.
- If a long double has 113 bits of precision, implement fma in terms
  of simple long double arithmetic instead of complicated double arithmetic.
- If a long double is the same as a double, alias fma as fmal.
2005-03-07 05:02:09 +00:00
David Schultz
b3bc33db36 Add manpage links for frexpf, frexpl, ldexpf, and ldexpl. 2005-03-07 05:01:04 +00:00
David Schultz
a8af59b5f7 Document frexpl and ldexpl. 2005-03-07 05:00:54 +00:00
David Schultz
388bf3b630 Document scalbnl and scalblnl. 2005-03-07 05:00:44 +00:00
David Schultz
6af2c5a60c Document nextafterl and nexttoward{,f,l}. 2005-03-07 05:00:29 +00:00
David Schultz
15a53f77fd Add nexttoward to the list of implemented functions, and explicitly
list the four that are still missing.
2005-03-07 04:59:53 +00:00
David Schultz
66d672d8cb Document fmal. 2005-03-07 04:59:43 +00:00
David Schultz
94e03502dc Remove ldexp and ldexpf. The former is in libc, and the latter is
identical to scalbnf, which is now aliased as ldexpf.  Note that the
old implementations made the mistake of setting errno and were the
only libm routines to do so.
2005-03-07 04:59:30 +00:00
David Schultz
aeb5e711f3 - Remove s_ldexpf.c (now aliased to scalbn.)
- Add nexttoward{,f,l} and nextafterl.  On all platforms,
  nexttowardl is an alias for nextafterl.
- Add fmal.
- Add man pages for new routines: fmal, nextafterl,
  nexttoward{,f,l}, scalb{,l}nl.

Note that on platforms where long double is the same as double, we
generally just alias the double versions of the routines, since doing
so avoids extra work on the source code level and redundant code in
the binary.  In particular:

		ldbl53		ldbl64/113
fmal       	s_fma.c		s_fmal.c
ldexpl     	s_scalbn.c	s_scalbnl.c
nextafterl 	s_nextafter.c	s_nextafterl.c
nexttoward 	s_nextafter.c	s_nexttoward.c
nexttowardf	s_nexttowardf.c	s_nexttowardf.c
nexttowardl	s_nextafter.c	s_nextafterl.c
scalbnl    	s_scalbn.c	s_scalbnl.c
2005-03-07 04:59:11 +00:00
David Schultz
228ad57d05 - Define FP_FAST_FMA for sparc64, since fma() is now implemented using
sparc64's 128-bit long doubles.
- Define FP_FAST_FMAL for ia64.
- Prototypes for fmal, frexpl, ldexpl, nextafterl, nexttoward{,f,l},
  scalblnl, and scalbnl.
2005-03-07 04:58:43 +00:00
David Schultz
beed720c37 Alias scalbn as ldexpl and scalbnl on platforms where long double is
the same as double.
2005-03-07 04:58:03 +00:00
David Schultz
7b6a19039d - Implement scalblnl.
- In scalbln and scalblnf, check the bounds of the second argument.
  This is probably unnecessary, but strictly speaking, we should
  report an error if someone tries to compute scalbln(x, INT_MAX + 1ll).
2005-03-07 04:57:50 +00:00
David Schultz
caacab9b5f Implement nexttowardf. This is used on both platforms with 11-bit
exponents and platforms with 15-bit exponents for long doubles.
2005-03-07 04:57:38 +00:00
David Schultz
ef94de735a Implement nexttoward and nextafterl; the latter is also known as
nexttowardl.  These are not needed on machines where long doubles
look like IEEE-754 doubles, so the implementation only supports
the usual long double formats with 15-bit exponents.

Anything bizarre, such as machines where floating-point and integer
data have different endianness, will cause problems.  This is the case
with big endian ia64 according to libc/ia64/_fpmath.h.  Please contact
me if you managed to get a machine running this way.
2005-03-07 04:56:46 +00:00
David Schultz
a506506a1c - Try harder to trick gcc into not optimizing away statements
that are intended to raise underflow and inexact exceptions.
- On systems where long double is the same as double, nextafter
  should be aliased as nexttoward, nexttowardl, and nextafterl.
2005-03-07 04:55:58 +00:00
David Schultz
21f9dd806f - Define LDBL_NBIT to be a mask indicating the position of the integer
bit in a long double.  For architectures that don't have such a bit,
  LDBL_NBIT is 0.  This makes it possible to say `mantissa & ~LDBL_NBIT'
  in places that previously used an #ifdef to select the right expression.
  The optimizer should dispense with the extra arithmetic when LDBL_NBIT
  is 0 anyway.
- Add an XXX comment for the big endian case.
2005-03-07 04:55:40 +00:00
David Schultz
1dfab5edec Define LDBL_NBIT to be a mask indicating the position of the integer
bit in a long double.  For architectures that don't have such a bit,
LDBL_NBIT is 0.  This makes it possible to say `mantissa & ~LDBL_NBIT'
in places that previously used an #ifdef to select the right expression.
The optimizer should dispense with the extra arithmetic when LDBL_NBIT
is 0.
2005-03-07 04:55:22 +00:00
David Schultz
e0fe8e4440 Implement frexpl. 2005-03-07 04:54:51 +00:00
David Schultz
f8a40fca14 Alias frexp as frexpl on platforms where a long double is the same as
a double.
2005-03-07 04:54:39 +00:00
David Schultz
65e60ab108 Implement fmal. 2005-03-07 04:54:20 +00:00
David Schultz
b1f37dcef4 - Define the LDBL_PREC to be the number of significant bits in a long
double's mantissa.
- Add an assembly version of fmal.
2005-03-07 04:54:02 +00:00
David Schultz
99401fa2e9 - Define the LDBL_PREC to be the number of significant bits in a long
double's mantissa.
- Add an assembly version of scalbnl.
2005-03-07 04:53:48 +00:00
David Schultz
4be31f0664 Define the LDBL_PREC to be the number of significant bits in a long
double's mantissa.
2005-03-07 04:53:36 +00:00
David Schultz
4442891961 Add an assembly version of fmal. 2005-03-07 04:53:11 +00:00
David Schultz
cd7d05b5a2 Add scalbnl, also known as as ldexpl. 2005-03-07 04:52:58 +00:00
David Schultz
4b2011300b Alias scalbnf as ldexpf. The two are identical in binary
floating-point formats.
2005-03-07 04:52:43 +00:00
David Schultz
1b32579f23 Fix a mistake in the exponent range. 2005-03-06 19:08:18 +00:00
Joe Marcus Clarke
c5a6625e3e Increase the default stacksizes:
32-bit		64-bit
main thread	2 MB		4 MB
other threads	1 MB		2 MB

Approved by:	mtm
Adapted from:	libpthread
2005-03-06 07:56:18 +00:00
Maxime Henrion
cea5da0456 Unbreak strsignal(). This is an MFC candidate.
Reported by:	Sean McNeil <sean@mcneil.com>
2005-03-06 03:19:19 +00:00
David Schultz
f4a5643005 Work around a gcc bug. This fixes feholdexcept() et al. at -O1.
Symptoms of the problem included assembler warnings and
nondeterministic runtime behavior when a fe*() call that affects the
fpsr is closely followed by a float point op.

The bug (at least, I think it's a bug) is that gcc does not insert a
break between a volatile asm and a dependent instruction if the
volatile asm came from an inlined function.  Volatile asms seem to be
fine in other circumstances, even without -mvolatile-asm-stop, so
perhaps the compiler adds the stop bits before inlining takes place.
The problem does not occur at -O0 because inlining is disabled, and it
doesn't happen at -O2 because -fschedule-insns2 knows better.
2005-03-05 20:34:45 +00:00
Brian Feldman
91320d17cc Do not require the pty(4) majors to be anything in particular. 2005-03-04 20:23:32 +00:00
Joe Marcus Clarke
70037e98c4 Fix a problem in the Skinny ALG where a specially crafted packet could cause
a libalias application (e.g.  natd, ppp, etc.) to crash.  Note: Skinny support
is not enabled in natd or ppp by default.

Approved by:	secteam (nectar)
MFC after:	1 day
Secuiryt:	This fixes a remote DoS exploit
2005-03-03 03:06:37 +00:00
Kelly Yancey
448980e704 Set the TCP_NODELAY socket option and clear TCP_NOPUSH in order to flush
any pending HTTP request rather than calling shutdown(2) with SHUT_WR.
This makes libfetch (and thus fetch(1)) work again with Squid proxies
configured to not allow half-closed connections.

Reported by:	Pawel Worach (pawel.worach AT telia DOT com)
2005-03-02 19:09:28 +00:00
Tim Kientzle
84875e4d6f Use correct byte order when parsing the size of the gzip "Extra data" field.
In particular, this correctly allows bsdtar (and pkg_add) to skip
package signatures.

Thanks to: Theo Schlossnagle
2005-03-02 05:34:05 +00:00
David Xu
96a9329375 Fix incorrect comment. 2005-03-01 23:42:00 +00:00
Stefan Farfeleder
2af3af27a2 Fix typo in a comment. 2005-03-01 20:32:05 +00:00
Pawel Jakub Dawidek
b212dd15ff Add polish version of libc NLS catalog. 2005-03-01 14:38:30 +00:00
Joe Marcus Clarke
d525de835f Increase the default stacksizes:
32-bit		64-bit
main thread	2 MB		4 MB
other threads	1 MB		2 MB

Adapted from:	libpthread
Approved by:	deischen
2005-02-28 17:15:31 +00:00
Tom Rhodes
9c512d4ae0 Fix grammatical issue.
Submitted by:	ceri
2005-02-27 22:24:24 +00:00
Alexey Zelkin
0f331b31cf Backout NLS catalog handling, until all edge cases are resolved 2005-02-27 22:17:47 +00:00
Alexey Zelkin
fc7c352831 Unbreak !NLS case 2005-02-27 21:17:22 +00:00
Ruslan Ermilov
edc431123e Make the format of LC_COLLATE files architecture independent. 2005-02-27 20:31:13 +00:00
Alexey Zelkin
fcd2f9fe54 Revert accidiental removal of string.h inclusion. 2005-02-27 18:39:02 +00:00
Alexey Zelkin
82be63e1bb Enable processing of NLS catalogs while building/installing of libc 2005-02-27 18:09:52 +00:00
Alexey Zelkin
c2e31119ea Add russian version of libc NLS catalog
Translated by:	Valeriy Kravchuk <openxs@ipnet.kiev.ua>
		Alexey Dokuchaev <danfe@nsu.ru>
2005-02-27 18:09:09 +00:00
Alexey Zelkin
c51d47437b Add template NLS catalog for strerror(), strerror_r() and strsignal()
localization support
2005-02-27 17:59:39 +00:00
Xin LI
12927a8513 Change the spin lock logic to a reasonable one. We should spin when
the lock is held by other thread, but not when nobody owns it.  According
to deischen@, this part of code will never be hit in our threads
library, since it does not use locks without wait/wakeup functions.

Spotted by:	mingyanguo via ChinaUnix.net forum
Reviewed by:	deischen
2005-02-27 17:45:55 +00:00
Xin LI
2dcb9ce484 Remove the check about whether MALLOC_EXTRA_SANITY is defined,
surrounding the undef'ing it.  It does not seem necessary to
undef some symbol that is not exist, and gcc does not complain
about whether a symbol is exist before #undef'ing it out.

Spotted by:	mingyanguo via ChinaUnix.net forum
Reviewed by:	phk
2005-02-27 17:16:16 +00:00
Alexey Zelkin
fba5c5fa09 Add NLS catalogs support to strerror(), strerror_r() and strsignal().
Controlled by NLS define, currently disabled by default.

Idea obtained from:	NetBSD
2005-02-27 16:58:28 +00:00
Alexey Zelkin
efefbdc6d6 . Bump .Dd's
. Note POSIX 1003.1-2001 conformation
. Add ERRORS section for catgets(3)
. Note what catopen(3) returns EINVAL, if catalog is corrupt
2005-02-27 16:30:16 +00:00
Alexey Zelkin
fd5cf7c013 Bring in NetBSD's improvements and cleanups to NLS subsystem, making
it type and endian clean and removing of stdio dependency from NLS
functions (catalog files now are processed via mmap())

Also following changes were done (against NetBSD version):

. If mmap() failed, set errno to EINVAL and do not try to munmap() file

Obtained from:	NetBSD
2005-02-27 16:26:49 +00:00
Alexey Zelkin
e94c6cb4a2 . Static'ize functions exported via function reference variables only.
. Replace inclusion of sys/param.h to sys/cdefs.h and sys/types.h where
  appropriate.
. move _*_init() prototypes to mblocal.h, and remove these prototypes
  from .c files
. use _none_init() in __setrunelocale() instead of duplicating code
. move __mb* variables from table.c to none.c allowing us to not to
  export _none_*() externs, and appropriately remove them from mblocal.h

Ok'ed by:	tjr
2005-02-27 15:11:09 +00:00
Alexey Zelkin
f9b5e461bb ANSI'fy prototypes 2005-02-27 14:54:23 +00:00
Alexey Zelkin
75667314a9 Replace usage of strerror()/strcpy() with strerror_r() here, reducing
number of required operations to get error message and avoiding of strerror's
buffer clobbering.

Also ANSI'fy prototypes while I'm here
2005-02-27 14:51:27 +00:00
Tom Rhodes
16814e4c71 Use ~/.login_conf when discussing a user's local file.
Suggested by:	ru
2005-02-26 23:41:04 +00:00
Ruslan Ermilov
3fb3a43079 Make the format of LC_CTYPE files architecture independent by
introducing the disk formats for _RuneLocale and friends.

The disk formats do not have (useless) pointers and have 32-bit
quantities instead of rune_t and long.  (htonl(3) only works
with 32-bit quantities, so there's no loss).

Bootstrap mklocale(1) when necessary.  (Bootstrapping from 4.x
would be trivial (verified), but we no longer provide pre-5.3
source upgrades and this is the first commit to actually break
it.)
2005-02-26 21:47:54 +00:00
Olivier Houchard
788d6eeca0 Bring in a more healthy version of the libpthread for arm, which uses
ARM_TP_ADDRESS.
2005-02-26 19:06:49 +00:00
David Xu
17ceb495f0 Mark _rtld_allocate_tls and _rtld_free_tls as weak symbols for Variant I
tls.

Reviewed by: dfr
2005-02-26 10:39:49 +00:00
David Schultz
57276bb6ea Un-document the non-extant exp10() and exp10f() functions.
exp10() was a casualty of the transition away from the VAX.
2005-02-26 08:54:45 +00:00
Tom Rhodes
61001d7506 Fix a few markup nits in previous commit.
Noticed by:	ru, who else? :)
2005-02-25 00:40:46 +00:00
Tom Rhodes
59fa1b558e Reword previous commit to be a bit more correct and provide more information.
Inspiried by:	ru
2005-02-25 00:32:41 +00:00
David Schultz
aa28340df9 Revert rev 1.8, which causes small (e.g. 2 ulp) errors for some
inputs.  The trouble with replacing two floats with a double is that
the latter has 6 extra bits of precision, which actually hurts
accuracy in many cases.  All of the constants are optimal when float
arithmetic is used, and would need to be recomputed to do this right.

Noticed by:	bde (ucbtest)
2005-02-24 06:32:13 +00:00
Tom Rhodes
0fa17d320d Do not mislead users into checking for a mount_ufs or mount_ufs2 manual
page.  They do not exist.

PR:		53303
Submitted by:	Marc Silver <marcs@draenor.org> (original version)
2005-02-24 00:32:58 +00:00
Christian S.J. Peron
e80750df02 -document the fact that extattr_get_* can fail if the requested
attribute does not exist on the file.
-bump document date

Reviewed by:	rwatson,trhodes
MFC after:	1 week
2005-02-24 00:04:45 +00:00
Tom Rhodes
87dbe6bb4b Xref chflags(2).
Note that unlink.2 can return EPERM if the immutable or append-only flags are set.

PR:		77043
2005-02-23 23:55:58 +00:00
Tom Rhodes
ef8bcbfb41 Make it more obvious that cap_mkdb(1) is required to rebuild the database.
PR:		76981
Submitted by:	Lowell Gilbert <freebsd-bugs-local@be-well.ilk.org>
2005-02-23 22:11:59 +00:00
Tim Kientzle
59ded882e9 Fix a misplaced .El 2005-02-23 06:58:09 +00:00
Tim Kientzle
39cbd83837 Don't return NULL if there's no error message;
return a generic text message instead.
(Someday, I'll track down all the places that
are generating errors but not recording messages. ;-/

Thanks to: Jaakko Heinonen
2005-02-23 06:57:04 +00:00
Tom Rhodes
0e5d513b50 Add an EXAMPLES section[1], quote Nd, and bump doc date.
PR:		53621 [1]
Submitted by:	Faried Nawaz <fn@hungry.com> [1]
2005-02-23 02:02:38 +00:00
Max Khon
f1defde9d5 Fix EOVERFLOW detection in vswprintf(3)
Reviewed by:	tjr
MFC after:	2 weeks
2005-02-21 19:41:44 +00:00
David Schultz
adec44c08b Use hardware instructions for sqrt() and sqrtf(). 2005-02-21 18:27:57 +00:00
David Schultz
96efaf6c36 Use double arithmetic instead of simulating it with two floats. This
results in a performance gain on the order of 10% for amd64 (sledge),
ia64 (pluto1), i386+SSE (Pentium 4), and sparc64 (panther), and a
negligible improvement for i386 without SSE.  (The i386 port still
uses the hardware instruction, though.)
2005-02-21 17:44:57 +00:00
David Schultz
f674c13c78 Remove the i387 versions of atan(), atan2(), and atan2f().
They are slower than the MI routines on modern hardware,
except for degenerate cases such as the Pentium 4.

PR:		67469
2005-02-21 16:04:23 +00:00
David Schultz
c4691a5da9 Remove i387 versions of asin() and acos(). Although the hardware
instruction was faster on the 486, it's slower than our MD version on
modern processors.

Determined by:	bde
PR:		67469
2005-02-20 22:51:08 +00:00
David Schultz
dab1571b90 Remove the float versions of the i387 trig functions obtained from
NetBSD.  They're buggy, giving particularly for inputs larger in
magnitude than 2**63.

Noticed by:	bde
PR:		67469
2005-02-20 22:50:40 +00:00
Daniel Eischen
0e963ec574 Somewhere along the line, tick accumulation for SA threads was
changed to use the statclock.  Make sure we calculate the value
of a tick correctly in userland.

Noticed by:	Kazuaki Oda <kaakun at highway dot ne dot jp>
2005-02-18 16:07:05 +00:00
Dag-Erling Smørgrav
55cf7be1ab Fix a memory leak: when freeing the connection structure, don't forget to
free the connection buffer as well.

PR:		bin/76153
MFC after:	1 week
2005-02-16 12:46:46 +00:00
Kelly Yancey
20a2a51bc3 Set TCP_NOPUSH on HTTP requests, reducing the number of round-trips
necessary to establish each connection.

MFC after:	2 weeks
2005-02-16 00:22:20 +00:00
Daniel Eischen
888ab0185e Set the default guardsize and stacksize in the default thread
attribute when the library is initialized.
2005-02-15 15:02:11 +00:00
Ruslan Ermilov
423ac68026 Expand contractions. 2005-02-15 09:27:00 +00:00
Stefan Farfeleder
37df8bec5b Fix typo.
Submitted by:	Antoine Brodin
2005-02-14 18:40:31 +00:00
Stefan Farfeleder
1ad041fed3 Use socklen_t. 2005-02-14 17:55:33 +00:00
Stefan Farfeleder
10248e3a93 - Use socklen_t.
- No need for two instances of 'num'.
2005-02-14 17:51:45 +00:00