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

Reply via email to