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

Tom de Vries tdevries@suse.de
Fri Feb 26 11:59:11 GMT 2021


On 2/26/21 11:35 AM, Jakub Jelinek wrote:
> 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*.
> 

I found an existing PR:
https://sourceware.org/bugzilla/show_bug.cgi?id=27215 .

Thanks,
- Tom


More information about the Dwz mailing list