> * Richard Henderson (r...@twiddle.net) wrote: >> Patches 1-3 remove the use of ifunc from the implementation. [...]
I am not a qemu developer, but I wanted to write in support of removing the use of ifunc. I filed a glibc bug at https://sourceware.org/bugzilla/show_bug.cgi?id=20480 that I actually found from these ifuncs in qemu that results in an attempt to execute and unexecutable page, under unusual conditions that were arguably my fault but that could happen on other systems. I have only attempted to implement a partial fix for this, and I think a complete fix would be difficult, and the scenario that remains unfixed involves a security policy that would probably be popular for systems hosting virtual machine (prohibiting mapping pages simultaneiously writable and executable). I hope that that consideration, combined with the micro-costs to readability and portability of using and ELF specific and perhaps currently GCC specific feature might tip the balance against the savings of a level of function call indirection that I assume the use of ifunc was intended to provide. Adam