[MacPorts] #54215: gcc7, libgcc: broken on powerpc

MacPorts noreply at macports.org
Thu Sep 28 11:31:42 UTC 2017


#54215: gcc7, libgcc: broken on powerpc
---------------------------+----------------------
  Reporter:  mojca         |      Owner:  kencu
      Type:  defect        |     Status:  closed
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:
Resolution:  fixed         |   Keywords:  haspatch
      Port:  gcc7, libgcc  |
---------------------------+----------------------

Comment (by ccorn):

 For completeness, a comparison of {{{gcc7}}} test summaries:

 1. kencu's vs mine (both {{{+defaultabi}}})
 2. {{{+defaultabi}}} vs. {{{+staticlibgcc}}}.

 == Ingredients and methods

 I used the above-mentioned {{{gcc7-buildfix+abi-
 variants+safepatches-p3.diff}}}
 and commands essentially equivalent to
 {{{
 ( set -xe   # print commands before execution, exit on errors
   for variant in +defaultabi4+universal +staticlibgcc+universal; do
     for port in libgcc7 gcc7; do
       sudo port build $port $variant
       workdir=$(port work $port $variant)
       ( cd "$workdir/build"
         sudo -u macports make -k check 2>&1 | \
         tee ~-/check-$port$variant.log
         sudo -u macports ../gcc-7.2.0/contrib/test_summary | \
         sed '/^cat <</d;/^EOF$/,$d' | \
         tee ~-/summary-$port$variant.log )
       sudo port install $port $variant
     done
   done
 ) && echo "All done."
 }}}
 Universal archs are {{{ppc}}} and {{{ppc64}}} here.

 Thereafter, for easier comparison, I {{{sed}}}-ed the created logfiles
 and replaced build-specific stuff (MacPorts paths, user, dates,
 version+variants) with generic terms
 ({{{/PREFIX}}}, {{{/WORKDIR}}}, {{{USER}}}, {{{DATE}}}, {{{VERSION}}}).

 == Results

 {{{libgcc}}} tests had the same results as the corresponding {{{gcc7}}}
 tests,
 except for 6 vs. 8 C11 atomic timeout failures in the {{{gcc}}} testsuite.
 That difference may be spurious.

 I will focus on the {{{gcc7}}} test summaries here.

 **Comparing** test summaries on a PPC G5 Leopard (Darwin 9):

 * {{{---}}} {{{gcc7 +defaultabi4}}} ({{{ppc}}}) by kencu,
   using Iain Sandoe's build fixes
 * {{{+++}}} {{{gcc7 +defaultabi4+universal}}} ({{{ppc}}} and {{{ppc64}}})
   by ccorn, using the build fixes and the "safe" patches

 There are diffs, and I cannot say with certainty where they come from.

 * {{{g++}}} tests:
   - 13 less failures
   - 30 more supported tests
   - 1 more unresolved case turned into a pass
   - thus 44 more passes
 * {{{gcc}}} tests:
   - 8 additional failures: C11 atomics, program timeout
   - 12 unresolved cases (no executable) turned into passes
   - thus 4 more passes
 * {{{obj-c++}}} tests:
   - 1 unresolved case (no executable) turned into a pass
 * {{{libitm}}} tests:
   - 3 more expected failures
   - 18 more passes
   - all 21 unresolved cases (no executable) resolved
 * {{{libstdc++}}} tests:
   - 104 failures turned into passes

 Attaching the {{{diff -U1000 -b}}}, covering the summaries completely.

 **Comparing** test summaries on a PPC G5 Leopard (Darwin 9),
 {{{+universal}}} comprising {{{ppc}}} and {{{ppc64}}},
 using the build fixes and the "safe" patches:

 * {{{---}}} {{{gcc7 +defaultabi4+universal}}} by ccorn
 * {{{+++}}} {{{gcc7 +staticlibgcc+universal}}} by ccorn

 No diffs except the following, but those seem strange:

 * {{{g++}}} tests:
   - 24 more failures: exception handling, ext/cleanup
 * {{{libstdc++}}} tests:
   - 33 more passes
   - Number of unsupported tests down by 18
   - Identical failure counts
   - The sums of the test counts do not match.
   {{{
                 === libstdc++ Summary ===

 -# of expected passes           10698
 +# of expected passes           10731
  # of unexpected failures       6
  # of expected failures         66
 -# of unsupported tests         695
 +# of unsupported tests         677
 }}}
 That seems to indicate that {{{+staticlibgcc}}} makes {{{g++}} fail more
 often,
 yet makes {{{libstdc++}}} succeed more often, however without reducing the
 failure count. I am puzzled.

 Attaching the {{{diff -U1000}}}, covering the summaries completely.

--
Ticket URL: <https://trac.macports.org/ticket/54215#comment:37>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list