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