Open office hour every second Friday of the month in channel overseers on irc.libera.net at 18:00 UTC. Which is today, September 8th.
https://web.libera.chat/?channel=#overseers
Please feel free to drop by with any Sourceware services and hosting questions.
We will be evaluating #mailman switching off From rewriting for the #glibc libc-alpha list to see if other Sourceware mailinglist can adopt that.
Feedback and questions about the Sourceware 25 Roadmap are also very appreciated.
Because of dkim, strict dmarc policies and an old mailman setup Sourceware mailinglists used From rewriting.
No more! We upgraded mailman, gave up subject prefixes, mail footers, html stripping and reply-to mangling.
The #glibc libc-alpha list is the first to try it out.
We'll evaluate how well this works at our next Open Office hour (this Friday) and whether to recommend it to other #Sourceware projects.
Thanks to the FSF tech-team for walking us through their setup for lists.gnu.org
I have been doing some reading on relative relocations and **RELR** (`-z pack-relative-relocs`) and found 2 great posts!
โ๏ธ https://maskray.me/blog/2021-10-31-relative-relocations-and-relr
๐ https://glandium.org/blog/?p=4297 (Hacking the #ELF format for #Firefox, 12 years later ; doing better with less)
#elf #firefox #linux #binary #glibc
@alexr Sorry, but it really doesn't make sense to me to compare anything just regarding #Linux vs #Linuxulator. The kernel(!) as a source of indeterminism is very unlikely, everything else (like #glibc where the allocator is implemented) is the same. I don't see what I would gain from that huge amount of work here.
#glibc is the latest #Sourceware project that provides continuous snapshots from latest git with both source archives and manuals.
https://snapshots.sourceware.org
This helps to make sure the release process always works and that manuals can be produced in various formats.
Thanks to #OSUOSL https://osuosl.org for hosting the snapshots server.
Version scheme change of libc6 libraires from focal to jammy #2004 #packagemanagement #2204 #dpkg #glibc
#packagemanagement #dpkg #glibc
@beforewisdom @Yehuda @fsf exactly.
As for the #GNUtils like #bash, I do work on getting rid of them as well where I can.
I am currently working on a #minimalist #embedded distro based off #toybox / #Linux + #musl, because #Glibc is a shitty mess that bricks stuff at random in minor version updates for no good reason!
http://os1337.com
#toybox #glibc #musl #Linux #Embedded #minimalist #Bash #GNUtils
Assigning your copyright to the FSF helps defend the GPL and keep software free. Thanks to Gene Goykhman, Sergey Alexandrovich Bugaev, Wang Diancheng, Warren Thomas Everett Wilkinson, and Xinyuan Zhang for assigning their copyright to the FSF! #GNU #Emacs #glibc #GDB #GNUstep #GNUHurd #GNUMach #GCC Learn more at https://u.fsf.org/3ht #CopyrightAssignments
#gnu #emacs #glibc #gdb #gnustep #gnuhurd #gnumach #gcc #CopyrightAssignments
So fun fact for those fellow #Swift lang users out there. Looks like there's a breaking change in newer #GLibC bindings (such as the ones recently released out on #ArchLinux) that at the very least nukes #SwiftLog library imports due to a change in the way tm struct related functions work.
I've also noticed that #Vapor and #Fluent projects still running on 5.6 also break due to 32->64 bit int type breaking changes.
If you've run into this problem yet and have a solution, lmk... My team and I are currently purging dependencies that have Swift-Log in their tree... which is a lot ๐ญ
#swift #glibc #archlinux #swiftlog #vapor #fluent
Added these symlinks.
#glibc needs some "convincing" to install *everything* to /usr, but it works.
It solves the issue on #aarch64 and #i386 (which both install the program interpreter to /lib by default).
It does NOT solve the issue on #amd64, where the program interpreter is installed to /lib64, but *something* during #GCC build insists on finding it in /usr/lib instead. ๐คฏ
Trying a hack with a hardlink now (after learning that glibc's ldconfig just deletes symlinks to the program interpreter).
#glibc #aarch64 #i386 #amd64 #gcc
And now, we have a working #Linux #bash running in #FreeBSD's #linuxulator
Which also finally makes the "ldd" script installed by #glibc work ๐
Ok, enough for today ๐
https://github.com/Zirias/zfbsd-ports/blob/linux/shells/linux-bash/Makefile
#linux #bash #freebsd #linuxulator #glibc
How often do you have to build #GCC to have a *native* version for #Linux when building on #FreeBSD?
The answer is: 3 times. First a minimal cross-version without #glibc, required to actually *build* glibc. Then, a "full" cross-version using that glibc. And finally, using this full cross-version, the *native* version.
How often do you have to build GCC to find and fix issues in your FreeBSD ports for these 3 stages? The answer is: *countless* times. And it really takes time to build ๐
@thindil That's what I assume as well, once I'm done with the toolchain, architecture-specific differences should be rare (if encountered at all). ๐
Just finished the cross-version of #glibc for all archs. Two more (#binutils and #gcc) to go for the FULL cross-toolchain. That will be the goal for today, the native toolchain maybe tomorrow ๐
@thindil Thanks!
I'm almost done with at least the cross (#FreeBSD -> #Linux) #GNU toolchain for all supported archs (aarch64. amd64 and i386), currently working on #glibc for it. It's a bit tedious work because all parts of the toolchain seem to have a pkg-plist dependent on the target architecture ๐
I'm carefully optimistic now again ๐
After first building very basic/limited "-bootstrap" versions of binutils and gcc into a separate prefix, it seems I could finally build a complete #GNU cross (#FreeBSD -> #Linux) toolchain, including #binutils, #glibc and #gcc (with libstdc++). This final cross gcc at least passed the most basic sanity check -- it successfully compiles an empty program ๐
Now doing a bit of cleanup and then trying whether this beast is able to build the *real* (native) glibc for a new #Linuxulator userland ๐
#gnu #freebsd #linux #binutils #glibc #gcc #linuxulator
@thindil
1. This doesn't affect the public #ABI of the kernel. Do you have any example of breakage here? ๐ค Don't get me wrong, I'm really not a fan of the chaos GNU/Linux actually is, but this is still hard to believe.
2. Possible. I don't know any example though ....
Regarding the "standard" #libc, if we're talking about "GNU/Linux", this will always be #glibc. AFAIK, any #Linuxulator userland ever shipped in #FreeBSD ports used it. I plan to do the same trying to build this mess from source ๐
BTW, my "lxcross-glibc" package seems to work, and it seems I'm able to build some *almost* complete cross #GCC using it right now ... still need the --disable-libsanitizer configure flag ๐ค
#abi #libc #glibc #linuxulator #freebsd #gcc
@thindil
1. The "#Linux" ABI is the syscalls (and a few other things) offered by the kernel ... yes, this thing actually *called* "Linux". It doesn't break, as far as I know.
2. There is. But only in one direction of course. Something built against some newer #glibc won't work on a system with an older version.
3. Yes, definitely yes ๐
@thindil Oh there *is* binary compatibility for sure. The #Linux kernel typically doesn't break its userspace-facing #ABI. #Glibc and #GCC's libstdc++ use symbol versioning to provide backwards compatibility.
The issue starts with all the other libs, there's no standard for some "base" GNU/Linux system. That's where all these (IMHO damn broken) ideas like #AppImage, #Flatpak etc come from. Of course, you could just link statically instead, seems people don't get that any more ๐
Anyways, quite some binary #Linux software will work "anywhere" as long as the required libs are not too old (looking e.g. at browsers...). And having a #Linuxulator userland built from source *should* enable you to just add ports for missing libraries. Well, in theory ๐
#linux #abi #glibc #gcc #appimage #flatpak #linuxulator