https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103577

--- Comment #6 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot 
Uni-Bielefeld.DE> ---
> --- Comment #5 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot
> Uni-Bielefeld.DE> ---
>> --- Comment #3 from Iain Buclaw <ibuclaw at gdcproject dot org> ---
>> FYI, with darwin, I've only been using the most recent commit in
>> releases/gcc-11 for testing as there have been a number of issues exposed 
>> from
>> that port.
>>
>> I have VMs set-up running 10.4 (PPC), 10.6 (x86_64), 10.13, 10.14, 10.15, 11,
>> and 12.  Not yet gotten round to building a bootstrap compiler from gcc-11 
>> just
>> yet though for testing build of master.
>
> Good to know.  Once the gcc-11 builds are done, I'll retry bootstrapping
> master on 10.7 and 12.  Maybe the SEGVs on 10.7 stage1 will be gone that
> way...

I've now done just that:

* build top of gcc-11 with --enable-languages=d --enable-libphobos

* use that as bootstrap gdc for master

Results are pretty good:

* The corrupted *.Po files in stage1 are gone.

* On 10.7, the d21 SEGV is gone

* gdc and libphobos testsuite results on both 10.7 and 12 are
  reasonable.

There's one caveat, though:

On 10.7 (so far), a couple of files don't compile building stage2 libphobos:

dyld: Symbol not found: __D6object10_xopEqualsFxPvxQdZb
  Referect10_xopEqualsFxPvxQdZb
  Referenced from: /var/gcc/regression/mnced from:
/var/gcc/regression/master/10.7-gcc/build/./gcc/d21
  Expected in:
/var/gcc/regression/master/10.7-gcc/build/x86_64-apple-darwin11.4.2/libphobos/src/.libs/libgphobos.2.dylib
 in
/var/gcc/regression/master/10.7-gcc/gcc/regression/master/10.7-gcc/build/./gcc/d21

and indeed that symbol (object._xopEquals(const(void*), const(void*)))
is missing from the freshly built libgphobos, while it is present in the
gcc-11 one.

I suspect this happens because the toplevel Makefile sets
DYLD_LIBRARY_PATH, since when I just run make in
x86_64-apple-darwin11.4.2/libphobos, the build succeeds without further
problems.

There are two issues here, I believe:

* The one line patch to gcc/config/darwin.h to support -static-libphobos
  should be backported to the gcc-11 branch to avoid this in the first
  place.

* Besides, making incompatible changes to libgphobos (like removing an
  exported interface) shouldn't be done without increasing the library
  version number.

Reply via email to