Hi Rainer,
Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote:
The ports I know of that can benefit from a change here are:
[...]
Solaris (bootstrapped and tests running on GCC211, but maybe Rainer would
want wider checks).
I've just manually tried the augmented test on Solaris 10-11.4, SPARC
and x86. While the Solaris/SPARC assembler handles it just fine, the
x86 one chokes in a known way:
Assembler:
"/homes/ro/leb128.s", line 2 : Syntax error
Near line: " .uleb128 L2 - L1"
I guess we could exclude specific ports that don’t want to use leb128
with
a target elif in the configuration.
I'll include the patch in tonight's Solaris bootstraps for good measure,
but it seems fine to me as is.
unfortunately, Solaris/SPARC results are miserable:
* About 1600 Go tests FAIL, spread across go.*, libgo, and gotools, all
in the same way, it seems:
+FAIL: go.go-torture/execute/array-1.go execution, -O0
fatal error: DWARF underflow in .debug_line at 3266879
goroutine 1 [running, locked to thread]:
fatal error: DWARF underflow in .debug_line at 3266879
panic during panic
goroutine 1 [running, locked to thread]:
fatal error: DWARF underflow in .debug_line at 3266879
stack trace unavailable
go is stil not implemented for Darwin, so I have no comparison there.
* On top of that, I get about 80 libstdc++ failures, again all of the
same kind:
+FAIL: libstdc++-prettyprinters/80276.cc whatis p4
type =
std::unique_ptr<std::vector<std::unique_ptr<std::list<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >>[]>>[99]>
got: type =
std::unique_ptr<std::vector<std::unique_ptr<std::list<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >>[]>>[99]>
which is confusing because the the found and expected types are
identical.
so some breakage in RTTI .. I suppose.
All this happens for both 32 and 64-bit tests.
To ascertain that this is really the leb128 patch, I've reverted it in
my tree and reran the bootstrap: all those failures are gone.
So without further investigation, we cannot use the leb128 directives
with Solaris/SPARC as.
I think Andrew was running GCN (not sure of the results there)
- but, I suppose that the simplest modification is to do
elif … target is darwin
and make it so that other (non-GNU-as) platforms have to opt in.
I’ll make a version that does this and test it locally.
thanks for checking,
Iain