56 min agoRevert "kprintf.9: Remove unneeded header." master
Sascha Wildner [Tue, 21 Nov 2017 07:25:48 +0000 (08:25 +0100)]
Revert "kprintf.9: Remove unneeded header."

This reverts commit dbb5d235a84b2aa354a9d5745aa6a02ac9a26c50.

The header was actually useful because <sys/syslog.h> has the
priority definitions.

72 min agokprintf.9: Remove unneeded header.
Sascha Wildner [Tue, 21 Nov 2017 07:09:29 +0000 (08:09 +0100)]
kprintf.9: Remove unneeded header.

Reported-by: zrj
25 hours agoRemove unused <{cpu,machine}/coredump.h> header.
Sascha Wildner [Mon, 20 Nov 2017 06:55:32 +0000 (07:55 +0100)]
Remove unused <{cpu,machine}/coredump.h> header.

2 days agovkernel - Sync to recent API changes (3)
Matthew Dillon [Sat, 18 Nov 2017 19:01:47 +0000 (11:01 -0800)]
vkernel - Sync to recent API changes (3)

* Fix va page offset in returned value.

2 days agovkernel - Sync to recent API changes (2)
Matthew Dillon [Sat, 18 Nov 2017 18:43:37 +0000 (10:43 -0800)]
vkernel - Sync to recent API changes (2)

* Refactor uservtophys() to use vm_fault_page().  The pmap
  lookup isn't going to work coupled with the fuword style
  test because the vkernel's copyin/copyout/fuword/etc code
  doesn't fault the underlying page into the pmap.

2 days agovkernel - Sync to recent API changes
Matthew Dillon [Sat, 18 Nov 2017 18:13:01 +0000 (10:13 -0800)]
vkernel - Sync to recent API changes

* Add uservtophys() to the vkernel code.  This is a bit of a quick hack
  but it should work.  It won't be efficient, though.

* vkernel compiles again and appears to run ok.

2 days agokernel - Fix vclean assertion due to short-cut taken by TMPFS
Matthew Dillon [Sat, 18 Nov 2017 17:08:45 +0000 (09:08 -0800)]
kernel - Fix vclean assertion due to short-cut taken by TMPFS

* Allow a vnode being destroyed to have a dirty VM object.  TMPFS
  doesn't bother to cleanup VM objects when destroying file nodes
  (e.g. when a file that is no longer referenced is removed), and
  can leave dirty pages present in the underlying object.

* Fixes occassional kernel assertions related to tmpfs (that only
  tend to occur with specific use cases).

Reported-by: zrj
2 days agolibc/citrus: Catch a NULL pointer earlier, check for empty string later.
Sascha Wildner [Sat, 18 Nov 2017 12:30:57 +0000 (13:30 +0100)]
libc/citrus: Catch a NULL pointer earlier, check for empty string later.

This fixes a gcc8 warning.

Taken-from: NetBSD (Revisions 1.20-1.22)

2 days agoRemove the NO_CRYPT build option.
Sascha Wildner [Sat, 18 Nov 2017 12:01:04 +0000 (13:01 +0100)]
Remove the NO_CRYPT build option.

It has been broken for a long time without anyone complaining about and
we don't want to maintain it either.

In-discussion-with: zrj

3 days ago<sys/indefinite2.h>: Fix header name.
Sascha Wildner [Sat, 18 Nov 2017 01:32:47 +0000 (02:32 +0100)]
<sys/indefinite2.h>: Fix header name.

This is never reached (<sys/globaldata.h> comes in via <sys/indefinite.h>
as it seems), but fix anyway.

3 days agokernel: Remove some semicolons at the end of macro definitions.
Sascha Wildner [Fri, 17 Nov 2017 17:44:54 +0000 (18:44 +0100)]
kernel: Remove some semicolons at the end of macro definitions.

3 days agokernel: Remove some unnecessary semicolons.
Sascha Wildner [Fri, 17 Nov 2017 17:35:23 +0000 (18:35 +0100)]
kernel: Remove some unnecessary semicolons.

3 days agokernel: Remove two final \ in macro definitions.
Sascha Wildner [Fri, 17 Nov 2017 17:34:14 +0000 (18:34 +0100)]
kernel: Remove two final \ in macro definitions.

3 days agoLTO: Disable safety feature.
zrj [Fri, 17 Nov 2017 12:40:56 +0000 (14:40 +0200)]
LTO: Disable safety feature.

No longer can reproduce boot issue in the padlock/padlock_rng codes.
The -flto-partition=one can be supplied together with -flto as needed.

3 days agoLTO: Pass CFLAGS to compiler for kernel module linking too.
zrj [Fri, 17 Nov 2017 10:50:35 +0000 (12:50 +0200)]
LTO: Pass CFLAGS to compiler for kernel module linking too.

Forgot to git add it in fa8104330967fab6248da216251a4382b39b1dab.
Linker still could link LTO'ed *.o objects, because ld is invoked by cc
with explicitly passed -plugin option that loads the liblto_plugin.so.
This only slightly changes how LTO is performed on kernel modules.

Note: this will need to be adjusted for clang -flto compatibility
when I will update the clangb version in git module.

Reported-by: dillon
3 days agogcc47: Backport static initialization acceptance.
zrj [Fri, 17 Nov 2017 10:21:09 +0000 (12:21 +0200)]
gcc47: Backport static initialization acceptance.

I only backporting these so that failing to accept drm/i915 _MMIO() stuff
would *not* be used as an argument to remove gcc47 alternative compiler
from base, just because "oh look it does not compile the i915.ko".
The gcc47 is likely the last C compiler compilable with C compiler able
to bootstrap the c++ compiler that is used on x86_64 anymore.
If anyone has/works on simple C compiler that could boostrap modern gcc,
you know where I hanging out and I gladly replace gcc47 with it in base.

It only takes few lines to accept updated drm/i915 "features".
It still warns with -pedantic:
/usr/src/sys/dev/drm/i915/intel_pm.c:3925:3: warning: initializer element is not constant [-pedantic]
/usr/src/sys/dev/drm/i915/intel_pm.c:3925:3: warning: (near initialization for 'wm0_pipe_reg[0]') [-pedantic]
/usr/src/sys/dev/drm/i915/intel_pm.c:3926:3: warning: initializer element is not constant [-pedantic]
/usr/src/sys/dev/drm/i915/intel_pm.c:3926:3: warning: (near initialization for 'wm0_pipe_reg[1]') [-pedantic]
/usr/src/sys/dev/drm/i915/intel_pm.c:3927:3: warning: initializer element is not constant [-pedantic]
/usr/src/sys/dev/drm/i915/intel_pm.c:3927:3: warning: (near initialization for 'wm0_pipe_reg[2]') [-pedantic]
So far i915 is the only place in kernel that does this, please lets keep it at this.

Check C99 Standard: Section 6.7.8 for more info.

Taken-from: gcc trunk (216416 + 216440 revisions)

3 days agotftp(1): Avoid symbol conflict with ncurses.
zrj [Fri, 17 Nov 2017 10:17:27 +0000 (12:17 +0200)]
tftp(1): Avoid symbol conflict with ncurses.

The usr.bin/tftp/main.c: int trace;
while lib_trace.c: void trace(const unsigned int){};
This breaks -flto -static link against LTO'ed libncurses.a.

Fix it by just renaming: s/trace/tftp_trace/g.

3 days agoftp(1): Avoid symbol conflict with ncurses.
zrj [Fri, 17 Nov 2017 10:03:18 +0000 (12:03 +0200)]
ftp(1): Avoid symbol conflict with ncurses.

The contrib/tnftp/src/ftp_var.h: GLOBAL int trace;
while lib_trace.c: void trace(const unsigned int){};
This breaks -flto -static link against LTO'ed libncurses.a.

Since it is in contrib code, just -Dtrace it.

3 days agobackgammon(6): Avoid symbol issue with ncurses lib.
zrj [Fri, 17 Nov 2017 09:20:44 +0000 (11:20 +0200)]
backgammon(6): Avoid symbol issue with ncurses lib.

The backgammon(6) has: back.k: extern int raw;
while in ncurses tinfo/lib_raw.c: int raw(void){}.

This breaks -flto -static link against LTO'ed libncurses.a.
So just rename backgammon global raw to bgraw.

Just for the fun of it, note that init.c: struct termios bgraw;
NetBSD already have it fixed in games/backgammon/.
Also still not clear how to do with c5e1790f6b.

4 days agoFix some trailing whitespace in sys/conf and sys/config.
Sascha Wildner [Fri, 17 Nov 2017 08:02:47 +0000 (09:02 +0100)]
Fix some trailing whitespace in sys/conf and sys/config.

Submitted-by: zrj
4 days agobanner(1): Remove (void) casts.
zrj [Thu, 16 Nov 2017 13:28:59 +0000 (15:28 +0200)]
banner(1): Remove (void) casts.

Forgot about these. Sorry.

4 days agogames: Remove (void) casts.
zrj [Thu, 16 Nov 2017 13:27:21 +0000 (15:27 +0200)]
games: Remove (void) casts.

No functional change.

4 days agofortune(6): Add few fortunes.
zrj [Thu, 16 Nov 2017 12:38:47 +0000 (14:38 +0200)]
fortune(6): Add few fortunes.

4 days agoBring in OpenBSD's tetris(6).
zrj [Thu, 16 Nov 2017 12:31:47 +0000 (14:31 +0200)]
Bring in OpenBSD's tetris(6).

Will be handy to test upcoming ncurses update.

Taken-from: OpenBSD

4 days agoBring in OpenBSD's boggle(6).
zrj [Thu, 16 Nov 2017 12:27:33 +0000 (14:27 +0200)]
Bring in OpenBSD's boggle(6).

As per README, stuff is addictive!

Pointed-by: Thierry
Taken-from: OpenBSD

5 days agonewfs_hammer.8: Fix up the HISTORY section.
Sascha Wildner [Wed, 15 Nov 2017 19:38:16 +0000 (20:38 +0100)]
newfs_hammer.8: Fix up the HISTORY section.

Reported-by: kerma (Michael)
5 days agocpdup(1): Whitespace cleanup.
zrj [Tue, 14 Nov 2017 20:30:57 +0000 (22:30 +0200)]
cpdup(1): Whitespace cleanup.

No functional change.

5 days agobtools: Strip host lib deps for bin/cpdup.
zrj [Tue, 14 Nov 2017 19:25:48 +0000 (21:25 +0200)]
btools: Strip host lib deps for bin/cpdup.

Disable last libmd.a user in btools.
MD5 functionality (cpdup -m) for buildworld is redundant.

5 days agobtools: Strip libmd dep for usr.bin/sort.
zrj [Tue, 14 Nov 2017 22:25:35 +0000 (00:25 +0200)]
btools: Strip libmd dep for usr.bin/sort.

Implement SORT_RANDOM option and do not use if BOOTSTRAPPING.
This option is useless for a buildworld/buildkernel.

This allows to have sort(1) that only depends on libc.

5 days agobtools: Strip libpthread dep for usr.bin/sort.
zrj [Tue, 14 Nov 2017 18:41:00 +0000 (20:41 +0200)]
btools: Strip libpthread dep for usr.bin/sort.

This is one in particular was annoying me for long. It has a potential of using
ptreads for sorting speed up. Running parallel sort(1) in various buildworld
places actually can result in less performance on maximum parallel builds due
to interference with other cpu cores and we can not be sure about the state of
host's static libpthread lib. Also, so far I did not noticed any performance
degradation when sort is used without threads support for buildworld purposes.
This utility (in btools case) is compiled statically so bringing whole pthreads
static lib into memory has a bigger penalty then in most cases sorting anyway.
This a single btools/ctools case that depends on -lpthread. Having a slim,
more stable buildings tools is prefered than dubious compilation speed
enhancements for critical buildworld infrastructure.

The libmd.a dependency will be revemoved in separate patch.

5 days agobtools: Remove usr.bin/bzip2 from the list.
zrj [Tue, 14 Nov 2017 18:04:06 +0000 (20:04 +0200)]
btools: Remove usr.bin/bzip2 from the list.

The bzip2 and its variants are not used during buildworld/buildkernel.
So avoid yet another dependency on host lib (libz2.a).
Only places i could find it referenced were:
  * etc/man.conf - for manpage compression (we only do and trac .gz ones).
  * etc/release  - for compressing the kernel sources (that is outside build
                   and already have a dependencies from DPorts).

5 days agoncurses: Privatize the last public header.
zrj [Tue, 14 Nov 2017 17:01:06 +0000 (19:01 +0200)]
ncurses: Privatize the last public header.

Just move it with rest of privatized ncurses headers. Only user in base is
usr.sbin/installer/dfuife_curses/ and include path is already handled there.
As of this moment we are sure that none of private ncurses bits are used for
bootstrapping the world (non-interactive make/shell scripts redirected to
file should not care about colors anyway or try to format the layout).

No functional change.

5 days agobtools: Remove /bin/csh from the list.
zrj [Tue, 14 Nov 2017 15:47:20 +0000 (17:47 +0200)]
btools: Remove /bin/csh from the list.

Our buildworld infrastructure does not use it (/bin/sh is used).
The csh is quite a complicated shell (ncurses, crypto deps).
One place less to trip while upgrading to newer releases.
This should simplify all the private libs handling.

5 days agobtools: Do not link with LIBEDIT for bin/sh.
zrj [Tue, 14 Nov 2017 15:42:31 +0000 (17:42 +0200)]
btools: Do not link with LIBEDIT for bin/sh.

The -DNO_HISTORY already disables all libprivate_edit functionality and
libncurses is only a dep for libedit. Simply remove extra dependencies.
Keeps btools slim and cleaner.

5 days agoncurses: Hook in fully bootstrapped tic_next.
zrj [Tue, 14 Nov 2017 15:25:55 +0000 (17:25 +0200)]
ncurses: Hook in fully bootstrapped tic_next.

This hopefully will allow for better future bootstraps better and w/o hacks.
Problem with tic(1) is his special knowledge through <progs.priv.h> header.
Because it is not a standard application (that uses only public headers) we
simply cannot expect to just compile three new main sources sources + link
with previously built libncurses.a from older release. Also, tic(1) during
buildworld builds terminfo binary database for the *new* ncurses lib version
and not for the *old* one. So full bootstrap is in order.

Note, share/terminfo database can still be built by a world installed tic(1).

5 days agoncurses: Add hostprog variant of tic.
zrj [Tue, 14 Nov 2017 12:23:22 +0000 (14:23 +0200)]
ncurses: Add hostprog variant of tic.

Tic(1) uses some of internal bits of ncurses implementation.
  * For now include a basic set of libncurses.
  * Link this tic with wide version of ncurses.
  * Adjust sources a bit for future reference.

5 days agoncurses: Move in panel handling to Makefile.sources.
zrj [Tue, 14 Nov 2017 09:24:44 +0000 (11:24 +0200)]
ncurses: Move in panel handling to Makefile.sources.

While there, install panel.h header only from a single place.
Previously it was installing it from both libpanel and libpanelw.
The libpanelw lib is currently unused in the world tree, while the
libpanel is only used by installer.

No functional change.

5 days agoncurses: Separate generators and sources list.
zrj [Mon, 13 Nov 2017 17:12:40 +0000 (19:12 +0200)]
ncurses: Separate generators and sources list.

Keeps everything concentrated outside libncurses lib.
Add a bit of source sorting too.

No functional change, just moving stuff around.

5 days agoncurses: Do not use LIB_SUFFIX.
zrj [Mon, 13 Nov 2017 14:04:15 +0000 (16:04 +0200)]
ncurses: Do not use LIB_SUFFIX.

In preparations for update.

While there, remove two unused variables.

5 days agoRevert "bootstrap: Expand BOOTSTRAPPING case to avoid warning."
zrj [Wed, 15 Nov 2017 19:34:07 +0000 (21:34 +0200)]
Revert "bootstrap: Expand BOOTSTRAPPING case to avoid warning."

This reverts commit 6b9ba3e86a05417c2af9786967ec92fc136cffde.

5 days agoRevert "Hack-fix buildworld after the ncurses upgrade."
zrj [Wed, 15 Nov 2017 19:33:49 +0000 (21:33 +0200)]
Revert "Hack-fix buildworld after the ncurses upgrade."

This reverts commit 6d3bd8e3942560036cf2aec0d98a65819c5f3b4c.

5 days agoFix some typos in manual pages.
Sascha Wildner [Wed, 15 Nov 2017 19:08:20 +0000 (20:08 +0100)]
Fix some typos in manual pages.

5 days agobanner.1: Adjust for 80 columns terminals.
zrj [Wed, 15 Nov 2017 16:55:34 +0000 (18:55 +0200)]
banner.1: Adjust for 80 columns terminals.

5 days agokernel/hammer2: Fix compilation without INVARIANTS.
Sascha Wildner [Wed, 15 Nov 2017 16:25:23 +0000 (17:25 +0100)]
kernel/hammer2: Fix compilation without INVARIANTS.

Reported-by: ohum
5 days agoBring in OpenBSD's banner(1).
zrj [Wed, 15 Nov 2017 13:56:43 +0000 (15:56 +0200)]
Bring in OpenBSD's banner(1).

I find it more pleasing to the eyes than banner(6).

While there, constify array in lpd(8) too.

Taken-from: OpenBSD

5 days agointro.6: Remove reference to dm(8).
zrj [Wed, 15 Nov 2017 12:12:16 +0000 (14:12 +0200)]
intro.6: Remove reference to dm(8).

5 days agobanner(6): Move to games/ where it belongs.
zrj [Wed, 15 Nov 2017 11:42:55 +0000 (13:42 +0200)]
banner(6): Move to games/ where it belongs.

I somehow managed to miss this one when prepping the 07917fe88dd.
Now all (6) utilities are really in games/.

Only a single (6) manpage is outside games/
It stays there.

5 days agoRemove some more old openssl(1) related manual pages and MLINKS.
Sascha Wildner [Wed, 15 Nov 2017 14:43:49 +0000 (15:43 +0100)]
Remove some more old openssl(1) related manual pages and MLINKS.

I had overlooked them in f694fa517c2628d79a49719e25f72134babbdd0c.

Reported-by: zrj
5 days agotest - Test commit.
Peeter Must [Wed, 15 Nov 2017 08:54:05 +0000 (10:54 +0200)]
test - Test commit.

6 days agolibcrypto: Remove unused old version and date in Makefile.inc.
Sascha Wildner [Tue, 14 Nov 2017 09:32:23 +0000 (10:32 +0100)]
libcrypto: Remove unused old version and date in Makefile.inc.

7 days agokernel - Fix mtime for deferred writes from mmap R+W
Matthew Dillon [Mon, 13 Nov 2017 22:03:20 +0000 (14:03 -0800)]
kernel - Fix mtime for deferred writes from mmap R+W

* When a program modifies a file via a shared R+W mmap and does not
  msync() it, the pages do not get synchronized to the filesystem until
  potentially up to 30 seconds later.  Our filesystems then record a
  mtime as-of when that synchronization occurs rather than when the
  modification was made to the pages.

* We cannot easily determine when the modification was made, but we do
  track close()'s on file pointers that were opened writable.  So what
  we do is record the timestamp as of the last close() of a file pointer
  that was opened for writing.  Then later on we pages are synchronizded,
  we use this timestamp for any mtime update.  It isn't perfect, but its
  better than it was before.

* This is not a perfect fix.  The mtime really needs to be updated at the
  time of the close() in this situation as well, but it will fix 'make'
  related issues for files that are modified with mmap rather than
  write() (aka such as ld.gold appears to do).

Reported-by: zrj
7 days agoRemove various old openssl(1) related manual pages.
Sascha Wildner [Mon, 13 Nov 2017 11:47:15 +0000 (12:47 +0100)]
Remove various old openssl(1) related manual pages.

7 days agomtree: Fix owner for several directories in /usr/share.
Sascha Wildner [Mon, 13 Nov 2017 08:51:29 +0000 (09:51 +0100)]
mtree: Fix owner for several directories in /usr/share.

Only /usr/share/man/cat* directories should have owner 'man'.

0ba28897abadbf broke this by removing needed '/set uname=root' lines
in BSD.usr.dist.

While here, remove some trailing whitespace.

In-discussion-with: zrj

8 days agostrfile(8): Convert to use big endian format.
zrj [Sun, 12 Nov 2017 11:09:52 +0000 (13:09 +0200)]
strfile(8): Convert to use big endian format.

Produce architecture independent .dat files.

This temporarilly will break fortunes from DPorts.

Taken-from: FreeBSD

8 days agogames: Move out non (6) utilities from /usr/games/.
zrj [Sun, 12 Nov 2017 10:03:58 +0000 (12:03 +0200)]
games: Move out non (6) utilities from /usr/games/.

The strfile(8) and unstr(8) are pretty generic on their own and do not belong
in /usr/games/ (with all NO_GAMES stuff). All (6) utilities are still in games.

 * Move stfile(8) and unstr(8) to usr.bin/.
 * Move out strfile from btools and convert it to hostprog (like nvi).
 * Compile strfile.nx only if NO_SHARE is not set.

While there, apply 3rd to usr.bin/vi too (somehow skipped it in bf31779ebd).

9 days agotools/commitsd - Remove it
Eitan Adler [Sat, 11 Nov 2017 20:07:25 +0000 (12:07 -0800)]
tools/commitsd - Remove it

This generates information for a CVS database. Something that both
DragonFly and FreeBSD have stopped using years ago.

9 days agoMakefile_upgrade.inc: Fix path.
Sascha Wildner [Sun, 12 Nov 2017 07:54:40 +0000 (08:54 +0100)]
Makefile_upgrade.inc: Fix path.

Reported-by: zrj
9 days agocvs: Fix perl shebangs in contrib scripts.
zrj [Sat, 11 Nov 2017 18:46:31 +0000 (20:46 +0200)]
cvs: Fix perl shebangs in contrib scripts.

9 days agoCleanup leftover libs.
zrj [Sat, 11 Nov 2017 18:48:02 +0000 (20:48 +0200)]
Cleanup leftover libs.

On one of my test setups these were sitting since 2016-03-10.

Reported-by: swildner
9 days agodrm - Add i915_sysctl_init callback.
Peeter Must [Tue, 7 Nov 2017 12:48:52 +0000 (14:48 +0200)]
drm - Add i915_sysctl_init callback.

* This sets the hw.dri.%i.busid and hw.dri.%i.modesetting
  sysctls so that applications like mesa loader can retrieve
  pci id information at startup. Taken from

Suggested-by: zrj
9 days agokernel/wlan: Sync Makefile with FreeBSD a bit.
Sascha Wildner [Sat, 11 Nov 2017 15:18:00 +0000 (16:18 +0100)]
kernel/wlan: Sync Makefile with FreeBSD a bit.

Make wlan_rssadapt a module of its own. This also is in line with how
wlan is compiled into the kernel.

9 days agorogue(6): Fix potion mixing.
zrj [Sat, 11 Nov 2017 14:22:08 +0000 (16:22 +0200)]
rogue(6): Fix potion mixing.

Taken-from: freebsd-ports(games/bsdgnames)

9 days agohack(6): Update gethdate().
zrj [Sat, 11 Nov 2017 14:15:12 +0000 (16:15 +0200)]
hack(6): Update gethdate().

Taken-from: OpenBSD

9 days agobattlestar(6): Add few patches.
zrj [Sat, 11 Nov 2017 13:49:01 +0000 (15:49 +0200)]
battlestar(6): Add few patches.

Taken-from: freebsd-ports(games/bsdgames)

9 days agodm(8): Retire the Dungeon Master.
zrj [Sat, 22 Jul 2017 13:19:21 +0000 (16:19 +0300)]
dm(8): Retire the Dungeon Master.

One setgid utility less in base + it was shadowing dm(4).

Approved-by: swildner
9 days agogames: Mark utilities that write to /var/games/ directory.
zrj [Sat, 22 Jul 2017 12:14:59 +0000 (15:14 +0300)]
games: Mark utilities that write to /var/games/ directory.

Make them available for users in games group only.
This will allow to tighten security a bit.

While there, add missing creation of /var/games/atc_score.

9 days agoJailbreak games from Dungeon Master.
zrj [Sat, 22 Jul 2017 10:24:59 +0000 (13:24 +0300)]
Jailbreak games from Dungeon Master.


9 days agoPRIV: Remove OpenSSL entries from mtree.
zrj [Sat, 11 Nov 2017 11:19:34 +0000 (13:19 +0200)]
PRIV: Remove OpenSSL entries from mtree.

Enough time has passed and nothing should be using these by now.

9 days agoupgrade: Avoid confussion.
zrj [Sat, 11 Nov 2017 10:53:10 +0000 (12:53 +0200)]
upgrade: Avoid confussion.

Some people tend to skip over entries in UPDATING and miss important details.
Convert REMOVE_OPENSSL_FILES to an action that actually warns user about it.

Files being removed(optionally) are peformed as a last step in make upgrade
step in constrast to standard TO_REMOVE that does it before updating /etc/ dir.

It should be assumed that users are allowed and will use REMOVE_DEPRECATED=yes
in their /etc/make.conf, so anything requiring user intervention should still
go in etc/Makefile: upgrade_check: target (like it already does for mailers).
Addition is not a magic fix for all problems and should be used responsibly!

While there, convert old pam removal using csh to plain TO_REMOVE.

Approved-after-very-long-discussions-by: swildner
9 days agobuildworld: Really support static toolchain.
zrj [Sat, 11 Nov 2017 10:37:39 +0000 (12:37 +0200)]
buildworld: Really support static toolchain.

Not to be used for day-to-day stuff, testing and experimenting feature only.
This includes the cross-tools and would come very helpful when we will make
a switch for /libexec/ld-elf.so runtime linker.

9 days agomusycc: Tidy up a bit.
zrj [Sat, 11 Nov 2017 09:51:56 +0000 (11:51 +0200)]
musycc: Tidy up a bit.

It has been sitting in a dark corner for too long.

9 days agoClean up a bit after the recent changes.
zrj [Sat, 11 Nov 2017 08:01:34 +0000 (10:01 +0200)]
Clean up a bit after the recent changes.

Manpage was removed in 5e46054208ba7328a97fb412f9b23afdc9cc70ef.

9 days agoAdjust path after libpam changes.
zrj [Sat, 11 Nov 2017 09:55:51 +0000 (11:55 +0200)]
Adjust path after libpam changes.

Reported-by: swildner
10 days agoworld: Attempt to fix NOSHARED MINUSLPAM handling.
zrj [Fri, 10 Nov 2017 18:30:05 +0000 (20:30 +0200)]
world: Attempt to fix NOSHARED MINUSLPAM handling.

 * Add missing LIBYPCLNT as a dependency. TODO: NO_NIS handling.
 * Add missing LIBSSH (only needed in case of pam_ssh module).
 * Add missing LIBRECRYPTO too.
 * Introduce LDFLAGSPAM helper for priv libs.

Now NOSHARED=yes buildworld is possible and it is usable. Dynamic .so libraries
are still built, just not used during linking of executables (with exceptions).
There should be no issues building standard buildworld over static one.

Keep in mind that static built utilities like su(1), login(1) will still try to
dlopen() the shared pam modules (and fail with sorry "Service unavailable")
followed by fallback case of loading static modules through openpam_static().
Because of that syslog and console will get spammed on any login attempts with:
_ login: in try_dlopen(): /usr/lib/security/pam_opie.so.2: Service unavailable
_ login: in try_dlopen(): /usr/lib/security/pam_unix.so.2: Service unavailable
_ su: in try_dlopen(): /usr/lib/security/pam_rootok.so.2: Service unavailable
_ su: in try_dlopen(): /usr/lib/security/pam_self.so.2: Service unavailable

Because libpam.a can still be linked in dynamic exec, not disabling warnings.

Currently used OpenPAM Micrampelis is quite stale (at the moment newest release
is Resedacea). Also with OpenSSH update there might be an API issue.

Please report any breakages on master.

10 days agoLIBPRIV: Add few missing ${LIBRECRYPTO} dependencies.
zrj [Fri, 10 Nov 2017 18:27:35 +0000 (20:27 +0200)]
LIBPRIV: Add few missing ${LIBRECRYPTO} dependencies.

Mainly to satisfy the NOSHARED build.

10 days agoxz(1): Add missing dependency.
zrj [Fri, 10 Nov 2017 18:18:38 +0000 (20:18 +0200)]
xz(1): Add missing dependency.

Satisfies NOSHARED build, liblzma is linked against libpthread.

10 days agounzip(1): Add missing dependencies.
zrj [Fri, 10 Nov 2017 18:17:31 +0000 (20:17 +0200)]
unzip(1): Add missing dependencies.

Satisfies NOSHARED build.

10 days agofstat(1): Attempt to fix a symbol conflict with libkvm.a
zrj [Fri, 10 Nov 2017 18:15:04 +0000 (20:15 +0200)]
fstat(1): Attempt to fix a symbol conflict with libkvm.a

Need to be rechecked deeper.

10 days agoworld: Enforce non static linkage for a few PROG cases.
zrj [Fri, 10 Nov 2017 18:07:13 +0000 (20:07 +0200)]
world: Enforce non static linkage for a few PROG cases.

The keyserv case is still to be decided.

10 days agobuildworld: Mark few special PROG cases.
zrj [Fri, 10 Nov 2017 18:03:37 +0000 (20:03 +0200)]
buildworld: Mark few special PROG cases.

When NOSHARED is set it leads to undesirable link commands having both -shared
and -static arguments. Avoid that.

10 days agomailaddr(7): wave goodbye
Eitan Adler [Sat, 11 Nov 2017 07:03:06 +0000 (23:03 -0800)]
mailaddr(7): wave goodbye

The information here is somewhere between ancient to obsolete.
It refers to a time in the internet's history when manual routing
was still useful, talks about UUCP as if its modern, and refers
to documents which I had trouble tracking down.

It seems unlikely that a manual page in this form would be useful, so
just remove it.

Also committed in: FreeBSD r325702

10 days agoascii.7: Sync with FreeBSD
Eitan Adler [Sat, 11 Nov 2017 06:46:42 +0000 (22:46 -0800)]
ascii.7: Sync with FreeBSD

- Add a binary table
- Use uppercase names

10 days agobsd-family-tree: Sync with FreeBSD
Eitan Adler [Sat, 11 Nov 2017 06:42:08 +0000 (22:42 -0800)]
bsd-family-tree: Sync with FreeBSD

- fix naming for older macOS
- OBSD 6.2; FBSD 11.1, 10.4; DF 5

10 days agolibpam: Play some 4D chess for static pam modules support.
zrj [Thu, 9 Nov 2017 14:57:23 +0000 (16:57 +0200)]
libpam: Play some 4D chess for static pam modules support.

We need A, B, C and D. C depends on A, B depends on D, A&B and C&D are both
built in pairs. So split A&B and hope for the best.

PAM modules were moved in closer to support this in the previous commit.
Also use workaround to get matching set pointers. Might be a pam bug.
Now su(1), login(1) and friends are usable in -static compilations with
pending buildworld support patches.

No functional change to usual case of shared libpam.so.

Partially-taken-from: FreeBSD

10 days agolibpam: Reorganize libpam build structure.
zrj [Thu, 9 Nov 2017 13:01:57 +0000 (15:01 +0200)]
libpam: Reorganize libpam build structure.

In preparations for hooking back the openpam_static.c

No functional change except for debug info (paths have changed).

10 days agosys/linker_set.h: Allow to declare empty data sets.
zrj [Thu, 9 Nov 2017 18:24:56 +0000 (20:24 +0200)]
sys/linker_set.h: Allow to declare empty data sets.

At first I thought it would be useful for OpenPAM static modules, but in case
when none of the static pam modules are linked in it is best to disable the
libpam OPENPAM_STATIC_MODULES option when it soon get enabled.

This weak version of SET_DECLARE() might still come in handy later on.
If set is empty, weak symbols of set begin/end pointers evaluate as 'NULL'
when they are not present. Also, this way we would make sure that in places
like bootloaders and kernel we are going to use non empty sets.

10 days agotelnetd: Hide global debug symbol.
zrj [Thu, 9 Nov 2017 18:20:33 +0000 (20:20 +0200)]
telnetd: Hide global debug symbol.

Fixes an issue with OpenPAM static linkage against pam_ssh using libssh.a.

While there, add missing va_end().

10 days agotelnet(1): Do not use debug as global symbol.
zrj [Thu, 9 Nov 2017 18:18:26 +0000 (20:18 +0200)]
telnet(1): Do not use debug as global symbol.

Avoid issues with static linking.

10 days agotelnetd: Remove old DragonFly tags.
zrj [Thu, 9 Nov 2017 18:16:21 +0000 (20:16 +0200)]
telnetd: Remove old DragonFly tags.

10 days agotelnet(1): Whitespace cleanup.
zrj [Thu, 9 Nov 2017 18:11:12 +0000 (20:11 +0200)]
telnet(1): Whitespace cleanup.

While there, adjust manpage too.

11 days agore: Sync with Realtek's re-1.94
Sepherosa Ziehau [Wed, 18 Oct 2017 13:08:47 +0000 (21:08 +0800)]
re: Sync with Realtek's re-1.94

Add two more chips' support.

Tested-by: zrj, Daniel Bilik <ddb neosystem org>
11 days agobus: Properly implement bus_space_{map,unmap}()
Sepherosa Ziehau [Mon, 6 Nov 2017 13:24:23 +0000 (21:24 +0800)]
bus: Properly implement bus_space_{map,unmap}()

10 days agolibm: Fix misleading indent.
Sascha Wildner [Fri, 10 Nov 2017 13:03:14 +0000 (14:03 +0100)]
libm: Fix misleading indent.

Found-by: gcc8
10 days agolibc: Move unused rcsid[] etc. constants into the
Sascha Wildner [Fri, 10 Nov 2017 12:50:52 +0000 (13:50 +0100)]
libc: Move unused rcsid[] etc. constants into the

Found-by: gcc8
10 days agolibc: Remove unused string constant.
Sascha Wildner [Fri, 10 Nov 2017 12:49:52 +0000 (13:49 +0100)]
libc: Remove unused string constant.

Found-by: gcc8
11 days agobsd.libnames.mk: Activate LIBDMSG.
zrj [Thu, 9 Nov 2017 08:24:20 +0000 (10:24 +0200)]
bsd.libnames.mk: Activate LIBDMSG.

So that hammer2 would properly register dependency on libdmsg.

While there, remove disabled checks for WANT_HAMMER2 too.

12 days agolibpam: Update Makefile.
zrj [Thu, 9 Nov 2017 06:58:21 +0000 (08:58 +0200)]
libpam: Update Makefile.

In preparations for upcoming changes.

12 days agokernel - Fix bug in vm_fault_page()
Matthew Dillon [Thu, 9 Nov 2017 03:35:14 +0000 (19:35 -0800)]
kernel - Fix bug in vm_fault_page()

* Fix a bug in vm_fault_page() and vm_fault_page_quick().  The code
  is not intended to update the user pmap, but if the vm_map_lookup()
  results in a COW, any existing page in the underlying pmap will no
  longer match the page that should be there.

  The user process will still work correctly in that it will fault the
  COW'd page if/when it tries to issue a write to that address, but
  userland will not have visibility to any kernel use of vm_fault_page()
  that modifies the page and causes a COW if the page has already been
  faulted in.

* Fixed by detecting the COW and at least removing the pte from the pmap
  to force userland to re-fault it.

* This fixes gdb operation on programs.  The problem did not rear its
  head before because the kernel did not pre-populate as many pages in the
  initial exec as it does now.

* Enhance vm_map_lookup()'s &wired argument to return wflags instead,
  which includes FS_WIRED and also now has FS_DIDCOW.

Reported-by: profmakx
12 days agokernel - Enhance debugging wakeup sysctl
Matthew Dillon [Wed, 8 Nov 2017 19:06:54 +0000 (11:06 -0800)]
kernel - Enhance debugging wakeup sysctl

* Add a second debugging sysctl to issue wakeup's for the UMTX
  domain.  This sysctl is only used for debugging purposes.

12 days agokernel - Try to fix 'busy buffer' panic.
Matthew Dillon [Wed, 8 Nov 2017 19:05:03 +0000 (11:05 -0800)]
kernel - Try to fix 'busy buffer' panic.

* Improve the shutdown sequence to require three passes with
  0 buffers remaining before proceeding.  This should fix the
  'busy buffer' panic.