Merge clang 7.0.1 and several follow-up changesMFC r341825:Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ tothe upstream release_70 branch r348686 (effectively, 7.0.1 rc3).
Merge clang 7.0.1 and several follow-up changesMFC r341825:Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ tothe upstream release_70 branch r348686 (effectively, 7.0.1 rc3). Therelease will follow very soon, but no more functional changes areexpected.Release notes for llvm, clang and lld 7.0.0 are available here:<http://releases.llvm.org/7.0.0/docs/ReleaseNotes.html><http://releases.llvm.org/7.0.0/tools/clang/docs/ReleaseNotes.html><http://releases.llvm.org/7.0.0/tools/lld/docs/ReleaseNotes.html>PR: 230240, 230355Relnotes: yesMFC r342123:Update clang, llvm, lld, lldb, compiler-rt and libc++ version number to7.0.1 release r349250. There were no functional changes since the 7.0.1rc3 import.PR: 230240, 230355Relnotes: yesr343429 | emaste | 2019-01-25 15:46:13 +0100 (Fri, 25 Jan 2019) | 16 linesclang: default to DWARF 4 as of FreeBSD 13FreeBSD previously defaulted to DWARF 2 because several tools (gdb,ctfconvert, etc.) did not support later versions. These have eitherbeen fixed or are deprecated.Note that gdb 6 still exists but has been moved out of $PATH into/usr/libexec and is intended only for use by crashinfo(8). The kernelbuild sets the DWARF version explicitly via -gdwarf2, so this shouldhave no effect there.PR: 234887 [exp-run]Reviewed by: markjSponsored by: The FreeBSD FoundationDifferential Revision: https://reviews.freebsd.org/D17930MFC r343916:Pull in r352607 from upstream llvm trunk (by Craig Topper): [X86] Add FPSW as a Def on some FP instructions that were missing it.Pull in r353141 from upstream llvm trunk (by Craig Topper): [X86] Connect the default fpsr and dirflag clobbers in inline assembly to the registers we have defined for them. Summary: We don't currently map these constraints to physical register numbers so they don't make it to the MachineIR representation of inline assembly. This could have problems for proper dependency tracking in the machine schedulers though I don't have a test case that shows that. Reviewers: rnk Reviewed By: rnk Subscribers: eraman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57641Pull in r353489 from upstream llvm trunk (by Craig Topper): [X86] Add FPCW as a register and start using it as an implicit use on floating point instructions. Summary: FPCW contains the rounding mode control which we manipulate to implement fp to integer conversion by changing the roudning mode, storing the value to the stack, and then changing the rounding mode back. Because we didn't model FPCW and its dependency chain, other instructions could be scheduled into the middle of the sequence. This patch introduces the register and adds it as an implciit def of FLDCW and implicit use of the FP binary arithmetic instructions and store instructions. There are more instructions that need to be updated, but this is a good start. I believe this fixes at least the reduced test case from PR40529. Reviewers: RKSimon, spatel, rnk, efriedma, andrew.w.kaylor Subscribers: dim, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57735These should fix a problem in clang 7.0 where it would sometimes emitlong double floating point instructions in a slightly wrong order,leading to failures in our libm tests. In particular, the cbrt_testtest case 'cbrtl_powl' and the trig_test test case 'reduction'.Also bump __FreeBSD_cc_version, to be able to detect this in our testsuite.Reported by: lwhsuPR: 234040Upstream PR: https://bugs.llvm.org/show_bug.cgi?id=40206MFC r344056:Pull in r339734 from upstream llvm trunk (by Eli Friedman): [ARM] Make PerformSHLSimplify add nodes to the DAG worklist correctly. Intentionally excluding nodes from the DAGCombine worklist is likely to lead to weird optimizations and infinite loops, so it's generally a bad idea. To avoid the infinite loops, fix DAGCombine to use the isDesirableToCommuteWithShift target hook before performing the transforms in question, and implement the target hook in the ARM backend disable the transforms in question. Fixes https://bugs.llvm.org/show_bug.cgi?id=38530 . (I don't have a reduced testcase for that bug. But we should have sufficient test coverage for PerformSHLSimplify given that we're not playing weird tricks with the worklist. I can try to bugpoint it if necessary, though.) Differential Revision: https://reviews.llvm.org/D50667This should fix a possible hang when compiling sys/dev/nxge/if_nxge.c(which exists now only in the stable/11 branch) for arm.
show more ...
sys/modules: normalize .CURDIR-relative paths to SRCTOPThis simplifies make output/logicTested with: `cd sys/modules; make ALL_MODULES=` on amd64MFC after: 1 monthSponsored by: Dell EMC Isilon
- Follow the lead of dcphy(4) and pnphy(4) and move the reminder of the PHY drivers that only ever attach to a particular MAC driver, i.e. inphy(4), ruephy(4) and xlphy(4), to the directory where
- Follow the lead of dcphy(4) and pnphy(4) and move the reminder of the PHY drivers that only ever attach to a particular MAC driver, i.e. inphy(4), ruephy(4) and xlphy(4), to the directory where the respective MAC driver lives and only compile it into the kernel when the latter is also there, also removing it from miibus.ko and moving it into the module of the respective MAC driver.- While at it, rename exphy.c, which comes from NetBSD where the MAC driver it corresponds to also is named ex(4) instead of xl(4) but that in FreeBSD actually identifies itself as xlphy(4), and its function names accordingly for consistency.- Additionally while at it, fix some minor style issues like whitespace in the register headers and add multi-inclusion protection to inphyreg.h.
Remove bridge(4) from the tree. if_bridge(4) is a full functionalreplacement and has additional features which make it superior.Discussed on: -archReviewed by: thompsaX-MFC-after: never (RELENG
Remove bridge(4) from the tree. if_bridge(4) is a full functionalreplacement and has additional features which make it superior.Discussed on: -archReviewed by: thompsaX-MFC-after: never (RELENG_6 as transition period)
vlan.h is obsolete, don't create it anymore.
Unconditinally turn on VLAN support when building fxp as a module, sinceit may be plugged into a kernel that supports VLANs. If the kernel isnot VLAN aware, things will still work as before.Modu
Unconditinally turn on VLAN support when building fxp as a module, sinceit may be plugged into a kernel that supports VLANs. If the kernel isnot VLAN aware, things will still work as before.Modules don't really have option support, so this is somewhat of a hack.
Update makefile to reflect vlan support.
Back out 'KMODDEPS = miibus' addition in last commit. This isn't used.
Adjust the fxp module to use the correct directory path, and add adependency on miibus.
Use a consistent style and one much closer to the rest of /usr/src
Use .include <bsd.kmod.mk> to get to ../../*/conf/kmod.mk instead ofencoding the relative path.
Pull in sys/conf/kmod.mk, rather than /usr/share/mk/bsd.kmod.mk.This means that the kernel can be totally self contained now and is notdependent on the last buildworld to update /usr/share/mk. Thi
Pull in sys/conf/kmod.mk, rather than /usr/share/mk/bsd.kmod.mk.This means that the kernel can be totally self contained now and is notdependent on the last buildworld to update /usr/share/mk. This mightalso make it easier to build 5.x kernels on 4.0 boxes etc, assuminggensetdefs and config(8) are updated.
Add ${DEBUG_FLAGS} to CFLAGS in bsd.kmod.mk, not in scattered modulemakefiles. Bad examples in fxp/Makefile keep getting copied to newmakefiles.
Removed special rules for building and cleaning device interface filesand empty options files. The rules are now generated automatically inbsd.kmod.mk. Cleaned up related things ($S and ${CLEANFI
Removed special rules for building and cleaning device interface filesand empty options files. The rules are now generated automatically inbsd.kmod.mk. Cleaned up related things ($S and ${CLEANFILES}).
Zap some unused echo "#define NFOO 1" > foo.h style defunct stuff.
Don't generate 'bpf.h' since it's not used.
Change the name of the installed KLM to contain a leading "if_".Except for miibus which is now installed as miibus.ko.Discussed by: msmith, peter, and wpaul
$Id$ -> $FreeBSD$
Rename bpfilter to bpf.
Use perl, not perl5 to compile interfaces.
Add a sample loadable pci driver Makefile..