[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