https://bugzilla.redhat.com/show_bug.cgi?id=2450007
--- Comment #15 from Jonathan Steffan <[email protected]> --- (In reply to Tom.Rix from comment #13) > (In reply to Mikel Olasagasti Uranga from comment #5) > > - Checking upstream Makefile, NVIDIA sets to: > > > > > EXTLDFLAGS = -Wl,--export-dynamic > > > -Wl,--unresolved-symbols=ignore-in-object-files -Wl,-z,lazy > > > > https://github.com/NVIDIA/nvidia-container-toolkit/blob/main/Makefile#L63 > > > rpmlint is also complaining a lot about symbols. What resolves these > symbols ? They are resolved at runtime by the linker: Library location (pkg/lookup/library.go): A First() combinator tries three strategies in order, returning the first hit: 1. Direct dlopen attempt 2. Predefined filesystem search paths 3. Parse /etc/ld.so.cache ld.so.cache parsing (internal/ldcache/ldcache.go): The binary cache is mmap-ed directly. Each entry2 struct has a Flags field with ELF architecture bits (0x0300 = x86_64, 0x0a00 = aarch64, etc.) used to filter 32-bit vs 64-bit libs. No ldconfig subprocess — raw struct parsing. dlopen/dlsym (vendor/github.com/NVIDIA/go-nvml/pkg/dl/dl.go): CGO wrapper around libc dlopen/dlsym. Flags: RTLD_LAZY | RTLD_GLOBAL | RTLD_NODELETE. Every call is wrapped with runtime.LockOSThread() for thread safety. Symlink chain resolution (pkg/lookup/symlinks/symlink.go): Once a library path is found, the full symlink chain is walked (e.g., libcuda.so → libcuda.so.1 → libcuda.so.550.1.0) and all aliases are collected — so containers get every soname variant. Versioned symbol negotiation (internal/nvsandboxutils/lib.go): After dlopen, updateVersionedSymbols() probes for _v2/_v3 suffixed symbols via dlsym. If found, the function pointer is upgraded — forward compatibility without ABI breaks. Summary: locate via ldcache mmap → dlopen → dlsym with version probing → expose full symlink chain. -- You are receiving this mail because: You are always notified about changes to this product and component You are on the CC list for the bug. https://bugzilla.redhat.com/show_bug.cgi?id=2450007 Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202450007%23c15 -- _______________________________________________ package-review mailing list -- [email protected] To unsubscribe send an email to [email protected] Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/[email protected] Do not reply to spam, report it: https://forge.fedoraproject.org/infra/tickets/issues/new
