I'm trying to build VMs inside an ARM qemu image running on Debian 8 armhf for oscogvm #3686 and have a couple of questions/issues.
The first thing I ran into when building build.linux32ARM/squeak.stack.v3/build was that gcc is hard-coded to generate armv6 in the mvm script. Is this because the intention is to ensure that the resulting build works on the original Raspberry Pi or are there known issues with other architectures? I want (and for the particular ARM image I am building in, need) armv7. When I change to -march=armv7-a the VM builds without errors. But when I run it on my rpi2 the VM begins to startup (i.e. a window is created but never has a chance to redraw) and then segfaults with a Smalltalk stack trace. (this occurs both with a Cuis as well as Squeak 4.6 images) Is this a known problem?
The next item is that there are no build.linux32ARM/squeak.cog.v3/* build targets. Is this a supported configuration? Thanks, Phil
Hi Phil,
_,,,^..^,,,_ (phone)
On Apr 30, 2016, at 1:27 PM, Phil (list) pbpublist@gmail.com wrote:
I'm trying to build VMs inside an ARM qemu image running on Debian 8 armhf for oscogvm #3686 and have a couple of questions/issues.
The first thing I ran into when building build.linux32ARM/squeak.stack.v3/build was that gcc is hard-coded to generate armv6 in the mvm script. Is this because the intention is to ensure that the resulting build works on the original Raspberry Pi
Yes
or are there known issues with other architectures? I want (and for the particular ARM image I am building in, need) armv7. When I change to -march=armv7-a the VM builds without errors. But when I run it on my rpi2 the VM begins to startup (i.e. a window is created but never has a chance to redraw) and then segfaults with a Smalltalk stack trace. (this occurs both with a Cuis as well as Squeak 4.6 images) Is this a known problem?
Yes. Here's a part of a message from Ryan pointing out difficulties with the ARM build
"The build is broken on Linux ARMv7 (i.e., everyone but Raspbian). The build fails in the configure step because it includes "-march=armv6 -mfpu=vfp -mfloat-abi=hard" in the compiler flags. This is not a valid configuration for a gcc built to target ARMv7. Removing this from mvm fixes the build."
The next item is that there are no build.linux32ARM/squeak.cog.v3/* build targets. Is this a supported configuration?
AFAIA, no one's tested this, but I don't know if it won't. You might try running it in the simulator before trying to compile it.
Thanks, Phil
On 30-04-2016, at 8:55 PM, Eliot Miranda eliot.miranda@gmail.com wrote:
The next item is that there are no build.linux32ARM/squeak.cog.v3/* build targets. Is this a supported configuration?
AFAIA, no one's tested this, but I don't know if it won't. You might try running it in the simulator before trying to compile it.
Pretty sure it won’t work. Last time I checked we couldn’t make an entry sequence that would make sense and work with the size/offset discrimination used. And it really didn’t seem worth the effort to spend time on it.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: IAM: Increase Amperage Above Maximum
Tim,
On Sat, 2016-04-30 at 22:12 -0700, tim Rowledge wrote:
The next item is that there are no
build.linux32ARM/squeak.cog.v3/* build targets. Is this a supported configuration?
AFAIA, no one's tested this, but I don't know if it won't. You might try running it in the simulator before trying to compile it.
Pretty sure it won’t work. Last time I checked we couldn’t make an entry sequence that would make sense and work with the size/offset discrimination used. And it really didn’t seem worth the effort to spend time on it.
Thanks for this info... barring anyone speaking up to the contrary, I'll focus on getting the Stack VM built as Spur isn't currently an option as we haven't managed to get Cuis migrated yet.
Thanks, Phil
Eliot,
Thanks for the info...
On Sat, 2016-04-30 at 20:55 -0700, Eliot Miranda wrote:
are there known issues with other architectures? I want (and for
the particular ARM image I am building in, need) armv7. When I change to -march=armv7-a the VM builds without errors. But when I run it on my rpi2 the VM begins to startup (i.e. a window is created but never has a chance to redraw) and then segfaults with a Smalltalk stack trace. (this occurs both with a Cuis as well as Squeak 4.6 images) Is this a known problem?
Yes. Here's a part of a message from Ryan pointing out difficulties with the ARM build
"The build is broken on Linux ARMv7 (i.e., everyone but Raspbian). The build fails in the configure step because it includes "- march=armv6 -mfpu=vfp -mfloat-abi=hard" in the compiler flags. This is not a valid configuration for a gcc built to target ARMv7. Removing this from mvm fixes the build."
Unfortunately removing the compiler flags had no effect: the VM still appears to build correctly but segfaults shortly after loading the image. Any additional tips/pointers are greatly appreciated.
Thanks, Phil
vm-dev@lists.squeakfoundation.org