Privatization means rebuilds

That’s a pretty cryptic headline, isn’t it?  John Marino has ‘privatized’ several libraries in DragonFly, so that they can’t get included involuntarily as part of a port build.  That may mean you will need to perform a full rebuild of your system if you are tracking DragonFly-current.

(This is the way to fix ‘system’ languages like Perl was in FreeBSD 4.x – keep them clearly separate from the port version.  It’s about a decade too late for that idea to work out, though.)

Qemu fixes, and a bonus

A number of people have reported problems with qemu and DragonFly, both running locally and on a host.  It turns out to be a problem with the getcontext(), setcontext(), and swapcontext() functions, but Matthew Dillon fixed it in a way that doesn’t affect performance very much.

That apparently wasn’t good enough, so he added _quick versions of those same functions, so it became not just a fix, but an improvement.

In related qemu news: qemu-devel can use vknetd similar to a vkernel, now.

No atime in Hammer

Hammer now defaults to ‘noatime’, meaning the date and time of last access are not updated on every file action.  Note that creation and modification date and time are still recorded.  This will help with speed and disk activity.

This may cause a problem with any software expecting this to change – mutt, possibly?  We will find out.  This change was done after the 4.4 branch, so it’s not in the current release of DragonFly.

libc no longer in executable memory

John Marino is working on versioning libc, and as part of that process, libc is no longer loaded into executable memory.  Here is I think an explanation of lib versioning that may apply, and of course moving things that aren’t supposed to execute, out of executable memory areas, is good for security.  There’s more on that topic, too – W^X may be a similar example.

This is a complicated topic that I’m not part of, so suggest better descriptions in the comments, please.

Many Hammer 1 updates, and credit

I don’t note it enough, but Tomohiro Kusumi has been making constant updates to HAMMER, the version we have now.  Often they are the sort of update that makes the code more readable, or fixes possible problems, and so on.  Very essential, but hard to post about it.  In any case, I’m using his recent improvements to hammer volume-del to note his contributions, of which there are much more than the day’s worth I link here.