<heat>
geist, are you still anti-C-during-early-bootup?
dutch has quit [Ping timeout: 240 seconds]
dutch has joined #osdev
<zid>
are you allowed to just go on the internet and ask people that
<Mutabah>
Not sure about geist, but I still am - I don't like the idea of using anything other than assembly before the basic environment is prepared - can lead to accidentally using functions that don't support the current incomplete environment
[itchyjunk] has quit [Ping timeout: 240 seconds]
[itchyjunk] has joined #osdev
sympt has joined #osdev
heat has quit [Remote host closed the connection]
heat_ has joined #osdev
[itchyjunk] has quit [Remote host closed the connection]
terminalpusher has quit [Remote host closed the connection]
terminalpusher has joined #osdev
<mcrod>
technical debt for us is more or less piss poor documentation
<mcrod>
but there are highly questionable things in there
<gog>
yeah our codebase is very crusty because it was built on an assumption 10 years ago that is no longer true but still forms the basis of our business process
<mcrod>
i'm an embedded developer, and we use freertos which is fine, but for some reason we're not using some functionality that already exists in there
<mcrod>
e.g. we're not using task notifications, instead we have our own weird event system
<gog>
i'm a web dev doing aspnetcore
<mcrod>
literally, just a waste of space, especially because the event system freertos provides is also compiled in.
<gog>
oof
<mcrod>
gog: i feel sorry for you
<gog>
maybe it was from before? maybe it was NIH?
<mcrod>
it was definitely NIH
<gog>
lol yeah
<gog>
i love the place i work tho
<gog>
great people
<mcrod>
yeah I wouldn't trade this place for anything
<gog>
we just have a marginal product that has a shitload of users
<gog>
so we're constantly fixing things
<gog>
hard to find time for major work
<mcrod>
because we're limited to 512KB, our codebase is fairly tight
<mcrod>
but it was definitely written by people who still think they're writing embedded software on an 8080 or something, since there's a metric fuckton of global state passed everywhere
<gog>
yikes
<FireFly>
technical depths
<gog>
global state bad
<mcrod>
well, it made sense back in the day
<zid>
global state bad from a programming perspective, from a code perspective it's what you want
<zid>
(that's basically what .data is, a big global array everything fucks with)
<mcrod>
way back yonder as far as I'm aware, global state was faster to access
<zid>
good news, it's also faster to access today
<zid>
which is why compilers don't hoist .data into pushes inside main
<gog>
the global state is the mark of the beast
<FireFly>
down with the Global State
<heat>
Big State
<zid>
You spend a lot of time when writing C, making sure the compiler properly emits global state from your nicely encapsulated non-global-state code :p
<mcrod>
zid: I think it depends
<zid>
i.e that your static int x; int get_x(void){ return x; } turns into a lea not a function call
<mcrod>
the intel software optimization guide explicitly states to avoid global pointers/variables to help with generating SIMD code for example
<gog>
solution: -mno-sse -mno-mmx
<zid>
mcrod: again, you have it inside out
<zid>
Yes, I agree
<heat>
gog, down with Big SIMD
<zid>
The *code* should not use globals.
<zid>
It helps the compiler.
<mcrod>
ah, I see what you're saying
<heat>
no one needs floating point or doing so many things at once
<mcrod>
okay, I get it
<zid>
The *machine code* will be full of globals though, as that's what you're still aiming for the compiler to ultimately produce
<heat>
should be EFI_GUID gog_guid = EFI_GOG_PROTOCOL_GUID;
<gog>
oh right
<gog>
lmao
<gog>
i can't program you know this
<heat>
or in edk2, gEfiGogProtocolGuid; would also work
<gog>
i do not compile in guids i'm not using
<Ermine>
Well, I can wrap it in EFI_GOG_PROTOCOL GetProtocol(EFI_SYSTEM_TABLE SystemTable, EFI_GUID guid) or something like this?
meisaka has quit [Ping timeout: 240 seconds]
<heat>
sure
<gog>
you need to return a pointer to the protocol though
<heat>
all of those should be pointers though!
<heat>
what is this, Java??
<heat>
OMG
<heat>
JAVA EFI!!!
<heat>
JEFI
<gog>
yes
<gog>
but how
<heat>
we shall figure it out
<gog>
let's not
<Ermine>
Everything is capitalized, so this is C#
<gog>
let's not and say we didn't
meisaka has joined #osdev
<gog>
let's not, say we didn't and resolve to never
<gog>
let
<gog>
sorry
<heat>
shut up ms "lets invoke the old IDT"
<gog>
my idea is good actually
<gog>
oh yeah i was going to work on that but i got distracted by a video
<heat>
my genius is frightening but I'm still somehow letting you get away with this
<heat>
damn you zoe bee!
<heat>
gog, did you know gnu-efi already has a PE header embedded??
<heat>
you probably only need to objcopy it to binary!
<Ermine>
standalone seems to be feasible
<Ermine>
with clang
<zid>
ah yes but nobody's asked me how my FF8 playthrough is going :(
<jimbzy>
Where are you at in the game?
<jimbzy>
Is your garden mobile yet?
<zid>
I started yesterday so, I am on the train to timer
<zid>
timber
<gog>
heat: i don't use gnu-efi
<gog>
clang clang clang
<gog>
oh dang ff8 is a game i want to play again
<gog>
been so long
<jimbzy>
Nice
<jimbzy>
zid, It's a pretty fun game, and it's in my top 5 for FF games. The magic/junction system is a bit complicated at first, but you'll get the hang of it.
dayimproper has joined #osdev
meisaka has quit [Ping timeout: 240 seconds]
meisaka has joined #osdev
<zid>
what do you mean, will get the hang of it
<zid>
I have 9999 hp
<zid>
at level 7
* AndreaB
clangs Ermine
dayimproper has quit [Ping timeout: 256 seconds]
<sham1>
msvc or go home
<bnchs>
go home
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
Gooberpatrol66 has joined #osdev
<zid>
*waits 200 million years for his chocobo to stop sucking*
bauen1 has joined #osdev
<bnchs>
screw you guys
<bnchs>
i'm going homeee
heat_ has joined #osdev
heat has quit [Ping timeout: 240 seconds]
* Ermine
gccs AndreaB
<sham1>
CHOCOBO!
<zid>
It has a creeper, a chocobo, a cactaur, and everybody's favourite, a moomba
<gog>
moogle
<zid>
no, moomba
<heat_>
clang? more like
<heat_>
clangringe
heat_ is now known as heat
<gog>
does klange use clang
<gog>
clange
<zid>
I just realized that w10 has finally integrated out of focus window scrolling
<zid>
20 years after I started installing a daemon to do it
<jimbzy>
Don't they teach the history of the TMNT in public schools?
<heat>
that monster sounds retroactively added to justify BLATANT RACISM
<Ermine>
Huh?
<Ermine>
Also, cringelang
<heat>
/s
<heat>
you fucks kill the fun out of everything
<jimbzy>
Nah, don't try to backtrack now.
<heat>
i dont backtrack, i fronttrack
<jimbzy>
You hurt my feelings. :(
<heat>
or frontrack
<heat>
jimbzy, do u want hug
<Ermine>
very fine notion of fun
<jimbzy>
You know I want a hug.
* heat
gives hug
<jimbzy>
Alright, then.
<heat>
why is linaro so confusing?
<Ermine>
linaro gcc? linaro qemu?
<heat>
it's like a company, but not really
<heat>
linaro linaro
<gog>
i want hug i want hug
* heat
gog hugs
<jimbzy>
Never heard of it, but if I had to bet I'd say it involves ARM.
<Ermine>
I've mostly heard of it in context of custom android firmwares
<zid>
This is your honzuki prepub alarm
<zid>
honzuki prepub alert
<heat>
linaro is a company that does a lot of ARM work
<jimbzy>
Hah.
<heat>
but apparently it's also a consortium fuckfest of linux loving commie corporations wanting to make ARM linux good
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
* jimbzy
pets gog.
* gog
prr
<heat>
I'm fairly sure they also hire, but they also have fucking poeple from red hat, arm on it
<heat>
it's confusing
<Ermine>
And 'linaro' meant 'they applied questionable optimizations, so this firmware is faster, but probably less stable than one built with usual gcc'
<heat>
gosh i wish i was in a consortium fuckfest of linux loving commie corporations
<zid>
more like loon-aro amirite
<Ermine>
heat: linaro is such a company?
<heat>
yep
<Ermine>
Ah, also their qemu-arm can do beaglebone black
<heat>
it has a fun history because linaro 100% did start as a literal consortium fuckfest of ARM linux people
<heat>
then became an actual company, but it's also still a fuckfest?