On Mon, Feb 26, 2018 at 12:48 PM, H.J. Lu <hongjiu...@intel.com> wrote: > Function return thunks shouldn't be aliased to indirect branch thunks > since indirect branch thunks are placed in COMDAT section and a COMDAT > section with indirect branch may not have function return thunk. This > patch generates function return thunks directly. > > Tested on i686 and x86-64. OK for trunk? > > H.J. > --- > gcc/ > > PR target/84574 > * config/i386/i386.c (indirect_thunk_needed): Update comments. > (indirect_thunk_bnd_needed): Likewise. > (indirect_thunks_used): Likewise. > (indirect_thunks_bnd_used): Likewise. > (indirect_return_needed): New. > (indirect_return_bnd_needed): Likewise. > (output_indirect_thunk_function): Add a bool argument for > function return. > (output_indirect_thunk_function): Don't generate alias for > function return thunk. > (ix86_code_end): Call output_indirect_thunk_function to generate > function return thunks. > (ix86_output_function_return): Set indirect_return_bnd_needed > and indirect_return_needed instead of indirect_thunk_bnd_needed > and indirect_thunk_needed. > > gcc/testsuite/ > > PR target/84574 > * gcc.target/i386/ret-thunk-9.c: Expect __x86_return_thunk > label instead of __x86_indirect_thunk label.
PING: https://gcc.gnu.org/ml/gcc-patches/2018-02/msg01460.html -- H.J.