Hi all, As discussed in https://sourceware.org/ml/libc-alpha/2017-01/msg00455.html , some libdl functions rely on return address to figure out the calling DSO and then use this information in computation (e.g. output of dlsym depends on which library called it).
As reported in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66826 this may break under tailcall optimization i.e. in cases like return dlsym(...); Carlos confirmed that they would prefer to have GCC attribute to prevent tailcalls (https://sourceware.org/ml/libc-alpha/2017-01/msg00502.html) so there you go. This was bootstrapped on x86_64. Given that this is a minor addition, I only ran newly added regtests. I hope that's enough (full testsuite would take a week on my notebook...). -I
0001-Added-no_tail_call-attribute.patch
Description: Binary data