278702 Commits

Author SHA1 Message Date
rillig
6d9ace8469 make(1): remove unnecessary UNCONST 2020-07-19 22:22:01 +00:00
rillig
9b5167c07b make(1): make ampersand in ${VAR:from=to&} an ordinary character
In SysV substitutions, wildcards are expressed with % instead of &.  The
& is not mentioned in the manual page, and having another wildcard for
the whole word would be such an obscure feature that not even pkgsrc uses
it.  The easiest way to discover this feature had been to read the source
code of make(1) or to use a fuzzer and accidentally stumble upon this
edge case.
2020-07-19 22:04:27 +00:00
rillig
b867778e90 make(1): don't call VarSubstitute unnecessarily 2020-07-19 21:30:49 +00:00
rillig
7bfa0c4111 make(1): remove wrong VarPattern from ApplyModifier_Exclam 2020-07-19 21:14:56 +00:00
rillig
145369c494 make(1): remove wrong VarPattern from ApplyModifier_Assign 2020-07-19 21:10:34 +00:00
rillig
21074ae0c7 make(1): add test for assignment operators in conditions 2020-07-19 21:03:55 +00:00
rillig
f39a952981 make(1): flatten ApplyModifier_Assign 2020-07-19 20:56:34 +00:00
rillig
ed27c935b6 make(1): add tests for the ::= modifiers 2020-07-19 20:49:44 +00:00
rillig
6402b66d6f make(1): fix date in comment in unit test 2020-07-19 20:37:57 +00:00
rillig
9782cccda8 make(1): add tests for maximum number of capturing groups in :C 2020-07-19 19:36:20 +00:00
rillig
1c2d47a75e make(1): fix off-by-one error in :C modifier
Previously this off-by-one error had invoked undefined behavior.
Until today there was no corresponding unit test though.
2020-07-19 19:27:08 +00:00
rillig
a378ff6ccf make(1): fix double free introduced this morning in r1.258 2020-07-19 18:35:53 +00:00
rillig
f5b85b06d7 make(1): remove redundant loop control variable 2020-07-19 17:43:36 +00:00
rillig
f263de59ec make(1): rename ApplyModifiersState.flags to eflags
There are just too many variables called "flags" in this file, and their
constants must not accidentally overlap.
2020-07-19 17:40:30 +00:00
rillig
4f983c4e37 make(1): demonstrate off-by-one bug in :C modifier 2020-07-19 17:24:22 +00:00
rillig
822e1c79f4 make(1): clean up VarLoop structure 2020-07-19 16:48:48 +00:00
rillig
733486b647 make(1): remove unused parameter from ParseModifierPart 2020-07-19 16:22:44 +00:00
jdolecek
e36c697cb1 add #ifdef __HAVE_PCI_MSI_MSIX so this still compiles with NO_PCI_MSI_MSIX 2020-07-19 16:20:36 +00:00
jdolecek
464177a6ba add definition for MSR_IA32_FEATURE_CONTROL, just for information 2020-07-19 16:17:00 +00:00
rillig
ffd284820c make(1): rename VarGetPattern to ParseModifierPart 2020-07-19 16:08:24 +00:00
rillig
43fb13888f make(1): eliminate unused local variables 2020-07-19 15:51:51 +00:00
rillig
b0f8b8b292 make(1): eliminate macro from VarGetPattern 2020-07-19 15:47:10 +00:00
riastradh
0ab10b6fe1 Nix trailing whitespace. 2020-07-19 15:42:25 +00:00
riastradh
52c1c2aa09 Expand on importance of not using fpu for crypto if there's no fpu. 2020-07-19 15:33:08 +00:00
rillig
e8d07af35a make(1): add test for stray dollar signs in :@ modifier 2020-07-19 15:16:22 +00:00
wiz
707fcfff00 Remove unused Pp. Sort SEE ALSO. 2020-07-19 14:43:35 +00:00
maxv
6466ac3ae7 sync with reality 2020-07-19 14:39:42 +00:00
maxv
d3713544b3 Compile USER_LDT by default, but, put it behind a privileged sysctl that
defaults to disabled. To enable:

	# sysctl -w machdep.user_ldt=1
2020-07-19 14:31:31 +00:00
jdolecek
6bd27cf6bd for Xen MSI, fallback to INTx when PHYSDEVOP_map_pirq fails for the device
apparently Xen requires VT-d to be enabled in BIOS for PHYSDEVOP_map_pirq
to work, this change makes it work on systems with VT-d disabled or missing

adresses the panic part of PR port-xen/55285 by Patrick Welche
2020-07-19 14:27:07 +00:00
rillig
ce9c1c2a77 make(1): add test for ampersand in SysV substitution modifier 2020-07-19 14:23:02 +00:00
rillig
98eae199aa make(1): replace ApplyModifiersState field with local variable 2020-07-19 14:05:39 +00:00
maxv
cdd6fe381f we're already in an #ifdef USER_LDT block, so no need to #ifdef again 2020-07-19 13:58:26 +00:00
maxv
fdf397881b don't include opt_user_ldt.h when it is not needed 2020-07-19 13:55:08 +00:00
rillig
328db7a41e make(1): rename flags for :S and :C pattern matching
Renaming these flags makes it obvious that VarPattern is used in a few
places where it doesn't belong.  These will be fixed in follow-up
commits.
2020-07-19 13:21:56 +00:00
rillig
b5ae4b2e29 make(1): convert VarFind flags to typed enum 2020-07-19 12:51:06 +00:00
rillig
e60b891d45 make(1): clean up unnecessary snprintf and multi-line function calls 2020-07-19 12:35:30 +00:00
rillig
2b74fdb213 make(1): rename Varf_Flags to VarEvalFlags
In var.c there are lots of different flag types.  To make any accidental
mixture obvious, each flag group gets its own prefix.

The only flag group that is visible outside of var.c is concerned with
evaluating variables, therefore the "e", which replaces the former "f"
that probably just meant "flag".
2020-07-19 12:26:17 +00:00
skrll
c16f3849c0 Fix RPI boot which needs more early stack
XXX centralise INIT_ARM_STACK_{SHIFT,SIZE}
XXX how to protect against this breaking again?
2020-07-19 11:47:47 +00:00
rillig
6254cc83fe make(1): clean up handling of :? modifier
The VarPattern type had nothing to do with parsing conditions.
2020-07-19 10:38:02 +00:00
rillig
6e4dd0002d make(1): clean up code in var.c
* use canonical comparison to zero in more cases
* omit unnecessary snprintf for string literal concatenation
* omit a few redundant parentheses and braces
2020-07-19 10:28:44 +00:00
simonb
0d9526dcf2 A little KNF. 2020-07-19 09:30:08 +00:00
rillig
5412fdea01 make(1): move SysV string matching to var.c
This kind of string matching is only used in variable modifiers, and only
if this feature is enabled by SYSVVARSUB.
2020-07-19 09:26:18 +00:00
rillig
0376ea853f make(1): add more tests for :ts modifier 2020-07-19 09:13:22 +00:00
simonb
5a22ba8ebf KNF whitespace nits. 2020-07-19 08:58:35 +00:00
simonb
6a9dede689 Reserve space for all CPU cores (incorrect logic).
Reserve a full page for each core, not incorrect 4096 (from skrll@).
2020-07-19 08:53:24 +00:00
maxv
95a0a18880 Revert most of ad's movs/stos change. Instead do a lot simpler: declare
svs_quad_copy() used by SVS only, with no need for instrumentation, because
SVS is disabled when sanitizers are on.
2020-07-19 07:35:08 +00:00
ryo
58d7a688ba fix build with clang/llvm.
clang aarch64 assembler doesn't accept optional number of lanes of vector register.
(but ARMARM says that an assembler must accept it)
2020-07-19 07:32:43 +00:00
ryo
20f7aea9e5 fix build error with LLVM. 2020-07-19 07:18:07 +00:00
rillig
58964e7922 make(1): demonstrate inconsistent :ts behavior among modifiers 2020-07-19 07:08:09 +00:00
maxv
cdfdc5e3ae Switch to fpu_kern_enter/leave, to prevent clobbering, now that the kernel
itself uses the fpu.
2020-07-19 06:56:09 +00:00