This page is a wiki. Please login or create an account to begin editing.


23 posts / 0 new
Last post
Kitchen2010's picture
Offline
Joined: 2012 Aug 9
"IBM XL C/C++ Advanced Edition 6.0 for Mac OS X" and "IBM XL Fortran Advanced Edition 8.1 for Mac OS X"

I am searching the Releases of IBM's C/C++ and Fortran compilers for the Mac OS X:
• "IBM XL C/C++ Advanced Edition 6.0 for Mac OS X"
• "IBM XL Fortran Advanced Edition 8.1 for Mac OS X"

They were released by IBM in October 2004 with the then new PowerMac G5 in mind, but working also on the G4. Because of IBM's knowledge of its own PPC processors, the compiled code for the G4 and G5 is much faster than the same code compiled with the standard gcc compiler, as supplied by Apple, while being source- and binary-compatible to it (same situation as for the x86 processor series with Intel compiler vs. Microsoft compiler).
The compilers had to be ordered at IBM, I think.

After Apple's switch from PPC-based to x86-based Macs in 2006, the IBM compilers were not longer available (there are now Intel compilers for C/C++ and Fortran available for Mac OS X instead). They were discontinued and are to be considered abandonware (latest versions of the compilers are for AIX, Linux and mainframes only (XLC: 12.1, XLFortran: V14.1)).

So my question is:
Did somebody use these compilers and can supply me a copy, or better upload it to this site ?
It would be very useful by enabling PPC developers to make some software faster just by its better compiling technology.

Information links:
IBM XL C/C++ Advanced Edition 6.0 for Mac OS X":
Overview
Help
Information PDF
"IBM XL Fortran Advanced Edition 8.1 for Mac OS X":
Overview
Help
Information PDF

Comments

8bitdad's picture
Offline
Joined: 2010 Feb 11

Even if you can find it, I think licensing will be an issue. I'm not sure what they used for license management back then, but today they use FlexLM.

Kitchen2010's picture
Offline
Joined: 2012 Aug 9

Licensing is no issue if you got the CD. IBM sold the license for its Mac OS X compilers only for 1 user, delivered with the install CD. You had only to pay per year for support and SW maintenance. Once you had the Install CD, you could order additional licenses, though. (See Overview links in the above post, section "Passport Advantage Licensing").

As you may read in the help files (you just have to install the delivered License file on the CD with the program files, as is done by the Standard Installer).
The License file is named "xlf.lic " for the Fortran compiler and "vac.lic.pkg " for the C/C++ compiler respectively.
(see in the section "installation procedures" and "installation guide" Help documentation here: C/C++ compiler and Fortran compiler)

Kitchen2010's picture
Offline
Joined: 2012 Aug 9

There has been also an update for both compilers in 2004, featuring:
* Xcode templates
* compiler option for preview 32bit-to-64bit-transition problems

(see: http://lists.apple.com/archives/fortran-dev/2004/Oct/msg00001.html)

The Runtime environments and some updates are available here:
C/C++ compiler, Fortran compiler

I found also the news of product discontinuation here.

The compilers worked for Mac OS X 10.2 Jaguar and Mac OS X 10.3 Panther, for Mac OS X 10.4 Tiger, I found here a work-around.

Here is a report about the possible speed-ups versus the standard gcc compiler:
"Current GCC vs XLC performance comparisons show optimized GCC vs optimized XLC compiles showing improvements of anywhere from 11% to 51% on SPECint2000 scores. For floating point performance, the difference is even more extreme - more of the numbers are over the 50% mark than under; the G4/G5 have always had stronger floating point, and now the compiler backs that up with the appropriate optimizations to make use of the unique features of the architecture that enables that to be true."

Kitchen2010's picture
Offline
Joined: 2012 Aug 9

In meantime, I found all the compiler updates on the IBM FTP server.
C/C++ compiler updates:

ftp://ftp.software.ibm.com:21//aix/products/ccpp/ptfs/vacpp.60.macosx.ma...
ftp://ftp.software.ibm.com:21//aix/products/ccpp/ptfs/vacpp.cmp.60.macos...
ftp://ftp.software.ibm.com:21//aix/products/ccpp/ptfs/vacpp.cmp.60.macos...
ftp://ftp.software.ibm.com:21//aix/products/ccpp/ptfs/vacpp.cmp.60.macos...

Fortran compiler updates:

ftp://ftp.software.ibm.com:21//aix/products/ccpp/ptfs/xlf.81.macosx.mar2...
ftp://ftp.software.ibm.com:21//aix/products/ccpp/ptfs/xlf.cmp.81.macosx....
ftp://ftp.software.ibm.com:21//aix/products/ccpp/ptfs/xlf.cmp.81.macosx....
ftp://ftp.software.ibm.com:21//aix/products/ccpp/ptfs/xlf.cmp.81.macosx....
ftp://ftp.software.ibm.com:21//aix/products/ccpp/ptfs/xlf.cmp.81.macosx....
ftp://ftp.software.ibm.com:21//aix/products/ccpp/ptfs/xlf.cmp.81.macosx....

All the Manuals are available here: C/C++ compiler and Fortran compiler.

Kitchen2010's picture
Offline
Joined: 2012 Aug 9

I set up 2 pages for the both compilers for future reference, I am still hoping someone to upload these compilers:
http://macintoshgarden.org/apps/ibm-xl-cc-advanced-edition-60-mac-os-x
http://macintoshgarden.org/apps/ibm-xl-fortran-advanced-edition-81-mac-os-x

unixphreak's picture
Offline
Joined: 2009 Oct 18

http://macintoshgarden.org/apps/ibm-xl-cc-compiler-60-beta-macos-x
http://macintoshgarden.org/apps/ibm-xl-fortran-compiler-81-beta-macos-x
these have been up for a bit, did you post them?

Jatoba's picture
Offline
Joined: 2018 Apr 16

It was a user named tienex.

We should mirror the IBM FTP updates to these pages, as well, while they are available.

rjamorim's picture
Offline
Joined: 2020 May 13

Enjoy!
https://rarewares.org/rja/IBMXLC-MacOSX-6.0.dmg

And please mirror it soon, I'd rather not leave it at my server for a long time

(sorry if I don't do it myself, I'm new here and still learning things)

Jatoba's picture
Offline
Joined: 2018 Apr 16

Wow! Savior! Laughing out loud Thank you so much!!!

Would you also happen to have the FORTRAN counterpart?

rjamorim's picture
Offline
Joined: 2020 May 13

My pleasure! Glad to be of assistance

Sadly no... Never had much use for FORTRAN, myself

rjamorim's picture
Offline
Joined: 2020 May 13

And I just realized I likely won't be able to use this compiler. I have Tiger (installed on QEMU) and it seems to only work on Jaguar and Panther.

There was a workaround to make it work on Tiger linked at the program page, but the link is gone and not even archive.org has a mirror
http://www.macresearch.org/using_ibm_xlc_on_tiger

I could maybe install Panther but... so much trouble! Tongue

Jatoba's picture
Offline
Joined: 2018 Apr 16

Actually, I didn't pay enough attention at first, but earlier in this thread, it was mentioned someone had already uploaded some version of the compilers in two different pages (here for C/C++ and here for FORTRAN), but I wonder if your version contains differences. (Even if they are the same, your contribution is nonetheless greatly appreciated! It's a new source to verify things against.)

In the other page (which is a duplicate and as such should eventually be merged), it states the following regarding running the compiler on Tiger and Leopard:

MacOS X 10.4, 10.5. MacOS X 10.5 requires you to create a dummy crtbegin.o in /usr/lib. You can use "cat /dev/null | gcc -arch ppc -arch i386 -arch ppc64 -x c -o crtbegin.o -c -" and copy the resulting object in /usr/lib.

You can try and see if that works for you on your QEMU setup. Smile Hopefully this is just what you'll need.

rjamorim's picture
Offline
Joined: 2020 May 13

Ha! It worked! Thank you very much!

Worth mentioning, I also had to execute
$ vac_configure -gcc /usr -install
as root, because the default configuration file comes with some Panther defaults

And about my version versus the other version: it seems to me that version is a beta. As far as I can tell, mine is the final version (so much so, the dmg image contains a folder "August2003BetaRemoval" with an uninstaller application)

Jatoba's picture
Offline
Joined: 2018 Apr 16

Glad to see it worked. Smile And it's really epic what you uploaded is the final version! That means the search for the final FORTRAN version is still on...

I can see myself using the C compiler at some point (not so much the FORTRAN one). So on a personal level I'm really glad to see this here.

rjamorim's picture
Offline
Joined: 2020 May 13

Also worth mentioning: as far as I can tell (and I searched a lot), this compiler does not generate any kind of 64-bit code. Which sucks, considering it claims to support PowerPC G5 processors
http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an...

Also, the GCC that comes with XCode 2.5 can generate 64-bit PPC object code without problem.

Jatoba's picture
Offline
Joined: 2018 Apr 16

Wow, that's... unexpected. Not even an optional compiler flag to specify PPC64?

I honestly assumed it was most likely going to be "64-bit first, 32-bit only if specified", so that's a surprise. Makes me wonder what the chances are of compiling some C program with this with the intent to target, say, Mac OS 9.

rjamorim's picture
Offline
Joined: 2020 May 13

I read much of the PDF documentation that comes with it, the man pages (which is actually what is displayed if you run $ xlc without arguments), tried some compiler switches targeting ppc970 processors... nothing worked. And couldn't find any mention of 64 bits at all in the documentation. I'm 90% positive this compiler is 32-bit only. But I would love to be proven wrong!

And it only generates executables that run on Mac OS X (Mach-O executables, Unix system calls...). If you want to target OS 9, you're better off with CodeWarrior

Jatoba's picture
Offline
Joined: 2018 Apr 16

Yeah, quite strange these would be 32-bit only, when the resulting executables are all Mach-O. I guess one way to see it so that it sort of makes sense is that the Mac OS X GUI APIs were all 32-bit-only, and that only changed with 10.5 Leopard. Which is a shame, as Tiger did have full 64-bit support for processes as long as they didn't use the OS X GUI API. I think Panther had some limited 64-bit compatibility, too. (No idea about Jaguar.)

I was curious about Mac OS 9 support because I wanted to compare binaries resulting from C code that were compiled with MrC (MPW), CodeWarrior and this guy here, but I guess it will be exclusively a MrC / CodeWarrior showdown. Tongue (Unless if CodeWarrior also uses MrC for C... case in which there won't be much of a showdown left. Or is it GCC?)

hamburger's picture
Offline
Joined: 2020 May 9

Um, hi (I'm new here, used this site for years without registering though)

I think there's a misunderstanding here with what "G5 support" consists of.

Given this compiler effectively supports 10.2 and 10.3 as a target, it's predictable it doesn't produce 64-bit executables. It simply predates tiger support (tiger being the first to officially support 64-bit executables, with somewhat big limitations).

Outside of 64-bit executables, what G5 support means is extra machine instructions not supported by the G4 and its predecessors. Most prominent example is of course 64-bit instructions and 64-bit general purpose registers.

This is distinct from 64-bit executables: memory pointers are 32-bit (address) but the processor itself can handle values that are 64-bit (data). This means you can manipulate 8 bytes at once instead of 4 like 32-bit processors, which can be more efficient.

A good example of software that does it this way is Tenfourfox: its G5-optimized build is a 32-bit G5-only exectuable. It features 64-bit code, but is a 32-bit application.

Jatoba's picture
Offline
Joined: 2018 Apr 16

Oh, interesting, I never thought about it that way. And now that I think about it, the PowerPC ISA contains a few extra instructions that are available on G5 (and later), but not earlier PPC processors. So if the compiler supports those, even if addressing is 32-bit, I guess that would qualify it as a "G5 app" when an app uses them.

Is there any reason TFF doesn't go "full 64-bit" for its G5 version, by the way? Full 64-bit addressing and all.

hamburger's picture
Offline
Joined: 2020 May 9

Main reason is its use of carbon calls for cocoa deficiencies, since apple never made a 64-bit carbon framework. Even with that, 64-bit cocoa shipped with 10.5+ only so I guess it only made sense to use carbon..

Jatoba's picture
Offline
Joined: 2018 Apr 16

That explains everything. Thanks. Smile