Commit Graph

14178 Commits

Author SHA1 Message Date
Konstantin Belousov
a22748dbd9 Stop calling _init/_fini methods from crt1 for dynamic binaries. Do
call preinit, init and fini arrays methods from crt1 for static binaries.

Mark new crt1 with FreeBSD-specific ELF note.

Move some common crt1 code into new MI file ignore_init.c, to reduce
duplication.  Also, conservatively adjust nearby sources for style.

Reviewed by:	kan
Tested by:	andrew (arm), flo (sparc64)
MFC after:	3 weeks
2012-03-11 20:04:09 +00:00
Konstantin Belousov
d1545c15cf Add a header with definitions useful for constructing ELF notes.
Reviewed by: kan
MFC after:   3 weeks
2012-03-11 19:56:58 +00:00
Edward Tomasz Napierala
6975edd9d0 Cross-reference sigqueue(2) and kill(2). 2012-03-10 10:54:52 +00:00
Dimitry Andric
cc09dfac61 Fix build of libc.so after r232620. This caused a duplicate definition
of __getCurrentRuneLocale().

Pointy hat to:	me
2012-03-06 21:56:30 +00:00
Oleksandr Tymoshenko
dae259f8c4 - Remove one more no-op #ifndef 2012-03-06 19:19:33 +00:00
David Chisnall
7dfd88318b Remove some duplicated copyright notices.
Approved by:	dim (mentor)
2012-03-06 12:53:44 +00:00
Oleksandr Tymoshenko
54da2fb8f2 - Switch ARM and MIPS to TLS Variant I
- Fix TLS allocation  for Variant I: both rtld and libc allocators
    assume that tls_static_space includes space for TLS structure.
    So increment calculated static size by the size of it.
2012-03-06 03:42:54 +00:00
Oleksandr Tymoshenko
011caac286 Implement _set_tp 2012-03-06 03:30:09 +00:00
Oleksandr Tymoshenko
dd2f96800b - Remove NOSHARED parts since it seems to be no-op
- Call _init_tls for statically linked binaries
2012-03-06 03:29:46 +00:00
Oleksandr Tymoshenko
34e3f7e717 - Switch to saving non-offseted pointer to TLS block in order too keep things simple 2012-03-06 03:27:58 +00:00
Pawel Jakub Dawidek
cc83460ceb Link EV_SET(3) to kqueue(2).
MFC after:	3 days
2012-03-05 20:59:34 +00:00
Eitan Adler
a8448a8ce7 Remove outdated comment of seven years
PR:		docs/116116
Approved by:	cperciva
MFC after:	1 week
2012-03-04 16:44:04 +00:00
Eitan Adler
008474bbf1 Remove reference to gcc's non-standard -fwritable-strings, which
doesn't exist in recent releases (and is bad advice anyway)

PR:		docs/163119
Submitted by:	Yuri Pankov <yuri.pankov@gmail.com>
Approved by:	cperciva
MFC after:	1 week
2012-03-04 16:41:07 +00:00
Eitan Adler
0a0c8e010d POSIX mandates that swab do nothing when len < 0
PR:		kern/140690
Submitted by:	Jeremy Huddleston <jeremyhu@apple.com>
Approved by:	cperciva
MFC after:	2 weeks
2012-03-04 16:39:08 +00:00
David Chisnall
a8ed63bb3d Reapply 227753 (xlocale cleanup), plus some fixes so that it passes build
universe with gcc.

Approved by:	dim (mentor)
2012-03-04 15:31:13 +00:00
Olivier Houchard
2dee026843 Add __aeabi_read_tp to the symbol list. 2012-03-04 15:25:11 +00:00
Jaakko Heinonen
75a0cc3bd6 Use snprintf(3) constantly when generating CAM error messages.
PR:		bin/57088
Submitted by:	Rui Lopes, arundel
MFC after:	2 weeks
2012-03-03 09:19:20 +00:00
Ruslan Ermilov
e5fb99b712 Removed excessive _seekdir() call in closedir(). This saves one lseek()
syscall.  Before r5958, seekdir() was called for its side effect of
freeing memory allocated by opendir() for rewinddir(), but that revision
added _reclaim_telldir() that frees all memory allocated by telldir()
calls, making this call redundant.

This introduces a slight change.  If an application duplicated the descriptor
obtained through dirfd(), it can no longer rely on file position to be
reset to the start of file after a call to closedir().  It's believed to
be safe because neither POSIX, nor any other OS I've tested (NetBSD, Linux,
OS X) rewind the file offset pointer on closedir().

Reported by:	Igor Sysoev
2012-03-02 14:05:50 +00:00
Konstantin Belousov
2cfd3f86b0 Belatedly add dl_iterate_phdr(3) to the list of installed manpages.
MFC after:	3 days
2012-03-02 13:19:56 +00:00
Ruslan Ermilov
01e4939740 Finally removed the stat() and fstat() calls from the opendir() code.
They were made excessive in r205424 by opening with O_DIRECTORY.
Also eliminated the fcntl() call used to set FD_CLOEXEC by opening
with O_CLOEXEC.

(fdopendir() still checks that the passed descriptor is a directory,
and sets FD_CLOEXEC on it.)

Reviewed by:	ed
2012-03-02 10:03:38 +00:00
Sergey Kandaurov
4b6c639716 Kill EoL whitespaces, and minor lint. 2012-03-02 05:55:45 +00:00
Davide Italiano
78d763a29b - Add support for the Intel Sandy Bridge microarchitecture (both core and uncore counting events)
- New manpages with event lists.
- Add MSRs for the Intel Sandy Bridge microarchitecture

Reviewed by:	attilio, brueffer, fabient
Approved by:	gnn (mentor)
MFC after:	3 weeks
2012-03-01 21:23:26 +00:00
Jamie Gritton
699f40077b Handle the case where a boolean parameter is also a node.
PR:		bin/165515
MFC after:	2 weeks
2012-03-01 15:09:41 +00:00
Andrey V. Elsukov
1d73388a07 Note that memory should be freed after uuid_to_string(3) call.
MFC after:	1 week
2012-03-01 14:39:01 +00:00
Dimitry Andric
07b202a847 Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to
get rid of testing explicitly for clang (using ${CC:T:Mclang}) in
individual Makefiles.

Instead, use the following extra macros, for use with clang:
- NO_WERROR.clang       (disables -Werror)
- NO_WCAST_ALIGN.clang  (disables -Wcast-align)
- NO_WFORMAT.clang	(disables -Wformat and friends)
- CLANG_NO_IAS		(disables integrated assembler)
- CLANG_OPT_SMALL	(adds flags for extra small size optimizations)

As a side effect, this enables setting CC/CXX/CPP in src.conf instead of
make.conf!  For clang, use the following:

CC=clang
CXX=clang++
CPP=clang-cpp

MFC after:	2 weeks
2012-02-28 18:30:18 +00:00
David Xu
24c209494a Follow changes made in revision 232144, pass absolute timeout to kernel,
this eliminates a clock_gettime() syscall.
2012-02-27 13:38:52 +00:00
Konstantin Belousov
1d2ea43149 Document SO_PROTOCOL socket option.
Discussed with:	bz
Reviewed by:	glebius
MFC after:	2 weeks
2012-02-26 13:57:24 +00:00
Glen Barber
bb374ac283 Whitespace cleanup:
o Wrap sentences on to new lines
 o Rewrap lines where possible while trying to keep the diff to a
   minimum

Found with:	textproc/igor
MFC after:	1 week
X-MFC-With:	r232157
2012-02-25 16:02:12 +00:00
Glen Barber
9d496f5ab6 Whitespace cleanup:
o Wrap sentences on to new lines
 o Cleanup trailing whitespace

Found with:	textproc/igor
MFC after:	1 week
X-MFC-With:	r232157
2012-02-25 15:21:43 +00:00
Glen Barber
3102cfe2e2 Fix various typos in manual pages.
Submitted by:	amdmi3
PR:		165431
MFC after:	1 week
2012-02-25 14:31:25 +00:00
Martin Matuska
6c95142e79 Update libarchive to 3.0.3
Some of new features:
  - New readers: RAR, LHA/LZH, CAB reader, 7-Zip
  - New writers: ISO9660, XAR
  - Improvements to many formats, especially including ISO9660 and Zip
  - Stackable write filters to write, e.g., tar.gz.uu in a single pass
  - Exploit seekable input; new "seekable" Zip reader can exploit the Zip
    Central Directory when it's available; the old "streamable" Zip reader
    is still fully supported for cases where seeking is not possible.

Full release notes available at:
	https://github.com/libarchive/libarchive/wiki/ReleaseNotes
2012-02-25 10:58:02 +00:00
David Xu
df1f1bae9e In revision 231989, we pass a 16-bit clock ID into kernel, however
according to POSIX document, the clock ID may be dynamically allocated,
it unlikely will be in 64K forever. To make it future compatible, we
pack all timeout information into a new structure called _umtx_time, and
use fourth argument as a size indication, a zero means it is old code
using timespec as timeout value, but the new structure also includes flags
and a clock ID, so the size argument is different than before, and it is
non-zero. With this change, it is possible that a thread can sleep
on any supported clock, though current kernel code does not have such a
POSIX clock driver system.
2012-02-25 02:12:17 +00:00
Jilles Tjoelker
8b34578da7 libc: Eliminate some relative relocations in fmtmsg(). 2012-02-22 21:47:50 +00:00
David Xu
b13a8fa78f Use unused fourth argument of umtx_op to pass flags to kernel for operation
UMTX_OP_WAIT. Upper 16bits is enough to hold a clock id, and lower
16bits is used to pass flags. The change saves a clock_gettime() syscall
from libthr.
2012-02-22 03:22:49 +00:00
Pawel Jakub Dawidek
57a82ba4d9 Document the fact that getgrouplist(3) returns 0 on success.
MFC after:	3 days
2012-02-20 20:46:27 +00:00
Guy Helmer
fde4439701 Set the O_CLOEXEC flag when opening the pidfile to avoid leaking the
file descriptor via exec(3).

Now that daemon(8) has been fixed to resolve the issue noted by trociny,
the consensus is that this change should be OK.
2012-02-20 13:59:24 +00:00
David Xu
879d152454 Check both seconds and nanoseconds are zero, only checking nanoseconds
is zero may trigger timeout too early. It seems a copy&paste bug.
2012-02-19 08:17:14 +00:00
Konstantin Belousov
3e2f30f6dd Document PL_FLAG_CHILD.
MFC after:	3 days
2012-02-18 22:26:32 +00:00
Xin LI
3a12c0461b Use ANSI prototypes. 2012-02-18 00:55:54 +00:00
Konstantin Belousov
1c90f07c45 Fix cross-references.
Submitted by:	pluknet
MFC after:  2 weeks
2012-02-17 12:40:27 +00:00
Christian Brueffer
026dbd291e Switch the license boilerplates to our standard one.
Advantages:
- Reduces the number of different license versions in the tree
- Eliminates a typo
- Removes some incorrect author attributions due to c/p
- Removes c/p error potential for future pmc manpages

Approved by:	jkoshy, gnn, rpaulo, fabient (copyright holders)
MFC after:	1 week
2012-02-17 11:09:51 +00:00
Konstantin Belousov
ab8f652cd7 Document dl_iterate_phdr(3).
Man page is based on the OpenBSD version, extended and corrected for
the FreeBSD implementation.

MFC after:  2 weeks
2012-02-17 10:51:40 +00:00
Konstantin Belousov
a7d61fc17d Fetch the aux vector for the static libc, and use the entries to
initialize the cache of the system information as it was done for the
dynamic libc. This removes several sysctls from the static binary
startup.

Use the aux vector to fill the single struct dl_phdr_info describing
the static binary itself, to implement dl_iterate_phdr(3) for the
static binaries. [1]

Based on the submission by:	John Marino <draco marino st> [1]
Tested by:   flo (sparc64)
MFC after:	2 weeks
2012-02-17 10:49:29 +00:00
Eitan Adler
9d4261b795 Add err(3) to strerror(3) SEE ALSO section
PR:		docs/164940
Submitted by:	Niclas Zeising <zeising@daemonic.se>
Approved by:	cperciva
MFC after:	3 days
2012-02-16 05:06:07 +00:00
Xin LI
601e0f587d Bump .Dd date for previous revision. 2012-02-15 18:34:57 +00:00
David Xu
03a67b59f8 Add notes about sigev_notify_kevent_flags introduced in revision 230857
which enables thread-friendly polling on same fd for AIO events.

Reviewed by:	delphij
2012-02-15 02:59:17 +00:00
Dimitry Andric
b74cf6dcf1 Revert r231673 and r231682 for now, until we can run a full make
universe with them.  Sorry for the breakage.

Pointy hat to:	     me and brooks
2012-02-14 21:48:46 +00:00
David Chisnall
7780c181c5 Fix a misplaced __NO_TLS locations, and change a GNUism to a C11ism for
consistency.

Approved by:	brooks (mentor)
2012-02-14 14:24:37 +00:00
David Chisnall
82dd5016bd Cleanup of xlocale:
- Address performance regressions encountered by das@ by caching per-thread
  data in TLS where available.
- Add a __NO_TLS flag to cdefs.h to indicate where not available.
- Reorganise the xlocale.h definitions into xlocale/*.h so that they can be
  included from multiple places.
- Export the POSIX2008 subset of xlocale when POSIX2008 says it should be
  exported, independently of whether xlocale.h is included.
- Fix the bug where programs using ctype functions always assumed ASCII unless
  recompiled.
- Fix some style(9) violations.

Reviewed by:	brooks (mentor)
Approved by:	dim (mentor)
2012-02-14 12:03:23 +00:00
Xin LI
945aab9099 wctob() returns EOF and not WEOF.
Noticed by:	Zhihao Yuan <lichray gmail com>
MFC after:	1 week
2012-02-14 02:03:17 +00:00