dragonfly.git
6 years 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
6 years 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)

6 years 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.

6 years 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.

6 years 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.

6 years 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
6 years 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.

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

No functional change.

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

6 years 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

6 years 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

6 years 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)
6 years agocpdup(1): Whitespace cleanup.
zrj [Tue, 14 Nov 2017 20:30:57 +0000 (22:30 +0200)]
cpdup(1): Whitespace cleanup.

No functional change.

6 years 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.

6 years 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.

6 years 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.

6 years 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).

6 years 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.

6 years 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.

6 years 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.

6 years 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).

6 years 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.

6 years 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.

6 years 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.

6 years 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.

6 years 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.

6 years 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.

6 years 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.

6 years 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.

6 years 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
6 years 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

6 years 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).

6 years 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/
  share/man/man6/intro.6
It stays there.

6 years 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
6 years agotest - Test commit.
Peeter Must [Wed, 15 Nov 2017 08:54:05 +0000 (10:54 +0200)]
test - Test commit.

6 years 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.

6 years 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
6 years 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.

6 years 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

6 years 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.
sorry

Taken-from: FreeBSD

6 years 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).

6 years 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.

6 years 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
6 years 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.

6 years 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
6 years 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
  sys/dev/drm/radeon/radeon_drv.c.

Suggested-by: zrj
6 years 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.

6 years 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)

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

Taken-from: OpenBSD

6 years 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)

6 years 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
6 years 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.

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

TooManySecrets

6 years 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.

6 years 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
6 years 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.

6 years 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.

6 years 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.

6 years 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
6 years 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.

6 years 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.

6 years 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.

6 years 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.

6 years 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.

6 years 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.

6 years 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.

6 years 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

6 years 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

6 years 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

6 years 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

6 years 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).

6 years 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.

6 years 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().

6 years 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.

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

6 years 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.

6 years 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>
6 years 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}()

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

Found-by: gcc8
6 years 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
 comments.

Found-by: gcc8
6 years 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
6 years 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.

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

In preparations for upcoming changes.

6 years 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
6 years 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.

6 years 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.

6 years agolibc and pthreads - Fix atfork issues with nmalloc, update dmalloc
Matthew Dillon [Wed, 8 Nov 2017 18:56:06 +0000 (10:56 -0800)]
libc and pthreads - Fix atfork issues with nmalloc, update dmalloc

* Implement atfork handling for nmalloc.  As part of this, refactor
  some of nmalloc.

* Remove ZERO_LENGTH_PTR from nmalloc.  Instead, force 0-byte
  allocations to allocate 1 byte.  The standard requires unique
  pointers to be returned.

* For now go back to a single depot lock instead of a per-zone
  lock.  It is unclear whether multi-threaded performance will
  suffer or not, but its the only way to implement atfork handling.

* Implement proper atfork interlocks for nmalloc via pthreads to avoid
  corruption when heavily threaded programs call fork().

* Bring dmalloc up to date in various ways, including properly
  implementing a minimum 16-byte alignment for allocations >= 16 bytes,
  and atfork handling.  Also use a global depot lock for the same
  reason we use it in nmalloc, and implement a front-end magazine
  shortcut for any allocations <= 2MB.

Reported-by: mneumann
6 years agokernel - Update umtx documentation
Matthew Dillon [Tue, 7 Nov 2017 06:08:21 +0000 (22:08 -0800)]
kernel - Update umtx documentation

* Update the umtx(2) documentation with better examples and include
  fine detail and warnings on use.

* Update the fork(2) documentation to include warnings about using
  the function in threaded programs.

6 years agortld: Remove unneeded CSTD, our default is gnu99.
Sascha Wildner [Wed, 8 Nov 2017 09:45:22 +0000 (10:45 +0100)]
rtld: Remove unneeded CSTD, our default is gnu99.

6 years agofile: Allow NOSHARED build, bring back -lz.
zrj [Wed, 8 Nov 2017 08:59:38 +0000 (10:59 +0200)]
file: Allow NOSHARED build, bring back -lz.

This effectively reverts the e3b736ab82b63ca197aa7e3508f8a7e88c8db3fc.
Static libmagic.a does not know about its dependencies. Some mechanism to track
shared/static libs dependencies would be needed, especially for btools where we
have to keep temporal dimension of the base libraries evolution in mind.

6 years agotcpdchk,tcpdmatch: Allow the NOSHARED build.
zrj [Wed, 8 Nov 2017 08:52:23 +0000 (10:52 +0200)]
tcpdchk,tcpdmatch: Allow the NOSHARED build.

This one is technically not a bug, just global int rfc931_timeout, gets initialized
to different values.

6 years agolibcrypt: Fix symbol conflict with LIBRECRYPTO.
zrj [Wed, 8 Nov 2017 08:48:02 +0000 (10:48 +0200)]
libcrypt: Fix symbol conflict with LIBRECRYPTO.

The MD5Transform() could be made static, but for now just mangle the symbol.
Solves issue of -static build with ${LIBCRYPT} and ${LIBRECRYPTO}.

6 years agobsd.dep.mk: Document MKDEPINTDEPS addition.
zrj [Wed, 8 Nov 2017 08:05:12 +0000 (10:05 +0200)]
bsd.dep.mk: Document MKDEPINTDEPS addition.

6 years agolib/csu: Fix longstanding quickworld issue.
zrj [Wed, 1 Nov 2017 15:32:28 +0000 (17:32 +0200)]
lib/csu: Fix longstanding quickworld issue.

Now /bin/sh and friends will have correct DragonFly version in NOTES section.
Full buildworld upon major version changes still should be preferred.

6 years agobsd.lib.mk: Allow to skip implicit dependencies.
zrj [Wed, 1 Nov 2017 15:29:48 +0000 (17:29 +0200)]
bsd.lib.mk: Allow to skip implicit dependencies.

Only to be used for corner cases.

6 years agobsd.dep.mk: Add support for internal dependencies.
zrj [Wed, 1 Nov 2017 15:26:53 +0000 (17:26 +0200)]
bsd.dep.mk: Add support for internal dependencies.

This will be used for all cases where intermediate compilation
products are used due to one reason or another.

6 years agocal(1): Fix locales handling.
zrj [Tue, 7 Nov 2017 06:35:41 +0000 (08:35 +0200)]
cal(1): Fix locales handling.

 * Remove long deprecated locale name symlinks.
 * Remove 'mkdir -p' that was hiding missing mtree entries.
 * Add missing mtree entries.

6 years agohammer2 - Fix divide by 0 race
Matthew Dillon [Mon, 6 Nov 2017 19:21:43 +0000 (11:21 -0800)]
hammer2 - Fix divide by 0 race

* Fix a statfs/statvfs race which can cause a divide-by-0.

Reported-by: arcade@b1t.name
6 years agohammer2 - Add vfs.hammer2.supported_version
Matthew Dillon [Mon, 6 Nov 2017 18:31:04 +0000 (10:31 -0800)]
hammer2 - Add vfs.hammer2.supported_version

* Add vfs.hammer2.supported_version, which newfs_hammer2 probes
  and complains about when it isn't there.  This stops the complaints.

6 years agoshare/syscons/scrnmaps: Use FILES instead of 'all' target.
Sascha Wildner [Mon, 6 Nov 2017 15:38:15 +0000 (16:38 +0100)]
share/syscons/scrnmaps: Use FILES instead of 'all' target.

Reported-by: zrj