5091 Commits

Author SHA1 Message Date
dds
eab4be14c1 Document the recently-added EINVAL behavior.
MFC after:	1 week
2006-01-05 08:55:56 +00:00
grehan
ac8a981b11 gmon now supported on powerpc 2005-12-29 04:10:52 +00:00
grehan
2153c7c91d The minbrk symbol is hidden the same on powerpc as other FreeBSD platforms. 2005-12-29 04:09:38 +00:00
trhodes
8190ceb049 Add a64l(), l64a(), and l64a_r() XSI extentions. These functions convert
between a 32-bit integer and a radix-64 ASCII string.  The l64a_r() function
is a NetBSD addition.

PR:		51209 (based on submission, but very different)
Reviewed by:	bde, ru
2005-12-24 22:37:59 +00:00
phk
62bc67a619 Add abort2 manual page.
Submitted by:	"Wojciech A. Koszek" <dunstan@freebsd.czest.pl>
Edited by:	phk
2005-12-23 12:27:42 +00:00
cognet
2cf710a449 Explicitely use a "signed char" instead of a "char", for those archs where
char defaults to unsigned.
2005-12-22 14:23:54 +00:00
kan
8d6f05d58b Implement ELF symbol versioning using GNU semantics. This code aims
to be compatible with symbol versioning support as implemented by
GNU libc and documented by http://people.redhat.com/~drepper/symbol-versioning
and LSB 3.0.

Implement dlvsym() function to allow lookups for a specific version of
a given symbol.
2005-12-18 19:43:33 +00:00
marcel
0a081d09f4 Make our ELF64 type definitions match standards. In particular this
means:
o  Remove Elf64_Quarter,
o  Redefine Elf64_Half to be 16-bit,
o  Redefine Elf64_Word to be 32-bit,
o  Add Elf64_Xword and Elf64_Sxword for 64-bit entities,
o  Use Elf_Size in MI code to abstract the difference between
   Elf32_Word and Elf64_Word.
o  Add Elf_Ssize as the signed counterpart of Elf_Size.

MFC after: 2 weeks
2005-12-18 04:52:37 +00:00
phk
9b8cbdad18 Add an extensible version of our *printf(3) implementation to libc
on probationary terms:  it may go away again if it transpires it is
a bad idea.

This extensible printf version will only be used if either
    environment variable USE_XPRINTF is defined
or
    one of the extension functions are called.
or
    the global variable __use_xprintf is set greater than zero.

In all other cases our traditional printf implementation will
be used.

The extensible version is slower than the default printf, mostly
because less opportunity for combining I/O operation exists when
faced with extensions.  The default printf on the other hand
is a bad case of spaghetti code.

The extension API has a GLIBC compatible part and a FreeBSD version
of same.  The FreeBSD version exists because the GLIBC version may
run afoul of our FILE * locking in multithreaded programs and it
even further eliminate the opportunities for combining I/O operations.

Include three demo extensions which can be enabled if desired: time
(%T), hexdump (%H) and strvis (%V).

%T can format time_t (%T), struct timeval (%lT) and struct timespec (%llT)
   in one of two human readable duration formats:
	"%.3llT" -> "20349.245"
	"%#.3llT" -> "5h39m9.245"

%H will hexdump a sequence of bytes and takes a pointer and a length
   argument.  The width specifies number of bytes per line.
	"%4H" -> "65 72 20 65"
	"%+4H" -> "0000 65 72 20 65"
	"%#4H" -> "65 72 20 65  |er e|"
	"%+#4H" -> "0000 65 72 20 65  |er e|"

%V will dump a string in strvis format.
	"%V" -> "Hello\tWor\377ld"	(C-style)
	"%0V" -> "Hello\011Wor\377ld"	(octal)
	"%+V" -> "Hello%09Wor%FFld"	(http-style)

Tests, comments, bugreports etc are most welcome.
2005-12-16 18:56:39 +00:00
davidxu
f2547368a8 With current pthread implementations, a mutex initialization will
allocate a memory block. sscanf calls __svfscanf which in turn calls
fread, fread triggers mutex initialization but the mutex is not
destroyed in sscanf, this leads to memory leak. To avoid the memory
leak and performance issue, we create a none MT-safe version of fread:
__fread, and instead let __svfscanf call __fread.

PR: threads/90392
Patch submitted by: dhartmei
MFC after: 7 days
2005-12-16 02:50:53 +00:00
davidxu
54f6e603e2 Sort .Xr by section number.
Submitted by: ru
2005-12-13 13:43:35 +00:00
phk
f86b5ba56b /* You're not supposed to hit this problem */
For some denormalized long double values, a bug in __hldtoa() (called
from *printf()'s %A format) results in a base 16 digit being rounded
up from 0xf to 0x10.

When this digit is subsequently converted to string format, an index
of 10 reaches past the end of the uppper-case hex/char array, picking
up whatever the code segment happen to contain at that address.

This mostly seem to be some character from the upper half of the
byte range.

When using the %a format instead of %A, the first character past
the end of the lowercase hex/char table happens to be index 0 in
the uppercase hex/char table hextable and therefore the string
representation features a '0', which is supposedly correct.

This leads me to belive that the proper fix _may_ be as simple as
masking all but the lower four bits off after incrementing a hex-digit
in libc/gdtoa/_hdtoa.c:roundup().  I worry however that the upper
bit in 0x10 indicates a carry not carried.

Until das@ or bde@ finds time to visit this issue, extend the
hexdigit arrays with a 17th index containing '?' so that we get a
invalid but consistent and printable output in both %a and %A formats
whenever this bug strikes.

This unmasks the bug in the %a format therefore solving the real
issue may both become easier and more urgent.

Possibly related to:	PR 85080
With help by:		bde@
2005-12-13 13:23:27 +00:00
davidxu
b4c9d04a7a Add cross references to siginfo.3. 2005-12-13 03:05:58 +00:00
davidxu
c4b03f28e8 Fix markeup.
Submitted by: ru
2005-12-06 09:52:54 +00:00
davidxu
6bc69ac5ef Fix markup.
Submitted by: ru
2005-12-05 09:31:49 +00:00
davidxu
6b2c23ed29 Document SIGEV_NONE and SIGEV_SIGNAL. 2005-12-05 04:44:39 +00:00
ru
caf571b462 Fix prototype. 2005-12-03 09:01:02 +00:00
ru
31c1e7fdd1 Fix type of argument. 2005-12-03 09:00:43 +00:00
ru
737cb276f5 Break hard sentence break. 2005-12-03 08:52:07 +00:00
ambrisko
51d3b3edd0 Switch BUILD_ARCH in Makefile to use uname -p suggested by ru.
Switch strncpy to strlcpy suggested by gad and issue found by pjd.
Add to uname(3) man page describing:
	UNAME_s
	UNAME_r
	UNAME_v
	UNAME_m
Add to getosreldate(3) man page describing:
	OSVERSION

Submitted by:	ru, pjd/gad
Reviewed by:	ru (man pages)
2005-12-03 05:11:07 +00:00
davidxu
b7c7977302 Remove implementation-defined, it has already been described in NOTES
section.
2005-12-03 02:49:04 +00:00
davidxu
9912fc33bb Remove implementation-defined sentences. 2005-12-03 02:31:18 +00:00
davidxu
0a233aabf5 Fix lots of markup and content bug.
Submitted by: ru
2005-12-03 01:34:41 +00:00
davidxu
fe5351388c syscall -> system call. 2005-12-02 13:50:56 +00:00
davidxu
c85c22d129 Fix markup. 2005-12-02 09:04:35 +00:00
ambrisko
4c3c3beb25 Unbreak build when I fluff the clean-up of __FBSDID diff reduction
before commit.

pointyhat++
2005-12-02 04:55:05 +00:00
ambrisko
8420930ca2 Add support to easily build FreeBSD unpacked in a chroot of another
FreeBSD machine.  To do this add the man 1 uname changes to __xuname.c
so we can override the settings it reports.  Add OSVERSION override
to getosreldate.  Finally which Makefile.inc1 to use uname -m instead
of  sysctl -n hw.machine_arch to get the arch. type.

With these change you can put a complete FreeBSD OS image into a
chroot set:
	UNAME_s=FreeBSD
	UNAME_r=4.7-RELEASE
	UNAME_v="FreeBSD $UNAME_r #1: Fri Jul 22 20:32:52 PDT 2005 fake@fake:/usr/obj/usr/src/sys/FAKE"
	UNAME_m=i386
	UNAME_p=i386
	OSVERSION=470000
on an amd64 or i386 and it just work including building ports and using
pkg_add -r etc.  The caveat for this example is that these patches
have to be applied to FreeBSD 4.7 and the uname(1) changes need to
be merged.  This also addresses issue with libtool.

This is usefull for when a build machine has been trashed for an
old release and we want to do a build on a new machine that FreeBSD
4.7 won't run on ...
2005-12-02 00:50:30 +00:00
imp
acbc914cf5 Tweak markup for POSIX standards. Minor wordsmithing.
Submitted by: ru@
2005-12-01 18:17:50 +00:00
imp
2fb46d5815 Document O_NOCTTY and O_SYNC. O_NOCTTY is a nop on freebsd, while on
other systems it prevents a tty from becoming a controlling tty on the
open.  O_SYNC is the POSIX name for O_FSYNC.

The Markup Police may need to tweak my references to standards.
2005-12-01 17:54:33 +00:00
jhb
e5008afa83 Add MLINK for execvP(3).
PR:		docs/89783
Submitted by:	Andreas Kohn andreas at syndrom23 dot de
MFC after:	3 days
2005-12-01 15:56:05 +00:00
davidxu
fe2f3459f3 Update conformance and history sections. 2005-11-30 04:15:44 +00:00
davidxu
155492a9a6 Symlink mq_send to mq_timedsend.
Symlink mq_receive to mq_timedreceive.
2005-11-30 04:14:53 +00:00
davidxu
da7f338534 Add manuals for POSIX message queue. 2005-11-30 04:12:37 +00:00
davidxu
b89632601d Implement following POSIX message queue interfaces:
mq_close, mq_getattr, mq_receive, mq_send.
2005-11-26 13:01:17 +00:00
ru
d9eedd9185 Make SYNOPSIS compile.
Attn peter@: this manpage wasn't synced with your code changes.
2005-11-24 07:48:19 +00:00
ru
a615d0b31e Fix prototypes.
Attn davidxu@: most likely, the description should also be tweaked
after your undocumented changes that changed these prototypes.
2005-11-24 07:33:35 +00:00
ru
bf558bda27 Fix prototypes. 2005-11-24 07:12:01 +00:00
ru
e82db33c27 Keep up with const poisoning in uuid.h,v 1.3. 2005-11-24 07:04:20 +00:00
ru
07d744857c Fix prototype. 2005-11-24 06:56:21 +00:00
ru
11d4f09966 Fix prototype. 2005-11-23 20:34:37 +00:00
ru
642fd4337d Fix prototype. 2005-11-23 20:26:58 +00:00
ru
869e65f881 Fix prototypes. 2005-11-23 16:44:23 +00:00
ru
5e1264a066 There's no longer^Wyet <sys/capability.h>. 2005-11-23 16:24:39 +00:00
ru
f0442273f1 Fix inet6_opt_get_val() prototype. 2005-11-23 16:07:54 +00:00
ru
07eeed1e1c Make SYNOPSIS compile. 2005-11-23 15:55:38 +00:00
ru
906caa442c Make SYNOPSIS compile after imp@'s changes. 2005-11-23 15:44:42 +00:00
ru
baae9ec455 Make SYNOPSIS compile. 2005-11-23 15:41:36 +00:00
ru
11e07dda30 Add missing includes. 2005-11-23 10:49:07 +00:00
simon
ac5e3a71fd Do not explicitly state how many bytes an argument list can be in the
description of E2BIG, since it's now larger on some platforms.

MFC after:	3 days
2005-11-19 11:30:55 +00:00
andre
e76b2aa5e3 Document CLOCK_UPTIME which returns the current uptime in SI seconds.
At the moment it is just an alias for CLOCK_MONOTONIC which reports
the same number.

Sponsored by:	TCP/IP Optimization Fundraise 2005
2005-11-18 17:13:22 +00:00