On 7/10/26 3:09 PM, Ricardo B. Marlière wrote: > attach_probe/uprobe-lib and uprobe_autoattach selftests fail with "failed > to resolve full path for libc.so.6" on older non-usrmerged distros, where > libc.so.6 lives under a top-level /lib64 or /lib rather than /usr/lib64 or > /usr/lib. Add /lib64:/lib to the search paths, alongside the existing > /usr/lib64:/usr/lib and Debian multiarch entries. > > Signed-off-by: Ricardo B. Marlière <[email protected]> > --- > tools/lib/bpf/libbpf.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c > index 1368752aa13c..1ab939dfb7f0 100644 > --- a/tools/lib/bpf/libbpf.c > +++ b/tools/lib/bpf/libbpf.c > @@ -12973,13 +12973,14 @@ static const char *arch_specific_lib_paths(void) > /* Get full path to program/shared library. */ > static int resolve_full_path(const char *file, char *result, size_t > result_sz) > { > - const char *search_paths[3] = {}; > + const char *search_paths[4] = {}; > int i, perm; > > if (str_has_sfx(file, ".so") || strstr(file, ".so.")) { > search_paths[0] = getenv("LD_LIBRARY_PATH"); > search_paths[1] = "/usr/lib64:/usr/lib"; > search_paths[2] = arch_specific_lib_paths(); > + search_paths[3] = "/lib64:/lib";
Acked-by: Ihor Solodrai <[email protected]> > perm = R_OK; > } else { > search_paths[0] = getenv("PATH"); >

