From 70c239aa7011b7fc5973bd54c8010321515efdaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 9 Feb 2022 13:04:46 +0100 Subject: [PATCH] Remove the non-shadow_stack option, it has not been used in years If desired, it can be salvaged from git history. --- pypy3.9.spec | 33 +-------------------------------- 1 file changed, 1 insertion(+), 32 deletions(-) diff --git a/pypy3.9.spec b/pypy3.9.spec index d2eb615..8b41f86 100644 --- a/pypy3.9.spec +++ b/pypy3.9.spec @@ -53,10 +53,6 @@ URL: http://pypy.org/ # Should we build the emacs JIT-viewing mode? %bcond_without emacs -# Forcibly use the shadow-stack option for detecting GC roots, rather than -# relying on hacking up generated assembler with regexps: -%bcond_without shadow_stack - # Easy way to turn off the selftests: %bcond_without selftests @@ -378,35 +374,8 @@ BuildPyPy() { # How will we track garbage-collection roots in the generated code? # http://pypy.readthedocs.org/en/latest/config/translation.gcrootfinder.html -%if %{with shadow_stack} - # This is the most portable option, and avoids a reliance on non-guaranteed - # behaviors within GCC's code generator: use an explicitly-maintained stack - # of root pointers: - %global gcrootfinder_options --gcrootfinder=shadowstack - export CFLAGS=$(echo "$RPM_OPT_FLAGS") -%else - # Go with the default, which is "asmgcc" - - %global gcrootfinder_options %{nil} - - # https://bugzilla.redhat.com/show_bug.cgi?id=588941#c18 - # The generated Makefile compiles the .c files into assembler (.s), rather - # than direct to .o It then post-processes this assembler to locate - # garbage-collection roots (building .lbl.s and .gcmap files, and a - # "gcmaptable.s"). (The modified .lbl.s files have extra code injected - # within them). - # Unfortunately, the code to do this: - # pypy-1.4/pypy/translator/c/gcc/trackgcroot.py - # doesn't interract well with the results of using our standard build flags. - # For now, filter our CFLAGS of everything that could be conflicting with - # pypy. Need to check these and reenable ones that are okay later. - # Filed as https://bugzilla.redhat.com/show_bug.cgi?id=666966 - export CFLAGS=$(echo "$RPM_OPT_FLAGS" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//' -e 's/-fexceptions//' -e 's/-fstack-protector//' -e 's/--param=ssp-buffer-size=4//' -e 's/-O2//' -e 's/-fasynchronous-unwind-tables//' -e 's/-march=i686//' -e 's/-mtune=atom//') - -%endif - # The generated C code leads to many thousands of warnings of the form: # warning: variable 'l_v26003' set but not used [-Wunused-but-set-variable] # Suppress them: @@ -429,7 +398,7 @@ BuildPyPy() { PYPY_USESSION_DIR=$(pwd) \ PYPY_USESSION_BASENAME=$ExeName \ $INTERP ../../rpython/bin/rpython \ - %{gcrootfinder_options} \ + --gcrootfinder=shadowstack \ $Options \ targetpypystandalone \ --platlibdir=%{_lib}