Commit Graph

280425 Commits

Author SHA1 Message Date
mrg 32fbe21e0b avoid calling printf() %s with NULL. 2020-09-06 02:34:02 +00:00
mrg 4983628f40 mknative-gcc for gcc 9.3.0 and earmv5*. 2020-09-06 02:25:13 +00:00
mrg 6e26327fd8 pass down earm* not earmv5* to mknative-gcc. 2020-09-06 02:24:38 +00:00
riastradh 0b8d836aa7 Fix fallout from previous uvm.h cleanup.
- pmap(9) needs uvm/uvm_extern.h.

- x86/pmap.h is not usable on its own; it is only usable if included
  via uvm/uvm_extern.h (-> uvm/uvm_pmap.h -> machine/pmap.h).

- Make nvmm.h and nvmm_internal.h standalone.
2020-09-06 02:18:53 +00:00
mrg 45b0095c0d update mknative-gcc status. everything but earmv5 is done, though
few have been tested to actually build yet.
2020-09-05 23:18:49 +00:00
mrg 3d883ed1cc mknative-gcc for gcc 9.3.0 and arm, earmv[467]*, i386, mipseb, mips64*,
and powerpc64.
2020-09-05 23:13:13 +00:00
mrg 79ec32295a don't include vxworks-dummy.h twice 2020-09-05 22:41:17 +00:00
mrg dec7c72467 mknative-gcc for gcc 9.3.0 and arm64, alpha, hppa, ia64, m68*, mipseb,
powerpc, riscv*, sh3*, sparc*, vax.

move data from README.gcc8 to README.gcc9.
2020-09-05 22:16:57 +00:00
jakllsch ea3caf96e6 Fix a broken corner case of strlen()/strnlen() on aarch64eb
Previously a string such as "\x1\x1\x1\x1\x1\x1\x1" would count as
0 instead of 7 on BE.
2020-09-05 20:24:43 +00:00
rillig d908d8a1ee lists/base/mi: fix lines with 4 fields
ok mrg
2020-09-05 19:17:42 +00:00
rillig 000f3267b7 make(1): replay the changes from v1.283
I accidentally reverted them in v1.284.
2020-09-05 19:11:16 +00:00
rillig f31746d78f make(1): clean up comments about parsing 2020-09-05 19:07:25 +00:00
rillig c058562d66 make(1): fix comments about setting .PARSEDIR and .PARSEFILE 2020-09-05 18:41:59 +00:00
rillig 568c2fcd37 make(1): make GetActuallyIncludingFile faster
In deeply nested includes, starting the search from the inner end is
faster since it needs fewer comparisons.
2020-09-05 18:31:03 +00:00
rillig 3dd79b1f4a make(1): fix .INCLUDEDFROMDIR/.INCLUDEDFROMFILE 2020-09-05 18:18:05 +00:00
rillig 118ec9dfc5 make(1): add test for .INCLUDEDFILE combined with .for loops
The .for loops are implemented as a special kind of .include, therefore
they affect the .INCLUDEDFROM variable.
2020-09-05 18:13:47 +00:00
thorpej e446c2af54 Track the SSIR per-cpu, rather than globally. 2020-09-05 18:01:42 +00:00
jakllsch eced30c1f4 aarch64: switch CPU to the kernel's byte order during boot 2020-09-05 17:49:26 +00:00
riastradh 7493194aed Suppress pool redzone message unless booted with debug. 2020-09-05 17:33:11 +00:00
rillig 8981885e47 make(1): make test for .INCLUDEDFROMDIR simpler
The .info and .warning directives provide exactly the early expansion
that this test needs.  No more .for for getting a snapshot of a
variable.
2020-09-05 16:59:19 +00:00
jakllsch ec997a58d5 Adjust aarch64 bus_space tags to also work on aarch64eb 2020-09-05 16:44:54 +00:00
riastradh 9fc453562f Round of uvm.h cleanup.
The poorly named uvm.h is generally supposed to be for uvm-internal
users only.

- Narrow it to files that actually need it -- mostly files that need
  to query whether curlwp is the pagedaemon, which should maybe be
  exposed by an external header.

- Use uvm_extern.h where feasible and uvm_*.h for things not exposed
  by it.  We should split up uvm_extern.h but this will serve for now
  to reduce the uvm.h dependencies.

- Use uvm_stat.h and #ifdef UVMHIST uvm.h for files that use
  UVMHIST(ubchist), since ubchist is declared in uvm.h but the
  reference evaporates if UVMHIST is not defined, so we reduce header
  file dependencies.

- Make uvm_device.h and uvm_swap.h independently includable while
  here.

ok chs@
2020-09-05 16:30:10 +00:00
thorpej 2871f8c08b - Document all of the various interrupt levels in the Processor Stataus
register, and provide symbolic names for them as well.
- Use ALPHA_PSL_IPL_* values directly for IPL_*.
2020-09-05 16:29:07 +00:00
jakllsch bef068c836 Add missing prototypes for __bs_c(f,_bs_sm_?_swap)
(implementations of these already exist for aarch64)
2020-09-05 16:04:31 +00:00
jakllsch 4d757bd313 AArch64 instructions are always LE: swap if we're BE 2020-09-05 15:59:09 +00:00
rillig 9378c3ad8d make(1): add tests for some of the special sources 2020-09-05 15:57:12 +00:00
rillig 613d864f26 make(1): fix local variable type in ParseIsEscaped 2020-09-05 15:12:03 +00:00
rillig 6fa639d0d3 make(1): fix return type of ParseIsEscaped 2020-09-05 15:05:08 +00:00
rillig bc484e3768 make(1): remove redundant prototype for ParseMark 2020-09-05 15:04:09 +00:00
rillig 41034fe6df make(1): remove redundant prototypes for local functions from parse.c 2020-09-05 14:58:07 +00:00
mrg 15f8aa285a make GCC 9.3.0 build itself:
- common-target is needed before common now
- complete build-sort.o framework
- fix cyclic dep
- fix .c vs .cc issues
2020-09-05 14:24:25 +00:00
rillig 59980735fc make(1): remove initial size argument from Hash_InitTable
In all but one case this argument was set to auto-detect anyway.  The
one case where it was set was not worth keeping this complicated API.
2020-09-05 13:55:08 +00:00
mrg b5ca7043a9 mknative-gcc for gcc 9.3.0 and amd64.
the tree has quite a number of issues to resolve before it builds.
2020-09-05 13:41:00 +00:00
mrg 05e7ff1ac3 disable -Wabi for GCC 9. 2020-09-05 13:38:43 +00:00
mrg ea8f81f33c avoid passing NULL pointers to printf() like functions and %s. 2020-09-05 13:38:24 +00:00
mrg 032acb9ed8 make the 2nd argument to __memmove_chk() const 2020-09-05 13:37:59 +00:00
mrg 57c87668e3 work around various headers not being fully open without some
special #define being present (ie, define them.)
2020-09-05 13:36:49 +00:00
rillig 09d79112a7 make(1): make Hash_Table independent from -funsigned-char
This only makes a difference for Hash_Table keys outside the ASCII
character set, and these are barely used in practice, if at all.

The effects of this change can only be seen in debug mode, when printing
the full contents of the variable namespaces.  In this output, the order
of the entries might change.

All other use cases stay the same as before.
2020-09-05 13:36:25 +00:00
mrg 5db494bf17 fix various merge botches; we may need to re-port the ThreadLister code. 2020-09-05 13:35:55 +00:00
mrg 257335559d avoid always passing NULL to printf()-like functions 2020-09-05 13:35:24 +00:00
rillig 42e06d6e82 make(1): add expected test result for hashing variable names 2020-09-05 13:34:19 +00:00
rillig 6544b03ea1 make(1): add test for intentional hash collision for variable names
Hash collisions may slow down make in certain special situations.  There
is no point though in maliciously triggering such a situation since
anyone who can inject values into makefiles can easily run shell
commands using the :!cmd! modifier or similar mechanisms.  Crafting
variable names just to slow down make is thus not an attack vector.
2020-09-05 12:59:07 +00:00
mrg c4c51006fe find header files in /usr/include/gcc-9 and the gcc cpu dir. 2020-09-05 12:19:25 +00:00
mrg fbc31b01a6 endfor not endif 2020-09-05 11:40:56 +00:00
rillig 4cd5ede6f2 add distrib/sets/fmt-list to format the file lists consistently
This program is much more complicated than sort-list in the same
directory.  It takes care of aligning the fields of the lines so that
lines from the same directory are aligned to each other.  This reduces
horizontal jumps for the category and flags fields.
2020-09-05 11:13:07 +00:00
rillig 21e06026f4 fix alignment in ad.sh3 2020-09-05 11:00:18 +00:00
mrg ecb0fdec1f disable fetching stuff from libsanitizer for now. it needs libstdc++
to build in mknative using gcc makefiles, and our locale changes break
the "normal" build of this.

make sure MKNATIVE_TARGET is always set.  since mknative-gcc doesn't
care about the version any more (we keep two versions for gcc/gcc.old)
simply set it to "gcc".
2020-09-05 10:58:08 +00:00
mrg 8ecbf5f02b port reachover framework to GCC 9. 2020-09-05 09:50:15 +00:00
mrg ef2e34874f pull out a few more things for GCC 9. 2020-09-05 09:49:32 +00:00
mrg 6df74746d4 port to GCC 9.3. 2020-09-05 09:16:46 +00:00