Matthew Dillon [Sat, 27 Dec 2014 22:44:14 +0000 (14:44 -0800)]
kernel - Fix incorrect assertion in ffs_reallocblks()
* When softupdates is not enabled reallocblks should not try to free
an unallocated block. This appears to be possible if the reallocation
range covers part of a file with a hole in it. FSX appears to reveal
this case.
* It is also possible that this case is due to some interaction between
the DragonFly buffer cache and UFS that breaks b_offset assignment
assumptions made by UFS, but I couldn't find any particular vector
for the possibility.
Markus Pfeiffer [Sat, 27 Dec 2014 22:55:51 +0000 (22:55 +0000)]
Allow reading with small uio->uio_resid or uio->uio_offset > 0 from /proc/X/map
Currently map file in procfs cannot be read with programs like cat
sometimes. It happens if the buffer to be read into cannot hold the entire
content of map file. Call to read returns EFBIG on this occasion, which is
somewhat confusing.
Submitted-By: Vasily Postnicov <shamaz.mazum@gmail.com>
Sepherosa Ziehau [Sat, 27 Dec 2014 13:32:52 +0000 (21:32 +0800)]
inet6: Remove in6_prefix.[ch]
They have not been used for a while.
Sepherosa Ziehau [Sat, 27 Dec 2014 03:47:27 +0000 (11:47 +0800)]
inet: Merge in_control() and in_control_redispatch()
This also brings SIOC[DAG]LIFADDR ioctls back to the userland.
Sepherosa Ziehau [Thu, 25 Dec 2014 11:55:41 +0000 (19:55 +0800)]
tcp: Enable path mtu discovery by default
This also eases the adoption of the RFC6864.
Sepherosa Ziehau [Thu, 25 Dec 2014 11:34:38 +0000 (19:34 +0800)]
inet/inet6: Don't allow different users to bind to the same port
It is really wrong to allow different users to bind to the same port,
if the original 'reuseport' binding is using wildcard address and the
new binding is also using wildcard address; this serves no purpose and
imposes security risk (port theft).
Sepherosa Ziehau [Thu, 25 Dec 2014 11:16:46 +0000 (19:16 +0800)]
socket: Add KTR_SOWAKEUP
Define 2 pairs of children nodes for this KTR, which are used to tracking
extra IPIs for accept(2).
Note:
The tracked sorwakeup() and the wakeup(so_timeo) does not generate extra
(wakeup) IPIs.
Sepherosa Ziehau [Thu, 25 Dec 2014 11:03:58 +0000 (19:03 +0800)]
tools/accept_server: Add option to bind processes to CPUs
According to the listen socket's CPU hint.
Sepherosa Ziehau [Thu, 25 Dec 2014 11:02:41 +0000 (19:02 +0800)]
tools/kq_accept_server: Allow binding to a specific IPv4 address
Sepherosa Ziehau [Thu, 18 Dec 2014 13:06:42 +0000 (21:06 +0800)]
inet/inet6: Remove the v4-mapped address support
This greatly simplies the code (even the IPv4 code) and avoids all kinds
of possible port theft.
INPCB:
- Nuke IN6P_IPV6_V6ONLY, which is always on after this commit.
- Change inp_vflag into inp_af (AF_INET or AF_INET6), since the socket
is either IPv6 or IPv4, but never both. Set inpcb.inp_af in
in_pcballoc() instead of in every pru_attach methods. Add INP_ISIPV4()
and INP_ISIPV6() macros to check inpcb family (socket family and
inpcb.inp_af are same).
- Nuke the convoluted code in in_pcbbind() and in6_pcbbind() which is used
to allow wildcard binding to accepting IPv4 connections on IPv6 wildcard
bound sockets.
- Nuke the code in in_pcblookup_pkthash() to match IPv4 faddr with IPv6
wildcard bound socket.
- Nuke in6_mapped_{peeraddr,sockaddr,savefaddr}(); use in6_{setpeeraddr,
setsockaddr,savefaddr}() directly.
- Nuke v4-mapped address convertion functions.
- Don't allow binding to v4-mapped address in in6_pcbind().
- Don't allow connecting to v4-mapped address in in6_pcbconnect().
TCP:
- Nuke the code in tcp_output() which takes care of the IP header TTL
setting for v4-mapped IPv6 socket.
- Don't allow binding to v4-mapped address (through in6_pcbbind()).
- Don't allow connecting to v4-mapped address and nuke the related code
(PRUC_NAMALLOC etc.).
- Nuke the code (PRUC_FALLBACK etc.) to fallback to IPv4 connection if
IPv6 connection fails, which is wrong.
- Nuke the code for v4-mapped IPv6 socket in tcp6_soport().
UDP:
- Nuke the code for v4-mapped IPv6 socket in udp_input() and udp_append().
- Don't allow binding to v4-mapped address (through in6_pcbbind()).
- Don't allow connecting to v4-mapped address.
- Don't allow sending datagrams to v4-mapped address and nuke the related
code in udp6_output().
- Nuke the code for v4-mapped IPv6 socket in udp6_disconnect()
RIP:
- Don't allow sending packets to v4-mapped address.
- Don't allow binding to v4-mapped address.
- Don't allow connecting to v4-mapped address.
Misc fixup:
- Don't force rip pru_attach method to return 0. If in_pcballoc() fails,
just return the error code.
Sascha Wildner [Sat, 27 Dec 2014 00:53:35 +0000 (01:53 +0100)]
hammer(8): Fix closing brace indent in 'show' output.
Commit
39e88285cb81d7847bb54a08e0f50a61be890e08 extended the bad
indication to two chars ("B " or "BM") but forgot to adjust the
indent of the closing brace.
Matthew Dillon [Wed, 24 Dec 2014 18:30:57 +0000 (10:30 -0800)]
kernel - Add backlight sysctls to i915
* Add sysctl hw.backlight_level and hw.backlight_max for i915
(incls haswell chromebooks).
Submitted-by: yellowrabbit2010 / #2749
François Tigeot [Wed, 24 Dec 2014 16:11:27 +0000 (17:11 +0100)]
drm/i915: Use struct pci_dev and Linux pci functions
François Tigeot [Tue, 23 Dec 2014 19:57:23 +0000 (20:57 +0100)]
drm: Improve linux/pci.h
François Tigeot [Tue, 23 Dec 2014 19:46:48 +0000 (20:46 +0100)]
drm: Add linux/io.h
François Tigeot [Tue, 23 Dec 2014 19:23:05 +0000 (20:23 +0100)]
drm: Add linux/device.h
Sascha Wildner [Mon, 22 Dec 2014 20:12:27 +0000 (21:12 +0100)]
kernel/netmap: Switch sysctls over to dev.netmap like in FreeBSD.
Sascha Wildner [Mon, 22 Dec 2014 20:11:59 +0000 (21:11 +0100)]
<sys/sysctl.h>: Add missing declaration for dev.*
Sascha Wildner [Mon, 22 Dec 2014 11:49:03 +0000 (12:49 +0100)]
kernel: Don't confuse kmalloc() and mbuf flags.
Sascha Wildner [Mon, 22 Dec 2014 01:15:41 +0000 (02:15 +0100)]
ip6.4: Mention that IPV6_V6ONLY cannot be set to 0.
Sascha Wildner [Sun, 21 Dec 2014 22:31:51 +0000 (23:31 +0100)]
Add quotes to ${MACHINE_ARCH} checks in Makefiles.
Also s/amd64/x86_64/ in one case.
Sascha Wildner [Sun, 21 Dec 2014 18:28:26 +0000 (19:28 +0100)]
<sys/file2.h>: Correct include guard check.
Sascha Wildner [Sun, 21 Dec 2014 11:45:35 +0000 (12:45 +0100)]
Adjust for the removal of the net.inet6.ip6.v6only sysctl.
Sepherosa Ziehau [Thu, 18 Dec 2014 12:46:53 +0000 (20:46 +0800)]
inet6: Only allow setting IPV6_V6ONLY sockopt to 1.
Sepherosa Ziehau [Thu, 18 Dec 2014 12:35:17 +0000 (20:35 +0800)]
inet6: Don't allow setting net.inet6.ip6.v6only to 0
Sepherosa Ziehau [Thu, 18 Dec 2014 12:10:51 +0000 (20:10 +0800)]
tcp: Increase default IW to 4.
This helps ACK loss case and will not cause obvious buffer bloating.
OKed-by: dillon@
Antonio Huete Jimenez [Thu, 18 Dec 2014 23:20:24 +0000 (00:20 +0100)]
savecore - Fix a resource leak
- Detected by cppcheck
Antonio Huete Jimenez [Thu, 18 Dec 2014 23:13:52 +0000 (00:13 +0100)]
svc - Fix a couple memory leaks
- Detected by cppcheck
Antonio Huete Jimenez [Thu, 18 Dec 2014 22:17:30 +0000 (23:17 +0100)]
libc/regex - Fix a memory leak
- Detected by cppcheck
Antonio Huete Jimenez [Thu, 18 Dec 2014 22:01:13 +0000 (23:01 +0100)]
libc/db - Fix a resource leak
- Detected by cppcheck
Sascha Wildner [Thu, 18 Dec 2014 23:21:49 +0000 (00:21 +0100)]
kernel/acpica: Separate kernel and userland code in headers better.
Clean up a bit, use standard types, etc.
Antonio Huete Jimenez [Thu, 18 Dec 2014 21:41:45 +0000 (22:41 +0100)]
libc - Initialise ret before use
Sepherosa Ziehau [Mon, 24 Nov 2014 01:59:41 +0000 (09:59 +0800)]
icmp: Asynchonize ctlinput/mtudisc/redirect processing
Supportive facilities added:
- Embed netmsg_ctlinput into mbuf (used by input ICMP datagram) so that
we don't need to do additional memory allocation to forward the
pr_ctlinput to all netisrs for certain types of ICMP datagrams.
- Add/Expose so_pr_ctlport().
- Return target netisr's cpuid from pr_ctlport. If the returned cpuid
equals to ncpus, it means that pr_ctlinput needs to be run in all
netisrs.
- Support 'direct' mode for TCP/UDP's pr_ctlinput. The caller of the
'direct' mode pr_ctlinput will do the message forwarding.
ICMP pr_ctlinput/mtudisc/redirect processing changes:
- For mtudisc and redirect we unconditionally forward the message
embedded in input ICMP datagram to all netisrs, and call pr_ctlinput
in 'direct' mode.
- For pr_ctlinput, we first call so_pr_ctlport() to see whether we need
to forward the message embedded in input ICMP datagram to all netisrs,
and act accordingly.
- Once pr_ctlinput/mtudisc/redirect processing is done, the message
embedded in the input ICMP datagram is forwarded back to the netisr0
to run rip_input().
After this commit, netisr0 will not be blocked for ICMP pr_ctlinput/
mtudisc/redirect processing. This also fixes the mtudisc (originally
only cpu0's routes get mtu updates).
Sepherosa Ziehau [Wed, 17 Dec 2014 12:52:22 +0000 (20:52 +0800)]
route/inet: Set the mtu if it is _not_ configured, i.e. is 0
François Tigeot [Tue, 16 Dec 2014 20:51:38 +0000 (21:51 +0100)]
drm/i915: Reduce GEM code differences with Linux 3.8.13
Sascha Wildner [Mon, 15 Dec 2014 22:34:16 +0000 (23:34 +0100)]
twa(4): Fix a crash with TWA_DEBUG >= 3.
tw_osli_dbg_dprintf() uses device_printf(sc->bus_dev, ...) so we can't
use it before sc->bus_dev is actually set.
Sascha Wildner [Mon, 15 Dec 2014 10:27:06 +0000 (11:27 +0100)]
Update the pciconf(8) database.
December 14, 2014 snapshot from http://pciids.sourceforge.net/
Markus Pfeiffer [Sun, 14 Dec 2014 17:50:27 +0000 (17:50 +0000)]
sys/dev/misc/ipmi: Implement watchdog functionality
Unfortunately wdog(9) cannot handle how ipmi's watchdog works, so
we roll our own callout based solution.
Sascha Wildner [Sun, 14 Dec 2014 18:55:28 +0000 (19:55 +0100)]
kernel: Import the IPMI driver from FreeBSD.
Many thanks to Markus Pfeiffer <profmakx@dragonflybsd.org> for testing,
bug hunting and fixing the watchdog (this will be pushed in a separate
commit).
François Tigeot [Sun, 14 Dec 2014 12:51:42 +0000 (13:51 +0100)]
drm/i915: use i915_ggtt_clear_range()
François Tigeot [Sun, 14 Dec 2014 09:46:07 +0000 (10:46 +0100)]
drm/i915: Make struct intel_gtt more compatible with Linux 3.8.13
François Tigeot [Sun, 14 Dec 2014 08:08:01 +0000 (09:08 +0100)]
devfs: Improve devfs_alias_getvp()
* Resolve indirect alias nodes up to a relatively large limit
* Code taken from devfs_vop_nresolve()
Suggested-by: alexh
Sascha Wildner [Sat, 13 Dec 2014 22:21:21 +0000 (23:21 +0100)]
installer: Fix IMG detection.
IMGs count as live CDs too, from installer.sh's perspective.
François Tigeot [Sat, 13 Dec 2014 17:30:20 +0000 (18:30 +0100)]
devfs: Remove alias nodes first
Fix a crash at unmount time where some device nodes were being removed
before their aliases.
Robin Hahling [Fri, 12 Dec 2014 11:08:37 +0000 (12:08 +0100)]
build.7: Document installworld-force target.
Sascha Wildner [Sat, 13 Dec 2014 10:51:56 +0000 (11:51 +0100)]
trek(6): Fix bounds checking.
The number of sectors was being used to check input for the quadrant,
and NSECTS > NQUADS.
Taken-from: FreeBSD ports (games/bsdgames)
Reported-by: marino
Sascha Wildner [Sat, 13 Dec 2014 10:36:27 +0000 (11:36 +0100)]
kernel/x86_64: Add a bios.c with only bios_sigsearch().
Unlike i386, bios16/bios32 calls are not supported in x86_64, but
searching for ROM signatures is still useful for certain drivers.
We could use it in powernow(4) and also the (upcoming) IPMI driver
uses it.
Taken-from: FreeBSD
Sascha Wildner [Fri, 12 Dec 2014 09:51:26 +0000 (10:51 +0100)]
Fix the default path where modules reside in various manual pages.
Reported-by: Yellow Rabbit <yrabbit@sdf.lonestar.org>
François Tigeot [Wed, 10 Dec 2014 07:07:44 +0000 (08:07 +0100)]
drm: Sync drm_pci_alloc() with Linux 3.8.13
Matthew Dillon [Wed, 10 Dec 2014 21:33:32 +0000 (13:33 -0800)]
build - add installworld-force target and better checks
* Add better checks to installworld. Print an error and exit if the
base system is too old, directing users to run installworld-force.
* Add installworld-force. This automates installing the world on a
base system which is too old and thus has chicken-and-egg problems
with binaries and libraries.
This install target will install to a temporary directory, compile up
a static cpdup, and then use it to just blast copy /bin, /sbin, /lib,
/libexec, /usr/bin, /usr/sbin, /usr/lib, and /usr/libexec. It will
then execute a normal make installworld and make upgrade.
Matthew Dillon [Wed, 10 Dec 2014 21:05:57 +0000 (13:05 -0800)]
pkg - Adjust pkg-bootstrap-force
* Adjust the pkg-bootstrap-force target to also remove
"/usr/local/etc/pkg.conf". Older pkg.conf files (e.g. 3.5 or earlier,
possibly 3.6 or earlier) can interfere with newer pkg bootstraps.
Matthew Dillon [Wed, 10 Dec 2014 20:29:41 +0000 (12:29 -0800)]
buildworld - bootstrap compatibility with older dragonfly's
* Fix buildworld issue bootstrapping grep related utilities which expect
newer header files.
Sascha Wildner [Wed, 10 Dec 2014 18:48:59 +0000 (19:48 +0100)]
Mention the disk device file names in a few disk/RAID driver manpages.
All others mentioned it.
Reported-by: amonk on IRC
Sascha Wildner [Wed, 10 Dec 2014 18:13:44 +0000 (19:13 +0100)]
mdoc.local: We dropped libskey in 2009.
Sascha Wildner [Wed, 10 Dec 2014 18:01:51 +0000 (19:01 +0100)]
pstat.8: Fix list of flags that are valid for swapinfo.
Sascha Wildner [Wed, 10 Dec 2014 17:59:53 +0000 (18:59 +0100)]
bsd.libnames.mk: Comment out libdmsg until it is hooked back in.
Sascha Wildner [Wed, 10 Dec 2014 15:51:10 +0000 (16:51 +0100)]
libusb{,20}.3: Add libusb to mdoc.local and adjust LIBRARY section.
François Tigeot [Mon, 10 Nov 2014 08:45:16 +0000 (09:45 +0100)]
ichwd: Add support for Ivy-Bridge EP and Haswell chipsets
* Add support for the Coleto Creek Ivy-Bridge EP chipset
* Add support for the Intel Lynx Point and Wildcat Point Haswell chipsets
Obtained-from: FreeBSD
Antonio Huete Jimenez [Wed, 10 Dec 2014 00:08:20 +0000 (01:08 +0100)]
devfs - Fix a vkernel panic on shutdown
Antonio Huete Jimenez [Tue, 9 Dec 2014 00:10:27 +0000 (01:10 +0100)]
hammer - Fix 'history' directive
- Directive options '@offset,len' work now as they are
supposed to.
Imre Vadasz [Mon, 8 Dec 2014 15:01:24 +0000 (16:01 +0100)]
usb4bsd/if_rum: Add missing locking around rum_start_locked().
Antonio Huete Jimenez [Mon, 8 Dec 2014 01:16:10 +0000 (02:16 +0100)]
installer - Use bit 'flags' for additional options
- Use a flags field to i_fn_args struct instead of single
int fields to specify different options.
- No functional change
Sascha Wildner [Sat, 6 Dec 2014 19:46:20 +0000 (20:46 +0100)]
kernel/usb4bsd: Change a pointer back to NULL.
Sascha Wildner [Sat, 6 Dec 2014 19:20:11 +0000 (20:20 +0100)]
kernel/usb4bsd: Remove no longer needed dependencies on 'usb' in 'files'.
We used it (along with 'oldusb') to differentiate between the former
USB stack and USB4BSD. This is no longer necessary now.
Sascha Wildner [Sat, 6 Dec 2014 18:58:04 +0000 (19:58 +0100)]
Remove some obsolete manpages (from oldusb).
Sascha Wildner [Sat, 6 Dec 2014 18:57:40 +0000 (19:57 +0100)]
FWIW, port and hook in the urio(4) storage driver.
Taken-from: FreeBSD
Sascha Wildner [Sat, 6 Dec 2014 01:13:20 +0000 (02:13 +0100)]
Add missing includes for prototypes in various manual pages.
Sascha Wildner [Sat, 6 Dec 2014 01:12:38 +0000 (02:12 +0100)]
kobj.9: Remove information about non-public functions.
Sascha Wildner [Sat, 6 Dec 2014 00:27:16 +0000 (01:27 +0100)]
kprintf.9: tprintf()'s prototype is in <sys/tprintf.h>.
François Tigeot [Fri, 5 Dec 2014 18:28:57 +0000 (19:28 +0100)]
devfs: Fix namecache invalidation for alias nodes
* The devfs alias nodes don't have a directly associated vnode, they
use the vnode of their target link.
* Unfortunately, the namecache invalidation code in devfs_freep() only
processed vnodes registered in the devfs_node structure, missing the
aliases.
* Put the namecache invalidation code in devfs_unlinkp() and make sure
devfs alias node entries are properly invalidated.
Antonio Huete Jimenez [Fri, 5 Dec 2014 09:35:24 +0000 (10:35 +0100)]
installer - Fix a segfault
- If survey was unable to detect any partition on the selected disk,
as it is the case for unconfigured vn devices, do not attempt to
dereference the selected_slice pointer.
François Tigeot [Thu, 4 Dec 2014 14:22:11 +0000 (15:22 +0100)]
namecache: Remove a diagnostic message
It only scares users these days.
Sascha Wildner [Thu, 4 Dec 2014 18:27:47 +0000 (19:27 +0100)]
devd(8): Fix asus.conf installation.
Sascha Wildner [Thu, 4 Dec 2014 17:34:53 +0000 (18:34 +0100)]
kernel/ndis: Remove an oldusb specific file.
Sascha Wildner [Thu, 4 Dec 2014 11:10:38 +0000 (12:10 +0100)]
kernel/lockf: Make a function as printf-like and fix warnings.
Imre Vadasz [Sat, 22 Nov 2014 08:58:51 +0000 (09:58 +0100)]
virtio_blk: Enable dump support. Partial sync with FreeBSD up to r252707.
* Adds support for dumping to the virtio_blk driver.
* The dev.vtblk.X.writecache_mode sysctl can now be used to toggle write
caching by the virtual-machine host.
* Add a workaround in sys/dev/virtual/virtio/virtio/virtqueue.c to avoid
a serializer exit/enter pair while dumping.
* Reduce diff relative to FreeBSD's virtio_blk.c version.
* Adapt manpage, comment out description of the hw.vtblk.no_ident tunable.
* Updates are taken from FreeBSD's r252707, r252703 and r247829.
Antonio Huete Jimenez [Tue, 2 Dec 2014 23:59:30 +0000 (00:59 +0100)]
installer - Several improvements
- Improved detection of the booting media (LiveCD)
- Sets TTY variable correctly for vkernel. This way its only
console won't be filled up with messages that mess up menus.
- Detect 'TTY_INST' variable which means the installer was called
from the LiveDVD's installDragonFly.sh script.
In-discussion with: swildner
Sascha Wildner [Sun, 30 Nov 2014 20:46:01 +0000 (21:46 +0100)]
Makefile_upgrade.inc: Remove formatted manual pages, too.
Sascha Wildner [Tue, 2 Dec 2014 17:13:53 +0000 (18:13 +0100)]
lgamma.3: Fix some whitespace issues and remove refs to non-existing funcs.
Sascha Wildner [Tue, 2 Dec 2014 08:36:16 +0000 (09:36 +0100)]
libm: Add some .Lb sections to manual pages missing it.
Sascha Wildner [Tue, 2 Dec 2014 17:12:41 +0000 (18:12 +0100)]
procctl.2: Add missing include.
Sascha Wildner [Tue, 2 Dec 2014 17:09:59 +0000 (18:09 +0100)]
Add a number of missing MLINKS.
However, don't bring back the libm.3 -> ieee.3 one (it was removed
in the recent libm work) because it was kind of silly.
John Marino [Tue, 2 Dec 2014 13:15:37 +0000 (14:15 +0100)]
libc versioning: Add missing symbols, put rest in DFprivate_1_0
This builds, like the previous attempt, but all executables that pull in
libc segfault when errno is accessed, so libc versioning is not working.
John Marino [Tue, 2 Dec 2014 10:48:24 +0000 (11:48 +0100)]
sysvipc: Add missing symbols to map
John Marino [Mon, 1 Dec 2014 22:00:32 +0000 (23:00 +0100)]
libc version maps: Update inactive symbol maps
This is a work in progress, but it is encouraging that a full buildworld
completed with a versioned libc. This will not be activated until it is
verified with a complete bulk run of packages.
Antonio Huete Jimenez [Mon, 1 Dec 2014 22:43:59 +0000 (23:43 +0100)]
mountd - Check the correct variable after malloc()
- Also update FreeBSD Id
Taken from: FreeBSD SVN 173056
Antonio Huete Jimenez [Mon, 1 Dec 2014 22:41:32 +0000 (23:41 +0100)]
mountd - Add the -h <bindip> option
Taken from: FreeBSD SVN 172827
Antonio Huete Jimenez [Mon, 1 Dec 2014 21:31:58 +0000 (22:31 +0100)]
mountd - Only exit when no valid export files.
Taken from: FreeBSD SVN 168684
Antonio Huete Jimenez [Mon, 1 Dec 2014 21:27:27 +0000 (22:27 +0100)]
mountd - Add support for multiple exports files.
Taken from: FreeBSD SVN 166440
John Marino [Mon, 1 Dec 2014 13:37:59 +0000 (14:37 +0100)]
library versioning: Activate versioning on 7 libraries
All 4.2 packages currently on the system will continue to work on
a system after this commit. However, the next bulk run of packages will
build using these symbol versions and will not work on systems older
than this commit. Part of the joys of running on bleeding edge I think.
The next bulk run won't be for a couple of weeks at least (I'm waiting
on a disruptive and huge patch of perl and pgsql to settle down) so there
is no impending breakage expected.
The newly mapped libraries are: z, ncurses, lzma, edit, archive, md, bz2
John Marino [Mon, 1 Dec 2014 12:51:18 +0000 (13:51 +0100)]
library versioning: Don't bump major version
Eight libraries have unused yet valid symbol maps. The original plan was
to activate them together and bump all the major library versions at the
same time. This never happened because the libc symbol map isn't quite
right yet. However, it's not necessary to bump the version. If mapped,
both the versioned and unversioned symbol will be available and will
reference the same location, so no breakage will occur.
Once confirmed, the next commit will remove the "RELEASE36" check. The
c library guard had changed to RELEASE42, so the intent is to activate
versioning on 7 of the 8 libraries in one step.
John Marino [Sun, 30 Nov 2014 22:49:16 +0000 (23:49 +0100)]
gcc47 libstdc++: Enable c++11 support
The c++0x/11x standard of the base compiler has been crippled due to
the lack of C99 support in DragonFly, but the recently libm improvements
have enabled c++11 standard support.
John Marino [Sun, 30 Nov 2014 21:23:15 +0000 (22:23 +0100)]
libm: bring in 16 complex functions from NetBSD
FreeBSD is still missing a number of (obscure) complex functions that
causes GCC conclude that C99 is not supported. Seven weeks ago, NetBSD
brought the functions into their base.
To avoid a repeat of the unholy mixture of libm from FreeBSD and NetBSD
that we had before, I've created a separate directory for NetBSD functions
called "gaps". If/when FreeBSD acquires these functions, we can remove
files from "gaps" as we sync their equivalents. The NetBSD sources were
modified as follows:
* On the man pages, references to the float and double versions of the
functions were removed when only the long double version was imported.
This includes singular/plural changes, and file/function name changes.
* Changed "#include <math.h>" to "#include "math.h"
* Removed the include for namespace.h
* Removed all "#if 0" blocks
The sixteen functions have symbol versions of DF402.0 and are:
* cpow cpowf cpowl
* clog clogf clogl
* cacosl casinl catanl
* ccoshl csinhl ctanhl
* ccosl csinl ctanl
* cexpl
Sascha Wildner [Sun, 30 Nov 2014 20:28:13 +0000 (21:28 +0100)]
rpc.statd(8): Add missing include to fix the build.
Reported-by: Robin Hahling <robin.hahling@gw-computing.net>
Sascha Wildner [Sun, 30 Nov 2014 18:57:53 +0000 (19:57 +0100)]
callout.9: Adjust for recent callout code changes.
Sascha Wildner [Sun, 30 Nov 2014 18:29:55 +0000 (19:29 +0100)]
<sys/callout.h>: Remove obsolete struct callout_handle.
Sascha Wildner [Sun, 30 Nov 2014 18:07:45 +0000 (19:07 +0100)]
kernel/if_media: Add descriptions for MCS.
While here, correct the baudrate of IFM_IEEE80211_DS5 from 5Mbps
to 5.5Mbps.
Antonio Nikishaev [Thu, 27 Nov 2014 16:21:30 +0000 (20:21 +0400)]
top(1): ability to display individual threads
And put square brackets around system processes.
John Marino [Sun, 30 Nov 2014 16:11:13 +0000 (17:11 +0100)]
rtld: Add a postinit debugger hook
FreeBSD's dtrace(1) uses this hook to halt the "victim" process before its
entry point is called, at which point probes and DOF data are registered
with the kernel. The r_debg_state hook cannot be used for this purpose,
as it is called before the program's init routines are invoked and in
particular before ODF is registered. It may or may not be useful for
DragonFly by itself, but if dtrace every comes in, rtld will be ready.
Taken from: FreeBSD svn 265456 (6 May 2014)
FreeBSD svn 265578 (7 May 2014)
John Marino [Sun, 30 Nov 2014 15:48:25 +0000 (16:48 +0100)]
rtld: Handle IFUNC symbols at non-PLT relocations
An example of this is initializing a global variable with a pointer to
ifunc. This adds a symble type check and call resolver for STT_GNU_IFNC
symbol types whien processing non-PLT relocations, but only after
non-IFUNC relocations are done. The two-phase processing is required
since resolvers may reference other symbols which most be ready to use
when resolver calls are done.
This restructures reloc_non_plt() to call find_symdef() and handle IFUNC
in a single place.
Taken from: FreeBSD svn 270798 (29 Aug 2014)
FreeBSD svn 270802 (29 Aug 2014)