[PATCH][testsuite] Fix pr25109.sh on riscv64

Jakub Jelinek jakub@redhat.com
Fri Feb 26 10:35:45 GMT 2021


On Fri, Feb 26, 2021 at 11:28:31AM +0100, Mark Wielaard wrote:
> On Fri, Feb 26, 2021 at 11:14:23AM +0100, Tom de Vries wrote:
> > On riscv64, I run into:
> > ...
> > cc main.c no-multifile-prop-dw.S -o no-multifile-prop
> > no-multifile-prop-dw.S: Assembler messages:
> > no-multifile-prop-dw.S:25: Error: non-constant .uleb128 is not supported
> > make: *** [Makefile:99: no-multifile-prop] Error 1
> > ...
> > 
> > Fix this by allowing to fail to build the test-case, and marking it as
> > unsupported.
> > 
> > Any comments?
> 
> If it doesn't even build then there is not much else we can do than
> skip it.  So I would push this.
> 
> But this is a little surprising.
> The construct seems like it is represented by a known constant at compile time:
> 
>         .uleb128        .Lexpr_end4 - .Lexpr_start3/* expression */ 
> .Lexpr_start3: 
>         .byte        0xf2               /* DW_OP_GNU_implicit_pointer */ 
>         .4byte        .Llabel2 
>         .sleb128        0 
> .Lexpr_end4: 
> 
> There isn't anything between the two labels that can have a variable
> size.  So it might be a good idea to file a bug report against
> binutils as for not allowing this on riscv64.

I believe the riscv people explain it by aggressive linker optimizations
that make those not to work, but perhaps that applies to normal sections,
but don't see how can that apply to .debug* sections...
They shouldn't be doing any kind of aggressive linker relaxations on
.debug*.

	Jakub



More information about the Dwz mailing list