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

Attachment: 0001-Added-no_tail_call-attribute.patch
Description: Binary data

Reply via email to