> Thanks for these review opinions. Except for the comments, there > is one problem that needs to be resolved before the next revision: > the gp problem when calling IFUNC resolver. > > See that thread on GLIBC patch. > > Link: > https://patchwork.sourceware.org/project/glibc/patch/tencent_71d182fbda6e8e57b80731dd218d8d5c7...@qq.com/ > > Through the discussion, a possible solution might be to refuse the > relax for the IFUNC resolvers and its callees. Thus, we don’t require > gp to access global variables like __riscv_feature_bits. > > I came up with a solution that adds an attribute like > __attribute__((norelax)) to functional like -mno-relax for a specific > function to both the FMV resolver gimple function and the libgcc > source code which will be called from FMV resolver. > > Would this solution be acceptable?
Yeah, and I would suggest making those patches become a separate patch set which contain at least two patches: 1) add norelax attribute 2) add norelax to the ifunc resolver function. Current patch set is already in good shape, so I would like to move forward first :) > > Thanks, > Yangyu Chen >