Commit Graph

287002 Commits

Author SHA1 Message Date
mrg
6c68c9665f allocate the potential trailing nul as well. 2021-04-13 00:29:42 +00:00
mrg
02402fe110 pass dest buffer size to strncpy() and ensure nul termination. 2021-04-13 00:29:22 +00:00
rillig
1bda87efba make: spell SysV in mixed case
No functional change.
2021-04-12 18:53:51 +00:00
rillig
36d6de73c9 make: reduce memory allocation and strlen calls in modifier ':from=to'
Previously, SysVMatch was quite verbose and felt like hand-optimized
assembler code, which made it difficult to discover the underlying idea
of the code.

All this code was replaced with two simple calls to Substring_HasPrefix
and Substring_HasSuffix.  Now that the operands of that modifier are no
longer passed as C strings, there is no need to collect all information
in a single scan through the word and the pattern.

It was not necessary to call Var_Subst unconditionally.  Calling it only
when the string contains a '$' saves another memory allocation and two
string copies (because of the Buf_DoneDataCompact).

No functional change.
2021-04-12 18:48:00 +00:00
rillig
8c934898f4 tests/make: fix test for modifier ':from=to'
I had forgotten to remove the single quotes, to produce a really empty
word.  Plus I had forgotten the modifier ':Q' for the result, which
meant that the single quotes did not show up in the output.
2021-04-12 16:09:57 +00:00
rillig
c0e41e6979 tests/make: add table test for the modifier ':from=to'
Just to prevent any accidental change in the upcoming refactoring to
reduce memory allocation in ApplyModifier_SysV.
2021-04-12 16:04:30 +00:00
christos
72ade848da Add attribute fallthrough 2021-04-12 15:55:26 +00:00
christos
8396636f1d Add an example of attribute fallthrough 2021-04-12 15:54:55 +00:00
rillig
3a16441db8 make: in the ':Q' modifier, only allocate memory if necessary 2021-04-12 13:28:35 +00:00
nia
124e280e84 hdaudioctl.8: add missing arguments
pointed out by RVP
2021-04-12 12:22:10 +00:00
simonb
fa5acf42b2 Print target addresses similar to aarch64 as "address <sym+off>"
instead of "<sym+off> [addr:address]".  Uses less columns, a bit
easier on the eyes.
2021-04-12 11:35:22 +00:00
mrg
b08b556d46 mknative-gcc for GCC 10 and earm ports (now including earmv7hf) after
the arm/netbsd-elf.h fix.  shark appears to work at least now.
2021-04-12 09:51:49 +00:00
mrg
8d689c0cf0 avoid attempting to print NULL. 2021-04-12 09:30:32 +00:00
mrg
b6529141f9 use strlcpy() to ensure desired nul termination.
trailing nul bytes are not needed here.
2021-04-12 09:29:53 +00:00
mrg
dca7649182 avoid uninitialised variable access. make this case like the other 2 around it. 2021-04-12 09:24:24 +00:00
mrg
8c3580ff36 handle cd1400_compute_baud() failure and avoid reading uninitialised
variables.
2021-04-12 09:23:32 +00:00
mrg
b29a286b3b be sure to only access vcpu if it was initialised. 2021-04-12 09:22:58 +00:00
mrg
af083385c6 convert union member from [0] array to [3] array, so that attempts
to access these members later will  work.

does not affect size of the structure or layout in any other way.
2021-04-12 09:22:21 +00:00
mrg
17da6476c4 use libsa/saerrno.h instead of our own errno definitions. 2021-04-12 09:19:10 +00:00
mrg
7e1463f49a avoid common symbols. 2021-04-12 09:18:45 +00:00
mrg
5132a436cc properly terminate a buffer after strncpy(). 2021-04-12 09:18:14 +00:00
mrg
23b921d781 pass the right enum to krb5_auth_con_setkeytype(). 2021-04-12 09:17:48 +00:00
mrg
43e80ef7a6 avoid an unlikely buffer truncation. 2021-04-12 09:17:10 +00:00
mrg
72aaaacc35 add a default: case to __kernel_standard(), failing with EDOM 2021-04-12 09:15:52 +00:00
mrg
18bae9314b avoid leaving off the trailing nul in a literal string. 2021-04-12 09:12:28 +00:00
mrg
f76800c4b6 arm/netbsd-elf.h is necessary for eabi targets. 2021-04-12 09:03:39 +00:00
mrg
250ad67d8e properly size a buffer to include the trailing nul. 2021-04-12 08:55:22 +00:00
mrg
8027934b7b avoid common symbols. 2021-04-12 08:54:11 +00:00
mrg
e6db336e16 updates:
- arm64 doesn't build (missing __aarch64_swp1_acq in kernels)
- mips cpu targets all build (maybe not all ports)
- powerpc builds (maybe not all ports)
2021-04-12 08:31:30 +00:00
mrg
60ad6a583b mknative-gcc for GCC 10.3 and powerpc ports. 2021-04-12 08:29:18 +00:00
mrg
d68c9edc84 merge our changes into GCC 10. parts of the rs6000.c file were
split into separate files, and an old change to rs6000.c now
belongs in rs6000-logue.c.
2021-04-12 07:23:06 +00:00
mrg
7e5e03e2b7 new GCC_NO_* uses for warning issues. most of the users of the new
GCC_NO_RETURN_LOCAL_ADDR are bugs in GCC itself, not the code.
2021-04-12 06:08:30 +00:00
mrg
dcf8481a48 fix a buffer size (off by one), and fix all the comments for the
3 other correctly sized buffers with the same comment/context.
2021-04-12 05:11:09 +00:00
mrg
83836a267f include bsd.own.mk to make sure $S is set. 2021-04-12 04:41:54 +00:00
mrg
84bbce3d17 include bsd.own.mk to be sure NETBSDSRCDIR is set. 2021-04-12 04:19:32 +00:00
mrg
ed979dc750 add GCC_NO_IMPLICIT_FALLTHRU, GCC_NO_MAYBE_UNINITIALIZED, and
GCC_NO_RETURN_LOCAL_ADDR.
2021-04-12 04:18:38 +00:00
mrg
b62b29447b avoid common symbols. 2021-04-12 04:09:26 +00:00
mrg
4084f973da use -fcommon where necessary. 2021-04-12 03:57:06 +00:00
mrg
6adfa96ca4 remove shadowed (common) declarations of various libsa variables
from various boot programs.  for macppc and zaurus, avoid building
with -fcommon any more.
2021-04-12 03:55:40 +00:00
mrg
a2d1542565 add some new uses of existing GCC_NO_* variables for warning issues.
remove an no longer relevant for gcc7 workaround (works fine in both
gcc9 and gcc 10.)
2021-04-12 02:54:07 +00:00
mrg
b80645cc71 avoid assigning both signed and unsigned variables in the same statement. 2021-04-12 02:49:02 +00:00
mrg
116fff4a6a avoid duplicate "ddb_regs" in crash with GCC 10 and -fcommon default. 2021-04-12 02:23:41 +00:00
mrg
b9620f065d make a numeric literal unsigned as it is bit-negated. 2021-04-12 02:23:01 +00:00
mrg
af9b7ed461 create the gcc-10 subdirs, and don't create the gcc-8 ones. 2021-04-12 02:09:27 +00:00
mrg
e0746b3fa4 various updates for GCC 10 support. remove dead gcc7/8 support
and properly mark obsolete files in gcc9/gcc10.

testing on amd64 and shark for GCC 9, and many platforms for GCC 10,
(though not arm yet.)
2021-04-12 02:08:59 +00:00
mrg
bfab3a83f7 don't run the "offline" or "nointr" tests by default. they exercise
bugs that exist in the current code and leave the target machine in
a broken state, requiring ddb or hard reset.

setting ATF_USR_SBIN_CPUCTL_OFFLINE_ENABLE to any non-empty string
will enable these tests again.
2021-04-12 01:18:13 +00:00
mrg
b4369c1e58 various changes to get GCC 10 to build here.
- fix path to compiler-specific includes
- missing (void) for (older) C
- fix __is_signed/__is_signed_val change
- avoid compiler warning-as-errors
- add to existing COPTS.file values, instead of setting
- bump libgomp minor; functions were added
- add new 'compare' c++ header
- handle new analyzer subdirectory.  set TARGET_MACHINE for lto-streamer-in.c.
  remove params.list etc handling.
- coroutines.cc is another .cc not .c.  adjust .PATH to suit.
- add new lto1 sources
- couple of files not in /arch/ subdirs missed in mknative update.

rs6000.c is still not merged.
2021-04-12 00:05:54 +00:00
mrg
c30145c84d add a netbsd version for GCC 10. properly generate omp-device-properties.h. 2021-04-11 23:55:47 +00:00
mrg
9d32163c94 revert sanitizer back to the version we were using with GCC 9, since
that one was already newer than the GCC 10 version.
2021-04-11 23:54:25 +00:00
rillig
a63a77a103 make: improve performance for LazyBuf
The previous O(n^2) time complexity for parsing a long string with many
variable expressions was not meant to last for long.  I had hoped to fix
it within a few minutes, but that will take more time.

For now, make LazyBuf simpler by using a traditional C string for the
expected part instead of a Substring.  This avoids a strlen call per
Var_Parse.

No functional change, only performance.
2021-04-11 22:53:45 +00:00