Hello, On Wed, 3 Jun 2026 at 00:57, Stephen Hemminger <[email protected]> wrote: > > When using function versioning and building with Link Time Optimization, > the compiler does not see the __asm__ annotation of symbols and > therefore thinks there are two versions of the same symbol. > > The fix is to use compiler symver attribute on the function which > was added in GCC 10. Keep the older method for backward compatibility > with older compilers. > > Bugzilla ID: 1949 > Fixes: e30e194c4d06 ("eal: rework function versioning macros")
We never used the symver stuff, so it seems unlikely the issue was introduced with this rework. The fact that clang does not support this attribute is a concern. > Cc: [email protected] Why do we need to backport? LTO is kind of experimental, so it seems good enough to reply "not expected to work in older LTS" if someone reported an issue. And in practice, no LTS release call the versioning macros, since a LTS drops all compatibility. > Signed-off-by: Stephen Hemminger <[email protected]> I would like to reproduce, but I can't build main with LTO. What patches did you apply locally to avoid warnings on the hash library? -- David Marchand

