-
Notifications
You must be signed in to change notification settings - Fork 11
ARM Support #8
Comments
Hi Joshua! That said, what you quoted here looks strange and quite surprising to me; I think it qualifies quite well for a question that could be asked on golang-nuts if you cared. I think it has some chance of being result of some bug in Go's internal C compiler. On the other hand, it could maybe be related somehow to matters of hardware/software floating point on ARM (?). Regardless, I would also advise you to try to checkout locally an earlier version of the github.com/akavel/gostdc project (specifically, revision akavel/gostdc@c33937a). There's very high chance the above issue would disappear then (although something else might surface as broken). Finally, it would be somewhat helpful (especially if you plan to ask on golang-nuts) if you could provide information about: Go version you're using, the exact ARM you're using, result of By the way, thanks for reaching out to me! I'm actually quite interested in making the project run on ARM sooner or later, and the error you quoted surprises me and piques my curiosity! Please let me know if you post the question on golang-nuts, I'd be very interested to read any answers, and to be sure I don't overlook this thread. |
Glad to hear you're interested in getting this working on ARM! Here's the test program I'm trying to build, which runs fine on x86:
I also tried checking out the version of akavel/gostdc you linked to above, but got the same results. I am testing on a Raspberry Pi, and here is the output of
Any ideas where to start looking for the problem? If not, I'll probably ask this on golang-nuts like you suggested. I might also be able to get an ARM board set up for testing, I'll get back to you on that. |
You still didn't provide "go version" output, which would be also important information I suppose; but that said, my most important immediate follow up is, that I originally supposed that the |
Hm, from quick googling, the error seems to originate from the 5l command, in current release (Go 1.2.1) this is located in src/cmd/5l/span.c line 652. However, for Go 1.3 the span.c file seems to have disappeared from src/cmd/5l/, which may be connected with the major refactorings and redesigns in Go compilers & linkers. Given that, it might be also worthwhile to try and build the current Go 1.3 beta from source, and then try to compile the goluago app again with it. But there's also notable probability that the problematic linker code might just have moved around to somewhere else. By the way, goluago seems to somewhat stress-test Go's C compiler/linker infrastructure, as it has already found one bug there and one "peculiarity" (namely, a pre-ANSI-C behavior). |
Sorry, for some reason I thought the version was in the |
I tried building with Go 1.3, and got some different errors. Running
Trying again with revision
And then I get these two lines near the end:
I found an old issue here (also here [plan9]) that suggests the problem is with 5c not being able to handle ternary conditionals. |
I got the same result as @jcelliott with his test code on Go 1.2.1. I'm building Go 1.3 beta right now and I'll let you know the results when it's done. I'm interested in in porting luna (a prettier interface to golua) to |
Alright, I have the same results as @jcelliott. If I get time, I'll try converting the ternaries to if/else statements and make a PR if that fixes it. I'll look into getting it up on a public address so you can take a crack at it. |
Thanks for your interest in goluago! |
I know goluago does not advertise ARM support yet, but how much work would it be to add it?
Currently, compiling a go program that imports goluago on ARM gives the following output:
The text was updated successfully, but these errors were encountered: