Welcome to our blog where we share some of our knowledge with the wider community.
Blog | March 4, 2021
LLDB: FreeBSD Legacy Process Plugin Removed
By Michał Górny
Moritz Systems have been contracted by the FreeBSD Foundation to continue our work on modernizing the LLDB debugger’s support for FreeBSD.
The complete Project Schedule is divided into four milestones, each taking approximately one month:
M1 Switch all the non-x86 CPUs to the LLDB FreeBSD Remote-Process-Plugin. M2 Iteration over regression tests on ARM64 and fixing known bugs, marking the non-trivial ones for future work. Remove the old local-only Process-Plugin.
read more
Blog | February 4, 2021
FreeBSD Remote Process Plugin on Non-x86 Architectures
By Michał Górny
Moritz Systems have started a new contract with the FreeBSD Foundation to continue our work on modernizing the LLDB debugger’s support for FreeBSD. Throughout the previous contract we have introduced a FreeBSD Remote Process Plugin utilizing the mode modern client-server layout of LLDB.
We have managed to achieve the feature parity with the original FreeBSD plugin on the x86 architecture. However, as of today other architectures still use the original.
read more
Blog | January 28, 2021
LLDB FreeBSD CPU target support and userland debugging improvements
The Moritz Systems team has started a new contract on LLDB FreeBSD CPU target support and userland debugging improvements.
read more
Blog | December 10, 2020
FreeBSD Remote Process Plugin: Final Milestone Achieved
By Kamil Rytarowski, Michał Górny
Moritz Systems have been contracted by the FreeBSD Foundation to modernize the LLDB debugger’s support for FreeBSD. We are working on a new plugin utilizing the more modern client-server layout that is already used by Darwin, Linux, NetBSD and (unofficially) OpenBSD. The new plugin is going to gradually replace the legacy one.
This dragon image is owned by Apple Inc. The Project Schedule was divided into three milestones, each taking approximately one month:
read more
Blog | November 26, 2020
Mastering UNIX pipes, Part 1
By Kamil Rytarowski
A pipe is a first-in-first-out interprocess communication channel. The pipe version as it is known today was invented by an American Computer Scientist Douglas McIlroy and incorporated into Version 3 AT&T UNIX in 1973 by Ken Thompson.
It was inspired by the observation that frequently the output of one application is used as an input for another. This concept can be reused to connect a chain of processes. This is frequently observed in UNIX shell constructs that utilize the | operator.
read more
Blog | November 19, 2020
Before the BSD Kernel starts: Part One on AMD64
By Maciej Grochowski
System initialization is one of the niche areas that few people look into. The exact details vary considerably between different platforms, firmwares, CPU architectures and operating systems, making it difficult to learn it all. Usually, if something is not working correctly during the early stages of system startup or if the OS does not boot, it rarely has anything to do with the code responsible for booting. Most of the time, it is due to other factors, such as the boot media or BIOS configuration.
read more