Re: RFC: linking with --no-undefined-version
Brooks Davis <[email protected]>
| Newsgroups | gmane.os.freebsd.architechture |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Apr 18, 2024 at 04:44:31PM -0700, Steve Kargl wrote: > On Thu, Apr 18, 2024 at 11:35:19PM +0000, Brooks Davis wrote: > > As of LLVM 16, lld default to --no-undefined-version which means that if > > a symbol is listed in the symbol version map it must be present or lld > > will fail to link. This is good because it prevents that accidental loss > > of symbols which breaks our ABI compatibility. Unfortunately, it's > > somewhat complicating because our symbol version maps may vary > > per-architecture or based on options. As a result we added > > --undefined-version to LDFLAGS. > > > > Just to be clear, does this extend into /usr/ports? I only have 3020 *.so > in /usr/local/lib. I can image that some software package may have > missing symbols. Just the base system and things that use bmake infrastructure from base (e.g., programs that got kicked out of base like ftpd), but dim@ already fixed lots of symbol files in ports so I don't expect major issues. -- Brooks