• [FreeBSD-Announce] FreeBSD Quarterly Status Report - Third Quarter 2021

    From Daniel Ebdrup Jensen@21:1/5 to All on Tue Nov 16 02:00:02 2021
    FreeBSD Quarterly Status Report 3rd Quarter 2021

    This report covers FreeBSD related projects for the period between July and September, and is the third of four planned reports for 2021, and contains 42 entries.

    The third quarter of 2021 was quite active in lots of different areas, so the report covers a bunch of interesting work including but not limited to boot performance, compile-time analysis, hole-punching support, various drivers, ZFS raidz expansion, an update to the sound mixer, and many more.

    Regrettably, the status report got a bit delayed, but we hope that the aphorism better late than never can apply here.

    Yours,
    Daniel Ebdrup Jensen, with status hat on.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    Table of Contents

    • FreeBSD Team Reports
    □ FreeBSD Foundation
    □ FreeBSD Release Engineering Team
    □ Cluster Administration Team
    □ Continuous Integration
    □ Ports Collection
    □ Documentation Engineering Team
    □ FreeBSD Website Revamp - WebApps working group
    • Projects
    □ Boot Performance Improvements
    □ Git Migration Working Group
    □ LLDB Debugger Improvements
    □ Linux compatibility layer update
    □ Sound mixer improvements
    □ Base System OpenSSH Update
    • Kernel
    □ Arm64 improvements
    □ FreeBSD on Microsoft HyperV and Azure
    □ Improved amd64 UEFI boot
    □ ENA FreeBSD Driver Update
    □ Hole-punching support on FreeBSD
    □ Intel Networking on FreeBSD
    □ Intel Wireless driver support
    □ Microchip LAN743x mgb(4) Device Driver
    □ Fixes for msdosfs_rename VOP
    □ OpenZFS RAIDZ Expansion update
    □ RFC1191 support in IPSEC tunnels
    □ Realtek rtw88 support
    □ Marvell SDHCI improvements and ACPI support
    □ Stack gap handling improvements
    □ syzkaller on FreeBSD
    □ Using OCF in WireGuard
    □ Intel Volume Management Device driver update
    • Ports
    □ Improve CPE Data in the Ports Collection
    □ Why do we need it?
    □ How can I help?
    □ Open Tasks
    □ FreeBSD Erlang Ecosystem Ports update
    □ KDE on FreeBSD
    □ OpenSearch on FreeBSD
    □ Valgrind - Official Support for FreeBSD has Landed
    □ Wine on FreeBSD
    □ Ztop
    • Miscellaneous
    □ -CURRENT compilation time analysis
    • Third-Party Projects
    □ Gitlab 14.3 available
    □ helloSystem
    □ Containers & FreeBSD: Pot, Potluck & Potman
    □ WireGuard on FreeBSD Stabilizes, Eyes Upstreaming

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    FreeBSD Team Reports

    Entries from the various official and semi-official teams, as found in the Administration Page.

    FreeBSD Foundation

    Links:
    FreeBSD Foundation URL: https://www.FreeBSDfoundation.org
    Technology Roadmap URL: https://freebsdfoundation.org/blog/technology-roadmap/ Donate URL: https://www.FreeBSDfoundation.org/donate/
    Foundation Partnership Program URL: https://www.FreeBSDfoundation.org/ FreeBSD-foundation-partnership-program
    FreeBSD Journal URL: https://www.FreeBSDfoundation.org/journal/
    Foundation News and Events URL: https://www.FreeBSDfoundation.org/ news-and-events/

    Contact: Deb Goodkin <deb@FreeBSDFoundation.org>

    The FreeBSD Foundation is a 501(c)(3) non-profit organization dedicated to supporting and promoting the FreeBSD Project and community worldwide. Donations from individuals and corporations are used to fund and manage software development projects, conferences, and developer summits. We also provide travel grants to FreeBSD contributors, purchase and support hardware to improve and maintain FreeBSD infrastructure, and provide resources to improve security, quality assurance, and release engineering efforts. We publish marketing material to promote, educate, and advocate for the FreeBSD Project, facilitate collaboration between commercial vendors and FreeBSD developers, and finally, represent the FreeBSD Project in executing contracts, license agreements, and other legal arrangements that require a recognized legal entity.

    Here are some highlights of what we did to help FreeBSD last quarter:

    Fundraising Efforts

    Fundraising last quarter wasn’t as spectacular as we were hoping. But, then again, people tend to take vacations during the summer months, which makes it that more difficult for our funding requests to go through the management chain for approvals.

    So far this year we’ve raised $180,000 towards our $2,000,000 spending budget.
    Why do we need so much money? Well, last year we decided to make more significant software contributions to FreeBSD. In order to do that, we had to grow our team. We developed a technology roadmap based on input we were receiving from commercial users as well as market trends. Based on the roadmap, we identified positions we needed to fill.

    This year we’ve hired three full-time software developers, one full-time ARM kernel developer, and one project manager. We also are funding wifi work full-time and some other projects to help with FreeBSD on the desktop. You can read about this effort to attract new users and contributors to the Project in individual entries elsewhere in this status report.

    Our growth wasn’t just in our technology team, but in our advocacy team too. Here we hired a marketing coordinator and technical writer to provide more educational and informational content. You’ll see in the Advocacy and Education
    section below all the work we did to promote FreeBSD, provide community engagement, education opportunities, and informative content to help pave the path to getting started with FreeBSD.

    You’ll find out how we used your donations here and in individual entries throughout this status report.

    We’re passionate about supporting you, the FreeBSD community, but we can’t do
    it without your financial support.

    Please consider making a donation to help us continue and increase our support for FreeBSD in 2021: https://www.FreeBSDfoundation.org/donate/.

    We also have the Partnership Program, to provide more benefits for our larger commercial donors. Find out more information at https:// www.FreeBSDfoundation.org/FreeBSD-foundation-partnership-program/ and share with your companies!

    OS Improvements

    During the third quarter, Foundation staff and grant recipients committed 420 src tree changes, 24 ports tree changes, and 11 doc tree changes. This represents 38%, 48%, and 16% of src, port, and doc commits which identify a sponsor.

    You can read about Foundation-sponsored projects in individual quarterly report entries:

    • Base System OpenSSH Update

    • Fixes for msdosfs_rename VOP

    • Hole Punching

    • Improved amd64 UEFI boot

    • Intel Wireless driver support

    • LLDB Debugger Improvements

    • Microchip LAN743x mgb(4) Device Driver

    • OpenZFS RAIDZ Expansion update

    • Using OCF in WireGuard

    • syzkaller on FreeBSD

    Foundation-sponsored arm64 work:

    • Support for booting FreeBSD on the Arm Armv8-A AEM simulator

    • sha256 instruction support to libmd(4) on arm64

    • Initial work to support RAS, PAC and BTI on arm64

    Continuous Integration and Quality Assurance

    The Foundation provides a full-time staff member and funds projects to improve continuous integration, automated testing, and overall quality assurance efforts for the FreeBSD project.

    See the separate Continuous Integration entry for details.

    Supporting FreeBSD Infrastructure

    The Foundation provides hardware and support for the Project. Last quarter, we continued supporting the test cluster at Sentex, purchased a few needed drives and spam filtering software for project email. We also set up a new and more efficient hardware request/purchase process for clusteradm to use.

    Partnerships and Commercial User Support

    We met virtually with corporate users and started travelling again in late Q3 for some in-person meetings. The goals of the meetings are to facilitate collaboration between commercial users and FreeBSD developers. We also met with companies to discuss their needs and share that information with the Project.

    FreeBSD Advocacy and Education

    Much of our effort is dedicated to Project advocacy. This may involve highlighting interesting FreeBSD work, producing literature, attending events, or giving presentations. The goal of the literature we produce is to teach people FreeBSD basics and help make their path to adoption or contribution easier. Other than attending and presenting at events, we encourage and help community members run their own FreeBSD events, give presentations, or staff FreeBSD tables.

    The FreeBSD Foundation sponsors many conferences, events, and summits around the globe. These events can be BSD-related, open source, or technology events geared towards underrepresented groups. We support the FreeBSD-focused events to help provide a venue for sharing knowledge, working together on projects, and facilitating collaboration between developers and commercial users. This all helps provide a healthy ecosystem. We support the non-FreeBSD events to promote and raise awareness of FreeBSD, to increase the use of FreeBSD in different applications, and to recruit more contributors to the Project. We finally made it back to our first in-person meeting with the Open Source Summit in late September. We are also continuing to attend virtual events. In addition to attending and planning virtual events, we are continually working on new training initiatives and updating our selection of how-to guides to facilitate getting more folks to try out FreeBSD.

    Check out some of the advocacy and education work we did last quarter:

    • Participated as an Industry Partner for USENIX ATC and OSD, July 14-16,
    2021

    • Participated as an Industry Partner for USENIX Security, August 11-13, 2021

    • Held a FreeBSD Friday: How to Track FreeBSD Using Git

    • Sponsored and gave a talk at OpenFest 2020 in Sofia, Bulgaria, August
    14-15, 2021

    • Began planning for the November 2021 FreeBSD Vendor Summit to be held
    online, November 18-19

    • Presented at APNIC on August 13-16, 2021

    • Served as a Nonprofit In-Kind Sponsor of OSI’s POSI 2021, September 16,
    2021

    • Sponsored EuroBSDcon at the Silver Level. The event took place, September
    17-19, 2021

    • Presented at Open Source Summit, in Seattle, WA, September 27-30, 2021

    • Committed to be a Bronze Sponsor for the OpenZFS Summit

    • New blog and video posts:

    □ Status of Online Conference Software on FreeBSD

    □ Meet the Summer 2021 Foundation Interns

    □ A Look at Profiling: FreeBSD Sort

    □ Meet the 2021 FreeBSD Google Summer of Code Students

    □ A Co-op Term at the FreeBSD Foundation

    □ Technology Roadmap

    • Devstyler Interview with Deb Goodkin

    • New Video How-to Guides on installing HelloSystem and installing GhostBSD

    • New Quick Start Guide on Printing on FreeBSD

    • Committed to be a Media Sponsor for All Things Open

    We help educate the world about FreeBSD by publishing the professionally produced FreeBSD Journal. As we mentioned previously, the FreeBSD Journal is now a free publication. Find out more and access the latest issues at https:// www.FreeBSDfoundation.org/journal/.

    You can find out more about events we attended and upcoming events at https:// www.FreeBSDfoundation.org/news-and-events/.

    Legal/FreeBSD IP

    The Foundation owns the FreeBSD trademarks, and it is our responsibility to protect them. We also provide legal support for the core team to investigate questions that arise.

    Go to https://www.FreeBSDfoundation.org to find more about how we support FreeBSD and how we can help you!

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    FreeBSD Release Engineering Team

    Links:
    FreeBSD 12.3-RELEASE schedule URL: https://www.freebsd.org/releases/12.3R/ schedule/
    FreeBSD releases URL: https://download.freebsd.org/ftp/releases/ISO-IMAGES/ FreeBSD development snapshots URL: https://download.freebsd.org/ftp/snapshots/ ISO-IMAGES/

    Contact: FreeBSD Release Engineering Team, <re@FreeBSD.org>

    The FreeBSD Release Engineering Team is responsible for setting and publishing release schedules for official project releases of FreeBSD, announcing code freezes and maintaining the respective branches, among other things.

    Throughout the third quarter, several development snapshots builds were released for the main, stable/13, and stable/12 branches. More work had been done on various release-related tooling following the conversion from Subversion to Git. Additionally, the team had drafted the proposed schedule for the upcoming 12.3-RELEASE.

    Sponsor: Rubicon Communications, LLC ("Netgate") Sponsor: The FreeBSD Foundation

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Cluster Administration Team

    Links:
    Cluster Administration Team members URL: https://www.freebsd.org/administration /#t-clusteradm

    Contact: Cluster Administration Team <clusteradm@FreeBSD.org>

    FreeBSD Cluster Administration Team members are responsible for managing the machines the Project relies on to synchronise its distributed work and communications. In this quarter, the team has worked on the following:

    • Fixed www.FreeBSD.org mirror sync source

    • Improvements to GeoDNS for {download,ftp,pkg}.FreeBSD.org

    • Added IPv6 support

    • More optimal mirror selection in Asia

    • Finished installing a new mirror site in Japan, sponsored by Broadband
    Tower, Inc.

    • Full mirror site (ftp, pkg, git, doc, dns,…​)

    • The network and machine resources for this mirror are generously sponsored
    by the Cloud and SDN Laboratory at BroadBand Tower, Inc., one of the
    Internet data center service providers in Tokyo, Japan, with 300+ Gbps
    international IP transit bandwidth

    • Improved the retention script used for the artifact server of CI cluster to
    offer a mix of the latest artifacts but also a selection of older artifacts
    for comparison, space permitting

    • Ongoing day to day cluster administration

    • Replacing failed disks

    • Babysitting pkgsync

    Work in progress:

    • Move pkg-master.nyi to new hardware

    • Improve the package building infrastructure

    • Review the service jails and service administrators operation

    • Setup powerpc pkgbuilder/ref/universal machines

    • Search for more providers that can fit the requirements for a generic
    mirrored layout or a tiny mirror

    • Upgrading public-facing cluster services from 12.2-STABLE to 13.0-STABLE

    • Working with doceng@ to improve https://www.freebsd.org and https://
    docs.freebsd.org

    • Improve the web service architecture

    • Improve the cluster backup plan

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Continuous Integration

    Links:
    FreeBSD Jenkins Instance URL: https://ci.FreeBSD.org
    FreeBSD CI artifact archive URL: https://artifact.ci.FreeBSD.org
    FreeBSD Jenkins wiki URL: https://wiki.freebsd.org/Jenkins
    Hosted CI wiki URL: https://wiki.freebsd.org/HostedCI
    3rd Party Software CI URL: https://wiki.freebsd.org/3rdPartySoftwareCI
    Tickets related to freebsd-testing@ URL: https://preview.tinyurl.com/y9maauwg FreeBSD CI Repository URL: https://github.com/freebsd/freebsd-ci+ dev-ci Mailing List URL: https://lists.freebsd.org/subscription/dev-ci

    Contact: Jenkins Admin <jenkins-admin@FreeBSD.org>
    Contact: Li-Wen Hsu <lwhsu@FreeBSD.org>
    Contact: freebsd-testing Mailing List
    Contact: IRC #freebsd-ci channel on EFNet

    The FreeBSD CI team maintains the continuous integration system of the FreeBSD project. The CI system checks the committed changes can be successfully built, then performs various tests and analysis over the newly built results. The artifacts from those builds are archived in the artifact server for further testing and debugging needs. The CI team members examine the failing builds and unstable tests and work with the experts in that area to fix the code or adjust test infrastructure.

    During the third quarter of 2021, we continued working with the contributors and developers in the project to fulfil their testing needs and also keep collaborating with external projects and companies to improve their products and FreeBSD.

    Important changes:

    • The results of FreeBSD-main-amd64-build and FreeBSD-main-amd64-test jobs
    are sent to the dev-ci mailing list

    New jobs:

    • Run tests with KASAN enabled for main on amd64

    • Run tests with KMSAN enabled for main on amd64

    Retired jobs:

    • The jobs for stable/11 branch were removed after September 30th per FreeBSD
    11.4 end-of-life

    Work in progress and open tasks:

    • Designing and implementing pre-commit CI building and testing (to support
    the workflow working group)

    • Designing and implementing use of CI cluster to build release artifacts as
    release engineering does

    • Collecting and sorting CI tasks and ideas here

    • Testing and merging pull requests in the FreeBSD-ci repo

    • Reducing the procedures of CI/test environment setting up for contributors
    and developers

    • Setting up the CI stage environment and putting the experimental jobs on it

    • Setting up public network access for the VM guest running tests

    • Implementing using bare metal hardware to run test suites

    • Adding drm ports building tests against -CURRENT

    • Planning to run ztest tests

    • Adding more external toolchain related jobs

    • Improving maturity of the hardware lab and adding more hardware under test

    • Helping more software get FreeBSD support in its CI pipeline (Wiki pages:
    3rdPartySoftwareCI, HostedCI)

    • Working with hosted CI providers to have better FreeBSD support

    Please see freebsd-testing@ related tickets for more WIP information, and don’t
    hesitate to join the effort!

    Sponsor: The FreeBSD Foundation

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Ports Collection

    Links:
    About FreeBSD Ports URL: https://www.FreeBSD.org/ports/
    Contributing to Ports URL: https://docs.freebsd.org/en/articles/contributing/ ports-contributing/
    FreeBSD Ports Monitoring URL: http://portsmon.freebsd.org/
    Ports Management Team URL: https://www.freebsd.org/portmgr/
    Ports Tarball URL: http://ftp.freebsd.org/pub/FreeBSD/ports/ports/

    Contact: René Ladan <portmgr-secretary@FreeBSD.org>
    Contact: FreeBSD Ports Management Team <portmgr@FreeBSD.org>

    The Ports Management Team is responsible for overseeing the overall direction of the Ports Tree, building packages, and personnel matters. Below is what happened in the last quarter.

    There are currently 46,500 ports in the Ports Tree according to FreshPorts. The open PR count for ports is currently 2,588, of which 608 are unassigned. The last quarter saw 9,833 commits on the "main" branch by 148 committers and 743 commits on the quarterly branch by 54 committers. Compared to 2021q2, activity mostly remained the same, the PR counts increased a bit but there were also more commits to the quarterly branch.

    During 2021q3, we welcomed Daniel Engberg (diizzy@) and Yasuhiro Kimura (yasu@), and we said goodbye to culot@ and grog@ after their commit bits were taken in for safekeeping.

    Two new uses were introduced: angr to help with testing Python-related ports and mlt to help depending on mlt, a multimedia framework for TV broadcasting. Ruby saw minor updates for the 2.6, 2.7, and 3.0 series.

    The "big" packages were also updated: pkg to 1.17.2, Firefox to 93.0, and Chromium to 92.0.4515.159.

    As usual, exp-runs were performed by antoine@ but only those of July were recorded. There were 5 exp-runs to test adding CLOCK_\*_COARSE compatibility definitions for Linux and to test ports updates.

    Furthermore, rene@ gave a presentation "portmgr: behind the scenes" at EuroBSDCon 2021 about how portmgr came to be and its daily activities.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Documentation Engineering Team

    Links:
    FreeBSD Documentation Project URL: https://www.freebsd.org/docproj/
    FreeBSD Documentation Project Primer for New Contributors URL: link:https:// docs.freebsd.org/en/books/fdp-primer/
    Documentation Engineering Team URL: https://www.freebsd.org/administration/# t-doceng

    Contact: FreeBSD Doceng Team <doceng@FreeBSD.org>

    The doceng@ team is a body to handle some of the meta-project issues associated with the FreeBSD Documentation Project; for more information, see FreeBSD Doceng Team Charter.

    During the last quarter, Philip Paeps (philip@) and Li-Wen Hsu (lwhsu@), already src and ports committers, were granted documentation commit bits, both now have all commit bit types. Ed Maste (emaste@) who is already a src committer was granted a documentation commit bit. We also said goodbye to Murray Stokely (murray@), Gábor Kövesdán (gabor@), Warren Block (wblock@), and
    Sevan Janiyan (sevan@). Gábor Kövesdán (gabor@) and Warren Block (wblock@) are
    now former members of the doceng@ team; we thank them for their years of service.

    Implicit (blanket) approvals were documented in the Committers Guide. That does not cover all cases, but doceng@ encourages any FreeBSD committer from ports and src to contribute to the doc tree.

    All ports/packages misc/freebsd-doc-* were updated. They have the entire documentation set from the FreeBSD Documentation Project, like Handbook, FAQ, articles, and more.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    FreeBSD Website Revamp - WebApps working group

    Contact: Sergio Carlavilla <carlavilla@FreeBSD.org>

    Working group in charge of creating the new FreeBSD Documentation Portal and redesigning the FreeBSD main website and its components. FreeBSD developers can follow and join the working group on the FreeBSD Slack channel #wg-www21. The work will be divided into four phases:

    1. Redesign of the Documentation Portal

    Create a new design, responsive and with global search. (Work in progress,
    almost complete)

    2. Redesign of the Manual Pages on web

    Scripts to generate the HTML pages using mandoc. (Work in progress)

    3. Redesign of the Ports page on web

    Ports scripts to create an applications portal. (Not started)

    4. Redesign of the FreeBSD main website

    New design, responsive and dark theme. (Not started)

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Projects

    Projects that span multiple categories, from the kernel and userspace to the Ports Collection or external projects.

    Boot Performance Improvements

    Links:
    Wiki page URL: https://wiki.freebsd.org/BootTime
    OS boot time comparison URL: https://www.daemonology.net/blog/ 2021-08-12-EC2-boot-time-benchmarking.html

    Contact: Colin Percival <cperciva@FreeBSD.org>

    Colin Percival is coordinating an effort to speed up the FreeBSD boot process. For benchmarking purposes, he is using an EC2 c5.xlarge instance as a reference platform and is measuring the time between when the virtual machine enters the EC2 "running" state and when it is possible to SSH into the instance.

    This work started in 2017, leading to a conference presentation, "Profiling the FreeBSD kernel boot", and quickly yielded roughly 4850 ms of improvements (starting from a baseline of about 30 seconds).

    Since June, another roughly 9790 ms of time has been shaved off the boot process, taking it down to approximately 15 seconds. There is still more work to be done; in particular, while the loader and kernel have been profiled, the TSLOG system Colin is using does not currently support userland profiling.

    Issues are listed on the wiki page as they are identified; the wiki page also has instructions for performing profiling. Users are encouraged to profile the boot process on their own systems, in case they experience delays which don’t show up on the system Colin is using for testing.

    This work is supported by Colin’s FreeBSD/EC2 Patreon.

    Sponsor: https://www.patreon.com/cperciva

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Git Migration Working Group

    Links:
    Git for FreeBSD development wiki URL: https://wiki.freebsd.org/Git
    Git transition wiki URL: https://wiki.freebsd.org/GitTransition
    doc git repo web URL: https://cgit.FreeBSD.org/doc
    ports git repo web URL: https://cgit.FreeBSD.org/ports
    src (base system) git repo web URL: https://cgit.FreeBSD.org/src
    Committers guide Git primer URL: https://docs.freebsd.org/en/articles/ committers-guide/#git-primer
    Handbook Using Git appendix URL: https://docs.freebsd.org/en/books/handbook/ mirrors/#git
    Game of Trees URL: http://gameoftrees.org/
    gitup URL: https://github.com/johnmehr/gitup

    Contact: Li-Wen Hsu <lwhsu@FreeBSD.org>
    Contact: Warner Losh <imp@FreeBSD.org>
    Contact: Ed Maste <emaste@FreeBSD.org>
    Contact: FreeBSD-git mailing list
    Contact: #gitcvt channel on EFnet

    With the end of the third quarter of 2021, we are approaching the one-year anniversary of the transition of the doc and src repositories from Subversion to Git. The 2021Q4 branch of the ports tree has been created, the third quarterly branch created using Git.

    During 2021Q3, repository hooks have been refined as problems were discovered and a few lingering references to Subversion were updated in the Committer’s Guide. The Working Group continues to track progress on two permissively-licensed Git-compatible tools: Gitup and Game of Trees. Gitup is a small, dependency-free tool to clone and update git repositories. It is used only to keep a local tree up-to-date, and has no support for local commits. Game of Trees is a version control client that is compatible with Git repositories. It provides a user interface and workflow that is distinct from that of Git. It is in no way intended to be a drop-in replacement for Git, but can be used to develop software maintained in a Git repository.

    Gitup and Game of Trees are currently available as ports and packages. Future work will evaluate them as candidates for the base system.

    Remaining work includes continuing with refinements to Git documentation in the Handbook, committing new and updated repository hooks for managing branch content and commit mail, and surveying pre-commit hooks to use the CI cluster to build release artifacts. Priorities have been set for the next working group tasked with refining our Git workflow. The first meeting will be in mid-October.

    Sponsor: The FreeBSD Foundation (in part)

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    LLDB Debugger Improvements

    Links:
    Moritz Systems Project Description URL: link:https://www.moritz.systems/blog/ freebsd-kgdb-support-in-lldb/
    Progress Report 1 URL: https://www.moritz.systems/blog/ improving-gdb-protocol-compatibility-in-lldb/
    Progress Report 2 URL: https://www.moritz.systems/blog/ improving-gdb-register-model-compatibility-in-lldb/
    Git Repository URL: https://github.com/moritz-systems/llvm-project

    Contact: Kamil Rytarowski <kamil@moritz.systems>
    Contact: Michał Górny <mgorny@moritz.systems>

    According to the upstream description, "LLDB is a next generation, high-performance debugger. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler."

    FreeBSD includes LLDB in the base system. At present, it has some limitations compared to the GNU GDB debugger, and does not yet provide a complete replacement. This project spans from July 2021 to January 2022 and aims to make LLDB suitable for debugging FreeBSD kernels.

    The work so far was focused on improving the compatibility between LLDB and other servers implementing the GDB Remote Protocol. Multiple bugs were fixed that limited LLDB’s functionality when interfacing with GNU GDB’s gdbserver and
    QEMU’s gdbserver implementations. Support for debugging executables running on
    gdbserver architectures other than amd64 was fixed, and was explicitly tested on arm64 and i386.

    This effort also resulted in adjusting lldb-server’s implementation to conform
    better to the standard set by GDB. Thanks to these improvements, the LLDB client needs to provide less divergent code paths depending on the server used, and the single code path used is tested more thoroughly.

    The work also involved improvements to the LLDB API and code deduplication, that result in reducing the maintenance effort and lowering the bar for future contributions. The test coverage was improved, increasing the likelihood that any future problems will be detected before they affect users.

    The introduced changes are expected to be shipped with LLDB 14.0.

    Sponsor: The FreeBSD Foundation

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Linux compatibility layer update

    Contact: Dmitry Chagin, <dchagin@FreeBSD.org>
    Contact: Edward Tomasz Napierala, <trasz@FreeBSD.org>

    The goal of this project is to improve FreeBSD’s ability to execute unmodified
    Linux binaries. The current support status of specific Linux applications is being tracked on the Linux app status Wiki page.

    The vdso(7) implementation was reworked. The futex(2) support was overhauled to make use of FreeBSD’s native umtx mechanism. It now supports priority-inheritance futexes, in addition to fixing several bugs.

    The rt_sigsuspend(2) and sigaltstack(2) syscalls are now supported on ARM64.

    The faccessat2(2), clone3(2) system calls are now implemented. The CLONE_CLEAR_RESETHAND option is now supported.

    The prctl(2) syscall now supports PR_SET_NO_NEW_PRIVS.

    The ptrace(2) syscall now supports PTRACE_GET_SYSCALL_INFO, which is a prerequisite to support newer strace(1) versions.

    There is ongoing work to make Linuxulator on arm64 on par with the amd64 one; right now it’s good enough for development work.

    Sponsor: EPSRC (Edward’s work)


    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)