[PD-dev] Pd for 64-bit linux

guenter geiger geiger at xdv.org
Sun Aug 15 13:34:43 CEST 2004


On Sat, 14 Aug 2004, Miller Puckette wrote:
> Hi  developers,
>
> I don't have a 64-bit machine handy but would like to try to make Pd
> runnable on 64-bit linux... I looked in Pd-devel and saw that some, but
> not all, of the "%x" formatting in calls to sys_vgui() was changed to "%lx",
> like this:
>
> sprintf(buf, ".x%lx", (t_int)owner);
>
> but that most of the time, pointers are simpy fed to "%x" like this:
>
> sys_vgui(".x%x.c focus %s\n", canvas, x->x_tag);
>
> I think the correct thing would be as in,
>
> sys_vgui(".x%lx.c focus %s\n", (t_int)canvas, x->x_tag);
>
> which is to say, explicityly type "canvas" (or other pointers) to pointer-size
> integers and then feed to "%lx" format.  But before I make this change
> systematically (hundreds of lines affected) I thought I should ask: do we
> think this is the most portable formulation?

Hi,

I made pd 64 bit clean for the Debian package and I tested it on my alpha.
I have not checked in the changes, though.

Well, basically what I did is changing %x to %lx (for pointers
this works without casts). When casts were needed I used
(t_int), which I typedef'd to long, because long is the size of
a pointer (don't know where this information comes from though,
its true in practice, if it is a "C" standard, hmm, don't think so).

If you do not change the typedef in m_pd.h, the compiler complains
about int type and long int format.

I will prepare a patch until tomorrow, if you like. Probably this would
be a good occasion to import 0.38 into the CVS, I am going to reply
on the CVS organisation in my next message.

Guenter

>
> thanks
> Miller
>
> _______________________________________________
> PD-dev mailing list
> PD-dev at iem.at
> http://iem.at/cgi-bin/mailman/listinfo/pd-dev
>






More information about the Pd-dev mailing list