[patch v4 3/4] Add system-wide tunables: Apply tunables part
DJ Delorie
dj@redhat.com
Tue Feb 10 03:03:03 GMT 2026
Florian Weimer <fweimer@redhat.com> writes:
>> Florian Weimer <fweimer@redhat.com> writes:
>>>>>> +dl_strcmp(const char *s1, const char *s2)
>>>>>> +dl_strlen(const char *s)
>>>>>
>>>>> That shouldn't be necessary, we have mechanisms for using string
>>>>> functions from ld.so (rtld-str*.c wrappers of generic routines).
>>>>
>>>> I might need more clues here...
>>>
>>> What type of breakage do you see if you remove these workarounds?
>>
>> I meant, I need more clues for how to use rtld-str* that bypasses the
>> ifunc versions. The tunables loading happens before ifuncs are set up
>> (or before libc.so is even loaded), so calls to the generic
>> strcmp/strlen just crash.
>
> This should be enough:
>
> #include <dl-symbol-redir-ifunc.h>
Ok, weird... in the time since I added those functions, that #include
was added to dl-tunables.c by bcae44ea8536b30a7119c0986ff5692bddacb672
in 2024 to account for a compiler-introduced memset.
In 2025, though, 2ebfb31b35c89f8ba1da1ed8b90fba26566017a9 adds
_dl_strlen() to dl-tunables.c because clang turns some constructs into
a call to strlen. (note: both by Adhemerval, so I hope not an accident).
I'm inclined to add _dl_strcmp() to Adhemerval's _dl_strlen() "just in
case"...
Although, just taking out my stuff and using strcmp() and strlen(), the
testsuite passes, although I'm not building with clang.
More information about the Libc-alpha
mailing list