Using lld-17, pam configures without symbol versioning. This causes warnings whenever pam is invoked: > kermit ~ # rc-service sshd restart > * Stopping sshd ... > start-stop-daemon: /usr/lib64/libpam.so.0: no version information available > (required by start-stop-daemon) Reproducible: Always Steps to Reproduce: 1.Use clang/lld-17 2.build sys-libs/pam 3.use anything that dynamically loads libpam The root cause is that pams configure checks for versioned symbols with an assembly file that contains undefined symbols itself, causing lld-17 to fail: > checking for ld --version-script... no Furthermore, most pam modules do not implement all symbols required to satisfy "${S}/modules/modules.map".
Created attachment 890742 [details, diff] Fix autotools version script detection and provide correct version script for modules. I've added a proposed fix short of defining "-Wl,-undefinied-version", because I actually want pam to fail building if symbols that should be defined are undefined. I don't think upstream will accept it because it lacks architecture, but perhaps something can be worked out. Patch tested with clang/ld.lld and gcc/ld.bfd on pam-1.5.3 and pam-1.5.3-r1.