On Jun 15, 2005, at 7:12 PM, Mike Stump wrote:

On Wednesday, June 15, 2005, at 11:19  AM, Bradley Lucier wrote:
I cannot build and use (link, etc.) 64-bit shared libraries on powerpc-apple-darwin8.1.0 with gcc version 4.0.1 20050615 > (prerelease).

If you remove the # that comment out the -m64 multilibs, does it then work perfectly? If so, then, that is the solution to make it work, you just won't be able to do java (not that you care).

Thank you for your reply. I plan to test mainline after removing the #'s.

Also, I do wonder if there was a specs files that is polluting your gcc-4.0.0 build, to check that, if you want, you can install in a new prefix directory, and then see if it remains working.

Yes, it does. I did that this afternoon. There is a rather long exchange between me and Andrew in the bug report. I don't know why it works, but it does. Perhaps you might know how one can have a shared library for which otool64 doesn't report a link to libgcc_s.

Anyway, while this is a regression for you, we meant for gcc-4.0.0 to not work for -m64, so I would not expect that it'll work for 4.0.1. :-(.

I understand now that -m64 was not meant to work with Darwin. I didn't realize this before, tried it, and was happy when it worked.

I've found the discussion about 64-bit java not working, beginning at

http://gcc.gnu.org/ml/gcc-patches/2005-03/msg02396.html

The reasons given for disabling ppc64 multilib instead of java on darwin were

- it involves changing configury that affects every darwin target, not
  just darwin8
- I think that people using FSF GCC are more likely to want to use gcj
  than 64-bit, since they can use Apple's compiler for 64-bit but not
  for gcj
- java worked for 3.4, but ppc64 didn't

I think the second justification was a mistake. In my opinion, the FSF shouldn't be asking people to rely on a company's compiler for certain features (64-bit support). And Apple's 64-bit support in both Xcode 2.0 and Xcode 2.1 has been broken for me. I wasn't terribly worried since FSF gcc-4.0.0 seemed to work.

It's not clear to me that the third reason was persuasive, either. Fortran worked on 3.4, but not on 4.0.0. It's a matter of what one decides one has to break.

Would it be possible to disable multilib by default on Darwin 8, but leave it as a configure option? Then one could

./configure --prefix=/pkgs/gcc-4.0.0
make bootstrap
make install

to build a complete 32-bit compiler suite and

./configure --enable-multilib --enable-languages=c,c++,objc,objc++,f95

to build 64-bit versions of languages except java and ada.

It would be good if 64-bit applications got tested in the FSF gcc tree for darwin, too.

Brad

Reply via email to