* Daniel P. Berrangé:

> This AC_LANG_PROGRAM call puts the code snippet inside a main() { ...}
> so what configure was actually attempting to compile is:
>
>  int
>  main ()
>  {
>  
>                int f1() { }
>                int f2() { }
>                asm(".symver f1, f@VER1");
>                asm(".symver f2, f@@VER2");
>                int main(int argc, char **argv) { }
>  
>    ;
>    return 0;
>  }
>
>
> clearly this code is nonsense, but by luck it still worked until newer
> GCC came along.

I think it's actually a binutils change.  Older binutils was happy to
apply .symver to undefined symbols, effectively ignoring the directive
(because there is nothing to attach it to).  That changed in binutils
2.35, which started to diagnose the problem with an error.

> The code has to be passed as the first arg of AC_LANG_PROGRAM, not the
> second arg, so that its outside the main() {...}

Glad it's been fixed.

Thanks,
Florian
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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/devel@lists.fedoraproject.org

Reply via email to