Link [ NetBSD | NetBSD OpenGrok source search | PR fulltext-search | Summary of daily snapshot builds | history of daily build result | pkgsrc commit viewer ]


   
        usage: [branch:branch] [user:user] [path@revision] keyword [... [-excludekeyword [...]]] (e.g. branch:MAIN sys/arch/arm, if_wm.c@1.234 )




switch to index mode

recent branches: MAIN (1h)  netbsd-8 (5d)  netbsd-10 (5d)  netbsd-9 (11d)  thorpej-ifq (175d)  thorpej-altq-separation (177d) 

2024-05-10 00:17:32 UTC Now

2020-10-22 07:16:06 UTC MAIN commitmail json YAML

Don't trap EL0 accesses to the DCC registers.
VMWare use "mrs xzr, mdccsr_el0" for guest side backdoor.

(ryo)

2020-10-22 07:12:13 UTC MAIN commitmail json YAML

make(1): clean up PrintVar

Conceptually, the last parameters of Var_Subst and Var_Value differ a
lot.  The former is the actual variable value while the latter is just a
pointer to be freed.  It will be changed to a void pointer in a few
commits.

To keep the number of needed variables small and the code simple, the
printf statement is mentioned in each branch.  An additional benefit is
that in 2 of the 3 branches, no null pointer can occur.

(rillig)

2020-10-22 07:01:25 UTC MAIN commitmail json YAML

make(1): extract PrintVar from doPrintVars

(rillig)

2020-10-22 06:54:51 UTC MAIN commitmail json YAML

make(1): clean up HandlePWD

(rillig)

2020-10-22 06:38:52 UTC MAIN commitmail json YAML

make(1): extract HandlePWD from main

(rillig)

2020-10-22 05:50:03 UTC MAIN commitmail json YAML

make(1): remove redundant type casts

This mainly affects the void pointers in callback functions for lists.
These had been necessary once when the parameter type was still
ClientData instead of void pointer.

(rillig)

2020-10-22 05:35:21 UTC MAIN commitmail json YAML

make(1): extract CanonicalVarname from VarFind

(rillig)

2020-10-22 03:05:17 UTC MAIN commitmail json YAML

fix an incorrect assertion in the previous commit.

(chs)

2020-10-21 15:12:15 UTC MAIN commitmail json YAML

2020-10-21 14:55:07 UTC MAIN commitmail json YAML

2020-10-21 13:31:52 UTC MAIN commitmail json YAML

2020-10-21 13:30:02 UTC MAIN commitmail json YAML

process_machdep.c is mandatory now.

(christos)

2020-10-21 11:15:18 UTC MAIN commitmail json YAML

Drop inappropriate WSFB_VRAM_IS_RAM bit from fbi_flags;
framebuffer is not regular RAM.

Thanks to jmcneill@ and macallan@ for kind explanation
(at elsewhere).

(rin)

2020-10-21 11:06:14 UTC MAIN commitmail json YAML

Fix build for some arm32 kernels; arm_simplefb_reconfig() is used
only when NPCI > 0 && defined(PCI_NETBSD_CONFIGURE).

(rin)

2020-10-21 11:02:31 UTC MAIN commitmail json YAML

sfb_addr should be uint64_t, not bus_addr_t. Otherwise, its value
cannot be obtained via prop_dictionary_get_uint64() for most ILP32
architectures where bus_addr_t is 32-bit width.

(rin)

2020-10-21 08:20:13 UTC MAIN commitmail json YAML

make(1): add suffix number to the debug log

Previously, I had taken that lonely number in the debug log for the
sNum, but it was the reference count.

(rillig)

2020-10-21 08:18:24 UTC MAIN commitmail json YAML

make(1): enable suffix log for test suff-add-later.mk

The log shows that only some of the transformations are actually
defined.

(rillig)

2020-10-21 08:00:06 UTC MAIN commitmail json YAML

make(1): rename Src.cp to childrenList

(rillig)

2020-10-21 07:57:41 UTC MAIN commitmail json YAML

make(1): replace SuffGNHasName with FindTransformByName

(rillig)

2020-10-21 07:46:22 UTC MAIN commitmail json YAML

Improve instructions for getting you a pkgsrc.
Use awge on evbarm.

(nia)

2020-10-21 07:42:36 UTC MAIN commitmail json YAML

make(1): extract code to allocate a Src

Separating this code from the rest of the initialization makes it
obvious that there are inconsistencies in memory handling (owned vs.
shared pointers, reference counts).  It also forces a consistent order
of specifying the fields of a Src.

(rillig)

2020-10-21 07:14:22 UTC MAIN commitmail json YAML

make(1): remove unused typedef LstActionProc

(rillig)

2020-10-21 07:11:51 UTC MAIN commitmail json YAML

make(1): clean up suffix handling code

Using (name, nameLen) is easier to understand than the unusual (nameLen,
nameEnd).

(rillig)

2020-10-21 07:05:52 UTC MAIN commitmail json YAML

make(1): inline struct SuffSuffGetSuffixArgs in suffix search

(rillig)

2020-10-21 06:46:21 UTC MAIN commitmail json YAML

make(1): reduce indentation in SuffFindNormalDepsPath

(rillig)

2020-10-21 06:40:28 UTC MAIN commitmail json YAML

make(1): extract path search from SuffFindNormalDeps

(rillig)

2020-10-21 06:36:10 UTC MAIN commitmail json YAML

make(1): unindent SuffFindNormalDepsUnknown

(rillig)

2020-10-21 06:34:27 UTC MAIN commitmail json YAML

make(1): clean up SuffFindNormalDepsKnown

(rillig)

2020-10-21 06:30:30 UTC MAIN commitmail json YAML

make(1): extract handling of unknown suffix from SuffFindNormalDeps

(rillig)

2020-10-21 06:26:46 UTC MAIN commitmail json YAML

make(1): extract handling of known suffix from SuffFindNormalDeps

(rillig)

2020-10-21 06:12:16 UTC MAIN commitmail json YAML

make(1): merge duplicate code for -DDEBUG_SRC

(rillig)

2020-10-21 01:58:30 UTC MAIN commitmail json YAML

Fix typo (thanks kamil@ for pointing it out).

(thorpej)

2020-10-21 01:55:07 UTC MAIN commitmail json YAML

Add call frame unwind info to the Alpha signal trampoline.  Using
kamil@'s test program:

Before:
Backtrace 2 stack frames.
0x120000a74 <handler+0x54> at ./test
0x3fffdca6550 <__sigtramp_siginfo_2> at /usr/lib/libc.so.12

After:
Backtrace 4 stack frames.
0x120000a74 <handler+0x54> at ./test
0x3fffdca6554 <__sigtramp_siginfo_2> at /usr/lib/libc.so.12
0x120000b10 <main+0x38> at ./test
0x1200009b4 <___start+0x1a4> at ./test

(thorpej)

2020-10-21 01:24:05 UTC MAIN commitmail json YAML

- Consistently use _REG_* defines from assym.h to mean register numbers,
  not offsets (i.e. *8 to get the offset).
- Define and use SIZEOF_SIGINFO and UC_GREGS constants, rather than
  hard-code magic numbers.

NFC -- same object code is generated.

(thorpej)

2020-10-20 23:27:58 UTC MAIN commitmail json YAML

Remove the CIRCLEQ API from queue(3)

It was marked deprecated in NetBSD 7 and already removed from
FreeBSD in 2000 and OpenBSD in 2015.

Proposed on tech-kern@.

(kamil)

2020-10-20 23:15:23 UTC MAIN commitmail json YAML

make(1): document parameter to Var_Parse

(rillig)

2020-10-20 23:04:35 UTC MAIN commitmail json YAML

make(1): remove strange off-by-one feature in SuffSuffGetSuffix

The code worked as intended, yet it was strange to modify cp[1] to
temporarily shorten a string.  Using cp[0] for this purpose is common
style.

(rillig)

2020-10-20 23:03:30 UTC MAIN commitmail json YAML

Instead of trying to prevent pciconf from reconfiguring the firmware's
framebuffer, instead allow MD code to register callbacks. If a resource is
changed, the driver can unmap the old resource and remap the new. Do this
with simplefb so the console doesn't explode when the VGA device is
(potentially) reconfigured at boot.

(jmcneill)

2020-10-20 22:50:55 UTC MAIN commitmail json YAML

make(1): clean up parsing code for dependency lines

The variable names "line" and "cp" were not appropriate for some of the
functions where they point to a single word, not to the whole line.

The const parameters were only necessary during refactoring, to make
sure that no unintended aliasing happens between the local variables.
This kind of bugs has already happened a few times in the last months,
and it requires full test coverage of all edge cases, which is not
achieved yet.

In ParseErrorNoDependency, lstart was always the same as line.

(rillig)

2020-10-20 22:31:21 UTC MAIN commitmail json YAML

Include missing <sys/proc.h>. Hopefully fix build for everyone except vax,
for which process_machep.c is missing.

(rin)

2020-10-20 21:15:47 UTC MAIN commitmail json YAML

make(1): improve debug messages for suff.c

Especially for the null suffix, the previous message was hard to read.
Who would guess that in "inserting (0)", there is an empty string before
the parenthesis?  The new format uses quotes to make the suffixes
clearly visible.

While here, improve some local variable names.  In a file that defines
both Suff and Src, using s for a variable is just too ambiguous.  The
variable name l can easily be confused with a 1, so name it list
instead.

(rillig)

2020-10-20 20:55:35 UTC MAIN commitmail json YAML

make(1): inline SuffSuffIsPrefix into SuffParseTransform

(rillig)

2020-10-20 20:51:15 UTC MAIN commitmail json YAML

make(1): untangle SuffParseTransform

That function was probably not meant to be a brain-twister, but the
convoluted loop combined with Lst_Find/Lst_FindFrom and the deeply
indented second pass for the single suffix made the code harder to
understand than necessary.

No functional change intended, that's why I had to split and enable the
test suffixes.mk first.

(rillig)

2020-10-20 20:36:53 UTC MAIN commitmail json YAML

make(1): split test suffixes.mk into simpler, isolated tests

The code in suff.c is already hard to understand, and so were the tests
in suffixes.mk since several independent topics were merged into a
single test.

Splitting this test into a separate test per issue allows to document
the expected and actual behavior in more detail.  That's complicated
enough already.

PR bin/49086

(rillig)

2020-10-20 20:36:08 UTC MAIN commitmail json YAML

2020-10-20 20:28:55 UTC MAIN commitmail json YAML

Basic register read/write functionality and lwp setting are always provided
by the kernel because they are needed by multiple things
(ptrace/procfs/coredump), so move them to sys_process_lwpstatus (this file
should be renamed to sys_process_common.c?)

(christos)

2020-10-20 18:17:58 UTC MAIN commitmail json YAML

le(4): add link status change reporting to drivers which support it

Reviewed by thorpej@
Tested by martin@

(roy)

2020-10-20 13:47:30 UTC MAIN commitmail json YAML

only define hooks for 32 bit cores if we need them.

(christos)

2020-10-20 13:16:26 UTC MAIN commitmail json YAML

Fix build for _LP64 machines that don't have COMPAT_NETBSD32 (alpha, ia64)

(christos)

2020-10-20 09:53:59 UTC MAIN commitmail json YAML

add header file hack to resolve conflict of ALIGN macro. (on __BIG_ENDIAN)

(ryo)

2020-10-20 08:57:45 UTC MAIN commitmail json YAML

ossaudio(3): Add SNDCTL_AUDIOINFO_EX as an alias of SNDCTL_AUDIOINFO

(nia)

2020-10-20 08:53:34 UTC MAIN commitmail json YAML

Add Intel I347-AT4.

(msaitoh)

2020-10-20 07:52:46 UTC MAIN commitmail json YAML

doc/CHANGES: Added support for the OSSv4 Mixer API

(nia)

2020-10-20 07:52:05 UTC MAIN commitmail json YAML

Remove trailing whitespace.

(wiz)

2020-10-20 06:53:38 UTC MAIN commitmail json YAML

ossaudio(3): Plug a fd leak in the new mixer API

(nia)

2020-10-20 06:43:56 UTC MAIN commitmail json YAML

ossaudio.3: Bump date

(nia)

2020-10-20 06:43:34 UTC MAIN commitmail json YAML

ossaudio(3): Turn BUGS section into a list of potential compat issues

(nia)

2020-10-20 06:33:52 UTC MAIN commitmail json YAML

ossaudio(3): Add some endian-specific U16 formats

for compatibility with FreeBSD

(nia)

2020-10-19 23:43:55 UTC MAIN commitmail json YAML

2020-10-19 23:07:22 UTC MAIN commitmail json YAML

make(1): move struct Shell from job.h to job.c

This type is only needed in job.c.

(rillig)

2020-10-19 22:33:53 UTC MAIN commitmail json YAML

Restore SP from mcontext

Improves unwinding of multiple frames without frame pointer.

(kamil)

2020-10-19 21:57:37 UTC MAIN commitmail json YAML

make(1): inline simple Lst getters

The function call variant takes more screen space than the direct field
access.  Having an abstract API is usually a good idea, in this case of
simple read-only member access it makes the code more difficult to read.

LstNode_Set has been kept as a function since it is not a read-only
accessor function.

(rillig)

2020-10-19 21:46:15 UTC MAIN commitmail json YAML

Add missing HISTORY and AUTHORS. Bump date.

Noticed by qjsgkem on freenode.

(dholland)

2020-10-19 21:41:31 UTC MAIN commitmail json YAML

make(1): remove unused Lst_ForEach

All of its uses have been inlined since iterating through a linked list
is trivial.  This avoids the cumbersome callback functions with void
pointer parameters, allowing the compiler to perform better type checks.

(rillig)

2020-10-19 21:38:10 UTC MAIN commitmail json YAML

make(1): use consistent formatting for DEBUG_SRC

No trailing whitespace anymore, %p instead of %lx.

(rillig)

2020-10-19 21:33:09 UTC MAIN commitmail json YAML

make(1): remove void pointers from DEBUG_SRC debugging code

This debugging code is completely broken.  Part of the output goes to
debug_file, the other part goes to stdout.  The spacing in the output is
inconsistent.  The printf directives vary between %p and %lx.

All these inconsistencies have already been there in June 2020, before
the big refactoring started.

(rillig)

2020-10-19 21:23:07 UTC MAIN commitmail json YAML

make(1): remove void pointers from SuffRebuildGraph

(rillig)

2020-10-19 21:17:35 UTC MAIN commitmail json YAML

make(1): remove void pointers from suffix debug printing

(rillig)

2020-10-19 20:55:30 UTC MAIN commitmail json YAML

make(1): remove void pointers from ParseAddDir

(rillig)

2020-10-19 20:51:18 UTC MAIN commitmail json YAML

make(1): remove void pointers from ParseClearPath

(rillig)

2020-10-19 20:41:53 UTC MAIN commitmail json YAML

make(1): remove void pointers from printCMD

(rillig)

2020-10-19 19:55:25 UTC MAIN commitmail json YAML

make(1): inline link_parent into Make_ProcessWait

(rillig)

2020-10-19 19:48:09 UTC MAIN commitmail json YAML

make(1): inline MakeTimeStamp in Make_OODate

(rillig)

2020-10-19 19:45:50 UTC MAIN commitmail json YAML

make(1): eliminate void pointer from MakeAddAllSrc

(rillig)

2020-10-19 19:34:18 UTC MAIN commitmail json YAML

make(1): fix variable names in Targ_Propagate

List nodes are called ln, not pn or cn.

While here, extract a common subexpression to save a few instructions.
The compiler cannot know that gn->type will not change during the whole
loop.  For this, it would have to know that a GNode cannot have itself
as a cohort, and this is not expressed anywhere in the code.

(rillig)

2020-10-19 19:33:02 UTC MAIN commitmail json YAML

2020-10-19 19:14:11 UTC MAIN commitmail json YAML

make(1): fix test shell-csh in case no csh is available

(rillig)

2020-10-19 18:59:53 UTC MAIN commitmail json YAML

make(1): fix test directive-export-gmake.mk for dash

(rillig)

2020-10-19 17:47:45 UTC MAIN commitmail json YAML

Check the year field of a tentative ISO-8601 date format for overflow
before committing to it being an 8601 format date, rather than after
(or the fall back grammar parser doesn't start with a clean slate).

This isn't likely to ever bother anyone, the chances of encountering
something that looks just like an 8601 format date, but with a year
field so large it overflows a long are kind of slim.  If it did happen
the chances that the string could be correctly parsed (into something
different) by the grammar are even slimmer. But better to do it properly.

(kre)

2020-10-19 17:47:37 UTC MAIN commitmail json YAML

2020-10-19 17:00:02 UTC MAIN commitmail json YAML

remove superfluous parentheses in PREAD4/PWRITE4 macros

(tnn)

2020-10-19 15:25:58 UTC MAIN commitmail json YAML

Remove advertising clause from the code distributed from UCB

Follow ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

(kamil)

2020-10-19 15:08:39 UTC MAIN commitmail json YAML

Catch the parsedate man page up with recent updates, ans also include
some general improvements I've had kicking around for a long time, but
never got around to committing.

(kre)

2020-10-19 15:08:17 UTC MAIN commitmail json YAML

For touch -d (which uses parsedate()) POSIX specifies that the
ISO-8601 format yyyy-mm-ddTHH:MM:SS[radix_and+frac][Z]
be accepted.

We didn't handle that, as in parsedate(), 'T' represents the
military timezone designator, not a padding separator between
date & time as POSIX specified it.

The way parsedate() is written, fixing this in the grammar/lexer
would be hard without deleting support for T as a zone indicator
(it is *my* timezone!).

So, instead of doing that, parse an ISO-8901 string which occurs
right at the start of the input (not even any preceding white space)
by hand, before invoking the grammar, and so not involving the lexer.
This is sufficient to make touch -d conform.

After doing that, we still need to allow earlier valid inputs,
where an ISO-8601 format (using space as the separator, but without
the 'Z' (Zulu, or UTC) suffix) followed by an arbitrary timezone
designation, and other modifiers (eg: "+5 minutes" work.  So we
call the grammar on whatever is left of the input after the 8601
string has been consumed.  This all "just works" with one exception,
a format like "yyyy-mm-dd hh:mm:ss +0700" would have the grammar parse
just "+0700" which by itself would be meaningless, and so wasn't
handled.    Add a grammar rule & processing to Handle it.

Also note that while POSIX specifies "at least 4" digits in the YYYY
field, we implement "at least one" so years from 0-999 continue to be
parsed as they always have (nb: these were, and continue to be, treated
as absolute year numbers, year 10 is year 10, not 2010).  Years > 2 billion
(give or take) cannot be represented in the tm_year field of a struct tm,
so there's a limit on the max number of digits as well.

(kre)

2020-10-19 15:07:47 UTC MAIN commitmail json YAML

This file does not contain any code written by cgd@

Delete the BSD 4-clause license.

(kamil)

2020-10-19 15:06:49 UTC MAIN commitmail json YAML

Adapt for change to parsedate() which now follows POSIX and altered the
dividing line between 21st and 20th century conversions from 69/70 to
68/69.  Adapt the tests for this to conform.

(kre)

2020-10-19 15:05:53 UTC MAIN commitmail json YAML

POSIX requires that when converting 2 digit year representations to
actual specific years, values from 69-99 be treated as 20th century,
and values from 0-68 be treated as 21st century.  This allows for those
unfortunate enough to reside in a timezone west of Greenwich to convert
the epoch (or a time very close to it) to text, write that with just two
digits, and correctly convert it back to a time near the epoch, rather
than to something in 2069.

We used to split things so 0-69 were 21st century, and 70-99 were 20th.
Change that (this requires a change in the parsedate ATF tests which
test this specific boundary).

While here, add support for another POSIX requirement, that the radix
char before fractional seconds can be either a ',' or a '.'.  We used
to allow only '.', add support for ','.  This is something of a meaningless
change, as parsedate() returns a time_t in which there is no way to
represent fractional seconds, so there's little point in ever specifying
them regardless of what char is used for the "decimal point" - they will
be ignored anyway.    But at least fractional seconds using a ',' as the
radix char will no longer cause the conversion to fail (or do something else
bizarre).

(kre)

2020-10-19 14:52:19 UTC MAIN commitmail json YAML

Rollback unintended changes in the previous commit

(kamil)

2020-10-19 14:47:01 UTC MAIN commitmail json YAML

Remove obsolete references to 4.4BSD papers

(kamil)

2020-10-19 13:44:25 UTC MAIN commitmail json YAML

bus_space_write_4 does not have a return value

(tnn)

2020-10-19 12:47:53 UTC MAIN commitmail json YAML

Fix assembling "isb sy" for aarch64{,eb} on LP64BE architectures.
Cherry-picked from upstream:

https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=05cfb0d8cc9b7f8676f5ae55a93642f091d5405f;hp=0ec992e6647c00fc234cdf4c11732b6711b024af

Now, working kernel can be self-built on aarch64eb.

Thanks to ryo@ for fixing and upstreaming this!

(rin)

2020-10-19 12:46:04 UTC MAIN commitmail json YAML

Define OPENSSL_NO_EC_NISTP_64_GCC_128 also for aarch64eb.

Fix ssh-keygen(1) on aarch64eb. Also, all tests in tests/crypto pass
with this change.

As martin pointed out when this macro was defined for sparc64,

http://cvsweb.netbsd.org/bsdweb.cgi/src/crypto/external/bsd/openssl/include/openssl/opensslconf.h#rev1.5

this code seems broken on LP64BE architectures.

At the moment, mips64eb is not affected since only N32 is supported as
userland. Also, we do not support powerpc64 (eb) yet. But we may need to
take care of them in future.

(rin)

2020-10-19 11:49:56 UTC MAIN commitmail json YAML

Define __BIG_ENDIAN or __LITTLE_ENDIAN depending on target endianness

(jmcneill)

2020-10-19 11:31:02 UTC MAIN commitmail json YAML

Restore ESP from mcontext

Improves unwinding of multiple frames without base pointer.

(kamil)

2020-10-19 11:29:26 UTC MAIN commitmail json YAML

Restore RSP from mcontext

Fixes unwinding of multiple frames without base pointer.

Patch by: Nikhil Benesch via PR lib/55719

(kamil)

2020-10-19 10:28:47 UTC MAIN commitmail json YAML

ossaudio(3): add some no-op defines for ossv4 compat.

(nia)

2020-10-19 09:07:29 UTC MAIN commitmail json YAML

ossaudio(3): these ioctls need to return samples, not bytes

(nia)

2020-10-19 09:01:24 UTC MAIN commitmail json YAML

ossaudio(3): Add SNDCTL_DSP_CURRENT_(I|O)PTR

In OSSv4 these are supposed to avoid the wrapping problems with the
older GET(I|O)PTR ioctls but we don't quite get the same benefit here.

XXX: We could probably fake it by maintaining some state in-between calls.

(nia)

2020-10-19 07:44:52 UTC MAIN commitmail json YAML

Remove unused local diff. Pointed out by htodd.

(maya)

2020-10-19 01:13:41 UTC MAIN commitmail json YAML

sunxi_debe_set_videomode(): As byte-swapped framebuffer is now handled by
FDT override, do not configure FB to little-endian format for __ARMEB__.

XXX
This function is not actually called at the moment. IIRC, it worked in
the pre-FDT era. Something went wrong since then...

(rin)

2020-10-19 01:12:14 UTC MAIN commitmail json YAML

Fix colors of 32-bpp raster console for evbarm/aarch64eb and armeb.

Most boards are configured to little-endian in initial, and switched
to big-endian after kernel is loaded. In this case, framebuffer seems
byte-swapped to CPU.

It is best to reconfigure framebuffer (as done recently for sunxi_mixer
by jmcneill), but in most cases, HW is incapable, or we just don't know
register bits to configure them.

Therefore, override "format" FDT property for "simple-framebuffer" to
let drivers know byte-order for 32-bpp framebuffer.

Then, make fdt/simplefb (genfb) and arm_simplefb (early console) detect
byte-swapped FB, and configure genfb(4) or rasops(4) layers accordingly.

Tested on Pine A64+ (arm_simplefb) and Cubietruck (both fdt/simplefb and
arm_simplefb).

Discussed with jmcneill. Thanks!!

(rin)

2020-10-19 01:08:06 UTC MAIN commitmail json YAML

Add "is_swapped" property which indicates 32-bpp framebuffer is
byte-swapped.

(rin)

2020-10-18 22:55:52 UTC MAIN commitmail json YAML

In meta mode we do not have to re-run all tests when Makefile is touched

(sjg)

2020-10-18 21:58:32 UTC MAIN commitmail json YAML

cdplay: remove redundant parentheses around return value

Purely cosmetic change.  The generated code stays exactly the same.

(rillig)

2020-10-18 21:37:24 UTC MAIN commitmail json YAML

make(1): add test for the ::+= modifier expanding its right-hand side

(rillig)

2020-10-18 21:36:22 UTC MAIN commitmail json YAML

make(1): explain existing tests for the ::= assignment modifiers

(rillig)

2020-10-18 21:12:13 UTC MAIN commitmail json YAML

make(1): add test for nested :@ modifiers using the same variable name

(rillig)

2020-10-18 20:46:42 UTC MAIN commitmail json YAML

make(1): clean up and document VarAssign_Eval

In the previous commit, out_avalue_freeIt had been passed to
VarAssign_EvalSubst, which created a memory leak.  Other than that, the
code changes are purely cosmetic.

(rillig)

2020-10-18 20:29:50 UTC MAIN commitmail json YAML

make(1): split VarAssign_Eval into smaller functions

(rillig)

2020-10-18 20:14:27 UTC MAIN commitmail json YAML

make(1): remove redundant code for determining the assignment operator

(rillig)

2020-10-18 20:07:26 UTC MAIN commitmail json YAML

make(1): move ParseVarassignOp further up

(rillig)

2020-10-18 19:58:02 UTC MAIN commitmail json YAML

provide a no-addr-of-packed-member for both clang and gcc

(christos)

2020-10-18 19:57:44 UTC MAIN commitmail json YAML

Handle the no-addr-of-packed-member only for the files that need it, not
globally.

(christos)

2020-10-18 19:56:42 UTC MAIN commitmail json YAML

2020-10-18 19:24:30 UTC netbsd-9 commitmail json YAML

Tickets #1115 - #1117
Move 9.1 release tag and document this.
Now for real: welcome to 9.1!

(martin)

2020-10-18 19:11:35 UTC MAIN commitmail json YAML

make(1): fix GCC warning about small buffer for cohort_num

Since unmade_cohorts is a signed number (the code contains an underflow
check), the result of the '%' operator could be negative and result in
"#-999999", which would overflow the buffer, truncating the last digit.

(rillig)

2020-10-18 18:42:11 UTC netbsd-9 commitmail json YAML

Pull up following revision(s) (requested by kamil in ticket #1117):

sys/arch/sh3/include/ptrace.h: revision 1.19
sys/arch/amd64/amd64/process_machdep.c: revision 1.48
sys/arch/sh3/sh3/process_machdep.c: revision 1.23
sys/arch/sh3/sh3/process_machdep.c: revision 1.24
sys/arch/i386/i386/process_machdep.c: revision 1.95
sys/arch/x86/x86/fpu.c (apply patch)
sys/kern/sys_ptrace_common.c: revision 1.84
sys/arch/powerpc/powerpc/process_machdep.c: revision 1.40
sys/sys/ptrace.h: revision 1.71
sys/arch/powerpc/powerpc/process_machdep.c: revision 1.41
(all via patch, adapted)

Fix s87_tw reconstruction to correctly indicate register states

Fix the code reconstructing s87_tw (full tag word) from fx_sw (abridged
tag word) to correctly represent all register states.  The previous code
only distinguished between empty/non-empty registers, and assigned
'regular value' to all non-empty registers.  The new code explicitly
distinguishes the two other tag word values: empty and special.

Fix the machine-dependent ptrace register-related requests (e.g.
PT_GETXMMREGS, PT_GETXSTATE on x86) to correctly respect the LWP number
passed as the data argument.  Before this change, these requests
did not operate on the requested LWP of a multithreaded program.
This change required moving ptrace_update_lwp() out of unit scope,
and changing ptrace_machdep_dorequest() function to take a pointer
to pointer as the second argument, consistently with ptrace_regs().

I am planning to extend the ATF ptrace() register tests in the future
to check for regressions in multithreaded programs, as time permits.

Reviewed by kamil.

Add missing 'error' declaration

(martin)

2020-10-18 18:31:31 UTC MAIN commitmail json YAML

In the current code, CPU_COUNT_FREEPAGES counts pages in the global
freelists AND the per-CPU pgflcache free pages caches, and that is the
number of pages that the pagedaemon considers to be available.
However, most pages in the pgflcache per-CPU free page caches are NOT
actually available for any particular allocation, and thus allocating
a page can fail even though the pagedaemon thinks enough pages are
available.  This change makes CPU_COUNT_FREEPAGES only count pages in
the global freelists and not pages in the pgflcache per-CPU free page
caches, thus better aligning the pagedaemon's view of how many pages
are available with the number of pages that can actually be allocated
by any particular request.  This fixes a hang that Christos was hitting.

(chs)

2020-10-18 18:22:29 UTC MAIN commitmail json YAML

Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to
uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to
handle this flag separately.  Split out the pages part of uvm_aio_aiodone()
into uvm_aio_aiodone_pages() in rump just like in the real kernel.
In ZFS functions that can fail to copy data between the ARC and VM pages,
use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can
handle these "I/O" errors.  Fixes PR 55702.

(chs)

2020-10-18 18:18:45 UTC netbsd-9 commitmail json YAML

Pull up the following, requested by kre in ticket #1116:

external/public-domain/tz/dist/Makefile        up to 1.1.1.28
external/public-domain/tz/dist/NEWS            up to 1.1.1.31
external/public-domain/tz/dist/TZDATA_VERSION  up to 1.21
external/public-domain/tz/dist/australasia      up to 1.1.1.20
external/public-domain/tz/dist/europe          up to 1.1.1.28
external/public-domain/tz/dist/version          up to 1.1.1.18
external/public-domain/tz/dist/ziguard.awk      up to 1.1.1.5
doc/3RDPARTY (apply patch)

Import tzdata2020c:

Release 2020c - 2020-10-16 11:15:53 -0700

    Fiji starts DST later than usual, on 2020-12-20.

(martin)

2020-10-18 18:12:42 UTC MAIN commitmail json YAML

make(1): switch some tests to line-buffered stdout

On Alpine Linux, the output was not in the same order as on NetBSD,
at least since bmake-20200902.

The mixture of block-buffered output from child processes and make
itself was hard to predict anyway.  Switching to line-buffered stdout
improves the stability of the tests.

(rillig)

2020-10-18 18:09:32 UTC MAIN commitmail json YAML

efiboot: bump version

(tnn)

2020-10-18 18:08:46 UTC netbsd-9 commitmail json YAML

Pull up following revision(s) (requested by nia in ticket #1115):

external/mit/xorg/bin/xinit/Makefile: revision 1.8
external/mit/xorg/bin/xinit/Makefile: revision 1.9

Define CTWM when building xinit
This will allow ctwm to eventually be used in the default xinitrc.

also allow uxterm to be used in the default xinitrc

(martin)

2020-10-18 18:05:48 UTC MAIN commitmail json YAML

efiboot: recognize the EFI system partition as fstype MSDOS

(tnn)

2020-10-18 17:41:07 UTC MAIN commitmail json YAML

make(1): extract duplicate code from SuffAddSrc into separate function

(rillig)

2020-10-18 17:19:54 UTC MAIN commitmail json YAML

2020-10-18 17:12:43 UTC MAIN commitmail json YAML

make(1): improve parameter names for suffix functions

Both gs_gnp and gnp were terrible variable names that didn't give the
slightest clue about the variable's purpose.

(rillig)

2020-10-18 17:06:14 UTC MAIN commitmail json YAML

make(1): extract UpdateTargets from Suff_AddSuffix

(rillig)

2020-10-18 17:00:22 UTC MAIN commitmail json YAML

make(1): inline struct SuffScanTargetsArgs into SuffScanTargets

(rillig)

2020-10-18 16:33:18 UTC MAIN commitmail json YAML

2020-10-18 16:28:57 UTC MAIN commitmail json YAML

2020-10-18 16:12:39 UTC MAIN commitmail json YAML

make(1): fix typo in test suff-rebuild.mk

(rillig)

2020-10-18 16:01:44 UTC MAIN commitmail json YAML

make(1): rename struct GNodeSuff to SuffScanTargetsArgs

(rillig)

2020-10-18 15:53:47 UTC MAIN commitmail json YAML

make(1): inline struct LstSrc into SuffAddSrc

The variable names are still confusing.  There was no useful
documentation on the struct, and the code in SuffAddSrc is highly
redundant.  Maybe the next few refactorings will shed light on this part
of the code.

(rillig)

2020-10-18 15:40:55 UTC MAIN commitmail json YAML

make(1): remove void pointers from SuffAddSrc

(rillig)

2020-10-18 15:31:43 UTC MAIN commitmail json YAML

make(1): replace Lst_Open with simple iteration in SuffInsert

(rillig)

2020-10-18 15:20:13 UTC MAIN commitmail json YAML

2020-10-18 15:02:12 UTC MAIN commitmail json YAML

2020-10-18 14:58:46 UTC MAIN commitmail json YAML

make(1): replace Lst_Open with simple iteration in Make_HandleUse

(rillig)

2020-10-18 14:36:43 UTC MAIN commitmail json YAML

Avoid alignment of packed member

(christos)

2020-10-18 14:36:09 UTC MAIN commitmail json YAML

make(1): replace Lst_Open with simple iteration in Dir_SetPATH

(rillig)

2020-10-18 14:34:39 UTC MAIN commitmail json YAML

Avoid alignment of packed member

(christos)

2020-10-18 14:33:40 UTC MAIN commitmail json YAML

Avoid alignment of packed member

(christos)

2020-10-18 14:33:28 UTC MAIN commitmail json YAML

Avoid alignment of packed member

(christos)

2020-10-18 14:32:04 UTC MAIN commitmail json YAML

make(1): replace Lst_Open with simple iteration in Dir_FindFile

(rillig)

2020-10-18 14:09:39 UTC MAIN commitmail json YAML

make(1): replace Lst_Open in Suff_DoPaths with simple iteration

Since sufflist is not modified during iteration, there is no need for
the extra complexity of Lst_Open.

(rillig)

2020-10-18 14:00:08 UTC MAIN commitmail json YAML

Treat ARGB/XRGB as BGRA/BGRX on big endian kernels.

(jmcneill)

2020-10-18 13:07:31 UTC MAIN commitmail json YAML

Suppress the "rn_init: radix functions require max_keylen be set"
message when _KERNEL is defined, to avoid spurious messages from
kernels that have no routable network domains.  Fixes PR kern/55691.

(gson)

2020-10-18 13:02:10 UTC MAIN commitmail json YAML

2020-10-18 12:47:43 UTC MAIN commitmail json YAML

2020-10-18 12:47:37 UTC MAIN commitmail json YAML

Revert rev 1.75; do not set WSFB_VRAM_IS_RAM flag bit. It indicates
memory type obtained by mmap. I just misunderstood its intention.

Thanks to jmcneill for pointing it out!

(rin)

2020-10-18 12:36:43 UTC MAIN commitmail json YAML

2020-10-18 12:00:17 UTC MAIN commitmail json YAML

make(1): migrate ArchFree from Hash_Search to HashIter

(rillig)

2020-10-18 12:00:12 UTC MAIN commitmail json YAML

Remove stray TABs. No binary changes.

(rin)

2020-10-18 11:54:43 UTC MAIN commitmail json YAML

make(1): prepare for WARNS=6

The FD_* macros from sys/sys/fd_set.h use signed integers on NetBSD 8
and thus produce conversion errors.  On NetBSD 9, these macros are fixed
to use 1U instead of 1.

(rillig)

2020-10-18 11:54:21 UTC MAIN commitmail json YAML

For WSDISPLAYIO_GET_FBINFO ioctl, set WSFB_VRAM_IS_RAM to fbi_flags
when shadow FB is used.

(rin)

2020-10-18 11:51:09 UTC MAIN commitmail json YAML

Fix undefined behaviors found by kUBSan.
Tested on VirtualBox with amd64 kernel.

(rin)

2020-10-18 11:49:47 UTC MAIN commitmail json YAML

make(1): use consistent include guard for headers

(rillig)

2020-10-18 11:09:08 UTC MAIN commitmail json YAML

make(1): convert NoExecute to non-inline

The header make.h is not only used by usr.bin/make but also by
usr.bin/xinstall, to get the needshell function.

That program does not declare the variables noRecursiveExecute and
noExecute, leading to an "unresolved reference" at link time.  To fix
this, move the inline functions away from make.h.

It's a quirk that make.h gets included by other programs since it
contains a whole lot of definitions that are only useful in make itself.
If any, there should be a separate header that defines the public
library API of make, and only that.

(rillig)

2020-10-18 10:57:30 UTC MAIN commitmail json YAML

Make command line arguments -r and -w actually override defaults from fstab,
previously -w would only cancel a preceeding -r.

No longer strip -o rw.

(mlelstv)

2020-10-18 10:44:25 UTC MAIN commitmail json YAML

2020-10-18 10:17:09 UTC MAIN commitmail json YAML

Add PBR and VBR

>From Rocky Hotas, thanks!

(leot)

2020-10-18 10:10:18 UTC MAIN commitmail json YAML

Fix build for mips; move from mi to module.mi debug symbols for
test cases only available when MKKMOD=yes.

(rin)

2020-10-18 08:58:29 UTC MAIN commitmail json YAML

make(1): rename Stack to Vector

Both Var_Dump and GetActuallyIncludingFile access more than only the top
item of the stack, therefore it is more honest to rename the data type.

(rillig)

2020-10-18 08:52:15 UTC MAIN commitmail json YAML

PR kern/55658

Revert rev 1.122:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/uvm/uvm_bio.c#rev1.122

If this commit is applied to NFS client, changes to files in client
side are sometimes invisible in server side, which results in file
corruption.

Demonstrated by test code provided by Anthony Mallet:
https://mail-index.netbsd.org/current-users/2020/10/17/msg039708.html

Whether the test case above passes or not depends on architectures
and size of NFS I/O specified by -r and -w options of mount_nfs(8)
(the default size is 32KB for x86 and 8KB for other archs).

Whereas it fails on amd64 and i386 with the default size, it passes
on other archs (aarch64, arm, alpha, m68k, and powerpc at least) with
their default. On most ports, it fails with some I/O sizes.

However, the condition for failure is still unclear; whereas it fails
with 2KB I/O size on amiga (m68k, 8KB page), it passes with same I/O
size on alpha (8KB page). It may depends on some VM parameters or
details in pmap implementation, or some race conditions are involved.

Great thanks to Anthony Mallet for providing the test code, and sorry
everyone for breakage.

(rin)

2020-10-18 08:47:54 UTC MAIN commitmail json YAML

make(1): sort variables in debug output

This way it's easier to see whether an expected variable is missing, or
to compare the values of related variables, since they usually share a
common prefix.  Any sorting criterion is better than the hash code.

Sorting the variables by name changed the order of the output in
varname.mk.  That test didn't test anything meaningful, it was just a
playground to understand and demonstrate the current implementation of
how the variables are stored, therefore it has been removed.

(rillig)

2020-10-18 08:24:01 UTC MAIN commitmail json YAML

make(1): extract GNode_OpName from Targ_PrintNode

(rillig)

2020-10-18 08:01:23 UTC MAIN commitmail json YAML

make(1): remove USE_IOVEC

When a system call in a child process failed, there was no guarantee
that the error message would be written completely.  Using writev
correctly is harder than building the string in a buffer and then
writing it in the traditional way.

According to POSIX 2004, using memory allocation or even calling
write(2) from the child process invokes undefined behavior.  The
remaining code from make has done all this for several years now,
successfully, therefore adding one more of that won't hurt.

Make still tries to write the error message atomically by passing the
whole buffer at once to write(2), just as in the previous writev(2)
implementation.

(rillig)

2020-10-18 07:46:04 UTC MAIN commitmail json YAML

make(1): replace execError with execDie

All calls to this function were followed by _exit(1).

(rillig)

2020-10-17 23:23:06 UTC MAIN commitmail json YAML

ossaudio(3): Add initial support for the OSSv4.1 Mixer API

One or two calls from this API were supported previously and have been
moved to the correct place.

Mapping the controls correctly is a difficult task. There is a define
hidden in the OSS headers that would allow an AUDIO_MIXER_SET control
to be represented perfectly, but it seems to _only_ exist there, and
no software supports it. So for now only one member of a set can be
set at a time - unfortunate. I've hidden code that should unlock
doing this the proper way under #notyet.

I'm not too happy with the way this code is managing file descriptors.
Currently it has to open a new fd for each ioctl due to OSSv4 deciding
to specify the device number in a structure rather than in the filename.
In the future, we could reuse the file descriptor if the correct one is
detected open.

This allows the mixer programs provided with the OSSv4 sources to compile
and work cleanly. I've observed problems with it failing to work on
secondary devices, and should investigate this later. There may be
a fd leak somewhere.

(nia)

2020-10-17 23:08:57 UTC MAIN commitmail json YAML

absorb issuer fingerprint (RFC4880bis 5.2.3.28) in libverify.c

(jhigh)

2020-10-17 21:32:31 UTC MAIN commitmail json YAML

2020-10-17 21:21:38 UTC MAIN commitmail json YAML

make(1): remove struct ParseLinkSrcArgs

Inlining Lst_ForEach removes the need for the void pointers and the
additional parameter struct.

(rillig)

2020-10-17 20:57:08 UTC MAIN commitmail json YAML

make(1): extract ParseLine from Parse_File

(rillig)

2020-10-17 20:51:34 UTC MAIN commitmail json YAML

make(1): extract FindSemicolon from ParseDependency

(rillig)

2020-10-17 20:37:38 UTC MAIN commitmail json YAML

make(1): split Parse_File into smaller functions

(rillig)

2020-10-17 20:32:20 UTC MAIN commitmail json YAML

make(1): remove dead and broken warning for novices

In non-POSIX mode (which can only be enabled by editing config.h),
having a shell command indented by spaces instead of tabs would generate
a warning, and then, contrary to the comment above the code, no command
would be added to the current targets, since *cp == '\0'.

This had been broken since parse.c 1.133 on 2007-02-24, therefore it
seems unnecessary to even try to fix this code.

(rillig)

2020-10-17 20:10:04 UTC MAIN commitmail json YAML

2020-10-17 19:10:07 UTC MAIN commitmail json YAML

make(1): clean up ParseMessage

Since there is no code path that would lead to the "invalid syntax"
message, it has been removed.

The switch statement for choosing the log level was overly bloated.

(rillig)

2020-10-17 18:58:26 UTC MAIN commitmail json YAML

make(1): remove redundant macros from ParseEOF and Parse_File

(rillig)

2020-10-17 18:39:44 UTC MAIN commitmail json YAML

make(1): fix stylistic issues in parse.c

(rillig)

2020-10-17 18:36:56 UTC MAIN commitmail json YAML

make(1): normalize spacing in parse.c

(rillig)

2020-10-17 17:47:15 UTC MAIN commitmail json YAML

2020-10-17 17:23:23 UTC MAIN commitmail json YAML

make(1): document the purpose of targCmds

(rillig)

2020-10-17 17:16:55 UTC MAIN commitmail json YAML

make(1): inline ParseHasCommands and ParseHasCommands

(rillig)

2020-10-17 16:57:17 UTC MAIN commitmail json YAML

make(1): document why the counter tests failed before 2020-09-23

(rillig)

2020-10-17 16:53:26 UTC MAIN commitmail json YAML

make(1): document why the ampersand is not listed in export.exp

(rillig)

2020-10-17 16:25:24 UTC MAIN commitmail json YAML

2020-10-17 16:24:33 UTC MAIN commitmail json YAML

2020-10-17 15:44:59 UTC MAIN commitmail json YAML

2020-10-17 10:47:28 UTC MAIN commitmail json YAML

mb (dsb sy) is not the same as membar_sync (dmb sy) on aarch64

(jmcneill)

2020-10-17 10:47:10 UTC MAIN commitmail json YAML

wmb (dsb ishst) is not the same as membar_producer (dmb ishst) on aarch64

(jmcneill)

2020-10-17 10:46:39 UTC MAIN commitmail json YAML

mb (dsb sy) is not the same as membar_sync (dmb sy) on aarch64

(jmcneill)

2020-10-17 10:28:10 UTC MAIN commitmail json YAML

Correct KB_NEXT value. No impact since KB_NEXT isn't used anywhere.

(mlelstv)

2020-10-17 09:45:20 UTC MAIN commitmail json YAML

validate unix socker buffer size and truncate path to prevent overflow.

(mlelstv)

2020-10-17 09:42:36 UTC MAIN commitmail json YAML

Attach disk info even for zero sized disks.
Slight refactoring.

(mlelstv)

2020-10-17 09:36:45 UTC MAIN commitmail json YAML

Fix error message. No functional change, both commands use the same
bit to select read or write mode.

(mlelstv)

2020-10-17 09:20:33 UTC MAIN commitmail json YAML

Use Dv. Bump date for previous.

(wiz)

2020-10-17 09:06:15 UTC MAIN commitmail json YAML

Setting a socket buffer size stops autoscaling. Add a sysctl to
prevent this behaviour. The default is not changed.

(mlelstv)

2020-10-17 09:04:59 UTC MAIN commitmail json YAML

Use Fx and Nx. End Rs block. Remove trailing whitespace.
Remove unnecessary Pp.

(wiz)