4.0.0->4.0.1 regression: Can't use 64-bit shared libs on powerpc-apple-darwin8.1.0
Bradley Lucier
lucier@math.purdue.edu
Thu Jun 16 01:37:00 GMT 2005
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
More information about the Gcc
mailing list