Commit Graph

9301 Commits

Author SHA1 Message Date
rin
8f02e7cc73 Update table for alpha, m68000, m68k, and powerpc:
- alpha is running and no regression in ATF (tests in lib/libc/sys are
  skipped due to port-alpha/55652).

- m68000 is successfully built and running at a same level as before.

- m68k (amiga, mac68k, sun3) is running and no regression in a tiny
  subset of ATF (kernel, lib/libc/{gen,sys}).

- macppc (oea) and evbppc (booke, ibm4xx) are running and no regression
  in ATF.
2020-09-11 05:24:14 +00:00
kamil
fba137c2fa Add prototypes of internal_sigdelset() and internal_clone()
Cherry-pick the missing change from:

commit 983d7ddd0b278b45d815cbac9197205b39c4860a
Author: Kamil Rytarowski <n54@gmx.com>
Date:   Thu Jul 11 06:22:35 2019 +0000

    Add NetBSD LSan support

    Summary:
    Combine few relatively small changes into one:

     - implement internal_ptrace() and internal_clone() for NetBSD
     - add support for stoptheworld based on the ptrace(2) API
     - define COMPILER_RT_HAS_LSAN for NetBSD
     - enable tests for NetBSD/amd64

    Inspired by the original implementation by Christos Zoulas in netbsd/src for GCC.

    The implementation is in theory CPU independent through well defined macros
    across all NetBSD ports, however only the x86_64 version was tested.

    Reviewers: mgorny, dvyukov, vitalybuka, joerg, jfb

    Reviewed By: vitalybuka

    Subscribers: dexonsmith, jfb, srhines, kubamracek, llvm-commits, christos

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64057

    llvm-svn: 365735
2020-09-11 01:45:53 +00:00
kamil
a2d7733122 Add getauxval() compat for NetBSD
Cherry-pick and adapt:

commit 02519fc7a6f8c528f67975a9f78ce64dabf402b4
Author: Kamil Rytarowski <n54@gmx.com>
Date:   Thu Sep 12 18:57:58 2019 +0000

    Add getauxval() compat for NetBSD

    Summary:
    getauxval() is not available on NetBSD and there is no a direct equivalent.

    Add a function that implements the same semantics with NetBSD internals.

    Reorder the GetPageSize() functions to prefer the sysctl approach for NetBSD.
    It no longer makes a difference which approach is better. Avoid changing
    conditional code path.

    Reviewers: vitalybuka, dvyukov, mgorny, joerg

    Reviewed By: vitalybuka

    Subscribers: llvm-commits, #sanitizers

    Tags: #sanitizers, #llvm

    Differential Revision: https://reviews.llvm.org/D67329

    llvm-svn: 371758
2020-09-11 01:08:36 +00:00
kamil
6db3e45ad2 Use sysctl to implement GetPageSize()
Cherry-pick code chunk from newer LLVM compiler-rt.
2020-09-11 01:07:53 +00:00
kamil
69763b91ed Enable SANITIZER_CAN_USE_PREINIT_ARRAY on NetBSD
Cherry-pick:

commit 3a189bac9bb111c9a59339015ab0d4e2fed735f4
Author: Kamil Rytarowski <n54@gmx.com>
Date:   Thu Dec 19 03:21:46 2019 +0100

    [compiler-rt] Enable SANITIZER_CAN_USE_PREINIT_ARRAY on NetBSD

    .preinit_array is supported since 9.0.
2020-09-11 01:07:27 +00:00
kamil
86bc1e72b9 Adapt stop-the-world for ptrace changes in NetBSD-9.99.30
Cherry-pick and adapt:

commit fc356dcc11c10003ff22acff667b0a9f5e6c1e0f
Author: Kamil Rytarowski <n54@gmx.com>
Date:   Tue Dec 24 20:33:54 2019 +0100

    [compiler-rt] Adapt stop-the-world for ptrace changes in NetBSD-9.99.30

    Handle PT_LWPNEXT for newer kernels and keep PT_LWPINFO for older ones.
2020-09-11 01:07:00 +00:00
kamil
39b6a894c0 Add NetBSD LSan support
Cherry-pick and adapt:

commit 983d7ddd0b278b45d815cbac9197205b39c4860a
Author: Kamil Rytarowski <n54@gmx.com>
Date:   Thu Jul 11 06:22:35 2019 +0000

    Add NetBSD LSan support

    Summary:
    Combine few relatively small changes into one:

     - implement internal_ptrace() and internal_clone() for NetBSD
     - add support for stoptheworld based on the ptrace(2) API
     - define COMPILER_RT_HAS_LSAN for NetBSD
     - enable tests for NetBSD/amd64

    Inspired by the original implementation by Christos Zoulas in netbsd/src for GCC.

    The implementation is in theory CPU independent through well defined macros
    across all NetBSD ports, however only the x86_64 version was tested.

    Reviewers: mgorny, dvyukov, vitalybuka, joerg, jfb

    Reviewed By: vitalybuka

    Subscribers: dexonsmith, jfb, srhines, kubamracek, llvm-commits, christos

    Tags: #llvm

    Differential Revision: https://reviews.llvm.org/D64057

    llvm-svn: 365735
2020-09-11 01:05:28 +00:00
kamil
f445ab3a7e Stop tracking atexit/__cxa_atexit/pthread_atfork allocations in LSan/NetBSD
Cherry-pick and adapt:

commit 8827047551570b7ed7088765c3de2a8cce6823b8
Author: Kamil Rytarowski <n54@gmx.com>
Date:   Sat Sep 21 07:30:42 2019 +0000

    Stop tracking atexit/__cxa_atexit/pthread_atfork allocations in LSan/NetBSD

    Summary:
    The atexit(3) and __cxa_atexit() calls allocate internally memory and free on exit,
    after executing all callback. This causes false positives as DoLeakCheck() is called
    from the atexit handler. In the LSan/ASan tests there are strict checks triggering
    false positives here.

    Intercept all atexit(3) and __cxa_atexit() calls and disable LSan when calling the
    real functions.

    Stop tracing allocations in pthread_atfork(3) funtions, as there are performed
    internal allocations that are not freed for the time of running StopTheWorld()
    code. This avoids false-positives.

    The same changes have to be replicated in the ASan and LSan runtime.

    Non-NetBSD OSs are not tested and this code is restricted to NetBSD only.

    Reviewers: dvyukov, joerg, mgorny, vitalybuka, eugenis

    Reviewed By: vitalybuka

    Subscribers: jfb, llvm-commits, #sanitizers

    Tags: #sanitizers, #llvm

    Differential Revision: https://reviews.llvm.org/D67331

    llvm-svn: 372459
2020-09-11 01:04:33 +00:00
kamil
31e31781c6 Add __lsan::ScopedInterceptorDisabler for strerror(3)
Cherry-pick and adapt:

commit 1b58389428ed07a7322ba9c2bcaeec99807f9457
Author: Kamil Rytarowski <n54@gmx.com>
Date:   Sat Sep 21 07:45:02 2019 +0000

    Add __lsan::ScopedInterceptorDisabler for strerror(3)

    Summary:
    strerror(3) on NetBSD uses internally TSD with a destructor that is never
    fired for exit(3). It's correctly called for pthread_exit(3) scenarios.

    This is a case when a leak on exit(3) is expected, unavoidable and harmless.

    Reviewers: joerg, vitalybuka, dvyukov, mgorny

    Reviewed By: vitalybuka

    Subscribers: dmgreen, kristof.beyls, jfb, llvm-commits, #sanitizers

    Tags: #sanitizers, #llvm

    Differential Revision: https://reviews.llvm.org/D67337

    llvm-svn: 372461
2020-09-11 01:03:31 +00:00
kamil
a476aad3c2 Disable sanitizer_stoptheworld_linux_libcdep.cc for NetBSD 2020-09-11 01:01:14 +00:00
kre
c2105d446d Replace a pipe into tr to normalise a var name (convert '.' or '-'
into '_' to meet sh variable name rules) into a shell string processing
loop.

On my test system, this reduces the total elapsed time for the bin/sh ATF
tests from about 109 secs to about 102 (user cpu from 24.5 to 21, sys cpu
from 34 to 30) and the usr.bin/make tests elapsed time from 42.5 to 40
secs (user from a bit over 15 to a bit over 13, and sys from 16+ to 13+).
(Recorded on an AMD64 domU).

These probably exaggerate the effect, as there are a bunch of quite small
tests, which means the ATF overhead (which this change affects) is a greater
proportion of the total test time than for some other tests where most of
the time is spent actually testing.

But I am fairly confident that there will be at least some improvement.

This could be further improved by removing the cmdsub invocation method,
and instead passing the name of a variable containing the string to
normalise (with the result returned in that same var) - but that would
mean altering all the callers as well.   Some other time maybe.
2020-09-10 22:51:10 +00:00
kamil
47333b4890 Avoid using internal RTLD/libpthread/libc symbol in sanitizers
Cherry-pick and adapt:

commit 0da15ff318480f30bbc90b9e8ecb9bb9431c7fd3
Author: Kamil Rytarowski <n54@gmx.com>
Date:   Fri Jan 3 02:35:33 2020 +0100

    [compiler-rt] [netbsd] Switch to syscall for ThreadSelfTlsTcb()

    This change avoids using internal, namespaced per-CPU calls that
    are not a stable interface to read the TSL base value.
2020-09-10 12:53:05 +00:00
mrg
02f683bda2 fix path for largefile-config.h 2020-09-09 09:52:16 +00:00
mrg
71ddf99ad7 add build rules for G_CPP17_SOURCES sources, and fix their build. 2020-09-09 09:49:16 +00:00
mrg
248797713d regen for sparc and binutils 2.34. 2020-09-09 09:10:52 +00:00
mrg
66bd25a419 regen gcc 9.3 / arm64eb for includes fixes.
also fixes a bunch of configuration (like finding acosf() etc.)
2020-09-09 08:22:04 +00:00
mrg
c5ada2fa0b mknative-gcc for everything except arm64be: includes fixes 2020-09-09 07:27:45 +00:00
mrg
154bfe8e08 install new libstdc++ pstl headers. remove some dead makefile
code and consolidate some of the header installation.
2020-09-09 07:23:45 +00:00
mrg
5d7c2fdd95 ia64 works, sun3 (m68k?) works, powerpc works, note powerpc64 issue,
evbarmv7-eb dtb issue, prep overflow issue, note that almost all
platform builds are now working for m68k/mips/ppc.
2020-09-07 23:47:02 +00:00
mrg
6b90dfb69d use the generic ppc64 LINK_GCC_C_SEQUENCE_SPEC. 2020-09-07 22:21:55 +00:00
dogcow
1a71ad483f Fix build.sh tools -j1 compilation, where bfd.h wasn't generated early
enough.
2020-09-07 19:46:45 +00:00
christos
29ff04b87c Simplify to avoid packed struct alignment issue. 2020-09-07 19:37:21 +00:00
christos
625508a57b Disable an init-list-lifetime warning from gcc-9. 2020-09-07 19:05:41 +00:00
christos
09db05edfe Comment out index out of bounds debugging code. 2020-09-07 19:04:27 +00:00
mrg
2bc6576ee5 more updates:
- more arm stuff builds
- 32 bit mips builds and kernels run
- mips64el builds
- powerpc (walnut) kernels run
2020-09-07 10:42:58 +00:00
mrg
e9ae3901e6 asan_interceptors.cc needs -O1 for mipsel/mipseb. 2020-09-07 09:09:40 +00:00
mrg
d4edddf34a i can't confirm or deny that GCC 9 is wrong about parity_valid[]
having uninitialised members, but since setting up reconstruct
isn't a hot path, just zero init the whole thing to be sure.
2020-09-07 07:44:53 +00:00
mrg
4dc66dd97f various updates:
- most builds are working
- arm64, amd64, sparc, evbmips64-eb, and armv7hf-el are known to be
  stable and work
- mips64-el needs new binutils, in testing
- vax, sh3*, riscv64 and mipse[lb] builds are broken in various ways
2020-09-07 07:43:36 +00:00
mrg
3aea87db6a avoid returning stack garbage on platforms that don't have either
__lwp_gettcb_fast() or __lwp_getprivate_fast().
2020-09-07 07:10:43 +00:00
mrg
3c4e3b4cdb avoid calling printf %s with NULL. fix idea from christos. 2020-09-07 00:48:45 +00:00
mrg
79b5664c2b update status for several ports that now mostly build (perhaps with
some uncommited changes.)
2020-09-07 00:38:14 +00:00
mrg
ec02653d43 re-gen. 2020-09-07 00:37:23 +00:00
christos
1124ae8b50 Avoid strict aliasing issue by using a separate buffer.. 2020-09-07 00:36:53 +00:00
mrg
6f8b0adf3a use GCC_NO_ADDR_OF_PACKED_MEMBER. 2020-09-07 00:24:37 +00:00
mrg
86288e60b9 apply -Wno-error=alloca-larger-than= for GCC 9. 2020-09-07 00:24:17 +00:00
mrg
3d9a34f72e fix for netbsd/mips. 2020-09-07 00:22:51 +00:00
mrg
e7ac2a8b5b apply some GCC 9 -Wno-error* 2020-09-07 00:18:25 +00:00
jakllsch
d1868e6ec7 mknative-gcc for gcc 9.3.0 and aarch64eb 2020-09-06 23:23:21 +00:00
christos
86b0983bea Stop using alloca 2020-09-06 21:49:44 +00:00
christos
be20a654c6 Adjust string sizes 2020-09-06 21:49:32 +00:00
christos
dfab1b7eb2 comment out ioctl that is only defined for the kernel 2020-09-06 17:15:09 +00:00
christos
7c502affd2 fix null argument 2020-09-06 17:06:20 +00:00
christos
a2d10af9ab fix zeroing 2020-09-06 16:44:16 +00:00
christos
5ca7119f94 Appease gcc-9 2020-09-06 16:30:41 +00:00
roy
3ace96f44a dhcpcd: Use ppoll(2) 2020-09-06 14:57:18 +00:00
roy
529fe136c2 Sync 2020-09-06 14:55:34 +00:00
roy
b4100df48f Update to dhcpcd-9.2.0 with the following changes:
* route: ensure IPv4LL routes come last in priority
 * DHCP: fix many issues with extending the last lease
 * privsep: don't read control group from config in privsep
 * privsep: only the master process responds to signals
 * privsep: use a socketpair for stderr/stdin rather than dupping /dev/null
 * privsep: right limit stdin/stderr/stdout
 * privsep: dumping a lease is now run in a sandbox
 * options: check if kernel supports INET or INET6 before enabling default
 * options: let clientid override a prior duid
 * options: allow -1 to represent infinity for requested lease time
 * dhcpcd: fix a crash initing a new interface after route overflow
2020-09-06 14:54:28 +00:00
mrg
701bf241fe note that aarch64, earm*, sh3*, sparc*, vax, and x86-64 are
slightly updated in status.  x86-64 and sparc and mips64-eb
all appear to work well enough to complete or get well into
an atf run (still going.)

note first ICE segv on sh3
2020-09-06 13:06:03 +00:00
mrg
472eadc88c re-port to netbsd/sparc*
fix build on non-constant pagesize platforms and for dkbad.
2020-09-06 10:55:16 +00:00
mrg
d2657b0349 build-hash-table.lo and build-vec.lo depend upon $HASH_TABLE_H not $GGC_H 2020-09-06 10:50:53 +00:00