-%_ssp_cflags -fstack-protector --param=ssp-buffer-size=4
-%__common_cflags -O2 -fwrapv %{debuginfocflags} -pipe %{Werror_cflags} %{?_fortify_cflags}
-%__common_cflags_with_ssp %{__common_cflags} %{?_ssp_cflags} %{!?nospecflags:%{?specflags}}
+# Use -Werror=trampolines to prevent GCC from generating code that require executable stack
+%_ssp_cflags -fstack-protector-strong --param=ssp-buffer-size=4 -Werror=trampolines
+%__common_cflags -O2 -fwrapv -pipe %{Werror_cflags} %{debuginfocflags} %{?_fortify_cflags} %{!?nospecflags:%{?specflags}}
+%__common_cflags_with_ssp %{__common_cflags} %{?_ssp_cflags}