Language Selection

English French German Italian Portuguese Spanish

BSD

LLVM 7.0.0 Released

Filed under
BSD
  • LLVM 7.0.0 released

    The release contains the work on trunk up to SVN revision 338536 plus work on the release branch. It is the result of the community's work over the past six months, including: function multiversioning in Clang with the 'target' attribute for ELF-based x86/x86_64 targets, improved PCH support in clang-cl, preliminary DWARF v5 support, basic support for OpenMP 4.5 offloading to NVPTX, OpenCL C++ support, MSan, X-Ray and libFuzzer support for FreeBSD, early UBSan, X-Ray and libFuzzer support for OpenBSD, UBSan checks for implicit conversions, many long-tail compatibility issues fixed in lld which is now production ready for ELF, COFF and MinGW, new tools llvm-exegesis, llvm-mca and diagtool. And as usual, many optimizations, improved diagnostics, and bug fixes.

  • LLVM 7.0 Released: Better CPU Support, AMDGPU Vega 20; Clang 7.0 Gets FMV & OpenCL C++

    As anticipated, LLVM release manager Hans Wennborg announced the official availability today of LLVM 7.0 compiler stack as well as associated sub-projects including the Clang 7.0 C/C++ compiler front-end, Compiler-RT, libc++, libunwind, LLDB, and others.

    There is a lot of LLVM improvements ranging from CPU improvements for many different architectures, Vega 20 support among many other AMDGPU back-end improvements, the new machine code analyzer utility, and more. The notable Clang C/C++ compiler has picked up support for function multi-versioning (FMV), initial OpenCL C++ support, and many other additions. See my LLVM 7.0 / Clang 7.0 feature overview for more details on the changes with this six-month open-source compiler stack update.

BSD: OpenBSD/NetBSD on FreeBSD and Upcoming OpenZFS Developer Summit 2018

Filed under
BSD
  • OpenBSD/NetBSD on FreeBSD using grub2-bhyve

    When I was writing a blog post about the process title, I needed a couple of virtual machines with OpenBSD, NetBSD, and Ubuntu. Before that day I mainly used FreeBSD and Windows with bhyve. I spent some time trying to set up an OpenBSD using bhyve and UEFI as described here. I had numerous problems trying to use it, and this was the day I discovered the grub2-bhyve tool, and I love it!

    The grub2-bhyve allows you to load a kernel using GRUB bootloader. GRUB supports most of the operating systems with a standard configuration, so exactly the same method can be used to install NetBSD or Ubuntu. [...]

  • OpenZFS Developer Summit 2018

    The sixth annual OpenZFS Developer Summit took place September 10th and 11th in San Francisco, California with an expanded focus on non-technical topics like community development and cross-project coordination. It also marked the “light at the end of the tunnel” status of several long-term OpenZFS features, notably dRAID, the distributed spare technology originally developed by Intel. [...]

LLVM 7.0.0 is Ready

Filed under
Development
BSD
  • [llvm-dev] [7.0.0 Release] The final tag is in

    The final version of 7.0.0 has been tagged from the branch at r342370. It is identical to rc3 modulo release notes and docs changes.

  • LLVM 7.0 Is Ready For Release

    The LLVM/Clang 7.0 release had been running a bit behind schedule and warranted a third release candidate, but this week LLVM 7.0.0 is now ready to ship.

    Release manager Hans Wennborg announced minutes ago on the mailing list that the 7.0.0 release has been tagged in their source tree. This ends up being the same as last week's 7.0-RC3 except for release notes and documentation updates.

  • LLVM Developers Still Discussing SPIR-V Support Within Clang

    One of the features that didn't materialize for LLVM / Clang 7.0 is the SPIR-V support within the compiler toolchain.

    While there has been a SPIR-V / LLVM translator out-of-tree and various developers at different vendors have been discussing for months the prospects of adding SPIR-V intermediate representation support to LLVM/Clang, it has yet to materialize.

    The latest developer discussion is to have a roundtable talk on the SPIR-V integration at the 2018 LLVM Developers' Meeting. This year the LLVM Developers' Meeting is happening at the San Jose Convention Center from 17 to 18 October.

Doing One Thing, Well: The UNIX Philosophy

Filed under
OS
GNU
BSD

The Unix operating system has been around for decades, and it and its lookalikes (mainly Linux) are a critical part of the computing world. Apple’s operating system, macOS, is Unix-based, as are Solaris and BSD. Even if you’ve never directly used one of these operating systems, at least two-thirds of all websites are served by Unix or Unix-like software. And, if you’ve ever picked up a smart phone, chances are it was running either a Unix variant or the Linux-driven Android. The core reason that Unix has been so ubiquitous isn’t its accessibility, or cost, or user interface design, although these things helped. The root cause of its success is its design philosophy.

Good design is crucial for success. Whether that’s good design of a piece of software, infrastructure like a railroad or power grid, or even something relatively simple like a flag, without good design your project is essentially doomed. Although you might be able to build a workable one-off electronics project that’s a rat’s nest of wires, or a prototype of something that gets the job done but isn’t user-friendly or scalable, for a large-scale project a set of good design principles from the start is key.

Read more

Compilers: LLVM and compiler as a shared library

Filed under
Development
GNU
BSD
  • LLVM 7.0 RC3 Released - The Last Release Candidate

    While only two release candidates were on the schedule for LLVM 7.0, release manager Hans Wennborg today opted for a third RC that he intends to be the final test version before officially releasing the LLVM 7.0.0 collection.

    LLVM 7.0 RC3 was released this morning as the last release candidate and incorporates the recent bug fixing that's went on since the RC2 release at the end of August. Assuming no serious issues are uncovered, this version should be very close to LLVM 7.0.0 final.

  • A Look At The Features Coming With LLVM 7.0 & Clang 7.0

    It's running a few days late, but the LLVM 7.0 release along with sub-projects like Clang 7.0 should be released very soon. Here is a look at some of the features coming to this six-month compiler infrastructure update.

    Below is a look at the highlights for LLVM 7.0. Overall it's been another busy half-year with many additions to the AMDGPU back-end, the new LLVM MCA utility, continued work on the Spectre front, OpenCL C++ support is introduced, function multi-versioning (FMV) finally for Clang, OpenMP 4.5 offloading to NVIDIA NVPTX, and many other compiler infrastructure improvements.

  • The compiler as a shared library

    Since times immemorial, compilers have been run as standalone batch processes. If you have 50 files to compile, then you invoke the compiler 50 times, once on each file. Since each compilation is independent of all others, the work can be parallelised perfectly. This seems like a simple and optimal solution.
    But, as is commonly the case, this is not the whole truth. When compiling code, there are many subtasks that are common to each individual compilation and this causes a lot of duplication of effort. Perhaps the best known case of this are C++ templates. They are parsed and codegenerated for each file that uses them yielding in the same code in dozens of files. Then the linker comes along and throws all but one of them away. There are a bunch of other issues which are discussed in this video from LLVM developer's conference:

BSD Developers and News

Filed under
BSD
  • Pricing Shifts between CreateSpace, IngramSpark, and KDP Print

    Before I go all stabby, though, let’s gather all the information. For an apples-to-apples comparison, I’m setting the CreateSpace price of Spilled Mirovar to $6.99, same as KDP Print and IngramSpark. We really need to make two comparisons. CreateSpace’s Expanded Distribution (CSED) is analogous to IngramSpark, and CreateSpace’s Amazon service is migrating to KDP Print.

  • FreeBSD lockless algorithm - seq

    Those days locking algorithms are critical for operating systems, especially in a multi-threaded world. With time it turns out that classical locks, like mutex, are performance costly. Even when we are using techniques like having reads and writes mutex, synchronizing the state between CPUs can be costly. To optimize some cases, the lockless algorithm started to be used.

    There are multiple places in the kernel where we need to read some variables very often, but there is a small number of cases when we write to them. For such cases, the seq interface was created. [...]

  • How does the process title works?

    Let's start by defining what the title of a process is - in this article, we will understand the name reported by ps(1)/top(1). When we are creating a new process using fork(2) the process inherits the name from its parent. In the scenario when we call exec(2) function we also pass the list of the arguments for a process, which will be treated as a process title. What if we would like to change the title of the process when it's running? It turns out that many operating systems do it in a different way. In this article we will discuss how open source operating systems like FreeBSD, Linux, OpenBSD, NetBSD, and DragonFlyBSD do it.

  • OpenBSD on disk images

    Users are able to declare disk images as ‘raw’ or ‘qcow2’ using either vmctl and vm.conf. The default disk image format is ‘raw’ if not specified.

BSD: LLVM/Clang and Fuzzing the OpenBSD Kernel

Filed under
BSD
  • LLVM/Clang Gets Plumbed For Kernel Memory Sanitizer

    The latest "sanitizer" worked on by Google's developers for the LLVM/Clang compiler infrastructure is a Kernel Memory Sanitizer (KMSAN).

    KMSAN is a special sanitizer compared to the conventional Memory Sanitizer pass that is just focused on kernel memory. Currently this new LLVM pass just supports the Linux x86_64 kernel. Those unfamiliar with the existing MemorySanitizer functionality that already lives within LLVM can see the documentation on this pass.

  • Fuzzing the OpenBSD Kernel

    Anton Lindqvist (anton@) gave a talk at BSD Users Stockholm Meetup #3 on the kernel coverage tracing kit he committed recently. Slides are now available via the OpenBSD Events and Papers page.

NetBSD 7.2 Released

Filed under
BSD
  • NetBSD 7.2 released (August 29, 2018)

    The NetBSD Project is pleased to announce NetBSD 7.2, the second feature update of the NetBSD 7 release branch. It represents a selected subset of fixes deemed important for security or stability reasons, as well as new features and enhancements.

  • NetBSD 7.2 Released - Backports USB 3.0 Support, Raspberry Pi 3 Compatibility

    While NetBSD 8.0 was released in July with new features like initial USB 3.0 support and UEFI boot-loader support for x86 64-bit hardware, for those not wanting to jump to 8.0 from the 7 series can now enjoy NetBSD 7.2.

    NetBSD 7.2 is a feature update to NetBSD 7 for those not yet or unable to migrate to NetBSD 8.0. NetBSD 7.2 back-ports support for USB 3.0 hardware, enhances the Linux emulation subsystem, provides support for newer Intel WiFi/WLAN cards, adds Raspberry Pi 3 support, offers various USB improvements, and has various bug fixes and stability improvements.

  • NetBSD 7.2 Branch Update Release Brings USB 3.0 and Raspberry Pi 3 Support

    The NetBSD Project has released NetBSD 7.2, which is the second feature update of the NetBSD 7 release branch. This release brings a subset of fixes that were deemed important to security or stability reasons, and several new features and overall enhancements.

    NetBSD is a free and highly portable Unix-like operating system, and is entirely Open Source. It is available for many platforms such as 64-bit x86 servers, to various embedded ARM and MIPS based devices (SoCs).

A Look At DragonFlyBSD's Kernel Tuning Performance On The AMD Threadripper 2990WX

Filed under
Graphics/Benchmarks
BSD

Last week I posted some initial tests and benchmarks of DragonFlyBSD/FreeBSD on the AMD Threadripper 2990WX. While that went well and the BSDs scale with this 32-core / 64-thread processor better than Windows, lead DragonFly developer Matthew Dillon had picked up a 2990WX system and has been tuning the kernel ever since. Here are some benchmarks looking at some of his recent optimizations.

Hours after that BSD Threadripper testing ended last week, Matthew Dillon landed some more performance tuning/optimizations to benefit the Threadripper 2990WX design. Here are some benchmarks of that original 2990WX support on DragonFlyBSD 5.3-DEVELOPMENT compared to the later daily snapshot.

Read more

BSD: OpenBSD and KDE-FreeBSD

Filed under
BSD
  • RSS Feed available for OpenBSD-current special instructions

    I wrote a script generating a RSS file from the content of the page https://www.openbsd.org/faq/current.html

  • Out with the Old ..

       KDE4 ports will be removed from FreeBSD ports on December 31st, 2018

    [...]

    As for KDE4 itself: there haven’t been any upstream KDE4 releases since Applications 17.08.3, and Qt4 upon which it depends is EOL since 2015. The latest KDE Plasma desktop has been available in the official ports tree for over four months (and has been in use by users of Area51 for much much longer).

    So, given that there is a viable upgrade path (although, truth be told, you’ll probably have to re-configure KMail and get used to Falkon), we’ve decided to put a four month deprecation period on all the KDE4 ports. They will be removed at the end of this year, which will free up some maintainence time for chasing the steady stream of updates from the KDE community.

  • KDE4 Being Dropped From FreeBSD At The End Of The Year

    With KDE4 not having seen an upstream release in years and the old KDE4 code beginning to break under newer C++ compilers, the KDE-FreeBSD team has announced a four-month deprecation period after which they are dropping the KDE4 ports from the operating system.

    On 31 December 2018 is when the FreeBSD maintainers of these older KDE packages plan to drop the KDE4 packages from their tree.

Syndicate content

More in Tux Machines

Vista 10: Embrace, Now Extend

  • WLinux: Windows 10 Gets Its Own Exclusive Linux Distro
    Ubuntu, Debian, and Kali are some of the popular Linux distros available out there for Windows Subsystem for Linux. But, most of these distros contain packages that are irrelevant to WSL and lack development tools. How about a distro that is optimized specially for Windows 10?
  • New Linux Distro Created Specifically for Windows 10
    The Windows Subsystem for Linux allows users to run Linux distributions on top of Windows 10, and at this point, there are already several choices for users who want to try out this feature. In addition to Ubuntu, Debian, and Kali, beginning today, Windows 10 adopters are provided with a new Linux distro that’s specifically optimized for the WSL. Called WLinux, this new Linux distro is focused on the packages that are relevant to WSL, as well as the customizations to take full advantage of this Windows 10 feature.

Review: Bodhi Linux 5.0.0

Sometimes when reviewing an operating system it is difficult to separate the question "Is this a good distribution?" from "Is this a good distribution for me?" Bodhi is one of those projects where the answers to these questions are quite different, mostly over matters of style rather than functionality. On a personal level, I don't think I would ever be inclined to use Bodhi myself because I don't like the Moksha/Enlightenment style of desktop. It does a lot of little things differently (not badly, just differently) from other open source desktops and its style is not one I ever seem to find comfortable. This, combined with the streamlined, web-based AppCenter and unusual settings panel, makes Bodhi a distribution which always feels a bit alien to me. Let's put aside my personal style preferences though and try to look at the distribution objectively. Bodhi is trying to provide a lightweight, visually attractive distribution with a wide range of hardware support. It manages to do all of these things and do them well. The distribution is paying special attention to lower-end hardware, including 32-bit systems, and maintains a remarkably small memory footprint given the amount of functionality and eye candy included. Most lightweight distributions sacrifice quite a bit visually in order to provide the lightest interface possible, but Bodhi does a nice job of balancing low resource requirements with an attractive desktop environment. Bodhi is pleasantly easy to install, thanks to the Ubiquity installer, has a minimal collection of software (in the main edition) that allows us to craft our own experience and, for people who need more applications out of the box, there is the AppPack edition. All of this is to say that, for me personally, I spent more time that I would have liked this week searching through settings, trying to get used to how Moksha's panel works, tracking down less popular applications and re-learning when to use right-click versus left-click on the desktop. But, objectively, I would be hard pressed to name another distribution that more elegantly offers a lightweight desktop with visual effects, or that offers such easy access to both legacy and modern hardware support. In short, I think Bodhi Linux is a good distribution for those who want to get the most performance out of their operating system without sacrificing hardware support or the appearance of the interface. There are a few little glitches here and there, but sothing show-stopping and, overall, Bodhi is a well put together distribution. Read more

Android Leftovers

5 ways to play old-school games on a Raspberry Pi

They don't make 'em like they used to, do they? Video games, I mean. Sure, there's a bit more grunt in the gear now. Princess Zelda used to be 16 pixels in each direction; there's now enough graphics power for every hair on her head. Today's processors could beat up 1988's processors in a cage-fight deathmatch without breaking a sweat. But you know what's missing? The fun. You've got a squillion and one buttons to learn just to get past the tutorial mission. There's probably a storyline, too. You shouldn't need a backstory to kill bad guys. All you need is jump and shoot. So, it's little wonder that one of the most enduring popular uses for a Raspberry Pi is to relive the 8- and 16-bit golden age of gaming in the '80s and early '90s. But where to start? Read more