4 min agoRemove <sys/stdbool.h>. The kernel has bool etc. in <sys/types.h> now. master
Sascha Wildner [Tue, 25 Oct 2016 08:31:59 +0000 (10:31 +0200)]
Remove <sys/stdbool.h>. The kernel has bool etc. in <sys/types.h> now.

10 hours agoif_iwm - Already call iwm_mvm_power_update_mac() during SCAN<->AUTH paths.
Imre Vadász [Mon, 24 Oct 2016 21:31:17 +0000 (23:31 +0200)]
if_iwm - Already call iwm_mvm_power_update_mac() during SCAN<->AUTH paths.

* Otherwise we would never update powersaving settings until we complete
  an association, after the first authentication attempt.

* This corresponds to what Linux iwlwifi seems to do.

10 hours agoif_iwm - Refuse connection to APs with beacon interval < 16.
Imre Vadász [Mon, 24 Oct 2016 21:17:47 +0000 (23:17 +0200)]
if_iwm - Refuse connection to APs with beacon interval < 16.

Taken-From: Linux iwlwifi (git 48bc13072109ea58465542aa1ee31b4e1065468a)

15 hours agorouted(8): Remove SGI specific code.
Sascha Wildner [Mon, 24 Oct 2016 17:13:40 +0000 (19:13 +0200)]
routed(8): Remove SGI specific code.

15 hours agomtree(8): Use getcwd().
Sascha Wildner [Mon, 24 Oct 2016 17:13:14 +0000 (19:13 +0200)]
mtree(8): Use getcwd().

15 hours agokernel: Mark some syscalls obsolete which are really libc functions.
Sascha Wildner [Mon, 24 Oct 2016 17:10:32 +0000 (19:10 +0200)]
kernel: Mark some syscalls obsolete which are really libc functions.

16 hours agoznew(1): Convert to use sh.
zrj [Mon, 24 Oct 2016 15:00:22 +0000 (18:00 +0300)]
znew(1): Convert to use sh.

No Korn shell in base system.

20 hours agogcc47: Allow gcc47 to compile itself at WORLD_CCOPTLEVEL=g.
zrj [Wed, 19 Oct 2016 10:51:13 +0000 (13:51 +0300)]
gcc47: Allow gcc47 to compile itself at WORLD_CCOPTLEVEL=g.

Override supplied -Og when gcc47 is bootstrapping itself.
-Og is very useful in some heavy debugging seasions so it is better to give
developers an easy workaround than fail for a single part of buildworld.

Only intended for WORLD_CCOPTLEVEL=g compilations to not require to explictly
disable the alternative compiler (NO_ALTCOMPILER=true).
Note that -Og is mostly -O1 with few optimizations disabled.

20 hours agobsd.sys.mk: Make buildworld permissive for -Os and -Og.
zrj [Wed, 19 Oct 2016 13:54:35 +0000 (16:54 +0300)]
bsd.sys.mk: Make buildworld permissive for -Os and -Og.

Both -Os and -Og reduce amount of how much code can be inlined.
Since all real issues should be already addressed during standard -O and -O2
buildworlds, make -Winline and -Wmaybe-uninitialized as non fatal diagnostics.

Having -Os and -Og working out of the box will also help to crosscheck if
given WARNS level is not too high and just happened to barelly pass at -O.

20 hours agoxlocale: Few style(9) fixes.
zrj [Fri, 7 Oct 2016 11:11:03 +0000 (14:11 +0300)]
xlocale: Few style(9) fixes.

20 hours agoxlocale: Fix type of freelocale().
zrj [Fri, 7 Oct 2016 07:20:28 +0000 (10:20 +0300)]
xlocale: Fix type of freelocale().

Per POSIX specs return type should be void. Previous type is apple'ism.

While there, adjust manpages to use the correct <loacle.h> header.

Taken-from: FreeBSD

20 hours agoxlocale: Fix LC_*_MASK bit shifting.
zrj [Fri, 7 Oct 2016 07:00:27 +0000 (10:00 +0300)]
xlocale: Fix LC_*_MASK bit shifting.

Order must match the one in xlocale_private.h.

This causes the abi breakage, but only two components were right,
others were broken in subtle ways.

Taken-from: FreeBSD (r304703)

20 hours agoMove __weak_reference() after symbols it links to.
zrj [Thu, 6 Oct 2016 14:53:18 +0000 (17:53 +0300)]
Move __weak_reference() after symbols it links to.

Just for consistency. It also will help if prototype visibility would change.

Shouldn't lib/libc/gen/raise.c have weak refs to _raise() and raise()?

20 hours ago<sys/cdefs.h>: Rework __weak_reference() macro.
zrj [Thu, 6 Oct 2016 09:13:25 +0000 (12:13 +0300)]
<sys/cdefs.h>: Rework __weak_reference() macro.

My LTO build blew away weak symbols from slim LTO objects.
Use __strong_reference() + weak attribute to allow the compiler to catch
extern declarations and not to fold weak symbols as local ones.

Keep previous version as __weak_reference_asm() in _pthread_stubs.c for
now due to several issues (there is a need to do it in a cleaner way).

  add missing __DECONST for ucp, shouldn't sigreturn take const ucontext_t?

  add missing #undef inet_ntoa_r

No symbol changes in libc and librt on normal compilation.

While there, add __weak_symbol attribute for future additions.

20 hours agolibc: Rip out pthread_cancel stub symbol.
zrj [Tue, 4 Oct 2016 07:37:35 +0000 (10:37 +0300)]
libc: Rip out pthread_cancel stub symbol.

After looking through use cases i couldn't find any signs of libc
needing to provide stub for pthread_cancel() function.
It doesn't make much sense for any program to use this symbol but
not use the pthread_create(). With this assumption it should be safe
to move out pthread_cancel() from libc to libpthread.so dummy to be
together with weak symbol of pthread_create().

Add special WRlc() macro that creates only the internal version stub
to still provide the _pthread_cancel symbol even if it unused in libc.

Doing just that fixes how gcc libs check for pthread presence when
playing weak symbol chasing games withouto any confingure time tests.

20 hours agomachine/endian.h: Mark bswap functions always inlineable.
zrj [Tue, 11 Oct 2016 09:49:46 +0000 (12:49 +0300)]
machine/endian.h: Mark bswap functions always inlineable.

This solves many cases where compiler decides to make them as a local
static functions to prevent code size growth and causing -Winline.
Also then it leads to less optimal code generation.
To prevent all of this just mark them as always inlineable.
These functions are intended to be inlined and should be thought as macros.

20 hours agosbin/hammer: Mark few functions as always inlineable.
zrj [Tue, 11 Oct 2016 09:32:19 +0000 (12:32 +0300)]
sbin/hammer: Mark few functions as always inlineable.

This helps with -Os giving -Winline and exceeding
param inline-limit function-groth under -flto.
Only a temporary for -flto testing.

20 hours agocamcontrol: Force scsi_8btou64() to be inlined.
zrj [Wed, 12 Oct 2016 13:44:15 +0000 (16:44 +0300)]
camcontrol: Force scsi_8btou64() to be inlined.

Causes issues with -flto and likely with -Os too.
Has to do with places where it is inlined to, small callsites thus
comparable code size with inlineable function itself. Since code growth
here is acceptable, make sure compiler does not decide otherwise.

20 hours ago<stdio.h>: Always inline functions.
zrj [Tue, 4 Oct 2016 05:34:12 +0000 (08:34 +0300)]
<stdio.h>: Always inline functions.

These functions were intended to be the preprocessor macros, so
do not allow compiler to assume that those might not be inlined.
Happens on LTO builds were compiler sees more of a global picture.

While there, do the same to rune helpers in <ctype.h> too.

21 hours agoUnbreak buildkernel.
zrj [Mon, 24 Oct 2016 09:27:12 +0000 (12:27 +0300)]
Unbreak buildkernel.

Follow up to 21137e2f155845448ff3979f5b05b12b642c40a2.
 * Update <sys/md5.h> to match sys/kern/md5c.c and lib/libmd/md5c.c.
 * Limit exposure of MD5 functions in kernel, only 3 are needed.

TBI: what about casts (void *) for *Init() in sys/opencrypto/xform.c ?

25 hours agolibcrypt - Internalize additional symbols
Matthew Dillon [Mon, 24 Oct 2016 06:38:34 +0000 (23:38 -0700)]
libcrypt - Internalize additional symbols

* Internalize additional symbols which conflict with libssl or libressl.
  This works around the apache https issue we had by avoiding a buggy
  error path that will be fixed upstream.  This also fixes a bogus fetch
  failures we were having while testing https.

* Make the *_Init() API for MD5, SHA*, etc in libmd compatible with libssl
  and libressl.

* Note that libmd is inheritently incompatible with lib[re]ssl, so look
  for an upcoming fix for that (maybe we can remove it entirely).

35 hours agoif_iwm - Handle AUTH->SCAN/INIT and ASSOC->SCAN/INIT better
Imre Vadász [Sat, 22 Oct 2016 19:41:00 +0000 (21:41 +0200)]
if_iwm - Handle AUTH->SCAN/INIT and ASSOC->SCAN/INIT better

* Tear down the relevant firmware state (i.e. the station, the vif binding)
  in these transition cases.

* Before this case would leave the firmware state lying around, resulting
  in errors and firmware panics in the subsequent association attempts.

35 hours agoif_iwm - Factor out firmware station handling into if_iwm_sta.c.
Imre Vadász [Sun, 23 Oct 2016 21:10:29 +0000 (23:10 +0200)]
if_iwm - Factor out firmware station handling into if_iwm_sta.c.

* This adds iwm_mvm_rm_sta(), which will be used to tear down firmware
  state for better/cleaner iwm_newstate() handling.

* Makes iwm_enable_txq() and iwm_mvm_flush_tx_path() non-static, add
  the declarations to if_iwm_util.h for now.

Taken-From: Linux iwlwifi

35 hours agoif_iwm - Deduplicate code in iwm_auth() from an if condition.
Imre Vadász [Sun, 23 Oct 2016 15:25:51 +0000 (17:25 +0200)]
if_iwm - Deduplicate code in iwm_auth() from an if condition.

35 hours agoif_iwm - No need for iwm_assoc() in AUTH->ASSOC transition.
Imre Vadász [Sun, 23 Oct 2016 21:08:47 +0000 (23:08 +0200)]
if_iwm - No need for iwm_assoc() in AUTH->ASSOC transition.

* Hence no need to keep stuff in separate iwm_assoc() function, just
  inline the stuff into iwm_newstate().

36 hours agoif_iwm - Properly implement iwm_wme_update callback function.
Imre Vadász [Sun, 23 Oct 2016 19:34:08 +0000 (21:34 +0200)]
if_iwm - Properly implement iwm_wme_update callback function.

* Inspired by iwn(4) and Linux iwlwifi.

* Read wme parameters into a buffer within struct iwm_vap in

* If we aren't associated yet, the new settings will soon be sent
  by iwm_mvm_mac_ctxt_changed() during association.

* If we are already associated, explicitly call iwm_mvm_mac_ctxt_changed()
  from iwm_wme_update() to send the new settings to the firmware.

* Change iwm_mvm_ac_to_tx_fifo mapping, to fit the freebsd net80211
  WME stream class numbering, instead of Linux's enum ieee80211_ac_numbers.

3 days agokernel - Minor documentation adjustment for arc4random
Matthew Dillon [Fri, 21 Oct 2016 21:36:25 +0000 (14:36 -0700)]
kernel - Minor documentation adjustment for arc4random

* Minor documentation adjustment for arc4random

3 days agokernel - Fix directory scanning bug in msdosfs
Matthew Dillon [Fri, 21 Oct 2016 20:37:07 +0000 (13:37 -0700)]
kernel - Fix directory scanning bug in msdosfs

* Fix a directory scanning bug in msdosfs where an incorrect d_namlen
  was being returned.

Reported-by: htse, t_dfbsd, tuxillo
3 days agogdb: Trim sources that create empty objects.
zrj [Wed, 12 Oct 2016 13:14:49 +0000 (16:14 +0300)]
gdb: Trim sources that create empty objects.

Shouldn't wctype-h.c produce symbols?

3 days agodiffutils: Trim sources that create empty objects.
zrj [Wed, 12 Oct 2016 13:08:14 +0000 (16:08 +0300)]
diffutils: Trim sources that create empty objects.

There are several things that need to be addressed here.
Should (like in grep(1)) wctype-h.c produce symbols?

3 days agolibrpcsvc: Trim sources that create empty objects.
zrj [Wed, 12 Oct 2016 12:49:50 +0000 (15:49 +0300)]
librpcsvc: Trim sources that create empty objects.

Here I'm not sure why this was compiled at all or why it has no symbols.

3 days agolvm2: Trim sources that create empty objects.
zrj [Tue, 11 Oct 2016 10:29:43 +0000 (13:29 +0300)]
lvm2: Trim sources that create empty objects.

Source is empty, not implemented.

3 days agolibstdcxx5: Trim sources that create empty objects.
zrj [Tue, 11 Oct 2016 10:23:29 +0000 (13:23 +0300)]
libstdcxx5: Trim sources that create empty objects.

Only when targetting ARM.

3 days agolibgomp5: Trim sources that create empty objects.
zrj [Tue, 11 Oct 2016 10:19:18 +0000 (13:19 +0300)]
libgomp5: Trim sources that create empty objects.

Source files are stub ones, implemented in headers.

3 days agogroff: Trim sources that create empty objects.
zrj [Tue, 11 Oct 2016 07:53:03 +0000 (10:53 +0300)]
groff: Trim sources that create empty objects.

3 days agolibusbhid: Trim sources that create empty objects.
zrj [Tue, 11 Oct 2016 07:33:23 +0000 (10:33 +0300)]
libusbhid: Trim sources that create empty objects.

3 days agoncurses: Trim sources that create empty objects.
zrj [Tue, 11 Oct 2016 07:28:51 +0000 (10:28 +0300)]
ncurses: Trim sources that create empty objects.

3 days agolibssh: Trim sources that create empty objects.
zrj [Tue, 11 Oct 2016 07:27:24 +0000 (10:27 +0300)]
libssh: Trim sources that create empty objects.

3 days agolibpam: Trim sources that create empty objects.
zrj [Tue, 11 Oct 2016 07:16:31 +0000 (10:16 +0300)]
libpam: Trim sources that create empty objects.

3 days agolibmagic: Trim sources that create empty objects.
zrj [Tue, 11 Oct 2016 07:13:12 +0000 (10:13 +0300)]
libmagic: Trim sources that create empty objects.

3 days agolibedit: Trim sources that create empty objects.
zrj [Tue, 11 Oct 2016 06:22:10 +0000 (09:22 +0300)]
libedit: Trim sources that create empty objects.

3 days agogcc50: Trim sources that create empty objects.
zrj [Wed, 5 Oct 2016 11:32:04 +0000 (14:32 +0300)]
gcc50: Trim sources that create empty objects.

 * Disable gen source of HAVE_peephole, only applies for gcc <= 5.x.
 * Exclude {hw,loop}-doloop.c, protected by HAVE_doloop_end guard (gcc < 6).

3 days agolibmgmp: Trim sources that create empty objects.
zrj [Wed, 5 Oct 2016 08:21:42 +0000 (11:21 +0300)]
libmgmp: Trim sources that create empty objects.

3 days agolibmpfr: Trim sources that create empty objects.
zrj [Wed, 5 Oct 2016 08:21:00 +0000 (11:21 +0300)]
libmpfr: Trim sources that create empty objects.

3 days agogrep(1): Trim sources that create empty objects.
zrj [Wed, 5 Oct 2016 07:57:11 +0000 (10:57 +0300)]
grep(1): Trim sources that create empty objects.

There are several things that need to be addressed here.

3 days agosys/boot: Remove empty source.
zrj [Fri, 21 Oct 2016 06:05:26 +0000 (09:05 +0300)]
sys/boot: Remove empty source.

3 days agobootstrap: Add workaround for chflagsat() from 4.0.
zrj [Fri, 21 Oct 2016 10:35:12 +0000 (13:35 +0300)]
bootstrap: Add workaround for chflagsat() from 4.0.

Avoid failing syscalls during installworld while updating from DragonFly 4.0.
Add special private version of chflagsat() to aid while performing migration.
Add triple protection for this private implementation variant.
Hopefully chflags-compat.h would never need any newer additions.

Since there are other issues that require both installkernel and installworld,
standard installkernel, reboot and installworld is not possible while updating
to recent DragonFly releases. chflags(1) must be handled with care.

Tested-on: kern.osreldate == 400000 updating straight to master (4.7).
  installworld step fail only on single non fatal chflags: invalid flag: xlink
  For make upgrade to work sendmail must be removed from /etc/mail/mailer.conf
  reboot(8) must be used cause shutdown is only functional only on new kernel.

Submitted-by: dillon@
3 days agobootstrap: Fix old boostrapping issue once and for all part 2.
zrj [Fri, 21 Oct 2016 10:20:13 +0000 (13:20 +0300)]
bootstrap: Fix old boostrapping issue once and for all part 2.

In f08f1baa605ef8f4a93a42e1d790a9fcfb44df35 I forgot to git add -p the line to
export WORLD_VERSION variable to make it constant through buildworld process.
This time add it close so it would not get lost again, fail window was 1 month.
make buildworld WORLD_VERSION=400300 still have worked.

While there, add bootstrap workaround to bootstrap from 4.0-RELEASE too.
chflags(1) issue with chflagsat() is a bit more subtle, will be pushed later.

Tested-on: dfly-x86_64-4.0.6_REL.img updating straight to 4.7-DEVELOPMENT.
  Not bad considering DragonFly 4.0 had gcc44 + gcc47 and was still able to
  bootstrap the DragonFly 4.7 having gcc v5.0 as main compiler.

Reported-by: dillon@
4 days ago<wchar.h>: Add support for compilers -fshort-wchar.
zrj [Thu, 20 Oct 2016 09:50:58 +0000 (12:50 +0300)]
<wchar.h>: Add support for compilers -fshort-wchar.

Both clang and gcc need to be able to override wchar_t type.

5 days agoinstaller: Init payload to NULL.
zrj [Fri, 14 Oct 2016 13:41:31 +0000 (16:41 +0300)]
installer: Init payload to NULL.

Code checks for payload if it is allocated or not, so technically
this is a case where this pointer is used not initialized.

5 days agoppp: Avoid gcc warnings.
zrj [Wed, 12 Oct 2016 05:19:49 +0000 (08:19 +0300)]
ppp: Avoid gcc warnings.

ncprange_getip4mask() will not initialize mask for cases other than AF_INET
so give default value of INADDR_ANY (0x0) even if compiler misses that
ncprange_getip4mask() called only for AF_INET case in main function.

5 days agosetkey(8): Fix m_len type to match real one.
zrj [Tue, 11 Oct 2016 14:55:47 +0000 (17:55 +0300)]
setkey(8): Fix m_len type to match real one.

Given that it is used in places for sizeof() etc it should be unsigned.

5 days agomlxcontrol(8): Provide defaults to few variables.
zrj [Tue, 11 Oct 2016 14:47:17 +0000 (17:47 +0300)]
mlxcontrol(8): Provide defaults to few variables.

GCC is right here, mlxd_find_ctrlr() will not initiallize these on failure.

5 days agotelnet(1): Fix line definition to match extern one.
zrj [Tue, 11 Oct 2016 14:26:19 +0000 (17:26 +0300)]
telnet(1): Fix line definition to match extern one.

In telnetd it is extern char[16] so just use that.

5 days agowall(1): Avoid gcc warning.
zrj [Tue, 11 Oct 2016 14:19:39 +0000 (17:19 +0300)]
wall(1): Avoid gcc warning.

5 days agousers(1): Avoid gcc warning.
zrj [Tue, 11 Oct 2016 14:16:11 +0000 (17:16 +0300)]
users(1): Avoid gcc warning.

5 days agosystat(1): Fix curscale type to match other one.
zrj [Tue, 11 Oct 2016 14:07:08 +0000 (17:07 +0300)]
systat(1): Fix curscale type to match other one.

Also avoid triggering the the warning for ep.

5 days agousr.bin/rfcomm_sppd: Avoid gcc warnings.
zrj [Tue, 11 Oct 2016 14:00:58 +0000 (17:00 +0300)]
usr.bin/rfcomm_sppd: Avoid gcc warnings.

5 days agocal(1): Avoid gcc warnings.
zrj [Tue, 11 Oct 2016 13:25:33 +0000 (16:25 +0300)]
cal(1): Avoid gcc warnings.

Looks like here the compiler is right.

5 days agosbin/quotacheck: Rename maxino to remove globals conflict.
zrj [Tue, 11 Oct 2016 09:44:26 +0000 (12:44 +0300)]
sbin/quotacheck: Rename maxino to remove globals conflict.

fsck/fsck.h has it as ufs1_ino_t so to avoid type mismatches rename it.

5 days agoadventure(6): Fix type to match public one.
zrj [Mon, 10 Oct 2016 10:00:29 +0000 (13:00 +0300)]
adventure(6): Fix type to match public one.

5 days agodm(8): Avoid warning on gcc with -flto.
zrj [Mon, 10 Oct 2016 09:59:58 +0000 (12:59 +0300)]
dm(8): Avoid warning on gcc with -flto.

5 days agotalkd(8): Avoid warning on gcc with -flto.
zrj [Mon, 10 Oct 2016 07:52:29 +0000 (10:52 +0300)]
talkd(8): Avoid warning on gcc with -flto.

5 days agoless(1): Fix type mismatches in different objects.
zrj [Tue, 11 Oct 2016 13:38:42 +0000 (16:38 +0300)]
less(1): Fix type mismatches in different objects.

Not sure which one is better int or long. For now downgrade to int,
cause it is less changes in contrib code.

5 days agocvs: Use mempcpy() from libc.
zrj [Tue, 11 Oct 2016 11:13:51 +0000 (14:13 +0300)]
cvs: Use mempcpy() from libc.

Helps with LTO builds.

5 days agodevd(8): Make it possible to compile with LTO.
zrj [Tue, 11 Oct 2016 09:20:51 +0000 (12:20 +0300)]
devd(8): Make it possible to compile with LTO.

Make -Wodr warning (internal to c++ headers) under -flto non fatal.
Also give initial value, pidfile_open() has too many return points.

5 days agobackgammon(6): Prevent LTO seeing details for now.
zrj [Mon, 10 Oct 2016 09:43:25 +0000 (12:43 +0300)]
backgammon(6): Prevent LTO seeing details for now.

init.c should contain "back.h" for types (TBI later).
-flto gives lots of error: type of 'args' does not match original declaration [-Werror]

 extern char *args[16]; /* args passed to teachgammon and back */
 char args[100];

 extern int  old; /* original tty status */
 struct termios tty, old, noech, raw;

 extern int  raw; /* raw tty status, no echo */
 struct termios tty, old, noech, raw;

 extern int  noech; /* original tty status without echo */
 struct termios tty, old, noech, raw;
lto1: all warnings being treated as errors

5 days agocsh(1): Allow to bootstrap with -flto.
zrj [Wed, 5 Oct 2016 11:35:30 +0000 (14:35 +0300)]
csh(1): Allow to bootstrap with -flto.

tcsh(1) replaces malloc, thus with LTO sees multiple symbols.

5 days agoinstall(1): Silence false gcc warnings.
zrj [Tue, 4 Oct 2016 05:16:34 +0000 (08:16 +0300)]
install(1): Silence false gcc warnings.

Happens on LTO builds.

5 days agoif_iwm - Process multiple frames per RX buffer.
Imre Vadász [Sun, 4 Sep 2016 08:51:11 +0000 (10:51 +0200)]
if_iwm - Process multiple frames per RX buffer.

* Factor out iwm_handle_rxb() function from iwm_notif_intr().

  the device to put multiple frames (both command responses and 80211
  frames) into a single RX buffer.

* Uses m_copym() to split up the receive buffers when multiple 80211
  frames are received in one RX buffer. The effect is basically the same
  as when using m_split(), but we want to keep the original mbuf around
  when calling iwm_mvm_rx_rx_mpdu() to make error handling a bit easier
  for now.

* Contains a small optimization to avoid the m_copym() when only a single
  80211 frame is received in one RX buffer (i.e. matching the existing

Taken-From and Inspired-By: Linux iwlwifi

6 days agoRemove dead /usr/include/compat symlink, too.
Sascha Wildner [Tue, 18 Oct 2016 21:13:17 +0000 (23:13 +0200)]
Remove dead /usr/include/compat symlink, too.

Followup commit to 6737a4ffb92.

6 days agokernel: Remove the COMPAT_43 kernel option along with all related code.
Sascha Wildner [Tue, 18 Oct 2016 20:50:13 +0000 (22:50 +0200)]
kernel: Remove the COMPAT_43 kernel option along with all related code.

It is commented out in our default kernel config files for almost five
years now, since 9466f37df5258f3bc3d99ae43627a71c1c085e7d.

Approved-by: dillon
Dragonfly-bug: <https://bugs.dragonflybsd.org/issues/2946>

6 days agobsd-family-tree: Sync with FreeBSD (FreeBSD 11.0).
Sascha Wildner [Tue, 18 Oct 2016 19:34:03 +0000 (21:34 +0200)]
bsd-family-tree: Sync with FreeBSD (FreeBSD 11.0).

6 days agoUpdate the pciconf(8) database.
Sascha Wildner [Tue, 18 Oct 2016 19:32:52 +0000 (21:32 +0200)]
Update the pciconf(8) database.

October 13, 2016 snapshot from http://pciids.sourceforge.net/

6 days ago<sys/types.h>: Add definitions of bool, true and false for the kernel.
Sascha Wildner [Tue, 18 Oct 2016 19:27:32 +0000 (21:27 +0200)]
<sys/types.h>: Add definitions of bool, true and false for the kernel.

Remove some local definitions in drivers and also switch boolean_t
over to _Bool (if available).

This is similar to how FreeBSD does it.

6 days agotcpdchk(8): Honor global CFLAGS.
zrj [Tue, 18 Oct 2016 15:37:21 +0000 (18:37 +0300)]
tcpdchk(8): Honor global CFLAGS.

Forgot to include in 8d378610e3b5687c707bc8aad4e11a3a96bea2fc for tcpdmatch(8).

6 days agobinutils225: Honor global CFLAGS.
zrj [Tue, 18 Oct 2016 13:07:16 +0000 (16:07 +0300)]
binutils225: Honor global CFLAGS.

Make CFLAGS partially overridable so to preserve global CFLAGS.
block2/ld has its own config.h but still requires bfd.h.
Ensure that private config.h takes precedence over general bulibs one.

While testing noticed that block2/gas ignores its config.h, so fix that too.
block2/libgold is fine, since it uses block3/Makefile.gld.

6 days agoroute: addroute may change rt->rt_ifa; keep the local copy in sync.
Sepherosa Ziehau [Tue, 18 Oct 2016 13:23:12 +0000 (21:23 +0800)]
route: addroute may change rt->rt_ifa; keep the local copy in sync.

Reported-by: pecan
6 days agox86_64: Work around AMD erratum 793 for family 16h, models 00h-0Fh
Sepherosa Ziehau [Fri, 9 Sep 2016 00:55:48 +0000 (08:55 +0800)]
x86_64: Work around AMD erratum 793 for family 16h, models 00h-0Fh

Obtained-from: FreeBSD r305539

6 days agotcpdmatch(8): Honor global CFLAGS.
zrj [Tue, 18 Oct 2016 11:51:38 +0000 (14:51 +0300)]
tcpdmatch(8): Honor global CFLAGS.

It does not look like override was on purpose.

6 days agorestore(8): Remove (void *) casts.
zrj [Tue, 18 Oct 2016 11:38:54 +0000 (14:38 +0300)]
restore(8): Remove (void *) casts.

Mainly to unbreak gcc47 buildworld.

Reported-by: swildner
6 days agorestore(8): Fix extern type mismatch.
zrj [Wed, 12 Oct 2016 08:24:28 +0000 (11:24 +0300)]
restore(8): Fix extern type mismatch.

Noticed while playing with LTO.

While there, add volatile to prevent clobbering @ WORLD_CCOPTLEVEL=g

6 days agorestore(8): Fix and enable WARNS.
zrj [Tue, 18 Oct 2016 09:01:17 +0000 (12:01 +0300)]
restore(8): Fix and enable WARNS.

 * Add most cases were const char * should have been used.
 * In few cases use __DECONST(), should be fine for these.
 * Suffix variables with 'g' and 'l' to prevent shadowing.
 * Mark unused parameters.
 * Convert swabst() to take const char * instead of u_char *.

No functional change intended, utility still works.
(dump -af dumpas /dev/da1s1 && restore -if dumpas) restores files.

6 days agorestore(8): Use size_t were appropriate.
zrj [Tue, 18 Oct 2016 08:35:17 +0000 (11:35 +0300)]
restore(8): Use size_t were appropriate.

Mostly WARNS=3 cleanup.
Also add vlatile to prevent clobbering.

6 days agorestore(8): Fix formats in prints.
zrj [Tue, 18 Oct 2016 08:06:59 +0000 (11:06 +0300)]
restore(8): Fix formats in prints.

Also, exlude two prints if NAME_MAX >= 255.

Taken-from: FreeBSD

6 days agorestore(8): General cleanup.
zrj [Tue, 18 Oct 2016 07:24:33 +0000 (10:24 +0300)]
restore(8): General cleanup.

 * Fix include order.
 * Add missing va_end().

7 days agoif_iwm - Change UCODE_TLV_API #define-s from bitmasks to indexes.
Imre Vadász [Mon, 17 Oct 2016 22:20:29 +0000 (00:20 +0200)]
if_iwm - Change UCODE_TLV_API #define-s from bitmasks to indexes.

* Fixes oversight from commit 757eecf0e6c92745aa2eee95811e573c8300850e.
  fw_has_api now uses the isset macro instead of a simple logical-and.

7 days agoif_iwm - Sync iwm_read_firmware()'s loop to iwlwifi's code.
Imre Vadász [Fri, 16 Sep 2016 21:43:51 +0000 (23:43 +0200)]
if_iwm - Sync iwm_read_firmware()'s loop to iwlwifi's code.

Taken-From: Linux iwlwifi

7 days agoif_iwm - change the check for ADD_STA status, use IWM_ADD_STA_STATUS_MASK.
Imre Vadász [Tue, 6 Sep 2016 19:45:07 +0000 (21:45 +0200)]
if_iwm - change the check for ADD_STA status, use IWM_ADD_STA_STATUS_MASK.

Taken-From: Linux iwlwifi (git 837c4da98481d4e504b2aba077c8528fee1b6d13)

7 days agoif_iwm - Sanity check channel for IEEE80211_CHAN_ANYC in if_iwm_mac_ctxt.c.
Imre Vadász [Mon, 17 Oct 2016 21:17:06 +0000 (23:17 +0200)]
if_iwm - Sanity check channel for IEEE80211_CHAN_ANYC in if_iwm_mac_ctxt.c.

* This avoids panicing in some broken vap state handling cases.

7 days agoif_iwm - Get rid of another usage of the IWM_DEFAULT_MACID/_COLOR constant.
Imre Vadász [Sun, 16 Oct 2016 19:36:15 +0000 (21:36 +0200)]
if_iwm - Get rid of another usage of the IWM_DEFAULT_MACID/_COLOR constant.

7 days agokernel - Fix panic/crash in vm_object_page_remove()
Matthew Dillon [Mon, 17 Oct 2016 19:15:57 +0000 (12:15 -0700)]
kernel - Fix panic/crash in vm_object_page_remove()

* When vm_object_page_remove() is called with one page, the caller is allowed
  to hold a spinlock (typically on that page).  The callback is not supposed
  to call user_yield in that situation.

* Fix missing initialization of info.count which could result in the callback
  issuing a yield when it was not supposed to.

Reported-by: htse
8 days agosys/boot: Annotate LTO issue in pxe.c
zrj [Wed, 12 Oct 2016 13:31:32 +0000 (16:31 +0300)]
sys/boot: Annotate LTO issue in pxe.c

This needs to be addressed for proper use of LTO.

8 days agobinutils225: Make plugin dir overridable at compile time.
zrj [Fri, 30 Sep 2016 11:23:13 +0000 (14:23 +0300)]
binutils225: Make plugin dir overridable at compile time.

This will help to avoid touching mtree BSD.usr.dist outside libexec,
will simplify LTO plugins(liblto_plugin.so, LLVMgold.so)
installing(symlinking) and auto loading in ar, nm, ranlib.

8 days agoMerge branch 'vendor/BINUTILS225'
zrj [Mon, 17 Oct 2016 07:44:39 +0000 (10:44 +0300)]
Merge branch 'vendor/BINUTILS225'

8 days agoImport missing source needed to enable plugin support in utilities. vendor/BINUTILS225
zrj [Fri, 30 Sep 2016 10:07:50 +0000 (13:07 +0300)]
Import missing source needed to enable plugin support in utilities.

8 days agoRemove profiled version of libraries too.
zrj [Mon, 17 Oct 2016 06:18:11 +0000 (09:18 +0300)]
Remove profiled version of libraries too.

 * Expand OpenSSL removal list to include profiled versions.
 * Remove libprivate_panel ones after 19ba4072a64db34c2a861d48aa5ffe33155826ef.

8 days agoStep 1/2 of OpenSSL remove: Suppress building
John Marino [Sun, 16 Oct 2016 22:34:39 +0000 (17:34 -0500)]
Step 1/2 of OpenSSL remove: Suppress building

As of now, the NO_OPENSSL directive has been replaced with an undocumented
FORCE_OPENSSL directive.  Unless FORCE_OPENSSL is defined in make.conf,
the OpenSSL libraries, headers, and man pages will no longer be built and

Existing OpenSSL files will remain installed unless REMOVE_OPENSSL_FILES
is defined for the upgrade command, e.g.
> make upgrade REMOVE_OPENSSL_FILES=yes

It is recommended that all remaining programs and libraries linked to the
base OpenSSL libraries be rebuilt to use one of the DPorts SSL libraries.
The DPorts packages have been built with DPorts LibreSSL for a few weeks
now, so ensuring all installed packages are reinstalled or rebuilt will be
sufficient for most users, but don't forget about software built outside
of DPorts.

The OpenSSL sources and makefiles will be removed within a month (step 2),
but FORCE_OPENSSL will work in the meantime to continue building OpenSSL
although it will receive no further updates.

8 days agokernel - Modestly reduce default maxvnodes calculation
Matthew Dillon [Sun, 16 Oct 2016 21:36:10 +0000 (14:36 -0700)]
kernel - Modestly reduce default maxvnodes calculation

* Change the multipliers to modestly reduce the default kern.maxvnodes
  calculation.  For example, maxvnodes on a machine with 8GB of ram will
  be reduced from 598103 to 478483.

* Primarily targetted to hammer filesystems which can wind up using an
  unnecessarily huge amount of kernel memory caching vnode-related

8 days agokernel - Reduce excessive inode hash table allocations
Matthew Dillon [Sun, 16 Oct 2016 21:31:40 +0000 (14:31 -0700)]
kernel - Reduce excessive inode hash table allocations

* Reduce excessive inode hash table allocations in various filesystems
  (primarily ufs).  Introduce vfs_inodehashsize() to calculate a reasonable
  hash table size instead of using 'maxvnodes'.

* The new formula is to generally use maxvnodes / 2 (2 x stacking for the
  chained hash table).  When maxvnodes is large we use maxvnodes / 4, and
  if maxvnodes is very large (> 1M vnodes) we use maxvnodes / 8.  This
  significantly reduces the amount of kernel memory used when mounting
  ufs, ext2fs, hpfs, isofs, msdosfs, nfs, ntfs, and smbfs filesystems.