unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
Posts
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
see, this is an issue because sol7 defines both long long and int64/uint64 as union(int32*2,double) "for alignment purposes", as you're not meant to actually try to USE them, and fseeko64 is long long, so it's completely valid. After staring into adb (no, not the Android kind) for way too long, it appears what the SIGILLs and SIGSEGVs are from is it's encoding constants into ELF files as 64 bits, inline, as i've noticed almost all of the SIGILLs happen directly after a register store, so something like "mov r32,imm32" and then an illegal 4-byte "instruction." Sounds a lot like it's emitting a 64-bit imm32, which would explain why it's so flaky: the first 32 bits might make it into the register, and then the second 32 fucking don't and might or might not be a valid opcode (the second 32 bits are usually not \x00, so i'm assuming something's also going wrong with the offsets, as no normal ELF is going to be a few terabytes into the address space on a fucking 486.)
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
Solaris 7 Pro Tip:
after installing XFree86 and getting it set up, use the following one-liner to get it to take over the display server:
echo ":0 Local local_uid@console root /usr/X11R6/bin/X" > /usr/dt/config/Xservers && reboot
(nowhere in the docs is this clear at all, and the docs lie in general.)
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
i've gone ahead and rewritten 90% of my build system, and now I can build binutils-2.15 (kind of) but now gcc-3.2.3 is inconsistent on whether ld will SIGSEGV or not, and if it doesn't, tar-1.25 can't be built because it loses track of its own internal includes (alloca.h, part of libgnu), which it only tells me about at link time.
Nothing has changed in the env itself, I've got all kinds of debug output to make sure of that.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
man /opt/SUNWspro/bin/cc
"yes we have similar -O flags to GCC but no -OS or -Os"
ok, that's reasonable...
-O1
"WARNING: Passing '-1' to linker!"
so that was a fucking lie
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
The issue is more than this one bug, if you're dealing with this bug, this is how you fix it, as it starts at the very beginning of the non-Sun compiler stack:
- Don't use tgcware or sunfreeware packages. They're all poisoned in this way, and it causes issues compiling just about everything later down the line. Start with SUNWspro.
- Build binutils 2.13 before gcc 2.x, which is required for 3.x or higher anyway. SUNWspro will just barely suffice for this on Solaris 7.
- Build gcc 2.95.3, ENFORCE THE GNU BINUTILS. The docs say to use Solaris as+ld, this is a trap. Don't fall for it! Never use them unless there's strictly no other option.
- Build binutils 2.15, then gcc 3.2.3 (do not bootstrap.) Because gcc 2.95.3 isn't poisoned by the system linker, you'll be OK.
- As gcc 3.2.3 cannot be bootstrapped with 2.95.3 (despite that being the opposite of every doc in the universe about gcc being forced to bootstrap, gcc 2.95.3 is not capable of doing this) remove the GCC 2.x specific include dir in your prefix (3.2.3 won't do this itself) and immediately rebuild gcc 3.2.3 (with bootstrap-lean) to remove errant C++ behavior for later.
- Build binutils 2.17. 2.15 will build gcc 4.x and beyond, but this breaks libstdc++ permanently as it'll version symbols that do not exist. If "floor@@SUNW_1.1" symbol refs exist in a binary, you've hit this bug.
- Build gcc 4.2.4, disable bootstrap. (It will bootstrap anyway, but if you try to enable it, it'll break. This occurs with make 3.7 through 4.4, so it's a logic bug in gcc's autotools set.) As before, remove all 3.2.3-specific include directories (and $PREFIX/i386-pc-solaris2.7/assert.h, due to a CFLAGS bug in 4.2.4 through 4.6, and probably much further) and then immediately rebuild it with itself. (Again, disable bootstrap, it will anyway.)
At this point, if libstdc++.so has no references to __eprintf or floor@@SUNW_1.1, you're in the clear. More testing is needed to see if this persists through 4.6.x, the last versions with any measure of sol7 support, but i'll keep people posted.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.
unfortunately, i am cursed with the gift of thought. i plan on making that github's problem, if i can ever fucking finish anything.