64-bit Growl, take 4

3 views
Skip to first unread message

Nick Zitzmann

unread,
Feb 7, 2009, 11:40:49 PM2/7/09
to growl-de...@googlegroups.com
OK, in this patch I've made all the changes Bored Zo wanted me to
change. All floating point constants (with some exceptions, mainly in
classes that deal with NSAnimation, which strictly uses floats) are
now written out as doubles, are compiled as doubles on 64-bit, and are
compiled as floats on 32-bit through the -fsingle-precision-constant C
flag. GrowlHelperApp now correctly exports its symbols so that plugins
can load. UDPPort is now an unsigned short. Some signed integers are
now unsigned. The preference pane is built 32-bit only, because a 64-
bit build would waste space.

And yes, I tried throughout to retain backward compatibility with
Panther, which is why +numberWithInteger: and a few other Leopard-only
things are 64-bit only. But I don't have any way of testing this...

Nick Zitzmann
<http://seiryu.home.comcast.net/>

64bitv4.patch

Tony

unread,
Feb 12, 2009, 9:05:03 PM2/12/09
to Growl Development
I've given the whole suite a run through - everything currently
builds, however it appears that for some reason the symbols for
GrowlApplicationBridge are not exported by the framework under x86_64.
I haven't had much time to look at why yet, and I've no idea if it
occurs under ppc64 as well.

Nice work :)

-Tony
>  64bitv4.patch
> 200KViewDownload
>
>

Nick Zitzmann

unread,
Feb 12, 2009, 9:18:22 PM2/12/09
to growl-de...@googlegroups.com

On Feb 12, 2009, at 7:05 PM, Tony wrote:

> I've given the whole suite a run through - everything currently
> builds, however it appears that for some reason the symbols for
> GrowlApplicationBridge are not exported by the framework under x86_64.
> I haven't had much time to look at why yet, and I've no idea if it
> occurs under ppc64 as well.


That's because of a change Apple made to the way 64-bit applications
are built. 32-bit applications always make their symbols available,
but 64-bit applications always hide them, I'm guessing for security
reasons.

To work around this, you can either set the visibility of the symbols
to "default" (see the GCC manual for details), or build the entire app
with the "-fvisibility=default" C flag.

Nick Zitzmann
<http://seiryu.home.comcast.net/>

Tony Arnold

unread,
Feb 12, 2009, 9:24:53 PM2/12/09
to growl-de...@googlegroups.com
Hi Nick,

That worked perfectly - thanks!


-Tony

Reply all
Reply to author
Forward
0 new messages