-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PowerPC OSX support #43
Comments
I don't have any experience with OSX or Macs of any description, but I'd have expected this to work. Can you copy and paste the command you're using to run beebasm into this issue just in case there's something odd? You could also do a debug build (add '-g' in both CXXFLAGS and LDFLAGS in the Makefile, I think) and see if that helps. You could also try running a debug build under gdb. Just prefix the command with 'gdb --', e.g. 'gdb -- beebasm blah blah', then type 'run' at the gdb prompt. If it does the fan ramping up thing wait a bit, type CTRL-C to interrupt it and then type 'bt' to get a backtrace so we can see what it's doing when it's stuck. Please copy and paste any output here. You could also try posting over on stardot; a lot more people will see it there and it's quite likely there'll be someone with PowerPC OSX experience. This thread is probably a good place: https://stardot.org.uk/forums/viewtopic.php?f=55&t=12199 |
The command I'm using is just beebasm -i helloworld.asm I'll probably post about it on Stardot tomorrow |
Thanks for trying that anyway. Looking at the pastebin, I probably told you the wrong invocation for gdb - it says "Excess command line arguments ignored. (helloworld.asm)". You probably need to do "gdb --args beebasm -i helloworld.asm" instead. Sorry about that! Feel free to post the results of that here if you like and/or post to stardot; I'll be watching the thread there anyway. |
Ah, that does seem to have worked. Here's the backtrace:
Previous frame identical to this frame (gdb could not unwind past this frame) Edit:
|
Thanks. That's weird, even if it's throwing an exception (which it probably shouldn't, since this is helloworld.asm and it assembles fine on other machines) you'd think it would just terminate the execution instead of hanging. Please do post this on stardot when you get a chance, I think there will be some Mac users over there who can help. Maybe there's some obscure command line switch needed when compiling, though I really can't think why - as I say, beebasm is not particularly exotic code. |
I don't have a Mac either, let alone a Power PC one. Looking at the backtrace it appears an exception is being thrown. As to why unwinding the stack gets stuck in a loop I wonder if this is because the stack has become corrupted? Is there an off-by-one issue that doesn't matter on Intel because of the way variables are aligned but causes stack corruption on Power PC? Where is hello.asm from? I am wondering about non-ASCII characters in the input - sometimes office programs (including e-mail clients) "helpfully" convert standard ASCII punctuation into Unicode typographically correct punctuation and I am wondering about that as both the source of an exception and because UTF-8 strings can have a different number of bytes/characters. |
helloworld.asm is just a simple hello world program I wrote. Here it is: |
Thanks for posting that - it looks absolutely fine to me, no top-bit set characters, and I've confirmed it assembles fine on my x86 Linux machine. |
Could be an endian issue. I believe OSX uses PowerPC in big-endian mode. And X86 is little-endian. |
That's what I had assumed, plus the 6502 is little-endian as well. |
BeebAsm appears to build with no errors on my iMac G5 (OSX 10.5.8), but whenever I try to assemble something, the fans ramp up quite a bit and it hangs indefinitely
The text was updated successfully, but these errors were encountered: