Commit Graph

14000 Commits

Author SHA1 Message Date
Dimitry Andric
e7ac9483a9 Since clang does not support the tls_model attribute used in malloc.c
yet (see LLVM PR 9788), and warns about it, rub it out for now.  When
clang grows support for this attribute, I will revert this again.

MFC after:	1 week
2011-12-15 20:40:11 +00:00
Dimitry Andric
51907e6434 In lib/libc/rpc/crypt_client.c, fix a clang warning about an implicit
conversion between enum desdir/desmode from include/rpc/des.h, and enum
desdir/desmode from include/rpcsvc/crypt.x.  These are actually
different enums, with different value names, but by accident the integer
representation of the enum values happened to be the same.

MFC after:	1 week
2011-12-15 20:27:36 +00:00
Dimitry Andric
477433d829 Remove meaningless self-assignment in res_send.c, otherwise clang will
warn about it.  I guess this was originally done to silence a bogus
warning by an older version of gcc, but I could not reproduce it with
any version of gcc that I have access to.

MFC after:	1 week
2011-12-15 20:10:12 +00:00
Dimitry Andric
b34d83a709 The TCB_GET32() and TCB_GET64() macros in the i386 and amd64-specific
versions of pthread_md.h have a special case of dereferencing a null
pointer.  Clang warns about this with:

In file included from lib/libthr/arch/i386/i386/pthread_md.c:36:
lib/libthr/arch/i386/include/pthread_md.h:96:10: error: indirection of non-volatile null pointer will be deleted, not trap [-Werror,-Wnull-dereference]
        return (TCB_GET32(tcb_self));
                ^~~~~~~~~~~~~~~~~~~
lib/libthr/arch/i386/include/pthread_md.h:73:13: note: expanded from:
            : "m" (*(u_int *)(__tcb_offset(name))));            \
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib/libthr/arch/i386/include/pthread_md.h:96:10: note: consider using __builtin_trap() or qualifying pointer with 'volatile'

Since this indirection is done relative to the fs or gs segment, to
retrieve thread-specific data, it is an exception to the rule.

Therefore, add a volatile qualifier to tell the compiler we really want
to dereference a zero address.

MFC after:	1 week
2011-12-15 19:42:25 +00:00
Michael Tuexen
539bb45a7f Fix a bug where sctp_sendmdg() uses uninitialized memory.
MFC after: 3 days.
2011-12-15 12:35:03 +00:00
David Chisnall
4fb4550854 Small style(9) improvements.
Approved by:	dim (mentor)
2011-12-15 11:16:41 +00:00
Ruslan Ermilov
e26e60ee36 Clean up includes; the prototype for getosreldate() has moved to
<unistd.h> in r183390.
2011-12-14 08:35:08 +00:00
Ed Schouten
59340eb8e2 Don't use __P().
The rest of the file doesn't use it either and according to style(9), it
should not be used.
2011-12-13 14:53:26 +00:00
Dimitry Andric
214ca32f1f Use the correct upstream revision number for llvm/clang 3.0 release.
The r145546 revision is from branches/release_30, the r145349 revision
is from tags/RELEASE_30/final.

MFC after:	1 week
2011-12-10 01:01:44 +00:00
Dimitry Andric
f8254f43c5 Upgrade our copy of llvm/clang to 3.0 release. Release notes can be
found at: http://llvm.org/releases/3.0/docs/ReleaseNotes.html

MFC after:	1 week
2011-12-09 22:23:45 +00:00
Dimitry Andric
9da628931e Vendor import of clang 3.0 final release:
http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_30/final@145349
2011-12-09 18:30:42 +00:00
Dimitry Andric
d4c8b5d2e8 Vendor import of llvm 3.0 final release:
http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_30/final@145349
2011-12-09 18:27:22 +00:00
Robert Millan
bcedb9c091 Make berase() work on platforms whose kernel lacks DIOCGDELETE ioctl.
Approved by:	kib (mentor)
2011-12-08 12:31:47 +00:00
David Chisnall
af8065219d Some fixes to the man pages for [at_]quick_exit(3)
Reviewed by:    pluknet
Approved by:    dim (mentor)
2011-12-07 21:02:35 +00:00
David Chisnall
e86328cbfb style(9) cleanups.
Approved by:	brooks (mentor)
2011-12-07 16:12:54 +00:00
David Chisnall
0a31efe016 Implement quick_exit() / at_quick_exit() from C++11 / C1x. Also add a
__noreturn macro and modify the other exiting functions to use it.

The __noreturn macro, unlike __dead2, must be used BEFORE the function.
This is in line with the C and C++ specifications that place _Noreturn (c1x)
and [[noreturn]] (C++11) in front of the functions.  As with __dead2, this
macro falls back to using the GCC attribute.

Unfortunately, clang currently sets the same value for the C version macro
in C99 and C1x modes, so these functions are hidden by default.  At some
point before 10.0, I need to go through the headers and clean up the C1x /
C++11 visibility.

Reviewed by:	brooks (mentor)
2011-12-07 15:25:48 +00:00
Ruslan Ermilov
20df026c9a The NOTE_COPY should have been named NOTE_FFCOPY from the very
beginning.

Submitted by:	Igor Sysoev
2011-12-07 11:06:18 +00:00
Jilles Tjoelker
54ad8a62ed libc: Eliminate 13 relative relocations in wctype(). 2011-12-05 00:00:47 +00:00
Hans Petter Selasky
3f709d07c5 Simplify libusb_open_device_with_vid_pid(): Only set
pdev to non-NULL on success instead of unconditonally
setting it and maybe resetting it later.

Submitted by:	Christoph Mallon
MFC after:	3 days
2011-12-03 16:30:47 +00:00
Hans Petter Selasky
dc93480306 libusb_open() sets the given device handle to NULL if it
fails, so there is no need to do it again after returning.

Submitted by:	Christoph Mallon
MFC after:	3 days
2011-12-03 16:19:07 +00:00
Eitan Adler
0f701093d2 Revert r227812 and r227808 per discussion
Reviewed by:	many
Approved by:	des
2011-12-02 15:41:09 +00:00
David E. O'Brien
8449399687 Split sentences at period boundaries. 2011-12-02 11:55:09 +00:00
David E. O'Brien
0582474525 Tweak the r137233 fix to r136283 -- Code was making two send() attempts
vs. the comment documented "If we are working with a privileged socket,
then take only one attempt".  Make the code match.

Furthermore, critical privileged applications that [over] log a vast amount
can look like a DoS to this code.  Given it's unlikely the single reattempted
send() will succeeded, avoid usurping the scheduler in a library API for a
single non-critical facility in critical applications.

Obtained from:	Juniper Networks
Discussed with:	glebius
2011-12-02 01:06:33 +00:00
Max Khon
1e671ba260 Use INCSLINKS so that "make installincludes" installs links during buildworld. 2011-11-29 06:21:01 +00:00
Max Khon
8480e502f4 - Hide _rl_qsort_string_compare() that should be private to libreadline()
implementation.
- Add symlink /usr/include/edit/readline/tilde.h -> readline.h

All this makes it possible to build and link gdb with -ledit.
2011-11-29 04:50:57 +00:00
Max Khon
106235a4b8 .include <bsd.init.mk> instead of <bsd.own.mk>
The former allows common settings from ../Makefile.inc to be used.
2011-11-28 14:01:17 +00:00
Robert Watson
251944df31 Cross-reference capsicum.4 from cap_enter.2 and cap_new.2.
MFC after:	3 days
Sponsored by:	Google, Inc.
2011-11-27 19:45:41 +00:00
David Chisnall
db47c4bf21 Update libcxxrt to remove the pthread dependency.
Also add the license from upstream to contrib.

Approved by:	dim (mentor)
2011-11-26 18:46:33 +00:00
David Chisnall
5bf69a4b16 style(9) fix.
Approved by:	dim (mentor)
2011-11-26 16:49:25 +00:00
David Chisnall
48cb9786e1 Return not-implemented from pthread_once and pthread_key_create, rather
than silently failing and returning success.

Without this, code calls pthread_once(), receives a return value of
success, and thinks that the passed function has been called.

Approved by:	dim (mentor)
2011-11-26 15:57:09 +00:00
Dimitry Andric
49c8e5e77e Fix breakage after r227983; lib/libcxxrt still got built, because it was
not disabled in the usual way (by adding it to __DEFAULT_NO_OPTIONS in
share/mk/bsd.own.mk), and because the test for MK_LIBCPLUSPLUS in
Makefile.inc1 was incorrect.

Pointy hat to:	dim
2011-11-26 03:26:06 +00:00
David Chisnall
7a98470824 Import libc++ / libcxxrt into base. Not build by default yet (use
MK_LIBCPLUSPLUS=yes to enable).  This is a work-in-progress.  It works for
me, but is not guaranteed to work for anyone else and may eat your dog.

To build C++ using libc++, add -stdlib=libc++ to your CXX and LD flags.

Bug reports welcome, bug fixes even more welcome...

Approved by:	dim (mentor)
2011-11-25 20:59:04 +00:00
Dag-Erling Smørgrav
dcf83bf794 Revert r227841 and part of r227798. We still build libpam in two passes,
but we use STATIC_CFLAGS instead of our own private .c.o rule.

MFC after:	3 weeks
2011-11-24 13:18:58 +00:00
Jilles Tjoelker
38574aa8df fdopendir(): Do not close the passed file descriptor on failure.
Reviewed by:	delphij
2011-11-22 23:46:56 +00:00
Mikolaj Golub
ee5169dc9d Now kvm_getenvv() and kvm_getargv() don't need procfs(5).
MFC after:	2 weeks
2011-11-22 21:12:28 +00:00
David Chisnall
2013459487 Fix a crash when trying to duplicate a locale that contains some implicit C locale components.
Reported by:	Michael Butler
Approved by:	dim (mentor)
2011-11-22 14:11:42 +00:00
Eitan Adler
623b87d8f4 - fix some style(9) nits with my last commit
- add a comment explaining why I used '|' instead of '||'

Submitted by:	danfe@
Approved by:	emaste@
2011-11-22 02:50:24 +00:00
Eitan Adler
55e84fcee1 - add check for pointer equality prior to performing the O(n) pass
- while here change 's' to 's1' in strcoll

Submitted by:	eadler@
Reviewed by:	theraven@
Approved by:	brooks@
MFC after:	2 weeks
2011-11-22 00:07:53 +00:00
David Chisnall
a54626e0cd (Hopefully) Fix the build with clang by removing a typedef that's no longer needed.
Approved by:	brooks (mentor)
2011-11-21 23:32:14 +00:00
Dag-Erling Smørgrav
e03e3b699e Simplify the libpam build by removing the shared modules' dependency
on the shared library.  The modules are loaded by the library, so we
know it'll be there when we need it.

MFC after:	3 weeks
2011-11-21 16:40:39 +00:00
Sergey Kandaurov
0a1c3432f6 Add history for setsockopt(2).
PR:		docs/162719
Submitted by:	Niclas Zeising <niclas at zeising gmail>
MFC after:	1 week
2011-11-21 14:36:19 +00:00
Lawrence Stewart
cf13a58510 - Add the ffclock_getcounter(), ffclock_getestimate() and ffclock_setestimate()
system calls to provide feed-forward clock management capabilities to
  userspace processes. ffclock_getcounter() returns the current value of the
  kernel's feed-forward clock counter. ffclock_getestimate() returns the current
  feed-forward clock parameter estimates and ffclock_setestimate() updates the
  feed-forward clock parameter estimates.

- Document the syscalls in the ffclock.2 man page.

- Regenerate the script-derived syscall related files.

Committed on behalf of Julien Ridoux and Darryl Veitch from the University of
Melbourne, Australia, as part of the FreeBSD Foundation funded "Feed-Forward
Clock Synchronization Algorithms" project.

For more information, see http://www.synclab.org/radclock/

Submitted by:	Julien Ridoux (jridoux at unimelb edu au)
2011-11-21 01:26:10 +00:00
Nathan Whitehorn
ebcc5e9a0d Connect LLVM/clang to the build on powerpc64. After the binutils 2.17.50
import, it works without issue.
2011-11-21 00:49:46 +00:00
Dag-Erling Smørgrav
4520e72ebf key_load_private() ignores the passphrase argument if the private key
is unencrypted.  This defeats the nullok check, because it means a
non-null passphrase will successfully unlock the key.

To address this, try at first to load the key without a passphrase.
If this succeeds and the user provided a non-empty passphrase *or*
nullok is false, reject the key.

MFC after:	1 week
Noticed by:	Guy Helmer <guy.helmer@palisadesystems.com>
2011-11-20 15:18:49 +00:00
Michael Tuexen
c9c5805975 Add support for the SCTP_REMOTE_UDP_ENCAPS_PORT socket option.
Retire the the now unused sctp_udp_tunneling_for_client_enable
sysctl variable.

MFC after: 3 months.
2011-11-20 15:00:45 +00:00
David Chisnall
3c87aa1d3d Implement xlocale APIs from Darwin, mainly for use by libc++. This adds a
load of _l suffixed versions of various standard library functions that use
the global locale, making them take an explicit locale parameter.  Also
adds support for per-thread locales.  This work was funded by the FreeBSD
Foundation.

Please test any code you have that uses the C standard locale functions!

Reviewed by:    das (gdtoa changes)
Approved by:    dim (mentor)
2011-11-20 14:45:42 +00:00
Konstantin Belousov
289317dac9 Free unused allocation on error.
Reported by:	slonoman2011 yandex ru
MFC after:	1 week
2011-11-18 09:56:40 +00:00
Kevin Lo
41f1dccceb Add unicode support to msdosfs and smbfs; original pathes from imura,
bug fixes by Kuan-Chung Chiu <buganini at gmail dot com>.

Tested by me in production for several days at work.
2011-11-18 03:05:20 +00:00
Dimitry Andric
fd75cb79ce Revert r227538, since it doesn't compile with clang at all (it doesn't
allow the built-in operations to be redefined, at least not without
excessive force).

Instead, just disable LLVM's support for atomic operations for now.
Nothing in either clang or the tablegen tools currently depends on it.

This still allows users of head built before r198344 to upgrade to
top-of-head seamlessly.
2011-11-17 21:06:53 +00:00
Konstantin Belousov
2cda7d0049 Fix typo.
Submitted by:	arundel
MFC after:	3 days
2011-11-17 13:14:07 +00:00