Okay, so my TODO list for the day was quite long. Working on at least half of the FreeBSD patches for binutils, starting recruitment process for Benigno, working on the new baselayout from the branch I prepared to work on Gentoo/FreeBSD, providing at least a temporary package while Azarah finds time to merge it into trunk and eventually in 1.12.
Unfortunately, I stopped at the first two points. I actually started the recruitment process by opening the bug after working on his quiz answers, and I have the working patch in overlay.
Luckily, binutils upstream developers seems quite friendly and answered me during the day, so that I could refine the patches a bit more for cross-linking environment.
Unfortunately, I couldn’t finish all this list. I haven’t worked on baselayout nor on the package for it. I haven’t started working on the bfd update patch. I haven’t worked on the new stage.
There are lots of things I would have liked to do today, but I hadn’t had the time to work on them. Flex was a big problem to deal with, now it’s fixed in portage tho, and upstream already fixed it before, fortunately. The worse thing is that I have now a biiig headache and I really need some sleep.
But anyway, for the daring ones, here some pointers of how the process is going. The patches are now in the overlay, both for binutils 2.16.1 and 18.104.22.168.6; –as-needed works on those versions; I’m trying getting them applied upstream.
As –as-needed works with these binutils (that are not supported by original FreeBSD), it should be possible to use the extended specs for GCC that allows to link libgcc_s only when it’s actually needed and always shared, instead of using what we use currently (static link for executables, always dynamic link for libraries). Unfortunately up to GCC 3.4.5 the check for –as-needed was under a Linux conditional… it’s better on GCC 4.x. Unfortunately I don’t think FreeBSD 6.0 likes GCC 4.x yet.. when I’ll release the stage, if someone wants to go through the code of FreeBSD’s base system and fix it to build with GCC4, that’s something quite fine 😉 (obviously, it will require to fight with upstream to get those changes applied). It would be interesting to see a Gentoo/FreeBSD system entirely based on GCC 4 and binutils 2.16, the latter not even available in ports for what I can see.
Oh well anyway, now I really need to take a break to sleep. Today’s thanks to vapier (again :P) for merging the flex patch, and mcummings (for the two perl patches).