aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MFV 2.0-rc2Matt Macy2020-09-18135-524/+2672
|\ | | | | | | | | | | | | | | - Fixes divide by zero for unusual hz - remove cryptodev dependency Notes: svn path=/head/; revision=365894
| * Update openzfs to 2.0.0-rc2-g4ce06fvendor/openzfs/2.0-rc2-g4ce06fMatt Macy2020-09-18134-524/+2671
| | | | | | | | | | Notes: svn path=/vendor-sys/openzfs/dist/; revision=365892 svn path=/vendor-sys/openzfs/2.0-rc2-g4ce06f/; revision=365893; tag=vendor/openzfs/2.0-rc2-g4ce06f
* | amd64 pmap_pkru_same: prev_ppr was always NULLEric van Gyzen2020-09-181-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix the logic so it works as it appears. Reported by: Coverity Reviewed by: kib MFC after: 2 weeks Sponsored by: Dell EMC Isilon Differential Revision: D26211 (in progress, so omitting full URL) Notes: svn path=/head/; revision=365890
* | Install library symlinks atomically.Mark Johnston2020-09-181-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As we do for shared library binaries, pass -S to install(1) when installing symlinks. Doing so helps avoid transient failures when libraries are being reinstalled, which seems to be the root cause of spurious libgcc_s.so link failures during CI builds. PR: 233769 Reviewed by: emaste MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26453 Notes: svn path=/head/; revision=365889
* | ys/contrib/dev/ath: remove unintentional double semicolonEd Maste2020-09-181-1/+1
| | | | | | | | | | | | | | Approved by: adrian Notes: svn path=/head/; revision=365888
* | build: provide a default WARNS for all in-tree buildsKyle Evans2020-09-1836-22/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current default is provided in various Makefile.inc in some top-level directories and covers a good portion of the tree, but doesn't cover parts of the build a little deeper (e.g. libcasper). Provide a default in src.sys.mk and set WARNS to it in bsd.sys.mk if that variable is defined. This lets us relatively cleanly provide a default WARNS no matter where you're building in the src tree without breaking things outside of the tree. Crunchgen has been updated as a bootstrap tool to work on this change because it needs r365605 at a minimum to succeed. The cleanup necessary to successfully walk over this change on WITHOUT_CLEAN builds has been added. There is a supplemental project to this to list all of the warnings that are encountered when the environment has WARNS=6 NO_WERROR=yes: https://warns.kevans.dev -- this project will hopefully eventually go away in favor of CI doing a much better job than it. Reviewed by: emaste, brooks, ngie (all earlier version) Reviewed by: emaste, arichardson (depend-cleanup.sh change) Differential Revision: https://reviews.freebsd.org/D26455 Notes: svn path=/head/; revision=365887
* | vm_ooffset_t is now unsignedEric van Gyzen2020-09-187-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | vm_ooffset_t is now unsigned. Remove some tests for negative values, or make other adjustments accordingly. Reported by: Coverity Reviewed by: kib markj Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D26214 Notes: svn path=/head/; revision=365886
* | arm64: generate ISO release imagesMitchell Horne2020-09-181-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some IPMI implementations on arm64 are reportedly unable to load our memstick installer images, but support the older ISO format. Start generating these for arm64. Unlike installer ISOs for other platforms, these images are UEFI-only. Reviewed by: emaste Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26452 Notes: svn path=/head/; revision=365884
* | pkgbase: use consistent annotation for objectk eysKyle Evans2020-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Everywhere else we use objects ("scripts", generally) we do sepcify the optional colon. Be consistent and do the same for directories. PR: 249273 Submitted by: Martin <martin.jakob gmx com> MFC after: 1 week Notes: svn path=/head/; revision=365883
* | Remove unnecessary include "../Makefile.inc"Alex Richardson2020-09-181-1/+0
| | | | | | | | | | | | | | | | | | This is already pulled in by bsd.init.mk. Reported By: kevans Notes: svn path=/head/; revision=365882
* | Initialize some local variables earlierMitchell Horne2020-09-182-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the initialization of these variables to the beginning of their respective functions. On our end this creates a small amount of unneeded churn, as these variables are properly initialized before their first use in all cases. However, changing this benefits at least one downstream consumer (NetApp) by allowing local and future modifications to these functions to be made without worrying about where the initialization occurs. Reviewed by: melifaro, rscheff Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D26454 Notes: svn path=/head/; revision=365881
* | Add pargs, penv, pwdx commands and aliases to procstat(1).Konstantin Belousov2020-09-187-97/+360
| | | | | | | | | | | | | | | | | | | | | | Intent is to mimic Solaris commands with the same names. Submitted by: Juraj Lutter <juraj@lutter.sk> MFC after: 1 week Differential revision: https://reviews.freebsd.org/D26310 Notes: svn path=/head/; revision=365880
* | Assert we are not traversing through superpages in the arm64 pmap.Mark Johnston2020-09-181-8/+15
| | | | | | | | | | | | | | | | | | | | Reviewed by: alc, andrew MFC after: 1 week Sponsored by: Juniper Networks, Inc., Klara, Inc. Differential Revision: https://reviews.freebsd.org/D26465 Notes: svn path=/head/; revision=365879
* | Ensure that a protection key is selected in pmap_enter_largepage().Mark Johnston2020-09-181-12/+12
| | | | | | | | | | | | | | | | | | | | Reviewed by: alc, kib Reported by: Coverity MFC with: r365518 Differential Revision: https://reviews.freebsd.org/D26464 Notes: svn path=/head/; revision=365878
* | Fix error checking in shm_create_largepage().Mark Johnston2020-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | Reviewed by: alc, kib Reported by: Coverity MFC with: r365524 Differential Revision: https://reviews.freebsd.org/D26464 Notes: svn path=/head/; revision=365877
* | libarchive: fix mismatch between library and test configurationAlex Richardson2020-09-183-22/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I was investigating libarchive test failures on CheriBSD and it turns out we get a reproducible SIGBUS for test_archive_m5, etc. Debugging this shows that libarchive and the tests disagree when it comes to the definition of archive_md5_ctx: libarchive assumes it's the OpenSSL type whereas the test use the libmd type. The latter is not necessarily aligned enough to store a pointer (16 bytes for CHERI RISC-V), so we were crashing when storing EVP_MD_CTX* to an 8-byte-aligned archive_md5_ctx. To avoid problems like this in the future, factor out the common compiler flags into a Makefile.inc and include that from the tests Makefile. Reviewed By: lwhsu Differential Revision: https://reviews.freebsd.org/D26469 Notes: svn path=/head/; revision=365876
* | crypto_buffer(9): Bring back the reference for bus_dma(9)Gordon Bergling2020-09-181-0/+1
| | | | | | | | | | | | | | | | | | | | The reference was accidentally deleted in r365855. Reported by: jhb Pointy hat to: gbe Notes: svn path=/head/; revision=365875
* | Use atf_fail instead of exit 1 to indicate mpath tests failure.Alexander V. Chernikov2020-09-182-23/+12
| | | | | | | | Notes: svn path=/head/; revision=365874
* | Fix byte-reversal of language ID in string descriptor.Peter Grehan2020-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The language id of String Descriptors in usb mouse is 0x0904, while the spec require 0x0409 (English - United States) Submitted by: Wanpeng Qian Reviewed by: grehan Approved by: grehan (#bhyve) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D26472 Notes: svn path=/head/; revision=365873
* | cxgbe(4): add the firmware binaries instead of the empty files that were addedNavdeep Parhar2020-09-183-0/+0
| | | | | | | | | | | | | | | | | | | | | | in r365861. Obtained from: Chelsio Communications MFC after: 3 days Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=365872
* | cxgbe(4): add support for stateless offloads for VXLAN traffic.Navdeep Parhar2020-09-187-182/+681
| | | | | | | | | | | | | | | | | | | | | | Hardware assistance includes checksumming (tx and rx), TSO, and RSS on the inner traffic in a VXLAN tunnel. Relnotes: Yes Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=365871
* | if_vxlan(4): add support for hardware assisted checksumming, TSO, and RSS.Navdeep Parhar2020-09-186-27/+530
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets a VXLAN pseudo-interface take advantage of hardware checksumming (tx and rx), TSO, and RSS if the NIC is capable of performing these operations on inner VXLAN traffic. A VXLAN interface inherits the capabilities of its vxlandev interface if one is specified or of the interface that hosts the vxlanlocal address. If other interfaces will carry traffic for that VXLAN then they must have the same hardware capabilities. On transmit, if_vxlan verifies that the outbound interface has the required capabilities and then translates the CSUM_ flags to their inner equivalents. This tells the hardware ifnet that it needs to operate on the inner frame and not the outer VXLAN headers. An event is generated when a VXLAN ifnet starts. This allows hardware drivers to configure their devices to expect VXLAN traffic on the specified incoming port. On receive, the hardware does RSS and checksum verification on the inner frame. if_vxlan now does a direct netisr dispatch to take full advantage of RSS. It is not very clear why it didn't do this already. Future work: Rx: it should be possible to avoid the first trip up the protocol stack to get the frame to if_vxlan just so it can decapsulate and requeue for a second trip up the stack. The hardware NIC driver could directly call an if_vxlan receive routine for VXLAN traffic instead. Rx: LRO. depends on what happens with the previous item. There will have to to be a mechanism to indicate that it's time for if_vxlan to flush its LRO state. Reviewed by: kib@ Relnotes: Yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D25873 Notes: svn path=/head/; revision=365870
* | Add a knob to allow zero UDP checksums for UDP/IPv6 traffic on the given UDP ↵Navdeep Parhar2020-09-182-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | port. This will be used by some upcoming changes to if_vxlan(4). RFC 7348 (VXLAN) says that the UDP checksum "SHOULD be transmitted as zero. When a packet is received with a UDP checksum of zero, it MUST be accepted for decapsulation." But the original IPv6 RFCs did not allow zero UDP checksum. RFC 6935 attempts to resolve this. Reviewed by: kib@ Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D25873 Notes: svn path=/head/; revision=365869
* | Add two new ifnet capabilities for hw checksumming and TSO for VXLAN traffic.Navdeep Parhar2020-09-184-3/+26
| | | | | | | | | | | | | | | | | | | | | | These are similar to the existing VLAN capabilities. Reviewed by: kib@ Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D25873 Notes: svn path=/head/; revision=365868
* | mbuf checksum flags and fields to support tunneling protocols.Navdeep Parhar2020-09-181-7/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are being added to support VXLAN but will work for GENEVE as well. ENCAP_RSVD1 will likely become ENCAP_GENEVE in the future. The size of struct mbuf does not change and that means this change can be MFC'd. If size wasn't a constraint a cleaner way may have been to add inner_csum_flags and inner_csum_data to go with csum_flags and csum_data. Reviewed by: kib@ Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D25873 Notes: svn path=/head/; revision=365867
* | State kgssapi dependency on xdr.Konstantin Belousov2020-09-171-0/+1
| | | | | | | | | | | | | | | | | | Submitted by: Dmitry Afanasiev PR: 249378 MFC after: 3 days Notes: svn path=/head/; revision=365863
* | cxgbe(4): Update T4/5/6 firmwares to 1.25.0.0.Navdeep Parhar2020-09-1713-24/+72
| | | | | | | | | | | | | | | | | | Obtained from: Chelsio Communications MFC after: 3 days Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=365861
* | arch(7): Some markup fixesGordon Bergling2020-09-171-17/+16
| | | | | | | | | | | | | | | | | | - no blank before trailing delimiter MFC after: 3 days Notes: svn path=/head/; revision=365859
* | man(9): Some markup fixesGordon Bergling2020-09-176-7/+7
| | | | | | | | | | | | | | | | | | | | - whitespace at end of input line - skipping paragraph macro: Pp after Sh MFC after: 3 days Notes: svn path=/head/; revision=365858
* | pwmbus(9): some markup fixesGordon Bergling2020-09-171-3/+3
| | | | | | | | | | | | | | | | | | - whitespace at end of input line MFC after: 3 days Notes: svn path=/head/; revision=365857
* | mbuf(9): Some markup fixesGordon Bergling2020-09-171-2/+2
| | | | | | | | | | | | | | | | | | | | - whitespace at end of input line - no blank before trailing delimiter: Dv MJUM16BYTES MFC after: 3 days Notes: svn path=/head/; revision=365856
* | crypto_buffer(9): Sort the SEE ALSO sectionGordon Bergling2020-09-171-4/+3
| | | | | | | | | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=365855
* | VOP_INACTIVE(9): Remove trailing whitespaceGordon Bergling2020-09-171-1/+1
| | | | | | | | | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=365854
* | domainset(9): Some markup fixesGordon Bergling2020-09-171-6/+5
| | | | | | | | | | | | | | | | | | | | - new sentence, new line - whitespace at end of input line MFC after: 3 days Notes: svn path=/head/; revision=365853
* | Revert r361257: bsdinstall: do a `certctl rehash` upon installation [...]Kyle Evans2020-09-171-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | As of r365829, any given base distribution set will now include the /etc/ssl symlinks that this rehash would've otherwise installed. This extra step is no longer required. MFC after: 1 week X-MFC-With: r365837 Notes: svn path=/head/; revision=365852
* | rmlock(9): Some markup fixesGordon Bergling2020-09-171-5/+5
| | | | | | | | | | | | | | | | | | - new sentence, new line MFC after: 3 days Notes: svn path=/head/; revision=365851
* | bus_dma(9): Some markup fixesGordon Bergling2020-09-171-13/+17
| | | | | | | | | | | | | | | | | | | | | | - new sentence, new line - no blank before trailing delimiter - whitespace at end of input line MFC after: 3 days Notes: svn path=/head/; revision=365850
* | Merge commit 46673763f from llvm git (by Craig Topper):Dimitry Andric2020-09-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [X86] Place new constant node in topological order in X86DAGToDAGISel::matchBitExtract Fixes PR47482 This should fix 'Assertion failed: (Op->getNodeId() != -1 && "Node has already selected predecessor node"), function DoInstructionSelection, file /usr/src/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp, line 1149' when compiling part of the project_painter project, while targeting the bdver2 (or higher) CPU. Reported by: jkim MFC after: 6 weeks X-MFC-With: r364284 Notes: svn path=/head/; revision=365849
* | Merge commit e09107ab8 from llvm git (by Raul Tambre):Dimitry Andric2020-09-1711-189/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Sema] Introduce BuiltinAttr, per-declaration builtin-ness Instead of relying on whether a certain identifier is a builtin, introduce BuiltinAttr to specify a declaration as having builtin semantics. This fixes incompatible redeclarations of builtins, as reverting the identifier as being builtin due to one incompatible redeclaration would have broken rest of the builtin calls. Mostly-compatible redeclarations of builtins also no longer have builtin semantics. They don't call the builtin nor inherit their attributes. A long-standing FIXME regarding builtins inside a namespace enclosed in extern "C" not being recognized is also addressed. Due to the more correct handling attributes for builtin functions are added in more places, resulting in more useful warnings. Tests are updated to reflect that. Intrinsics without an inline definition in intrin.h had `inline` and `static` removed as they had no effect and caused them to no longer be recognized as builtins otherwise. A pthread_create() related test is XFAIL-ed, as it relied on it being recognized as a builtin based on its name. The builtin declaration syntax is too restrictive and doesn't allow custom structs, function pointers, etc. It seems to be the only case and fixing this would require reworking the current builtin syntax, so this seems acceptable. Fixes PR45410. Reviewed By: rsmith, yutsumi Differential Revision: https://reviews.llvm.org/D77491 This should fix 'Assertion failed: (i < getNumParams() && "Illegal param #"), function getParamDecl, file /usr/src/contrib/llvm-project/clang/include/clang/AST/Decl.h, line 2430' when building the graphics/pgplot port. Note that there may also have been other ports which triggered this assertion, if they redeclare standard functions with incompatible arguments. Reported by: zeising MFC after: 6 weeks X-MFC-With: r364284 Notes: svn path=/head/; revision=365848
* | makefs: connect cd9660 El Torito EFI boot image system typeEd Maste2020-09-172-3/+6
| | | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=365847
* | Cirrus-CI: build as an unprivileged userEd Maste2020-09-171-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Cirrus-CI-provided working tree is owned by root. Leave that as is for simplicity but build as an unprivileged user; this tests building with an unmodifiable source tree as a side effect. Continue running the smoke test as root for now, as it failed when run as an unprivileged user - pkg reported "Fail to chmod /usr/bin/.pkgtemp.lpq.dUHpEqPGJ9pq:Operation not permitted" Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=365846
* | Fix additional memory leak in process_mapfileEric van Gyzen2020-09-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Additional Coverity detected memory leak fix. Submitted by: bret_ketchum@dell.com Reported by: Coverity Reviewed by: cem, emaste MFC after: 2 weeks Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D26462 Notes: svn path=/head/; revision=365845
* | Remove no longer used variable.John Baldwin2020-09-171-1/+1
| | | | | | | | | | | | | | | | | | Pointy hat to: jhb Reported by: kevans MFC after: 1 week Notes: svn path=/head/; revision=365844
* | Move to a more robust and conservative alloation scheme for devctl messagesWarner Losh2020-09-171-8/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the zone setup: - Allow slabs to be returned to the OS - Set the number of slots to the max devctl will queue before discarding - Reserve 2% of the max (capped at 100) for low memory allocations - Disable per-cpu caching since we don't need it and we avoid some pathologies Change the alloation strategiy a bit: - If a normal allocation fails, try to get the reserve - If a reserve allocation fails, re-use the oldest-queued entry for storage - If there's a weird race/failure and nothing on the queue to steal, return NULL This addresses two main issues in the old code: - If devd had died, and we're generating a lot of messages, we have an unbounded leak. This new scheme avoids the issue that lead to this. - The MPASS that was 'sure' the allocation couldn't have failed turned out to be wrong in some rare cases. The new code doesn't make this assumption. Since we reserve only 2% of the space, we go from about 1MB of allocation all the time to more like 50kB for the reserve. Reviewed by: markj@ Differential Revision: https://reviews.freebsd.org/D26448 Notes: svn path=/head/; revision=365843
* | Remove support for setting some obscure fields.John Baldwin2020-09-171-47/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Don't permit setting the exception bitmap or VMCS entry interrupt information. These are not generally useful to set. If it is needed in the future, dedicated pseudo registers can be added for these that would be used with vm_set_register(). Discussed with: grehan MFC after: 1 week Notes: svn path=/head/; revision=365842
* | Increase the default vm.max_user_wired value.Mark Johnston2020-09-171-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since r347532 (merged to stable/12) we only count user-wired pages towards the system limit. However, we now also treat pages wired by hypervisors (bhyve and virtualbox) as user-wired, so starting VMs with large amounts of RAM tends to fail due to the low limit. The purpose of the limit is to provide a seatbelt, not to impose some policy on the use of wired memory. Thus, increase the default limit to allow reasonable VM configurations to work without tuning. Reviewed by: kib Discussed with: dougm MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26424 Notes: svn path=/head/; revision=365841
* | Add some basic regression tests for SHM_LARGEPAGE.Mark Johnston2020-09-171-0/+727
| | | | | | | | | | | | | | | | | | | | Discussed with: kib Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D25900 Notes: svn path=/head/; revision=365840
* | Promote the installworld `certctl rehash` to distributeworldKyle Evans2020-09-171-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Contrary to my belief, installworld is not sufficient for getting certs installed into VM images. Promote the rehash to both installworld and distributeworld (notably: not stageworld) and rehash the base distdir so we end up with /etc/ssl/certs populated in the base dist archive. A future commit will remove the rehash from bsdinstall, which doesn't really need to happen if they're installed into base.txz. While here, fix a minor typo: s/CERTCLTFLAGS/CERTCTLFLAGS/ MFC after: 1 week Notes: svn path=/head/; revision=365837
* | Stop using lorder and ranlib when building librariesAlex Richardson2020-09-172-13/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use of ranlib or lorder is no longer necessary with current linkers (probably anything newer than ~1990) and ar's ability to create an object index and symbol table in the archive. Currently the build system uses lorder+tsort to sort the .o files in dependency order so that a single-pass linker can use them. However, we can use the -s flag to ar to add an index to the .a file which makes lorder unnecessary. Running ar -s is equivalent to running ranlib afterwards, so we can also skip the ranlib invocation. Similarly, we don't have to pass the .o files for shared libraries in dependency order since both ld.bfd and ld.lld will correctly resolve references between the .o files. This removes many fork()+execve calls for each library so should speed up builds a bit. Additionally lorder.sh uses a regular expression that is not supported by the macOS libc or glibc and results in many warnings when cross-building (see D25989). There is one functional change: lorder.sh removed duplicated .o files from the linker command line which now no longer happens. I fixed the duplicates in the base system in r364649. I also checked the ports tree for uses of bsd.lib.mk and found one duplicate source file which I fixed in r548168. Most ports use CMake/autotools rather than bsd.lib.mk but if this breaks any ports that I missed in my search please let me know. Avoiding the shell script actually speeds up the linking step noticeably: I measured how long it takes to rebuild the .a and .so files for lib/libc using a basic benchmark: `rm $LIBC_OBJDIR/*.so* $LIBC_OBJDIR/*.a* && /usr/bin/time make -DWITHOUT_TESTS -s > /dev/null` Without this change ~4.5 seconds and afterwards ~3.1 seconds. Looking at truss -cf output we can see that the number fork() system calls goes down from 27 to 12 (and the speedup while tracing is more noticeable: 81 seconds -> 65 seconds). See also https://www.gnu.org/software/coreutils/manual/html_node/tsort-background.html for some more background: This whole procedure has been obsolete since about 1980, because Unix archives now contain a symbol table (traditionally built by ranlib, now generally built by ar itself), and the Unix linker uses the symbol table to effectively make multiple passes over an archive file. Or alternatively https://www.unix.com/man-page/osf1/1/lorder/: The lorder command is essentially obsolete. Use the following command in its place: % ar -ts file.a Reviewed By: emaste, imp, dim Differential Revision: https://reviews.freebsd.org/D26044 Notes: svn path=/head/; revision=365836
* | Add dtb/sifive moduleMitchell Horne2020-09-171-0/+6
| | | | | | | | | | | | | | | | | | | | This allows building the HiFive Unleashed device tree blob. Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D26459 Notes: svn path=/head/; revision=365835