Hi Richard, On 6/16/21 3:11 AM, Richard Henderson wrote: > The value of get_os_release may be controlled by a command > line option. Since fdpic was added in v4.14, and v2 frame > were added in v2.6.12, this makes no change under normal conditions. > > Split out a helper function to perform the test. > > Cc: qemu-...@nongnu.org > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- > linux-user/arm/signal.c | 20 ++++++++++++++++---- > 1 file changed, 16 insertions(+), 4 deletions(-) > > diff --git a/linux-user/arm/signal.c b/linux-user/arm/signal.c > index 32b68ee302..2d30345fc2 100644 > --- a/linux-user/arm/signal.c > +++ b/linux-user/arm/signal.c > @@ -165,6 +165,18 @@ static inline int valid_user_regs(CPUARMState *regs) > return 1; > } > > +static bool v2_frame(void) > +{ > + /* > + * We do not create fdpic trampolines for v1 frames. > + * Thus we force v2 frames, regardless of what uname says. > + * Support for fdpic dates from Linux 4.14, so this is not > + * really a behaviour change. > + */ > + int is_fdpic = info_is_fdpic(((TaskState *)thread_cpu->opaque)->info); > + return is_fdpic || get_osversion() >= 0x020612; > +}
Could you refactor v2_frame() in a previous patch and add the is_fdpic check in another one please?