<kazinsal>
https://lwn.net/Articles/983340/ when you ludovico yourself with reflections on trusting trust and end up with a surprisingly comprehensive bootstrap chain
<bslsk05>
lwn.net: Pulling Linux up by its bootstraps [LWN.net]
<sortie>
kazinsal: Yeah I read that one, I liked it
<kazinsal>
it's really well done and well thought out
<sortie>
kazinsal: One thing I really adore is that one can boostrap Sortix in one go, with all ports, for every platform, in a single cross build from Linux
<sortie>
And you can even build the latest nightly Sortix directly on Sortix 1.0
<GeDaMo>
There's a #bootstrappable channel
<Mondenkind>
gonad penis fault
<kazinsal>
of my two projects, neither of which I have done anything for in probably two years, neither of them are bootstrappable lol
<sortie>
So in a sense, efforts like this also benefit me, since one can bootstrap Linux, then me
<kazinsal>
one is explicitly not self-hosting because it's not a general-purpose OS, and the other is built with openwatcom 2.0
<kazinsal>
on account of targeting 8088 machines
<heat>
cock fault
hwpplayer1 has joined #osdev
<sortie>
I do use a GCC in C++ with gcc 5 features so I do need the complex bootstrap they do here too
<heat>
gcc5 is a caveman gcc fyi
<kazinsal>
I feel like I should probably figure out this whole clang stuff eventually
<sortie>
heat: gcc 5.2! I'm like Haiku!
<kazinsal>
but I also still write makefiles that are more shell than make
<heat>
sortie, i was going to make a joke that linux adopted 5.0 and dropped 5.0 and you still haven't dropped sortix 1.1
<sortie>
heat: Nonetheless gcc 5 is actually powerful and full of features and is written in C++ so it's actually harder to bootstrap than some of the pre C++ 4.x
<heat>
but sadly you're on 5.2 and the minimum gcc is 5.1 :(
<heat>
yeah sure
<sortie>
I'm pretty sure I'm still able to bootstrap the latest gcc with gcc 5.2
<heat>
no
<heat>
at the very least you need a nice solid stack of patches for that
<bslsk05>
gcc.gnu.org: Prerequisites for GCC - GNU Project
<heat>
dude... gcc 6, 7, 8 IIRC all had compiler breakage
<sortie>
I know, I just don't know?
<sortie>
Just going off what the docs say here. If it's wrong, it should be updated
<sortie>
But I do know there's a high risk here
<kazinsal>
the docs are not wrong. you're just not in the same parallel universe shard as the gnu people
<heat>
like, if you had a release two releases old, gcc (the codebase) and gcc (the compiler) could not agree on what was correct C++
<heat>
and then they switched the default C++ mode! and everyone fucking died
<heat>
never mind the tons of new warnings
<sortie>
The question is how C++ the gcc codebase actually is
<sortie>
Warnings are okay
<sortie>
At least as I can go through a bootstrap phase
<sortie>
I have the requirement that Sortix 1.1 needs to build on Sortix 1.0 with its gcc 5.2.0 so the question is how high up I can go with modern gcc
<coolcoder613>
sortie: Like Haiku?
<sortie>
coolcoder613: Haiku famously uses gcc 2.99 or something for compatibility with BeOS
<kazinsal>
yeah, they consider the gcc 2 abi to be the only stable one
<coolcoder613>
2.95
<heat>
amish compiler
<coolcoder613>
But only on 32-bit
<coolcoder613>
And they also have gcc 13
<coolcoder613>
Because Haiku maintains binary compatibility with BeOS
<coolcoder613>
So the 32-bit version uses dual compilers/abis
<heat>
when god was making our beautiful world he said "hey, K&R C only. no warnings. a moderate level of optimizations. ok?" and we nodded. we need to keep our word.
<kazinsal>
I am still deathly afraid of -O3
<heat>
satan told the gcc 3 maintainers to drop -traditional
<kazinsal>
too many issues with it doing UB stuff that causes pagefaults in kernel mode
<mjg>
cc -pedantic
<mjg>
did you know gcc got a switching to make it stop eliding null checks even if it thinks they are UB?
<mjg>
i mean it got a switch to ^^
<mjg>
presumably afrer the famous null-check elision in the linux kernel
<bslsk05>
open-watcom/open-watcom-v2 - Open Watcom V2.0 - Source code repository, Wiki, Latest Binary build, Archived builds including all installers for download. (155 forks/951 stargazers/NOASSERTION)
<kazinsal>
actively maintained too
<nikolar>
Is it an actual foss license
<kazinsal>
OSI approved, not FSF approved
<kazinsal>
strong copyleft
heat has quit [Read error: Connection reset by peer]
<nikolar>
Strong copyleft but not fsf approved
<nikolar>
Interesting
heat has joined #osdev
<kazinsal>
"This is not a free software license. It requires you to publish the source code publicly whenever you “Deploy” the covered software, and “Deploy” is defined to include many kinds of private use." - GNU
mavhq has joined #osdev
hwpplayer1 has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
<SupUser>
Compile a model that fits the 'public' even if it's private because you have the word deploy not employ
mavhq has joined #osdev
<kazinsal>
licensing is a mess and I don't even know what license I'd want to use if I got my "main" project going again
<SupUser>
lol yea u are kinda right
<kazinsal>
my secondary project would probably just be two-clause BSD because it's a dumb reimplementation of Ancient UNIX (tm) for 8088s
<SupUser>
You probably gotta pay a little bit for that bit.
<SupUser>
BSD?
<coolcoder613>
Ancient UNIX as in v7
<coolcoder613>
?
<kazinsal>
yeah, something in that era
<kazinsal>
v4 is the first one that represents modern unix in vague senses. C sources, somewhat portable, has all the basic commands you'd expect and shell features
<coolcoder613>
What are the differences with v7/x86
<kazinsal>
v7/x86 is a direct port of Ancient UNIX code, not a reimplementation
<kazinsal>
so it's potentially encumbered
<kazinsal>
one of the classic reimplementations is xv6, which is a clean implementation of Sixth Edition originally for x86 and now for RISC-V (lol)
<coolcoder613>
octox!
xenos1984 has quit [Read error: Connection reset by peer]
<netbsduser>
kazinsal: Caldera disencumbered the ancient unixes sources quite recently
<netbsduser>
2002
<coolcoder613>
..lol
xenos1984 has joined #osdev
BiteriaFedora has joined #osdev
<nortti>
< kazinsal> because [watcom is] the least awful option for targeting the 8088 ← out of interest, what benefits does it have over the gcc-ia16 that the ELKS folks use?
<kazinsal>
portability and having many compatible frontends. I can run openwatcom on all three major desktop operating systems and if needed can have it pretend to be GCC, CL, TCC, or WCC
<nortti>
oh, does gcc-ia16 not work on windows?
<kazinsal>
as far as I know it's a purely linux setup, whereas openwatcom is functional for all its targets on windows, macos, and linux
<kazinsal>
and not just for 16-bit realmode, but 16-bit realmode win16, 24-bit pmode win16, 32-bit pmode win16, 32-bit pmode win32s, and 32-bit pmode winnt
<kazinsal>
openwatcom basically runs the gamut of 1978-1999
<kazinsal>
you need to do some weird janky linker and make stuff to get a good early 80s output but y'know
<kazinsal>
specifically my WCLFLAGS is `-c -0 -q -mt -s -zl -zld -ecc -st`
<kazinsal>
you need to run a lot of flags into `wcl` to safely do bare metal 8088 shiz
<nortti>
what's the language compatibility for watcom?
<Ermine>
Tfw you've got a fusion reactor by overclocking your cpu
goliath has quit [Quit: SIGSEGV]
skipwich has joined #osdev
hwpplayer1 has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
X-Scale has joined #osdev
X-Scale has quit [Ping timeout: 256 seconds]
goliath has joined #osdev
karenw has joined #osdev
karenw has quit [Ping timeout: 244 seconds]
frkazoid333 has joined #osdev
<geist>
nah that's normal intel cpu behavior
<heat>
design too slow? have you tried burning more power
Matt|home has quit [Quit: Science is humanity's most powerful tool, the greatest weapon at our disposal, and most importantly a way to better ourselves by questioning, reasoning, learning, experimenting, and understanding.]
netbsduser has quit [Ping timeout: 260 seconds]
goliath has quit [Quit: SIGSEGV]
netbsduser has joined #osdev
Yoofie646 has joined #osdev
teroshan1 has joined #osdev
rom4ik15 has joined #osdev
sebastiencs7 has joined #osdev
DoubleJ7 has joined #osdev
ZipCPU_ has joined #osdev
Rubikoid has quit [Ping timeout: 252 seconds]
moire_ has joined #osdev
adder_ has joined #osdev
mcfrd has joined #osdev
mcfrdy has quit [Ping timeout: 272 seconds]
nitrix_ has joined #osdev
pieguy128_ has quit [Ping timeout: 252 seconds]
pieguy128 has joined #osdev
zhiayang has quit [Ping timeout: 248 seconds]
tjf has quit [Ping timeout: 248 seconds]
skipwich_ has joined #osdev
fkrauthan_ has joined #osdev
Dead_Bush_Sanpa1 has joined #osdev
arminweigl_ has joined #osdev
zhiayang_ has joined #osdev
DoubleJ has quit [Ping timeout: 252 seconds]
nitrix has quit [Ping timeout: 252 seconds]
rom4ik1 has quit [Ping timeout: 252 seconds]
vai has quit [Ping timeout: 252 seconds]
moire has quit [Ping timeout: 252 seconds]
Terlisimo has quit [Ping timeout: 252 seconds]
DoubleJ7 is now known as DoubleJ
rom4ik15 is now known as rom4ik1
moire_ is now known as moire
Whooa21 has joined #osdev
pabs3 has quit [Ping timeout: 248 seconds]
Dead_Bush_Sanpai has quit [Ping timeout: 248 seconds]
PublicWiFi has quit [Ping timeout: 248 seconds]
ZipCPU has quit [Ping timeout: 248 seconds]
teroshan has quit [Ping timeout: 248 seconds]
adder has quit [Ping timeout: 248 seconds]
teroshan1 is now known as teroshan
Dead_Bush_Sanpa1 is now known as Dead_Bush_Sanpai
ZipCPU_ is now known as ZipCPU
zhiayang_ is now known as zhiayang
skipwich has quit [Ping timeout: 252 seconds]
mavhq has quit [Ping timeout: 252 seconds]
bleb has quit [Ping timeout: 252 seconds]
arminweigl has quit [Ping timeout: 252 seconds]
fkrauthan has quit [Ping timeout: 252 seconds]
sebastiencs has quit [Ping timeout: 252 seconds]
dostoyevsky has quit [Ping timeout: 252 seconds]
jeaye has quit [Ping timeout: 252 seconds]
KitsuWhooa has quit [Ping timeout: 252 seconds]
sebastiencs7 is now known as sebastiencs
fkrauthan_ is now known as fkrauthan
arminweigl_ is now known as arminweigl
Yoofie64 has quit [Ping timeout: 272 seconds]
Yoofie646 is now known as Yoofie64
Rubikoid has joined #osdev
heat_ has joined #osdev
nitrix_ is now known as nitrix
getz has quit [Read error: Connection reset by peer]
getz has joined #osdev
heat has quit [Read error: Connection reset by peer]
dostoyevsky has joined #osdev
Terlisimo has joined #osdev
bleb has joined #osdev
mcfrd is now known as mcfrdy
Starfoxxes has joined #osdev
adder_ is now known as adder
<mcrod>
hi
<gog>
hi
<gog>
are you deving an o
<gog>
sssss
<mcrod>
i'd like to one day but my girlfriend is playing sims 4 on my PC.
<mcrod>
i wish she'd get her own :(
<GeDaMo>
If wishes were fishes, we'd all cast nets :|
<zid>
It'd be cheaper to buy her a PC than a copy of sims 4 to run on it, sadly
<zid>
I played a bunch of 'The Sims' back in the day, I remember the money cheat was rosebud
<zid>
still
mavhq has joined #osdev
pabs3 has joined #osdev
<Ermine>
r/softwaregore is funny
<mcrod>
i love it
PublicWiFi has joined #osdev
jeaye has joined #osdev
goliath has joined #osdev
junon has joined #osdev
<junon>
Just trying to figure out if I have x86 interrupts/configuration more or less understood: (A)PIC and more or less IOPIC have been replaced by MSIs. Knowing where registers for configuring e.g. PICs and whatnot are platform specific, and if you don't know the addresses you're SOL. However ACPI and later UEFI came along to provide this exact configuration to the system so that you don't have to
<junon>
painstakingly configure all of that stuff, recompile, or other hacks. Is that right?
* Ermine
wants to play simcity 4
flom84 has joined #osdev
flom84 has quit [Quit: Leaving]
karenw has joined #osdev
Matt|home has joined #osdev
linear_cannon has joined #osdev
Starfoxxes has quit [Remote host closed the connection]
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
X-Scale has joined #osdev
goliath has quit [Quit: SIGSEGV]
Turn_Left has quit [Remote host closed the connection]
Turn_Left has joined #osdev
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
heat has joined #osdev
heat_ has quit [Read error: Connection reset by peer]
X-Scale has quit [Ping timeout: 256 seconds]
karenw has quit [Quit: Witty Quit Message Here]
karenw has joined #osdev
X-Scale has joined #osdev
andydude has joined #osdev
karenw has quit [Changing host]
karenw has joined #osdev
goliath has joined #osdev
hwpplayer1 has joined #osdev
memset has quit [Remote host closed the connection]
memset has joined #osdev
X-Scale has quit [Ping timeout: 256 seconds]
vdamewood has joined #osdev
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
Matt|home has quit [Quit: Science is humanity's most powerful tool, the greatest weapon at our disposal, and most importantly a way to better ourselves by questioning, reasoning, learning, experimenting, and understanding.]
Whooa21 is now known as KitsuWhooa
fedaykin has quit [Ping timeout: 265 seconds]
fedaykin has joined #osdev
manawyrm has quit [Quit: Read error: 2.99792458 x 10^8 meters/second (Excessive speed of light)]
manawyrm has joined #osdev
hwpplayer1 has quit [Quit: brb]
<heat>
junon, yes
hwpplayer1 has joined #osdev
netbsduser has quit [Ping timeout: 258 seconds]
Turn_Left has quit [Read error: Connection reset by peer]