[PATCH v5 13/18] riscv: Add RVV strlen for multiarch and non-multiarch
Jeffrey Law
jeffrey.law@oss.qualcomm.com
Mon May 11 22:26:08 GMT 2026
On 5/11/2026 2:10 PM, Adhemerval Zanella Netto wrote:
>
> On 11/05/26 16:49, Peter Bergner wrote:
>> On 5/11/26 9:24 AM, Adhemerval Zanella Netto wrote:
>>> On 11/05/26 03:25, Peter Bergner wrote:
>>>> On 5/10/26 7:09 AM, H.J. Lu wrote:
>>>>> Please add
>>>>>
>>>>> asm ("strlen = __strlen_generic");
>>>>>
>>>>> to sysdeps/riscv/multiarch/dl-symbol-redir-ifunc.h.
>>>> I'll need to add static builds to my testing matrix. Thanks to you
>>>> and Andreas for pointing this out! Are there any other known symbols
>>>> that need handling like this as well (memcpy and memset already were
>>>> handled)?
>> I see Andreas already pushed a fix for this. Thanks Andreas!
>>
>>
>>> We already have tests that checks for this, after this patch I noticed:
>>>
>>> FAIL: elf/tst-env-setuid-static
>>> FAIL: elf/tst-tunables
>>> FAIL: elf/tst-tunables-enable_secure
>> So I'm not sure how I missed this during my testing. Maybe my compiler
>> defaulted to vector being enabled, so skipped this altogether? I'll keep
>> a better eye out for things like this. It's good to know we do have tests
>> that test for this.
> I think these issues might depend of the gcc version and how cleaver it
> optimizes loops to str/mem calls. If you compiler with older gcc version
> you might not trigger this issue.
That would make a lot of sense. We've certainly adjusted things like
the ability to inline strlen over the last few years.
Jeff
More information about the Libc-alpha
mailing list