Commit Graph

6192 Commits

Author SHA1 Message Date
christos
02ec25e568 http://w1.fi/security/2016-1/0004-Reject-SET_CRED-commands-with-newline-characters-in-.patch
Many of the global configuration parameters are written as strings
without filtering and if there is an embedded newline character in the
value, unexpected configuration file data might be written.

This fixes an issue where wpa_supplicant could have updated the
configuration file global parameter with arbitrary data from the control
interface or D-Bus interface. While those interfaces are supposed to be
accessible only for trusted users/applications, it may be possible that
an untrusted user has access to a management software component that
does not validate the value of a parameter before passing it to
wpa_supplicant.

This could allow such an untrusted user to inject almost arbitrary data
into the configuration file. Such configuration file could result in
wpa_supplicant trying to load a library (e.g., opensc_engine_path,
pkcs11_engine_path, pkcs11_module_path, load_dynamic_eap) from user
controlled location when starting again. This would allow code from that
library to be executed under the wpa_supplicant process privileges.
2016-05-03 18:22:28 +00:00
christos
32a650932f http://w1.fi/security/2016-1/0004-Reject-SET_CRED-commands-with-newline-characters-in-.patch
Most of the cred block parameters are written as strings without
filtering and if there is an embedded newline character in the value,
unexpected configuration file data might be written.

This fixes an issue where wpa_supplicant could have updated the
configuration file cred parameter with arbitrary data from the control
interface or D-Bus interface. While those interfaces are supposed to be
accessible only for trusted users/applications, it may be possible that
an untrusted user has access to a management software component that
does not validate the credential value before passing it to
wpa_supplicant.

This could allow such an untrusted user to inject almost arbitrary data
into the configuration file. Such configuration file could result in
wpa_supplicant trying to load a library (e.g., opensc_engine_path,
pkcs11_engine_path, pkcs11_module_path, load_dynamic_eap) from user
controlled location when starting again. This would allow code from that
library to be executed under the wpa_supplicant process privileges.
2016-05-03 18:21:54 +00:00
christos
9f37edd889 http://w1.fi/security/2016-1/0003-Remove-newlines-from-wpa_supplicant-config-network-o.patch
Spurious newlines output while writing the config file can corrupt the
wpa_supplicant configuration. Avoid writing these for the network block
parameters. This is a generic filter that cover cases that may not have
been explicitly addressed with a more specific commit to avoid control
characters in the psk parameter.
2016-05-03 18:21:14 +00:00
christos
bc93796efb http://w1.fi/security/2016-1/0002-Reject-psk-parameter-set-with-invalid-passphrase-cha.patch
WPA/WPA2-Personal passphrase is not allowed to include control
characters. Reject a passphrase configuration attempt if that passphrase
includes an invalid passphrase.

This fixes an issue where wpa_supplicant could have updated the
configuration file psk parameter with arbitrary data from the control
interface or D-Bus interface. While those interfaces are supposed to be
accessible only for trusted users/applications, it may be possible that
an untrusted user has access to a management software component that
does not validate the passphrase value before passing it to
wpa_supplicant.

This could allow such an untrusted user to inject up to 63 characters of
almost arbitrary data into the configuration file. Such configuration
file could result in wpa_supplicant trying to load a library (e.g.,
opensc_engine_path, pkcs11_engine_path, pkcs11_module_path,
load_dynamic_eap) from user controlled location when starting again.
This would allow code from that library to be executed under the
wpa_supplicant process privileges.
2016-05-03 18:20:30 +00:00
christos
7d146f42f6 http://w1.fi/security/2016-1/0001-WPS-Reject-a-Credential-with-invalid-passphrase.patch
WPA/WPA2-Personal passphrase is not allowed to include control
characters. Reject a Credential received from a WPS Registrar both as
STA (Credential) and AP (AP Settings) if the credential is for WPAPSK or
WPA2PSK authentication type and includes an invalid passphrase.

This fixes an issue where hostapd or wpa_supplicant could have updated
the configuration file PSK/passphrase parameter with arbitrary data from
an external device (Registrar) that may not be fully trusted. Should
such data include a newline character, the resulting configuration file
could become invalid and fail to be parsed.
2016-05-03 18:19:44 +00:00
christos
9da9a79f42 search for the proper variable in the sysroot case. 2016-05-02 23:22:39 +00:00
christos
68dbbb44ff merge conflicts 2016-05-01 23:32:00 +00:00
joerg
1bf1694ac2 Drop stray ^ from output. Found by Abhinav. 2016-05-01 20:25:37 +00:00
christos
ae49d4a49c ---
(4.2.8p7) 2016/04/26 Released by Harlan Stenn <stenn@ntp.org>

* [Sec 2901] KoD packets must have non-zero transmit timestamps.  HStenn.
* [Sec 2936] Skeleton Key: Any system knowing the trusted key can serve
  time. Include passive servers in this check. HStenn.
* [Sec 2945] Additional KoD packet checks.  HStenn.
* [Sec 2978] Interleave can be partially triggered.  HStenn.
* [Sec 3007] Validate crypto-NAKs.  Danny Mayer.
* [Sec 3008] Always check the return value of ctl_getitem().
  - initial work by HStenn
  - Additional cleanup of ctl_getitem by perlinger@ntp.org
* [Sec 3009] Crafted addpeer with hmode > 7 causes OOB error. perlinger@ntp.org
   - added more stringent checks on packet content
* [Sec 3010] remote configuration trustedkey/requestkey values
  are not properly validated. perlinger@ntp.org
  - sidekick: Ignore keys that have an unsupported MAC algorithm
    but are otherwise well-formed
* [Sec 3011] Duplicate IPs on unconfig directives will cause an assertion botch
  - graciously accept the same IP multiple times. perlinger@ntp.org
* [Sec 3020] Refclock impersonation.  HStenn.
* [Bug 2831]  Segmentation Fault in DNS lookup during startup. perlinger@ntp.org
  - fixed yet another race condition in the threaded resolver code.
* [Bug 2858] bool support.  Use stdbool.h when available.  HStenn.
* [Bug 2879] Improve NTP security against timing attacks. perlinger@ntp.org
  - integrated patches by Loganaden Velvidron <logan@ntp.org>
    with some modifications & unit tests
* [Bug 2952] Symmetric active/passive mode is broken.  HStenn.
* [Bug 2960] async name resolution fixes for chroot() environments.
  Reinhard Max.
* [Bug 2994] Systems with HAVE_SIGNALED_IO fail to compile. perlinger@ntp.org
* [Bug 2995] Fixes to compile on Windows
* [Bug 2999] out-of-bounds access in 'is_safe_filename()'. perlinger@ntp.org
* [Bug 3013] Fix for ssl_init.c SHA1 test. perlinger@ntp.org
  - Patch provided by Ch. Weisgerber
* [Bug 3015] ntpq: config-from-file: "request contains an unprintable character"
  - A change related to [Bug 2853] forbids trailing white space in
    remote config commands. perlinger@ntp.org
* [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE
  - report and patch from Aleksandr Kostikov.
  - Overhaul of Windows IO completion port handling. perlinger@ntp.org
* [Bug 3022] authkeys.c should be refactored. perlinger@ntp.org
  - fixed memory leak in access list (auth[read]keys.c)
  - refactored handling of key access lists (auth[read]keys.c)
  - reduced number of error branches (authreadkeys.c)
* [Bug 3023] ntpdate cannot correct dates in the future. perlinger@ntp.org
* [Bug 3030] ntpq needs a general way to specify refid output format.  HStenn.
* [Bug 3031] ntp broadcastclient unable to synchronize to an server
             when the time of server changed. perlinger@ntp.org
  - Check the initial delay calculation and reject/unpeer the broadcast
    server if the delay exceeds 50ms. Retry again after the next
    broadcast packet.
* [Bug 3036] autokey trips an INSIST in authistrustedip().  Harlan Stenn.
* Document ntp.key's optional IP list in authenetic.html.  Harlan Stenn.
* Update html/xleave.html documentation.  Harlan Stenn.
* Update ntp.conf documentation.  Harlan Stenn.
* Fix some Credit: attributions in the NEWS file.  Harlan Stenn.
* Fix typo in html/monopt.html.  Harlan Stenn.
* Add README.pullrequests.  Harlan Stenn.
* Cleanup to include/ntp.h.  Harlan Stenn.

---
(4.2.8p6) 2016/01/20 Released by Harlan Stenn <stenn@ntp.org>

* [Sec 2935] Deja Vu: Replay attack on authenticated broadcast mode. HStenn.
* [Sec 2936] Skeleton Key: Any trusted key system can serve time. HStenn.
* [Sec 2937] ntpq: nextvar() missing length check. perlinger@ntp.org
* [Sec 2938] ntpq saveconfig command allows dangerous characters
  in filenames. perlinger@ntp.org
* [Sec 2939] reslist NULL pointer dereference.  perlinger@ntp.org
* [Sec 2940] Stack exhaustion in recursive traversal of restriction
  list. perlinger@ntp.org
* [Sec 2942]: Off-path DoS attack on auth broadcast mode.  HStenn.
* [Sec 2945] Zero Origin Timestamp Bypass. perlinger@ntp.org
* [Sec 2948] Potential Infinite Loop in ntpq ( and ntpdc) perlinger@ntp.org
* [Bug 2772] adj_systime overflows tv_usec. perlinger@ntp.org
* [Bug 2814] msyslog deadlock when signaled. perlinger@ntp.org
  - applied patch by shenpeng11@huawei.com with minor adjustments
* [Bug 2882] Look at ntp_request.c:list_peers_sum(). perlinger@ntp.org
* [Bug 2891] Deadlock in deferred DNS lookup framework. perlinger@ntp.org
* [Bug 2892] Several test cases assume IPv6 capabilities even when
             IPv6 is disabled in the build. perlinger@ntp.org
  - Found this already fixed, but validation led to cleanup actions.
* [Bug 2905] DNS lookups broken. perlinger@ntp.org
  - added limits to stack consumption, fixed some return code handling
* [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call
  - changed stacked/nested handling of CTRL-C. perlinger@ntp.org
  - make CTRL-C work for retrieval and printing od MRU list. perlinger@ntp.org
* [Bug 2980] reduce number of warnings. perlinger@ntp.org
  - integrated several patches from Havard Eidnes (he@uninett.no)
* [Bug 2985] bogus calculation in authkeys.c perlinger@ntp.org
  - implement 'auth_log2()' using integer bithack instead of float calculation
* Make leapsec_query debug messages less verbose.  Harlan Stenn.
* Disable incomplete t-ntp_signd.c test.  Harlan Stenn.

---
2016-05-01 15:57:23 +00:00
joerg
a114fff726 Revert. For whatever reasons, the ELF visibility attributes are not
meant to be a useful indicator of what an object expects, so for linking
against a protected symbol, it must be declared as normal.
2016-04-29 16:25:55 +00:00
christos
d7245a7577 include stdio.h for NULL 2016-04-28 11:45:02 +00:00
christos
f107a05fec remove incorrect comment 2016-04-28 11:38:41 +00:00
wiz
b3e27845a3 Sort SEE ALSO. New sentence, new line. 2016-04-28 08:17:04 +00:00
wiz
307c12e07c Fix xrefs. Sort sections. Remove trailing whitespace. 2016-04-28 08:16:09 +00:00
wiz
e09a2cef0e Replace Xr to itself with Nm. 2016-04-28 07:06:11 +00:00
christos
4187cd60b2 Introduce dt_bootfile() and use it to avoid hard-coded kernel values. Fixes
dtrace hang for kernels not named netbsd.
2016-04-28 00:02:40 +00:00
chs
cba709e375 the netbsd version of PT_LWPINFO is different from the freebsd version
in that we use lp_lwpid as an input to say which lwp to operate on.
freebsd passes the lwpid as the pid, which works fine there
since freebsd has globally unique LWP IDs which are also distinct
from process IDs.  the libproc interface that uses this ptrace() call
is only supposed to return info for the process's representative LWP,
so just initialize pl_lwpid to 1 before using it.
2016-04-26 14:29:58 +00:00
chs
d22d83420c use the netbsd path for separate debuginfo files.
only attempt to look up symbols in the dynsym table if the object
actually has one, which a separate debuginfo file does not.
2016-04-26 14:28:39 +00:00
chs
c8860c9bc8 fix the lookup of the rtld postinit hook to use the netbsd names
for the object and symbol rather than the freebsd names.
remove the lookups of the preinit and dlactivity hooks
(which do not currently exist separately in rtld on netbsd) for now
since this rtld_db implementation does not report those events anyway.
2016-04-26 14:26:49 +00:00
christos
f8e7276e29 CID 1358677: (Negative returns) tuck in poll_fd assignment in eloop_open() 2016-04-24 18:20:40 +00:00
christos
5ca807aba7 CID 1358676: Forward NULL. 2016-04-24 18:16:05 +00:00
christos
75518e7407 Propagate PLT fix from our gcc-5.3 tree:
Some functions like __udivsi3 are used in other assembly files like __umodsi3.
Use PLT linkage to avoid text relocations.

XXX: pullup-7
2016-04-22 18:05:52 +00:00
christos
17ab1145c9 Undo previous; wrong tree. 2016-04-22 18:05:13 +00:00
christos
6d71bd475a Propagate PLT fix from our gcc-5.3 tree:
Some functions like __udivsi3 are used in other assembly files like __umodsi3.
Use PLT linkage to avoid text relocations.

XXX: pullup-7
2016-04-22 18:03:54 +00:00
christos
4c876db4b4 Print the symbol that caused the text relocation for m68k like we do for
other platforms.
2016-04-22 17:40:36 +00:00
christos
97bb42372a Some functions like __udivsi3 are used in other assembly files like __umodsi3.
Use PLT linkage to avoid text relocations.
2016-04-22 17:39:38 +00:00
mrg
8398abcc05 mknative for GCC 5.3 and *arm* after netbsd-elf.h order fix. 2016-04-22 01:45:26 +00:00
skrll
6e4fa334ab Re-order includes so that ARM_TARGET2_DWARF_FORMAT takes effect
Fixes PR/51066: C++ text relocations
2016-04-21 16:09:16 +00:00
mrg
0010df8996 regenerate mknative-gcc for GCC 4.8 and *arm* 2016-04-21 07:24:09 +00:00
christos
d5fc259be3 WARNS=1 2016-04-20 17:18:52 +00:00
roy
302733a775 Sync 2016-04-20 08:53:01 +00:00
skrll
a7d674ca52 Re-order includes so that ARM_TARGET2_DWARF_FORMAT takes effect
Fixes PR/51066: C++ text relocations
2016-04-20 06:51:03 +00:00
christos
dc12ea256d The gcc diagnostic formats handle %m 2016-04-19 21:11:44 +00:00
christos
3a8ea6fb2d Enable minimal warnings, disabling the unused and narrowing ones that gcc
authors don't seem to pay attention to.
2016-04-19 21:11:05 +00:00
nakayama
d3ef62dc17 Fix NetBSD RCS keyword. 2016-04-17 02:16:26 +00:00
nakayama
161d0b9e5f Use xorg-pkg-ver.mk to retrieve PACKAGE_STRING. 2016-04-16 20:52:07 +00:00
nakayama
af72fa8d05 Set PACKAGE_STRING properly. 2016-04-16 16:57:06 +00:00
christos
8b51aa0d7a add HAVE_MKSTEMP 2016-04-13 22:26:48 +00:00
christos
e29ae0f86e Fix MKSTEMP 2016-04-13 22:01:55 +00:00
christos
0e65ad3ed0 We have MKSTEMP so use it! 2016-04-13 21:54:25 +00:00
christos
7abbfa376d We have MKSTEMP so stop using mktemp! 2016-04-13 21:48:21 +00:00
christos
7e68b5ef19 Add -DPIC for PIE builds so that we can avoid text relocations. 2016-04-12 19:38:41 +00:00
roy
cc53734e89 Fix build for operesolv-3.8.0 2016-04-11 10:43:24 +00:00
roy
3ddffba0b1 Sync 2016-04-11 10:41:51 +00:00
roy
9d6c04751d Import openresolv-3.8.0 with the following changes:
*  init system detection moved from configure into resolvconf.
  *  Fixed multiple domains not bein separated correctly.
2016-04-11 10:40:21 +00:00
roy
bb6883340e Only FreeBSD treats rssi this way, so #ifdef it and just treat rssi
as a number for other OS.
2016-04-11 08:57:19 +00:00
christos
cb19fc18b8 Apply revision 274569 from FreeBSD:
Only compare visitation counters if they've both been set for the current
type graph walk.
2016-04-10 23:37:10 +00:00
roy
f6d6501d55 dhcpcd now uses libutil. 2016-04-10 21:06:54 +00:00
roy
9c9a1de605 Sync 2016-04-10 21:00:53 +00:00
christos
0aab751630 fix test. 2016-04-09 17:58:46 +00:00
christos
eabf50fc2e properly check for type id overflow 2016-04-09 17:51:50 +00:00
riastradh
989878b760 Add autounload logic to dtrace module prototype. 2016-04-09 15:18:48 +00:00
riastradh
51346d2825 Disable autoload if there are any profile probes. 2016-04-09 15:17:58 +00:00
riastradh
7256e74462 Prevent autounload while cyclics are still in use. 2016-04-09 14:50:08 +00:00
christos
7be14baef5 remove HAVE_FPARSELN 2016-04-08 11:56:43 +00:00
christos
e7b9154ec4 more FreeBSD changes from Kurt Lidl. 2016-04-05 12:28:57 +00:00
skrll
fde887dff0 binutils 2.26 mknative for aarch64 2016-04-05 09:54:26 +00:00
skrll
ded2b1e2a4 Set ELFSIZE to 64 2016-04-05 09:52:22 +00:00
mrg
0a5e3dc2e5 sgimip is big endian, noted by @nisimura.
minor updates.
2016-04-05 00:43:48 +00:00
christos
849c4feb3c FreeBSD patches from Kurt Lidl. 2016-04-04 15:52:56 +00:00
skrll
744cc1c471 binutils 2.26 mknative for alpha 2016-04-04 13:45:40 +00:00
ozaki-r
09973b35ac Separate nexthop caches from the routing table
By this change, nexthop caches (IP-MAC address pair) are not stored
in the routing table anymore. Instead nexthop caches are stored in
each network interface; we already have lltable/llentry data structure
for this purpose. This change also obsoletes the concept of cloning/cloned
routes. Cloned routes no longer exist while cloning routes still exist
with renamed to connected routes.

Noticeable changes are:
- Nexthop caches aren't listed in route show/netstat -r
  - sysctl(NET_RT_DUMP) doesn't return them
  - If RTF_LLDATA is specified, it returns nexthop caches
- Several definitions of routing flags and messages are removed
  - RTF_CLONING, RTF_XRESOLVE, RTF_LLINFO, RTF_CLONED and RTM_RESOLVE
- RTF_CONNECTED is added
  - It has the same value of RTF_CLONING for backward compatibility
- route's -xresolve, -[no]cloned and -llinfo options are removed
  - -[no]cloning remains because it seems there are users
  - -[no]connected is introduced and recommended
    to be used instead of -[no]cloning
- route show/netstat -r drops some flags
  - 'L' and 'c' are not seen anymore
  - 'C' now indicates a connected route
- Gateway value of a route of an interface address is now not
  a L2 address but "link#N" like a connected (cloning) route
- Proxy ARP: "arp -s ... pub" doesn't create a route

You can know details of behavior changes by seeing diffs under tests/.

Proposed on tech-net and tech-kern:
  http://mail-index.netbsd.org/tech-net/2016/03/11/msg005701.html
2016-04-04 07:37:07 +00:00
skrll
b1a9918244 Don't use secureplt on alpha yet 2016-04-04 06:58:48 +00:00
riastradh
0def3bc2ac Fix module name of dtrace_profile. 2016-04-04 05:15:07 +00:00
mrg
c8af37f927 remove platforms successful switched and update some of the mips testing 2016-04-04 01:47:18 +00:00
mrg
0e34d6d47b note shark (earmv4) works including atf. 2016-04-04 01:32:21 +00:00
skrll
590b4bf8cc binutils 2.26 mknative for mipseb 2016-04-03 18:24:03 +00:00
skrll
4af6e95a2b binutils 2.26 mknative for mipsel 2016-04-03 14:34:22 +00:00
mlelstv
338689a6b9 amiga kernel builds and runs 2016-04-02 08:54:47 +00:00
christos
e7b323ca74 bump stack a little 2016-03-31 22:49:14 +00:00
christos
f6e1dd671e Delay freeing the die where the indirect attribute is found. Found by jemalloc
J, see: https://mail-index.netbsd.org/current-users/2016/03/28/msg029130.html
2016-03-31 15:53:33 +00:00
martin
f9c9a2217e "Extended version" of the "mips64 hack" used in gcc 5.3's libgcc.a
build: avoid lots of duplicate symbols on softfloat builds.
Now mac68k is buildable with MKSOFTFLOAT=yes again, finally!
2016-03-31 15:06:39 +00:00
martin
91839179d9 Extend the "mips64 hack" to all MKSOFTFLOAT builds - avoid duplicate
symbols in libgcc.
2016-03-31 06:59:44 +00:00
christos
c3d31e1aba Add auto-generated sqlite3 man pages 2016-03-30 21:31:44 +00:00
christos
b817d38134 From: https://github.com/kristapsdz/sqlite2mdoc 2016-03-30 21:30:20 +00:00
macallan
82d8a53e21 Loongson MMI code needs -Wa,-mhard-float now 2016-03-30 16:19:06 +00:00
mrg
768e59d75f - clean up some
- i386 atf works
- mipseb kernels and system runs
- mips64* kernels work system runs
2016-03-29 09:20:28 +00:00
mrg
f46b30aacc mknative-binutils for binutils 2.26 and mipse[lb]. 2016-03-28 17:00:43 +00:00
skrll
d176304fc0 Add some more mips targets for martin 2016-03-28 09:01:24 +00:00
mrg
0bcf063564 revert most of the previous and re-do it to be valid, re-fixing i386 psABI
support with -m32.
2016-03-27 17:17:59 +00:00
mrg
d993c21bf1 don't set PREFERRED_STACK_BOUNDARY_DEFAULT, in particular, don't set it
to 64 (8 bytes) for 64-bit targets, where 16 byte alignment is required.
this fixes GCC 5 and ssh on modern intel cpus, and perhaps more.
2016-03-27 04:18:09 +00:00
mrg
3bd6f79dca - figured out the ldap/ssh problem. was miscompiled crtbeginS.o which
has been worked around.
- update some testing info.
- merge or1k/riscv descriptions that are actually the same problem.
2016-03-27 00:07:20 +00:00
mrg
1353e79727 mknative-gdb for sparc and gdb 7.10 2016-03-26 10:29:44 +00:00
mrg
c6df9b1e81 use --with-diagnostics-color=auto-if-env as the default for GCC 5. 2016-03-26 09:02:56 +00:00
mrg
fbf2aacce9 sparc has the ldap problem 2016-03-26 09:01:20 +00:00
mrg
2a660b745c mknative-binutils for mips64* and binutils 2.26. 2016-03-26 08:52:22 +00:00
skrll
b5a4e0ca09 Too many ;; in previous 2016-03-26 08:41:16 +00:00
skrll
fe5f2f1cd4 Attempt to fix mergo for mips 2016-03-26 08:39:55 +00:00
mrg
a9eeed2076 mknative-gdb for mips64eb. 2016-03-26 08:09:54 +00:00
mrg
813ae8862d mknative-gdb for mips64el. 2016-03-26 07:38:55 +00:00
joerg
f6d6965b37 If a protected symbol is defined in a shared library, it should still
provide an implementation. Fix the merging rules.
2016-03-25 23:04:41 +00:00
skrll
48d314007f Match with binutils 2016-03-25 09:29:01 +00:00
skrll
40c9ab5d24 Fix mergo for mips 2016-03-25 09:27:43 +00:00
mbalmer
fbad720175 Apply second and third patch from http://lua.org/bugs.html. 2016-03-25 08:15:20 +00:00
wiz
bb83bac5d1 Sort SYNOPSIS. Fix xref. 2016-03-25 07:48:16 +00:00
christos
204c2b27e8 update VAX 2016-03-24 21:46:28 +00:00
skrll
6b15b11db2 hppa is tested. I think it's "OK" 2016-03-24 21:26:45 +00:00
mrg
6d053978a6 update:
- earmv4 works (atf has one new failure, that seems common)
- mipsel run
- sparc runs
- sparc64 mostly works in UP mode
- add list of actual machines tested on
2016-03-24 21:20:31 +00:00
skrll
9f1adecae2 Note hppa status:
- kernel works
	- sshd has the ldap problem
2016-03-24 21:10:21 +00:00
christos
dd00c10363 new binutils bitch about writable eh_frame relocations; tell it we have
new style ones.
2016-03-24 04:27:29 +00:00
christos
8d5dde7eda adapt to new api 2016-03-24 03:49:06 +00:00
christos
199e801a7d regen 2016-03-24 03:33:28 +00:00
christos
3c9ee4e32a adapt for vax. 2016-03-24 00:38:40 +00:00
christos
3261c90968 XXX: gcc -O0 for vax 2016-03-24 00:02:52 +00:00
christos
da1b6972c1 XXX: vax gcc 2016-03-23 21:39:42 +00:00
christos
73357d78a2 regen vax! 2016-03-23 21:24:52 +00:00
christos
d418ed3dfa Drop PSW annotation for now; it is not a real register and we need special
rtl for it (causes an assertion failure)
2016-03-23 21:21:36 +00:00
christos
3404205800 need stdbool.h 2016-03-23 21:09:04 +00:00
mrg
13c73075bd update the build status for some ppc and mips. 2016-03-23 18:45:41 +00:00
christos
214b89d952 Revert previous changes until we can test them better. 2016-03-23 15:51:36 +00:00
christos
0db9e20bfb From Jake Hamby
For several years I've been eager to find the time to fix the bugs
in C++ exceptions on VAX to get them working on NetBSD, because
theyâve been broken for many years and it looked like only a few
changes were needed to get them working. Without C++ exceptions,
the NetBSD test suite canât be run. The good news is that I was
able to fix all the bugs in the VAX machine description to make
C++ exceptions work in GCC 4.8.5 (version unimportant). I wrote a
blog post explaining the bugs, with patches:


Here's a short summary, with the diffs in text form at the end of this email.

1) Replace #define FRAME_POINTER_CFA_OFFSET(FNDECL) 0 with #define
ARG_POINTER_CFA_OFFSET(FNDECL) 0 in gcc/config/vax/elf.h and
gcc/config/vax/vax.h. This changes the definition of __builtin_dwarf_cfa()
to return %ap instead of %fp, which correctly points to CFA.
Previously, the stack unwinder was crashing in _Unwind_RaiseException()
trying to follow bad pointers from the initial CFA.

2) Define EH_RETURN_DATA_REGNO(N) to include only R2 and R3 (instead
of R2-R5) and add code to vax_expand_prologue() in gcc/config/vax/vax.c
to add R2-R3 to the procedure entry mask but only if crtl->calls_eh_return
is set. This fixes a crash when the stack unwinder tried to write
values to R2 and R3 in the previous stack frame via
__builtin_eh_return_data_regno (0) and __builtin_eh_return_data_regno (1).

3) Removed definitions of EH_RETURN_STACKADJ_RTX and STARTING_FRAME_OFFSET
from gcc/config/vax/elf.h. It's not necessary to remember the stack
adjustment or to waste four bytes on every stack frame for a value
that's not needed. Also remove the suspicious changes in
gcc/config/vax/vax.md to the definitions of call_pop and call_value
regarding DW_CFA_GNU_args_size and EH unwinding. I reverted to the
previous versions from an older version of GCC, adding a few useful
comments that had been removed.

4) The last bug is the one I understand the least. I'm hoping
someone reading this can implement a correct fix. What I was seeing
after making all the previous changes to fix the other bugs is that
my test program failed to catch any exceptions, but instead returned
normally to the original return path.

Investigation revealed that GCC was correctly generating the
necessary move instruction to copy the second parameter passed to
__builtin_eh_return() into the return address, because
EH_RETURN_HANDLER_RTX had been defined correctly in config/vax/elf.h.
Hereâs what the call looks like in gcc/except.c:

#ifdef EH_RETURN_HANDLER_RTX
      rtx insn = emit_move_insn (EH_RETURN_HANDLER_RTX, crtl->eh.ehr_handler);
#else
      error ("__builtin_eh_return not supported on this target");
#endif

The problem was that the optimizer is deleting the final move
instruction when I compile with -O or higher. The assembly code at
-O0 (no optimization) generated for the __builtin_eh_return() call
at the end of _Unwind_RaiseException() looked like:

	calls $2,_Unwind_DebugHook
	movl -12(%fp),%r1
	movl %r1,16(%fp)
	ret
	.cfi_endproc

But then when I compiled with -O1 or -O2, all I saw was:

	calls $2,_Unwind_DebugHook
	ret
	.cfi_endproc

This was a mystery for me and I donât know enough about how the
final peephole optimizer works to really track down why it thinks
it can remove the move call to store the previous return address.
My workaround was to add a call to RTX_FRAME_RELATED_P (insn) = 1;
after the emit_move_insn() in gcc/except.c, which was used in
vax_expand_prologue() to mark the procedure entry mask.

By making this change, the optimizer no longer removes the call to
write the value to the previous stack pointer, but it adds an extra
line of .cfi exception info, which seems unnecessary since the code
is immediately going to return from the call and any adjustment
made by the DWARF stack unwinder will already have been done. Hereâs
what the optimized code looks like with the patch (%r6 had been
loaded earlier):

	calls $2,_Unwind_DebugHook
	movl %r6,16(%fp)
	.cfi_offset 6, -36
	ret
	.cfi_endproc

With that final change, C++ exception handling now finally works
on NetBSD/vax, and I was able to successfully run the vast majority
of the tests in the ATF testsuite, which had been completely
inaccessible when I started due to both atf-run and atf-report
immediately dumping core due to the bad pointers that I fixed. Now
I have a bunch of new bugs to track down fixes for, but I think
this was the hardest set of problems that needed to be solved to
bring NetBSD on VAX up to the level of the other NetBSD ports.

Here are the diffs I have so far. They should apply to any recent
version of GCC (tested on GCC 4.8.5). With the exception of the
hack to gcc/except.c, the other diffs are ready to submit to NetBSD
as well as to upstream GCC. The fix Iâd like to see for the final
problem I discovered of the emit_move_insn() being deleted by the
optimizer would be another patch to one of the files in the
gcc/config/vax directory to explain to the optimizer that writing
to 16(%fp) is important and not something to be deleted from the
epilogue (perhaps it thinks itâs writing to a local variable in
the frame that's about to be destroyed?).

I didn't see any indication that any other GCC ports required
anything special to tell the optimizer not to delete the move
instruction to EH_RETURN_HANDLER_RTX, so the other suspicion I have
is that there may be a bug specific to VAX's peephole optimizer or
related functions. Any ideas?
2016-03-23 12:52:43 +00:00
christos
5ea3c1df8c Fix vax build, now we fail in:
/usr/src/lib/csu/common/crt0-common.c: In function '___start':
/usr/src/lib/csu/common/crt0-common.c:184:1: internal compiler error: in dwf_regno, at dwarf2cfi.c:988
 }
  ^
2016-03-23 12:45:50 +00:00
roy
3cd1bf9411 Describe -M 2016-03-23 10:14:07 +00:00
roy
52194b1e29 Build with interface matching support. 2016-03-23 09:35:25 +00:00
roy
44c22e3889 Add interface matching support with -M, guarded by CONFIG_MATCH_IFACE
The new wpa_supplicant command line argument -M can be used to describe
matching rules with a wildcard name (e.g., "wlan*").

This is very useful for systems without uev (Linux) or devd (FreeBSD).
2016-03-23 09:31:58 +00:00
mrg
2b233e3130 apply -Wno-error=maybe-uninitialized with GCC 5.3. 2016-03-23 09:00:31 +00:00
roy
e620e95ff3 Only down the interface once we are sure we can work with it. 2016-03-23 08:51:02 +00:00
roy
0d1d60cec2 Interface additions/removals are not guaranteed to be for the driver
listening to kernel events. As such, send the events to
wpa_supplicant_event_global() which can then pick the correct interface
registered with wpa_supplicant to send the event to.
2016-03-23 08:48:43 +00:00
mrg
a204afdc5c use -Wno-error=sign-conversion for now. Roy, when you get to GCC 5
you might have a look at this :-)
2016-03-23 08:39:01 +00:00
mrg
8258e9ec7a update a bunch:
- explain the columns
- update arm status:
  - MKCOMPAT problems with oabi
- coldfire builds as much as GCC 4.8
- sun2, m68k builds
- most mips builds now (mips64 has generic build issues)
- update sparc64 and ppc problems (sshd)
  - there is something very very odd in linking libldap.so.4.3 where
    using the GCC 4.8 compiler to link the GCC 5.3 compiled objects
    works, or using GCC 5.3 compiler to link the 4.8 compiled objects
    fails -- ie, the compiler output seems fine, but the interactions
    between GCC and ld(1) are broken.
- add or1k, riscv*, ia64 and ppc64 columns:
  - or1k and riscv* both fail, they need to have their support
    ported to GCC 5.x (i understand that at least one of them
    has a GCC 5.x tree.)
- expand the list of actually tested to complete "build.sh release"
  to include machines, not just cpus.
2016-03-23 07:34:37 +00:00
mrg
b025ea285a avoid unused variables. 2016-03-23 06:59:59 +00:00
mrg
017e647d1f hackaround a problem on mips64 in soft-fp between libgcc and our libc.
i'm not 100% sure how this should work (matt?), as now we have some
functions coming from libc and some from libgcc, but this at least
builds now.
2016-03-23 05:28:01 +00:00
mrg
7e10c3bf91 workaround a problem in old binutils and GCC 5.3. 2016-03-23 05:24:54 +00:00
mrg
6faa8aa178 slightly rearrange the generation of SRCS. 2016-03-23 00:20:18 +00:00
mrg
b1835b1ee7 mknative-gcc for coldfire and GCC 5.3. 2016-03-22 10:09:01 +00:00
mrg
4696acf403 updates to latest -current:
- sshd problem is libldap.so.4.3, at least on sparc64.  placing with 4.8 one works
- alpha mostly works fine, 7 new failures in atf, plus sshd problem
- update release build info for many *earm*, hppa, i386, amd64, mipsel, sh3*
- *mips* now at least completes mknative-gcc
- sh3eb has a mknative-gcc problem
2016-03-22 08:22:04 +00:00
mrg
f64fc53ba7 mips64 does not get (all?) the non sw-float version. fixes double symbol issues. 2016-03-22 08:18:27 +00:00
mrg
e7262bd9c5 mknative-gcc for m68k and m68000 and GCC 5.3. 2016-03-22 08:15:24 +00:00
mrg
32934a1fbb mknative-gcc for mips64* and GCC 5.3. 2016-03-22 06:54:18 +00:00
mrg
e347292cc6 mknative-gcc for GCC 5.3 and mipseb. 2016-03-22 05:09:49 +00:00
mrg
9d759439d5 XXXGCC5: add symlinks for SH .cc files. 2016-03-22 05:08:38 +00:00
mrg
8ae225e173 mknative-gcc for GCC 5.3 and mipseb. 2016-03-22 05:04:41 +00:00
mrg
cd3c7112ee hand-edit some not-yet-regenerated files that break the libstdc++
includes during mknative.
2016-03-22 04:53:16 +00:00
mrg
a39fa7193a mknative-gcc for GCC 5.3 and mipsel. 2016-03-22 04:50:50 +00:00
dholland
600ce53269 Install ftttdrv.h, which was apparently overlooked at some point
(probably because it contains little of substance...) PR 50902.
2016-03-21 05:23:39 +00:00
mrg
0645af0eac update alpha (mostly working) and hppa (mknative-gcc works) 2016-03-20 21:27:27 +00:00
mrg
e10e41c701 mknative-gcc for HPPA and GCC 5.3. thanks for fixing fenv.c, nick! 2016-03-20 21:14:20 +00:00
mrg
0d31cfc9e9 disable -fdelete-null-pointer-checks by default for now. 2016-03-19 20:54:49 +00:00
mrg
4b0e0968c5 note alpha mostly works (sshd problem as well)
add that sparc64 test results are about 60 additional failures
2016-03-19 20:53:46 +00:00
mrg
fed2b588b4 add missing insn-modes.h files from earlier regen. 2016-03-18 20:40:21 +00:00
christos
e31ac8976d Add more stack-protector elides 2016-03-18 17:52:30 +00:00
christos
ccd8517e35 write references as pointers XXX: 2016-03-18 17:11:04 +00:00
christos
8db25f0638 treat class line struct and union 2016-03-18 17:08:45 +00:00
christos
dd09ff20c8 Add support for c++ classes. 2016-03-18 17:07:23 +00:00
christos
63ffeeee3f spell restrict 2016-03-18 16:37:09 +00:00
christos
3e0f598a15 fix printf format 2016-03-18 16:32:03 +00:00
christos
714b78ffa0 Add references, comments. 2016-03-18 16:24:26 +00:00
christos
096b9466af add references. 2016-03-18 16:12:46 +00:00
christos
4a929da448 Add references. 2016-03-18 15:26:31 +00:00
christos
6f5d40c1b7 tidy up: parse DW_AT_specification like DW_AT_abstract_origin 2016-03-18 14:58:18 +00:00