I don't have an OS X installation, but FWIW:
On 32-bit OS X installations,
sizeof(long)
should be 4 (32 bits), and on 64-bit OS X installations (only available with OS X Tiger v10.4 and newer),
sizeof(long)
should be 8 (64 bits). 32-bit OS X uses ILP32 model, and 64-bit OS X uses the LP64 model just like GNU/Linux, Solaris and virtually any other available Unix and Unix-like system that is 64-bit. If you're reasonably interested in the reason behind the change for UNIX (not OS X-specific), check out
http://www.unix.org/version2/whatsnew/lp64_wp.html.
Regardless of whether your processor is 64-bit capable or not, if you are using a 32-bit kernel, then you will be limited to 32-bit programs that use the ILP32 data model. Otherwise you are using the LP64 data model (on most 64-bit Unix and 64-bit Unix-like installations). Of course, this shouldn't be a problem on a Mac. Certain processors are released with certain machines, and since you are running an Intel Core 2 Duo, you should be running a 64-bit kernel.
Warning about OS X Snow Leopard (v10.6):
If you're running Snow Leopard, it apparently defaults to a 32-bit kernel. Click on the Apple menu and choose "About This Mac", then click the "More Info..." button. Click on the "Software" category and in the "System Software Overview" find the "64-bit Kernel and Extensions" item. If it says "No" then you are running in 32-bit mode, in which case you should reboot and hold down the "6" and "4" keys during the boot. Go back to the item and it should say "Yes".
- Source:
http://www.askdavetaylor.com/snow_leopard_running_32_bit_64_bit_32bit_64bit.html
For more details on the specifics of the data type models and sizes used in OS X, check out
http://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/64bitPorting/transition/transition.html#//apple_ref/doc/uid/TP40001064-CH207-CHDGGBDA