Er, yeah... it was an abort. Guess I should use the same words as the program, hm? It didn't actually explode or anything, the abort just read like one (specifically the part where it stops at a certain sector).
Assuming the fix above works, the two builds should work identically to the way they worked in the source before I fixed it, rather than it only functioning on Windows.
If GC discs work fine, then it must only be an issue between Wii SL and DL discs. This can be fixed with -T, but I guess it wouldn't hurt to figure out what's causing it to read as DL every time. My guess is it's something in disc.c, but I'm kind of skimming the code since I don't know a whole lot about the ins and outs of disc dumping.
Edit: Just to reiterate, the program functions identically to the version already released. It works fine with no problem, the only thing that was changed was an int type. This should be compatible with Windows, so as long as it compiles there is no problem (and basically no change) and the program will function exactly the same as before, since the int type is essentially the same, just under a name GCC recognizes.
I'm just reporting a bug that Wii SL and DL discs both read as DL discs, and this applies to ALL builds of 0.5.3.