Dude, when I released the open source HBC (and made a point of trying to build it with the latest devkitPPC/libogc) I had to spend an hour changing a metric fuckload of of types/printf stuff that had changed. Worked on Dolphin but others said not on real HW.
-
-
Like, sorry, but there is *no* excuse for changing the size of core types on an established platform. That's a fucking massive ABI-breaking change. You just don't do that.
2 replies 0 retweets 0 likes -
Just looked at the diff again and "s32/u32" went from being typedef "[unsigned] int" to typedef "long [unsigned] int". Not sure if that caused the aforementioned breakage, but that change alone was a major pain in the ass since it spewed warnings for basically every printf.pic.twitter.com/9kRdlhlgpj
1 reply 0 retweets 0 likes -
And yes I know both are 32 bits on this platform, but that doesn't mean they're freely interchangeable. And this isn't the only issue; basically every HBC release we've had where we updated libogc/devkitPro at the same time, we had to fix *some* breakage.
1 reply 0 retweets 0 likes -
Replying to @marcan42 @hedgeberg
Well *exactly* Marcan. It doesn't mean they're freely interchangeable and the warnings you refer to are because of somebody's code being written as if they are.
2 replies 0 retweets 0 likes -
And you know what. It's regrettable that things break with updates but it's unreasonable to expect that *everything* works OOB with new binutils/gcc/newlib combinations.
1 reply 0 retweets 0 likes -
Replying to @davejmurphy @hedgeberg
Your statistics are way off. I run Gentoo Linux. I compile all my software. Yes, GCC updates break stuff all the time - for a *tiny* fraction of software. And I run many orders of magnitude of code on my system than exist in all of Wii homebrew.
1 reply 0 retweets 0 likes -
Replying to @marcan42 @hedgeberg
I expect the quality of code in Gentoo is much higher than it is in homebrew land though given the constant recompiling ...
1 reply 0 retweets 0 likes -
Replying to @davejmurphy @hedgeberg
It's general open source code, and believe me some of it is total crap. But it's extremely rare for GCC updates to break things, outside of a few big C++ ABI changes and blatant undefined behavior/broken code. Nobody's ever changed the int32_t typedef, that's for sure.
1 reply 0 retweets 0 likes -
Replying to @marcan42 @hedgeberg
You reckon? https://devel.rtems.org/ticket/3384 And there's some interesting stuff if you dig around in here https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01441.html … It's a long standing weirdness with gcc/newlib on 32bit platforms afaict. https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01555.html … is of particular interest
1 reply 0 retweets 0 likes
I meant on desktop linux/glibc. Yeah, newlib has always had some, er, "interesting" quirks (which is why I avoid it for baremetal stuff if at all possible... I'd much rather drop in printf.c and malloc.c than have to deal with that ball of hair).
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.