I'll try making a PR now to fix that. On Mon, Feb 26, 2018 at 10:19 AM, Guillermo Polito < [email protected]> wrote:
> Hmm, wait, I think these are two different issues :) > > I managed to successfully use OSSubprocess in 64bits with some tweaks. The > problem is that OSSubprocess does some manual type coertions like assumming > 32 bits: > > collectArgumentPointersInto: aPointer > [...] > aPointer nbUInt32AtOffset: (self argVArguments size - 1) * self > systemAccessor sizeOfPointer put: 0 > > That should probably be replaced by: > > aPointer platformUnsignedLongAt: (self argVArguments size - 1) * self > systemAccessor sizeOfPointer put: 0. > > > Now, those methods depend on UFFI, having UFFI is a must for OSSubprocess. > > On Thu, Feb 22, 2018 at 7:07 PM, Alistair Grant <[email protected]> > wrote: > >> >> Hi Eliot, >> >> On 21 February 2018 at 18:56, Eliot Miranda <[email protected]> >> wrote: >> > >> > Hi Alistair, >> > >> > On Wed, Feb 21, 2018 at 9:31 AM, Alistair Grant <[email protected]> >> wrote: >> >> >> >> Yep, OSSubprocess doesn't work on 64 bit VMs at the moment. >> >> >> >> Eliot, Mariano has indicated he's waiting on >> >> https://github.com/pharo-project/pharo-vm/pull/142 >> >> Do you know of a reason why it shouldn't be merged? >> > >> > >> > Well, the changes to FilePlugin.class belong in VMMaker.oscog. >> >> Good point. I'm embarrassed to say I didn't look at the code, just >> the comments. >> >> >> > And cfileRecordSize doesn't make sense , since all pointers are of the >> same size in C: >> > >> > cfileRecordSize >> > + "Return the size of a stdio FILE* handle" >> > + <option: #PharoVM> >> > + <static: false> >> > + ^self sizeof: #'FILE*' >> > >> > I would simple use (self sizeof: #'void *') or (self sizeof: #'FILE *'). >> >> Yep - although this could use <inline: #always>. >> >> >> > Other than that I can't see any problems. >> >> I've sent Mariano a message asking him to clarify what he needs from >> this PR. I'll follow up again after he replies (I'm keen to see >> OSSubprocess on the 64 bit VM). >> >> Thanks! >> Alistair >> >> >> >> >> >> Thanks, >> >> Alistair >> >> >> >> >> >> >> >> On 21 February 2018 at 18:22, phideaux <[email protected]> wrote: >> >> > When trying the simple example (ls -la /Users) in Pharo 6.1 64bit >> you get a >> >> > talkback because >> >> > ExternalAddress integerAt:put:size:signed: fails using >> >> > 'primitiveFFIIntegerAtPut' in module 'SqueakFFIPrims' >> >> > >> >> > Something to do with OSSubprocess not accommodating 64 bit pointers >> perhaps? >> >> > >> >> > Same code works fine on 32bit version. >> >> > >> >> > VM is CoInterpreter VMMaker.oscog-eem.2254 Jul 20 2017 for macOS >> downloaded >> >> > from pharo.org/downloaded page >> >> > >> >> > Regards, >> >> > Jay+ >> >> > >> >> > >> >> > >> >> > -- >> >> > Sent from: http://forum.world.st/Pharo-Sm >> alltalk-Developers-f1294837.html >> >> > >> >> >> > >> > >> > >> > -- >> > _,,,^..^,,,_ >> > best, Eliot >> > >> > > > > -- > > > > Guille Polito > > Research Engineer > > Centre de Recherche en Informatique, Signal et Automatique de Lille > > CRIStAL - UMR 9189 > > French National Center for Scientific Research - *http://www.cnrs.fr > <http://www.cnrs.fr>* > > > *Web:* *http://guillep.github.io* <http://guillep.github.io> > > *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013> > -- Guille Polito Research Engineer Centre de Recherche en Informatique, Signal et Automatique de Lille CRIStAL - UMR 9189 French National Center for Scientific Research - *http://www.cnrs.fr <http://www.cnrs.fr>* *Web:* *http://guillep.github.io* <http://guillep.github.io> *Phone: *+33 06 52 70 66 13
