[Bug target/83087] -fcf-protection -mcet enabled unconditionally for target libs

trippels at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Nov 21 11:05:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83087

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
# Add CET specific flags if Intel CET is enabled.                               
 # Check whether --enable-cet was given.                                        
if test "${enable_cet+set}" = set; then :                                       
  enableval=$enable_cet;                                                        
      case "$enableval" in                                                      
       yes|no|default) ;;                                                       
       *) as_fn_error "Unknown argument to enable/disable cet" "$LINENO" 5 ;;   
                          esac                                                  

else                                                                            
  enable_cet=default                                                            
fi                                                                              


case "$host" in                                                                 
  i[34567]86-*-linux* | x86_64-*-linux*)                                        
    case "$enable_cet" in                                                       
      default)                                                                  
        # Check if assembler supports CET.                                      
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext                             
/* end confdefs.h.  */                                                          

int                                                                             
main ()                                                                         
{                                                                               
asm ("setssbsy");                                                               
  ;                                                                             
  return 0;                                                                     
}                                                                               
_ACEOF                                                                          
if ac_fn_c_try_compile "$LINENO"; then :                                        
  enable_cet=yes                                                                
else                                                                            
  enable_cet=no                                                                 
fi                                                                              
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext                    
        ;;                                                                      
      yes)                                                                      
        # Check if assembler supports CET.                                      
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext                             
/* end confdefs.h.  */                                                          

int                                                                             
main ()                                                                         
{                                                                               
asm ("setssbsy");                                                               
  ;                                                                             
  return 0;                                                                     
}                                                                               
_ACEOF                                                                          
if ac_fn_c_try_compile "$LINENO"; then :                                        

else                                                                            
  as_fn_error "assembler with CET support is required for --enable-cet"
"$LINENO" 5                                                                     
fi                                                                              
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext                    
        ;;                                                                      
    esac                                                                        
    ;;                                                                          
  *)                                                                            
    enable_cet=no                                                               
    ;;                                                                          
esac                                                                            
if test x$enable_cet = xyes; then                                               
  CET_FLAGS="-fcf-protection -mcet"                                             
fi                                                                              

EXTRA_CXX_FLAGS="$EXTRA_CXX_FLAGS $CET_FLAGS"                                   
EXTRA_CFLAGS="$EXTRA_CFLAGS $CET_FLAGS"


More information about the Gcc-bugs mailing list