[Vm-dev] CameraPlugin segmentation fault on 64-bit Linux
Eliot Miranda
eliot.miranda at gmail.com
Sun Apr 30 20:25:33 UTC 2017
How Daniel,
second attempt to avoid autocorrect ...
> On Apr 29, 2017, at 9:08 AM, Daniel Drake <drake at endlessm.com> wrote:
>
>
> Hi Dave,
>
>> On Sat, Apr 29, 2017 at 9:58 AM, David T. Lewis <lewis at mail.msen.com> wrote:
>> I don't think that the camera plugin was ever made 64-bit clean. A bug report
>> is at http://bugs.squeak.org/view.php?id=7816
>>
>> This would be a good project for an interested volunteer :-)
>
> I'm an interested volunteer, knowledgeable of 32 vs 64 bit challenges
> but with no squeak-vm experience. Can you briefly provide some
> direction of where to start here?
Hi Daniel,
this will get you started with building a tip VMMaker image:
http://www.mirandabanda.org/cogblog/build-image/
There is a glitch. The scripts don't currently download a vm for you but you can build your own in the context of the repository or you can download a vm from bintray or use the vm you're using now. The script explains how to substitute a vm.
There are workspaces in the image that describe how to generate sources.
If you look in the archives for the list you should find discussion of making sources 32-bit clean and using sqIntptr_t as the type for a parameter that takes a Smalltalk oop in both 32 and 64 bits.
It's likely that headers and support code that use int parameters have to be changed to use sqInt or sqIntptr_t, depending on whether they actually receive an oop or a pointer. The issue being, as I'm sure you're aware, that Mac & Linux are LP64, whereas windows is LLP64.
>
> Are there any other plugins that have previously been made 64-bit
> clean? (Maybe there is a similar example in svn history and I can find
> some direction from that.)
Yes. If you build a 64-bit vm you can see the plugins that have been built. As David said, many plugins had to have their glue code, typically defined in platforms/Cross/plugins/SomePlugin/SomePlugin.h, redefined to be usable in both 32 and 64 bits. In the old days int was used for almost everything. I think I'm correct in thinks my that we've rewritten all the used plugins.
And welcome! It's great to have another set of hands. Thank you!
>
> Thanks
> Daniel
_,,,^..^,,,_ (phone)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20170430/78c19e2a/attachment.html>
More information about the Vm-dev
mailing list