32 bit native apps on 64 bit build

View: New views
3 Messages — Rating Filter:   Alert me  

32 bit native apps on 64 bit build

by Patrick Shirkey :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I mentioned on the pulse list that jack has native support for running
32 bit apps on the 64 bit build.

Can someone give me a basic overview of the logic that goes into making
this happen at it seems that some of the pulse guys haven't heard about
this.


Cheers.

--

Patrick Shirkey
Boost Hardware Ltd

_______________________________________________
Jack-Devel mailing list
Jack-Devel@...
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org

Re: 32 bit native apps on 64 bit build

by Paul Davis :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Aug 9, 2009 at 10:45 AM, Patrick
Shirkey<pshirkey@...> wrote:
> Hi,
>
> I mentioned on the pulse list that jack has native support for running 32
> bit apps on the 64 bit build.
>
> Can someone give me a basic overview of the logic that goes into making this
> happen at it seems that some of the pulse guys haven't heard about this.

there's no "logic".

its a question of making sure that the *internal* API of JACK doesn't
contain any places where the server and the client(s) share a data
structure in memory that contains pointers (or various other data
types). the expected size of these pointers/data types would be
different in a 32 bit application than in a 64 bit application,
leading them (or rather the compilers used to build them) to disagree
about where elements of that data structure are in memory. this would
in turn lead to odd behaviour, memory corruption etc. etc.

so the JACK implementation was changed to remove any such
pointers/data types, meaning that 32 bit apps (i.e. linked against a
32 bit libjack) and a 64 bit server (linked against a 64 bit libjack
OF THE SAME VERSION) agree on how the shared memory data structures
are arranged in memory.

--p
_______________________________________________
Jack-Devel mailing list
Jack-Devel@...
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org

Re: 32 bit native apps on 64 bit build

by Patrick Shirkey :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On 08/10/2009 03:57 AM, Paul Davis wrote:
On Sun, Aug 9, 2009 at 10:45 AM, Patrick
Shirkeypshirkey@... wrote:
  
Hi,

I mentioned on the pulse list that jack has native support for running 32
bit apps on the 64 bit build.

Can someone give me a basic overview of the logic that goes into making this
happen at it seems that some of the pulse guys haven't heard about this.
    

there's no "logic".

its a question of making sure that the *internal* API of JACK doesn't
contain any places where the server and the client(s) share a data
structure in memory that contains pointers (or various other data
types). the expected size of these pointers/data types would be
different in a 32 bit application than in a 64 bit application,
leading them (or rather the compilers used to build them) to disagree
about where elements of that data structure are in memory. this would
in turn lead to odd behaviour, memory corruption etc. etc.

so the JACK implementation was changed to remove any such
pointers/data types, meaning that 32 bit apps (i.e. linked against a
32 bit libjack) and a 64 bit server (linked against a 64 bit libjack
OF THE SAME VERSION) agree on how the shared memory data structures
are arranged in memory.
  


IIUC this is how pulseaudio is designed already. Thanks for clarifying.




Patrick Shirkey
Boost Hardware Ltd




_______________________________________________
Jack-Devel mailing list
Jack-Devel@...
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org