jmatthew [Thu, 23 Aug 2018 00:22:53 +0000 (00:22 +0000)]
set interrupt aggregation parameters so we get around 10000 interrupts
per second, which makes a pretty sizable improvement to rx performance.
kettenis [Wed, 22 Aug 2018 21:15:53 +0000 (21:15 +0000)]
Initialize bridge registers instead of relying on ppb(4) to do it for us.
This gives us more control over the I/O windows that we expose such that
we can make enough address space available for graphics cards.
cheloha [Wed, 22 Aug 2018 20:36:24 +0000 (20:36 +0000)]
Use a monotonic clock for the benchmark timeout.
While here, we don't need the app_timer_* wrapper function, it only
obfuscates things, so delete it. Also while here, totalTime only needs
to be assigned once.
ok tb@
nicm [Wed, 22 Aug 2018 20:06:14 +0000 (20:06 +0000)]
Add StatusLeft and StatusRight mouse key modifiers for the left and
right parts of the status line.
cheloha [Wed, 22 Aug 2018 19:48:48 +0000 (19:48 +0000)]
frag6_slowtimo: push NET_LOCK into frag6_freef around icmp6_error.
icmp6_error() still probably needs the NET_LOCK, as the call chain
icmp6_error -> icmp6_reflect -> rt_match -> rt_clone -> rtrequest
is possible.
The fragment discard loop in frag6_slowtimo and the other
cleanup bits in frag6_freef do not require it however. So
push the lock down into frag6_freef around icmp6_error.
Prompted by mpi. Discussed with bluhm and kn. Regress test help
by bluhm. Additional testing by kn.
ok kn@ visa@ mpi@
jsing [Wed, 22 Aug 2018 17:46:29 +0000 (17:46 +0000)]
Correct session ticket encryption.
The CBB conversion resulted in the ticket encryption being handled
incorrectly, resulting in only the last block being used. Fix this and
restore the previous behaviour.
Issue found by inoguchi@ and sebastia@.
ok inoguchi@ and tb@
tb [Wed, 22 Aug 2018 16:53:36 +0000 (16:53 +0000)]
Let /etc/installurl default to cdn.openbsd.org if it doesn't exist and no
official mirror was used. This way, people doing installs without network
access also get working pkg_add and syspatch experience out of the box.
Idea from tj
ok halex, job (who made it all possible), deraadt
mpi [Wed, 22 Aug 2018 15:38:46 +0000 (15:38 +0000)]
Enable uscom(4) where uslcom(4) is already present.
Based on a submisison from Jan Klemkow.
mpi [Wed, 22 Aug 2018 15:32:49 +0000 (15:32 +0000)]
Work well with the Dynastream ANTUSB-m, from Jan Klemkow.
mpi [Wed, 22 Aug 2018 15:31:05 +0000 (15:31 +0000)]
regen
mpi [Wed, 22 Aug 2018 15:30:20 +0000 (15:30 +0000)]
Dynastream ANTUSB-m, from Jan Klemkow.
bluhm [Wed, 22 Aug 2018 13:32:11 +0000 (13:32 +0000)]
Update libexpat to 2.2.6. Relevant for OpenBSD is
- Avoid doing arithmetic with NULL pointers in XML_GetBuffer
- Fix 2.2.5 regression with suspend-resume while parsing
a document like '<root/>'
- Address compiler warnings
- Fix miscellaneous typos
aoyama [Wed, 22 Aug 2018 11:25:58 +0000 (11:25 +0000)]
Adding membar_xxx defines to userland.
The src/lib/libc/thread/rthread.c 1.8 change adds #include
<sys/atomic.h> in userland code.
Current m88k atomic.h contents are inside of #if defined(_KERNEL)
guard, then, nothing is defined for userland program.
So we need adding some defines to compile it on m88k.
The original diff is suggested from Miod Vallat, modified by the
advice from mpi@ and kettenis@.
ok kettenis@
eric [Wed, 22 Aug 2018 10:11:43 +0000 (10:11 +0000)]
Fix a crash when relaying with authentication but auth table is not set.
found by and ok stsp@
kettenis [Tue, 21 Aug 2018 22:16:42 +0000 (22:16 +0000)]
Implement address translation. Makes I/O space access work.
millert [Tue, 21 Aug 2018 20:20:04 +0000 (20:20 +0000)]
Use an mmap()'d buffer instead of a static buffer for the contents
of the pointer returned by getpw{ent,nam,uid}(). We unmap the
buffer each time to catch callers using a stale passwd struct
pointer. As a special case, we do not unmap the buffer if the
previous lookup was for the same name or uid. This special case
may be removed in the future. OK deraadt@
deraadt [Tue, 21 Aug 2018 19:04:38 +0000 (19:04 +0000)]
Perform mitigations for Intel L1TF screwup. There are three options:
(1) Future cpus which don't have the bug, (2) cpu's with microcode
containing a L1D flush operation, (3) stuffing the L1D cache with fresh
data and expiring old content. This stuffing loop is complicated and
interesting, no details on the mitigation have been released by Intel so
Mike and I studied other systems for inspiration. Replacement algorithm
for the L1D is described in the tlbleed paper. We use a 64K PA-linear
region filled with trapsleds (in case there is L1D->L1I data movement).
The TLBs covering the region are loaded first, because TLB loading
apparently flows through the D cache. Before performing vmlaunch or
vmresume, the cachelines covering the guest registers are also flushed.
with mlarkin, additional testing by pd, handy comments from the
kettenis and guenther peanuts
bluhm [Tue, 21 Aug 2018 18:42:40 +0000 (18:42 +0000)]
Link arch amd64 regress to build.
bluhm [Tue, 21 Aug 2018 18:35:18 +0000 (18:35 +0000)]
Check the FPU environment of user land processes after exec and the
proc0 kernel thread for FPU initialization values.
schwarze [Tue, 21 Aug 2018 18:15:16 +0000 (18:15 +0000)]
Implement the \\$@ escape sequence (insert all macro arguments,
quoted) in addition to the already supported \\$* (similar, but
unquoted). Then use \\$@ to improve the implementation of
the .als request (macro alias).
Needed by groff_hdtbl(7).
Gosh, it feels like the manual pages of the groff package are
exercising every bloody roff(7) feature under the sun. In the
manual page source code itself, not merely in the implementation
of the used macro packages, that is.
anton [Tue, 21 Aug 2018 18:09:34 +0000 (18:09 +0000)]
cope with latest config changes; ok jmc@
anton [Tue, 21 Aug 2018 18:06:12 +0000 (18:06 +0000)]
Rework kcov kernel config. Instead of treating kcov as both an option and a
pseudo-device, get rid of the option. Enabling kcov now requires the following
line to be added to the kernel config:
pseudo-device kcov 1
This is how pseudo devices are enabled in general. A side-effect of this change
is that dev/kcov.c will no longer be compiled by default.
Prodded by deraadt@; ok mpi@ visa@
akoshibe [Tue, 21 Aug 2018 16:40:23 +0000 (16:40 +0000)]
Fix alignment fault in switchd(8) on sparc64. Use memcpy to set oxm_value,
which isn't aligned to 64 bits.
Based on pointers from Ori Bernstein
Reported by Ryan Keating
ok yasuoka@ deraadt@
tb [Tue, 21 Aug 2018 16:34:40 +0000 (16:34 +0000)]
fix return value
krw [Tue, 21 Aug 2018 16:34:27 +0000 (16:34 +0000)]
Unbreak 'R'esize.
Problem noted and fix tested by jcs@.
ok otto@
tb [Tue, 21 Aug 2018 16:31:16 +0000 (16:31 +0000)]
Remove ChaCha20-Poly1305 from the TODO list
tb [Tue, 21 Aug 2018 16:25:11 +0000 (16:25 +0000)]
A failure to _seal() should be looked into, so turn this into an
unconditional failure.
tb [Tue, 21 Aug 2018 16:23:21 +0000 (16:23 +0000)]
Factor the calls to EVP_AEAD_CTX_open() and EVP_AEAD_CTX_seal() into
their own functions to make it easier to handle failures cleanly.
Discussed with jsing
schwarze [Tue, 21 Aug 2018 16:01:38 +0000 (16:01 +0000)]
Improve the ASCII rendering of \(Po (Pound Sterling)
and of the playing card suits to match groff, using feedback
from Ralph Corderoy <ralph at inputplus dot co dot uk>.
cheloha [Tue, 21 Aug 2018 15:56:39 +0000 (15:56 +0000)]
Merge duplicate benchmark() GET/SSL_shutdown blocks into doConnection().
We need to then remove the shadow i from the GET block. While there,
move retval's declaration to the beginning of the function.
As doConnection() now executes the body of the benchmark's test, rename
it to "run_test".
Shadow variable spotted by tb@.
ok tb@
schwarze [Tue, 21 Aug 2018 13:56:27 +0000 (13:56 +0000)]
AIX reports the CODESET as "ISO8859-1" in the POSIX locale.
Treating that as a safe encoding is OK because even when other
systems return that string for real ISO8859-1, it is still
safe in the sense that it is ASCII-compatible and stateless.
Issue reported by Val dot Baranov at duke dot edu. Additional
information provided by Michael dot Felt at felt dot demon dot nl.
Tested by Michael Felt on AIX 6.1 and by Val Baranov on AIX 7.1.
Tweak and OK djm@.
visa [Tue, 21 Aug 2018 13:50:31 +0000 (13:50 +0000)]
Use explicit fd indexing to access fd_ofiles, to clarify the code.
OK mpi@
bluhm [Tue, 21 Aug 2018 13:10:13 +0000 (13:10 +0000)]
If a kernel thread was created by a user land system call, the user
land FPU context was saved to proc0. This was an information leak
as proc0 is used to initialize the FPU at exec and signal handlers.
Never save the FPU to proc0, it has the initialization value. Also
check whether the FPU has valid user land state that has to be
forked.
This bug is a regression from the eager FPU commit. OK guenther@
jsg [Tue, 21 Aug 2018 12:44:13 +0000 (12:44 +0000)]
print rdtscp and xsave_ext cpuid bits on i386 as well
move printing of ecxfeatures bits to match amd64
bluhm [Tue, 21 Aug 2018 12:34:11 +0000 (12:34 +0000)]
If the control message of IP_SENDSRCADDR did not fit into the socket
buffer together with an UDP packet, sosend(9) returned EWOULDBLOCK.
As it is an persistent problem, EMSGSIZE is the correct error code.
Split the AF_UNIX case into a separate condition and do not change
its logic. For atomic protocols, check that both data and control
message length fit into the socket buffer.
original bug report from Alexander Markert
discussed with jca@; OK vgross@
jsg [Tue, 21 Aug 2018 06:03:34 +0000 (06:03 +0000)]
print sefflags_edx cpuid bits on i386 as well
schwarze [Tue, 21 Aug 2018 01:56:26 +0000 (01:56 +0000)]
Fix some issues found looking at groff_char(7):
* Add two missing characters, \('Y and \('y.
* The Weierstrass p is not capital, see http://unicode.org/notes/tn27/.
* Add a groff-compatible ASCII transliteration for U+02DC: "~".
schwarze [Tue, 21 Aug 2018 00:35:55 +0000 (00:35 +0000)]
typo in argument type, from Mario dot Andres dot Campos at gmail dot com
tb [Mon, 20 Aug 2018 21:18:03 +0000 (21:18 +0000)]
add two missing \n
tb [Mon, 20 Aug 2018 20:46:51 +0000 (20:46 +0000)]
Test EVP_AEAD_CTX_open() at the same time as EVP_AEAD_CTX_seal()
Suggested by jsing
nicm [Mon, 20 Aug 2018 20:41:58 +0000 (20:41 +0000)]
Move offset of window list into status struct.
kettenis [Mon, 20 Aug 2018 19:38:07 +0000 (19:38 +0000)]
Implement bus_space_mmap(9).
ok patrick@
kettenis [Mon, 20 Aug 2018 19:36:04 +0000 (19:36 +0000)]
Memory barriers for arm64. These are somewhat stronger than strictly
necessary since we define the linux compat symbols in terms of a single set
of macros.
ok jsg@, mpi@, visa@
kettenis [Mon, 20 Aug 2018 19:33:31 +0000 (19:33 +0000)]
Add arm64 support. On ARM write-combining translates into the normal uncached
memory attribute and uncached translates into device-nGnRnE memory. This
complicates the mapping onto PMAP_WC, PMAP_NOCACHE and PMAP_DEVICE a bit
since the requirements of the drm(4) subsystem don't quite match the natural
definitions for these.
ok jsg@, mpi@, visa@
patrick [Mon, 20 Aug 2018 18:58:06 +0000 (18:58 +0000)]
Attach bwfm(4) to Broadcom BCM4371.
ok kettenis@
patrick [Mon, 20 Aug 2018 18:57:34 +0000 (18:57 +0000)]
regen
patrick [Mon, 20 Aug 2018 18:56:39 +0000 (18:56 +0000)]
Add Broadcom BCM4371.
ok kettenis@
tb [Mon, 20 Aug 2018 18:47:20 +0000 (18:47 +0000)]
remove two redundant tests
tb [Mon, 20 Aug 2018 18:26:35 +0000 (18:26 +0000)]
Use sealed instead of out in a couple of places in preparation of
testing EVP_AEAD_CTX_open()
tb [Mon, 20 Aug 2018 18:17:52 +0000 (18:17 +0000)]
Shuffle the decoding of the hex strings to the top and group all length
tests together. Make failure of the length tests non-fatal, as these are
failures of test cases, not of the program.
schwarze [Mon, 20 Aug 2018 18:06:42 +0000 (18:06 +0000)]
\f[] means \fP, not \fR
schwarze [Mon, 20 Aug 2018 17:31:44 +0000 (17:31 +0000)]
Expand \n(.$ (the number of macro arguments) right in roff_userdef(),
before even reparsing the expanded macro.
That is the least dirty way to fix the bug that \(.$ remained set
after execution of the user-defined macro ended. Any other way
to fix it would probably require changes to read.c, which really
shouldn't be bothered with such roff(7) internals.
tb [Mon, 20 Aug 2018 17:06:18 +0000 (17:06 +0000)]
Run the Wycheproof ChaCha20-Poly1305 test vectors against libcrypto.
We currently only support nonces of length 12, so skip a few tests.
With input from jsing
patrick [Mon, 20 Aug 2018 16:48:47 +0000 (16:48 +0000)]
Enable I2C clocks in imxiic(4).
patrick [Mon, 20 Aug 2018 16:48:03 +0000 (16:48 +0000)]
Add the i.MX8MQ eCSPI clocks.
kettenis [Mon, 20 Aug 2018 16:09:37 +0000 (16:09 +0000)]
sync
kettenis [Mon, 20 Aug 2018 16:08:33 +0000 (16:08 +0000)]
sync
kettenis [Mon, 20 Aug 2018 16:07:39 +0000 (16:07 +0000)]
Add /dev/drm[0-3].
ok deraadt@, jsg@, mpi@
mpi [Mon, 20 Aug 2018 16:00:22 +0000 (16:00 +0000)]
Reorder checks in the read/write(2) family of syscalls to prepare making
file operations mp-safe.
This change makes it clear that `f_offset' is only accessed in vn_read()
and vn_write(), which will help taking it out of the KERNEL_LOCK().
This refactoring uncovered a race in vn_read() which is now documented
and will be addressed in a later diff.
ok visa@
visa [Mon, 20 Aug 2018 15:02:07 +0000 (15:02 +0000)]
Remove unused spllock().
OK deraadt@ mpi@
nicm [Mon, 20 Aug 2018 15:00:42 +0000 (15:00 +0000)]
Add -Z to find-window as well.
visa [Mon, 20 Aug 2018 14:59:02 +0000 (14:59 +0000)]
Make fnew() return a new file with only one reference. This makes
the API more logical.
OK kettenis@ mpi@
nicm [Mon, 20 Aug 2018 13:51:09 +0000 (13:51 +0000)]
Fix problems with page scrolling in copy mode, GitHub issue 1440 from
Amos Bird.
kettenis [Mon, 20 Aug 2018 10:00:04 +0000 (10:00 +0000)]
Preparations for arm64 radeondrm(4) support.
ok jsg@ (who pointed out the kern_pledge.c change was necessary as well)
jsg [Mon, 20 Aug 2018 07:23:24 +0000 (07:23 +0000)]
drm_fourcc: Fix DRM_FORMAT_MOD_LINEAR #define
From Kristian H. Kristensen
771dacea92cd1b6107615aede467bdf62ef8907c in linux 4.4.y/4.4.91
af913418261d6d3e7a29f06cf35f04610ead667c in mainline linux
jsg [Mon, 20 Aug 2018 06:56:58 +0000 (06:56 +0000)]
Cached tests moved from callers into ttm_io_prot() with linux 3.18
which was partly missed when the 4.4 ttm changes went in.
Prompted by a patch from kettenis@
mestre [Mon, 20 Aug 2018 06:24:50 +0000 (06:24 +0000)]
Since we can feed localtime(3) with garbage input, or with input it cannot
interpret, we always need to check its return value, and in the case it's NULL
then error and exit before proceeding further otherwise in this specific
program we would find a null dereference down the road which would make the
program segfault.
OK cheloha@
jsg [Mon, 20 Aug 2018 02:23:31 +0000 (02:23 +0000)]
drm: Add DP PSR2 sink enable bit
From Jose Roberto de Souza
5a3d1d67b3548e9dc1572c87527fa35b309feb0b in linux 4.4.y/4.4.146
4f212e40468650e220c1770876c7f25b8e0c1ff5 in mainline linux
jsg [Mon, 20 Aug 2018 02:04:31 +0000 (02:04 +0000)]
drm/atomic: Handling the case when setting old crtc for plane
From Satendra Singh Thakur
f1a64c117f1363f17cfc7e5bd410ec6222031501 in linux 4.4.y/4.4.146
fc2a69f3903dfd97cd47f593e642b47918c949df in mainline linux
jsg [Mon, 20 Aug 2018 01:54:34 +0000 (01:54 +0000)]
drm/radeon: fix mode_valid's return type
From Luc Van Oostenryck
1f5e33948005cd1b720fd58717bb971109432875 in linux 4.4.y/4.4.146
7a47f20eb1fb8fa8d7a8fe3a4fd8c721f04c2174 in mainline linux
schwarze [Sun, 19 Aug 2018 23:55:40 +0000 (23:55 +0000)]
Disable one test for now that is broken after the addition of \).
It is not broken because of \), which is correctly implemented, but
the addition merely reveals a hidden bug elsewhere, almost certainly
in \\ handling. Given that \\ is among the most mysterious escape
sequences and using it is very strongly discouraged in manual pages,
fixing that is not urgent - and it may be hard.
schwarze [Sun, 19 Aug 2018 23:47:43 +0000 (23:47 +0000)]
Add the \) special character, a variant of \& so arcane that i
intentionally leave it undocumented. Abused for example in the
groff(7) manual page.
schwarze [Sun, 19 Aug 2018 23:10:16 +0000 (23:10 +0000)]
Do alignment of non-numeric strings in numeric cells the same way
as groff, and also honour the explicit alignment indicator "\&".
This required an almost complete rewrite of both the measurement
function and the formatter function for numeric cells.
deraadt [Sun, 19 Aug 2018 21:17:38 +0000 (21:17 +0000)]
sync
tb [Sun, 19 Aug 2018 20:35:51 +0000 (20:35 +0000)]
There was some misunderstanding about which mirror to use.
Back this out for now.
tb [Sun, 19 Aug 2018 20:19:31 +0000 (20:19 +0000)]
Don't leak sktmp in X509_verify_cert().
CID #118791
ok jsing mestre
tb [Sun, 19 Aug 2018 20:17:20 +0000 (20:17 +0000)]
whitespace fix
tb [Sun, 19 Aug 2018 20:15:30 +0000 (20:15 +0000)]
Don't leak db on error in RSA_padding_check_PKCS1_OAEP().
CID #183499.
input & ok jsing, ok mestre on first version
nicm [Sun, 19 Aug 2018 20:13:07 +0000 (20:13 +0000)]
Add a flag to force redrawing of the status line even if the content
hasn't changed, needed for resizing.
tb [Sun, 19 Aug 2018 20:07:06 +0000 (20:07 +0000)]
Don't leak a strdup()'ed string on error in do_accept().
CID #154702.
input & ok inoguchi, ok mestre on first version
tb [Sun, 19 Aug 2018 20:01:38 +0000 (20:01 +0000)]
If /etc/installurl doesn't exist, install a default one pointing to
cdn.openbsd.org. This way, people doing installs without network
access also get working pkg_add and syspatch experience out of the box.
Idea from tj, supported by deraadt and job
ok halex
schwarze [Sun, 19 Aug 2018 19:32:17 +0000 (19:32 +0000)]
do not print horizontal lines inside vertical spans
nicm [Sun, 19 Aug 2018 19:03:46 +0000 (19:03 +0000)]
Expand \u and \U escape sequences in command strings, from Christopher
Hunt in GitHub issue 1443.
deraadt [Sun, 19 Aug 2018 18:09:49 +0000 (18:09 +0000)]
delete blank line not found in other arch
jasper [Sun, 19 Aug 2018 18:03:35 +0000 (18:03 +0000)]
double the allowed length for the 'tls ciphers' option
for example now it can hold the recommended cipher list from the mozilla
ssl config generator rather than failing with a "ciphers too long" error.
ok benno@ sthen@ tb@
deraadt [Sun, 19 Aug 2018 18:01:04 +0000 (18:01 +0000)]
pseudo-device must be file-flagged otherwise ramdisks cannot link.
schwarze [Sun, 19 Aug 2018 17:43:39 +0000 (17:43 +0000)]
Mostly complete implementation of the 'c' (character available)
roff conditional, except that the .char request still isn't supported
and that behaviour differs from groff in many edge cases.
But at least valid character names and numbers are now distinguished
from invalid ones.
This also fixes the bug that parsing of the 'c' conditional was
incomplete, which resulted in leaking the tested character to the
input parser at the beginning of the body when the condition was
inverted.
jmc [Sun, 19 Aug 2018 17:17:44 +0000 (17:17 +0000)]
tweak previous;
nicm [Sun, 19 Aug 2018 16:45:03 +0000 (16:45 +0000)]
Add a client redraw-window flag instead of the redraw-all flag and for
all just use the three flags together (window, borders, status).
jsing [Sun, 19 Aug 2018 15:38:03 +0000 (15:38 +0000)]
Rename and collapse tls12_get_sigandhash_cbb().
Now that all callers of tls12_get_sigandhash() have been converted to CBB,
collapse tls12_get_sigandhash() and tls12_get_sigandhash_cbb() into a
single function. Rename it to tls12_gethashandsig() to be representative
of the actual order of the sigalgs parameters, and perform some other
clean up.
ok inoguchi@ tb@
jsing [Sun, 19 Aug 2018 15:29:26 +0000 (15:29 +0000)]
Convert ssl3_send_newsession_ticket() to CBB.
This removes a memorable BUF_MEM_grow() and associated comment.
ok inoguchi@ tb@
patrick [Sun, 19 Aug 2018 14:09:41 +0000 (14:09 +0000)]
Implement "mach dtb <filename.dtb>" in efiboot(8). This way we can
provide our own FDT if the BIOS doesn't supply one, or even override
the supplied one.
Idea from and ok kettenis@
florian [Sun, 19 Aug 2018 12:31:41 +0000 (12:31 +0000)]
Call daemon with 0 as first argument so that it changes the cwd to /.
It is not a problem in slowcgi since it calls chroot(2) and then
chdir(2) shortly afterwards but hopefully prevents copying code into
daemons where it does matter.
Problem first observed by dlg in ntpd(8) which keeps sitting in the
directory from where it was started which might for example prevent an
unmount.
Discussed with deraadt@
florian [Sun, 19 Aug 2018 12:29:03 +0000 (12:29 +0000)]
Call daemon with 0 as first argument so that it changes the cwd to /
otherwise the main process will keep sitting in the directory from
where slaacd was started which might for example prevent an unmount.
Problem first observed by dlg in ntpd(8).
Discussed with deraadt@
anton [Sun, 19 Aug 2018 11:51:04 +0000 (11:51 +0000)]
regen
anton [Sun, 19 Aug 2018 11:48:28 +0000 (11:48 +0000)]
sync
anton [Sun, 19 Aug 2018 11:42:33 +0000 (11:42 +0000)]
Add kcov(4), a kernel code coverage tracing driver. It's used in conjunction
with the syzkaller kernel fuzzer. So far, 8 distinct panics have been found and
fixed. This effort will continue.
kcov is limited to architectures using Clang as their default compiler and is
not enabled by default.
With help from mpi@, thanks!
ok kettenis@ mpi@ visa@
kettenis [Sun, 19 Aug 2018 08:23:47 +0000 (08:23 +0000)]
Add support for multiple PCI segments. Only really implemented for arm64
for now as amd64/i386 firmware still caters for legacy OSes that only
support a single PCI segment.
ok patrick@
visa [Sun, 19 Aug 2018 02:22:40 +0000 (02:22 +0000)]
Remove a stale/obvious comment.
OK mpi@
schwarze [Sat, 18 Aug 2018 22:04:32 +0000 (22:04 +0000)]
Bugfix: When a line ends with '\ \"', don't strip the trailing space
because that turned it into a bogus line continuation.