Commit Graph

280286 Commits

Author SHA1 Message Date
rillig cd07afa0d7 make(1): fix wrong comments in test for the .for loop
These comments were my original assumptions, which I wrote before
running the test and before looking at the implementation.
2020-09-02 22:58:59 +00:00
riastradh 63ba4b950e Spell out acronyms in title for clarity. 2020-09-02 19:04:05 +00:00
riastradh dd2199c16d Nix trailing whitespace. 2020-09-02 18:09:04 +00:00
riastradh 4037d9e4d9 Nix trailing whitespace. 2020-09-02 17:40:23 +00:00
bouyer 120e63a0d2 pmap_enter_gnt():
An empty PTP has a wire_count of 1, so KASSERT > 1 if we're sure we have
at last one entry.
2020-09-02 17:37:57 +00:00
bouyer aca0d0a17f pmap_enter_gnt(): call pmap_free_ptp() if needed. We can have a 0 wire count
if we had an old mapping and grant map hypercall failed, and this was the
only page in this ptp.
while there remove ptp != NULL checks for gnt operations: we always have
a ptp here.
2020-09-02 17:07:45 +00:00
jakllsch 453b641308 Treat aarch64eb the same as aarch64 2020-09-02 16:22:45 +00:00
jakllsch 835e43960b Fix typo/pasteo in aarch64 clzdi2() END() 2020-09-02 15:43:06 +00:00
jakllsch 80196aad5b Teach bsd.endian.mk about aarch64eb 2020-09-02 15:17:19 +00:00
jakllsch 5aa118c344 Teach native gmp about aarch64eb 2020-09-02 15:15:30 +00:00
kardel eff3797159 Fix fast path for uni directional transfers
pure ACK case:

drag snd_wl2 along so only newer
ACKs can update the window size.
also avoids the state where snd_wl2
is eventually larger than th_ack and thus
blocking the window update mechanism and
the connection gets stuck for a loooong
time in the zero sized send window state.

see PR/kern 55567

ok thorpej@, also found in FreeBSD
2020-09-02 15:08:46 +00:00
jakllsch 9f4a03f995 Teach config.gcc about NetBSD aarch64eb 2020-09-02 14:13:20 +00:00
kim 54053e79bb Reflect that this is current by using ".99" in the Os version
This helps distinguising NetBSD-current pages from NetBSD-9.0 pages better
on man.netbsd.org, which is still using nroff. (Using mandoc needs more
tweaking to avoid all page footers reflecting the uname release of the
web server.)
2020-09-02 09:28:25 +00:00
msaitoh a69e39c83b Id -> NetBSD in comment. No functional change. 2020-09-02 08:26:05 +00:00
rillig be8672544c make(1): fix documentation of Var_Subst
The "var" parameter does not exist anymore.
2020-09-02 06:25:48 +00:00
rillig dd462d74ce make(1): clean up comments in var.c, make VarQuote const-correct 2020-09-02 06:19:11 +00:00
rillig 09d927125b make(1): remove redundancy from comments in make_malloc.c 2020-09-02 06:10:44 +00:00
rillig 337b196f85 make(1): fix typo in unit test for the .for loop 2020-09-02 05:36:58 +00:00
rillig 640eab791b make(1): add test for the .for directive
For a long time, I had assumed that the iteration variables of a .for
loop are just normal global variables.  This assumption was wrong but
didn't have any consequences.

The iteration variables of a .for loop can just be accessed like global
variables, therefore it is not obvious that they are implemented in a
completely different way.

There are some edge cases in conditions used inside .for loops, in which
the iteration variables cannot be used like normal variables.  An
example is brought up in https://gnats.netbsd.org/47888, which observes
that the defined() and empty() functions in conditions only work with
variables but ignore the iteration "variables", simply because these are
not variables but only expressions.
2020-09-02 05:33:57 +00:00
rillig 34a9f9ee4a make(1): fix cached_stat for files with st_mtime 0 2020-09-02 04:32:13 +00:00
rillig 13b5ed8e96 make(1): fix aliasing problem in cached_stat from the previous commit
When the struct stat was used for both calling the actual stat and for
returning the result, no copying was needed.  This also had the side
effect that for the first call of cached_stat, the returned struct stat
included all the fields properly filled in, and on later calls, these
fields were all zeroed out.

These two variables are separate now, thus the fields need to be copied
explicitly.  There are no existing unit tests for this, but ./build.sh
failed reliably.
2020-09-02 04:19:52 +00:00
rillig 0c93b3da8f make(1): reduce number of stat fields returned by cached_stat
Only st_mtime and st_mode are actually filled, the remaining fields had
been set to zero.  To prevent these from ever being accessed, a custom
struct make_stat replaces the previously used struct stat.

The fields in struct make_stat are intentionally named different from
the fields in struct stat because NetBSD and some other operating
systems define st_mtime as a macro, and that would not work in a field
declaration.
2020-09-02 04:08:54 +00:00
thorpej 0819cc0b79 Reduce diffs to upstream: get rid of FLOAT64_{,DE}MANGLE(); it's no longer
used.
2020-09-02 04:06:43 +00:00
thorpej 3dad9f31b4 Update to the SoftFloat-2b version of softfloat.c. This makes a clarifying
change to the warranty disclaimer and updates the comments.  NFC.
2020-09-02 03:45:54 +00:00
thorpej 40c38bd933 Update to the SoftFloat-2c version of milieu.h. This includes a
simplification of the license and updates the comments.  NFC.
2020-09-02 03:43:22 +00:00
thorpej e450f2e45d Update to the SoftFloat-2c version of softfloat-specialize.h and softfloat.h.
This includes a simplification of the license and updates the comments.  NFC.
2020-09-02 03:41:56 +00:00
rillig e2052aea2d make(1): use proper types in API of cached_stat and cached_lstat 2020-09-02 03:28:12 +00:00
rillig 2626dad6cf make(1): use Hash API from dir.c
When the Hash struct fields are renamed the next time, this should not
influence any code outside hash.h and hash.c.
2020-09-02 03:15:21 +00:00
simonb 4c244afec7 Octeon CN70XX CPUs have a COP0 config5 register.
XXX: The presense of these are defined by the MIPS architecture, should probe.
2020-09-02 01:33:27 +00:00
uwe cadd41c60c Fix chroot path (in a comment). 2020-09-02 00:15:15 +00:00
rillig 5518d2b27c make(1): rename Hash_Table fields
Back in the 1980s it made sense to have the type information encoded in
the variable names.  At the time when make was imported into the NetBSD
tree (1993-03-21), the functions did indeed not have prototypes, they
only had return types.  The void type was already invented at that time.
Since the compiler could not verify the types of function parameters, it
made perfect sense to have each variable tell whether it was a pointer
or not.

Since ISO C90 this is no longer necessary since the compiler checks
this.  The variable names can now focus on the application level and
their high-level meaning, expressing the relationship to other
variables instead of encoding redundant type information.
2020-09-01 21:11:31 +00:00
rillig b567ed9890 make(1): replace Hash_Table macros with inline functions 2020-09-01 21:00:15 +00:00
rillig 795de22c71 make(1): inline constant for hash table size
The name HTSIZE didn't provide any explanation for the value 191, and it
is obvious that this is a hash table size.  Therefore giving the
constant a name didn't explain anything or make it less magic.
2020-09-01 20:54:00 +00:00
rillig 90b52971fa make(1): improve documentation for enum.c and enum.h 2020-09-01 20:34:51 +00:00
rillig 93d390f91b make(1): improve variable names and data types in Dir_FindHereOrAbove 2020-09-01 20:17:18 +00:00
rillig 6f8bfeb0a6 make(1): add test for the -m option, the special .../ path 2020-09-01 20:14:34 +00:00
rillig 95110f95c2 make(1): add test for -m option with special argument .../ 2020-09-01 19:17:58 +00:00
gson 9c5137ef5c Format PR references consistently so that they can be automatically
turned into links in HTML reports.
2020-09-01 18:40:09 +00:00
rillig 39ed054cac make(1): make data types in Dir_HasWildcards more precise 2020-09-01 17:56:32 +00:00
rillig 93677eff47 make(1): mark LIBSUFF and RECHECK as independent build options 2020-09-01 17:40:34 +00:00
rillig dc36bab27e make(1): clean up documentation in buf.h, and redundant include files 2020-09-01 17:38:26 +00:00
rillig 8d45a60e32 make(1): remove filemon object files on clean 2020-09-01 17:12:30 +00:00
thorpej d249112c60 Update to the SoftFloat-2c version of softfloat-macros.h. This has 3
small changes:
- Simplification of the license.
- Minor style changes to 3 comments.
- Fixes a bug in shift128Right() for shift counts >= 64;
2020-09-01 15:45:20 +00:00
thorpej 9fc5e70813 Update to the SoftFloat-2b version of softfloat-macros.h. This makes a
clarifying change to the warranty disclaimer and updates the comments.  NFC.
2020-09-01 15:36:53 +00:00
bouyer 9ddb20e453 Fix braino in pmap_find_gnt(), really return the gnt entry covering the range
and not one that starts just after.
Fixes a KASSERT in pmap_remove_gnt().
2020-09-01 11:24:14 +00:00
thorpej 9f195b2aba - compare_{le,lt)(): Use float64_{le,lt}_quiet() to avoid raising
exceptions on QNaNs.
- alpha_fp_interpret(): Instructions are 32-bits wide, so don't use a
  uint64_t to contain them.
- alpha_fp_complete(): Operations on NaNs trap on Alpha, but the exception
  summary reports INV (invalid operation) rather than SWC (software
  completion) in this case.  So also interpret the instruction if INV
  is set in the exception summary.  This will emulate operations on
  NaN and correctly suppress FP traps for QNaNs.

This fixes bin/55633, which was caused by:

  -> Input string "nanotime" is passed to awk's internal is_number().
  -> strtod() interprets as "nan" and returns QNaN as the result.
  -> Result compared against HUGE_VAL, blows up because cmptle is called
     with a NaN operand, and the hardware doesn't care that it's quiet.
2020-09-01 08:22:36 +00:00
msaitoh 121c2aad9d Fix a panic on shutdown on a machine which use the recovery mode timer.
The recovery mode timer is first issued by the callout and it schedule
the workqueue. The workqueue then reschedule the callout. It's hard to
stop both of them without race only with callout_stop() and workqueue_wait.
To solve this problem. add new "detaching" flag and use it.

 The situation is almost the same as schedule_wqs_ok for the local_timer's
callout and workqueue, but the difference is that the local_timer isn't
required to run if the interface is not up. If it's not important to prevent
running timer while !IFF_UP, the flag can be integrated into one.
2020-09-01 04:19:16 +00:00
msaitoh b600995833 Call ixgbe_ifstop() instead of ixgbe_stop_locked() in
ixgbe_setup_low_power_mode() to stop the timer workqueue.
2020-09-01 04:06:56 +00:00
uwe 4895509f32 Improvements from Dan Plassche. 2020-09-01 01:15:28 +00:00
christos 85da8872cb eat the sign, pointed out by uwe@ 2020-09-01 00:35:29 +00:00