[2/2,x86] Enable -mlam=u57 by default when compiled with -fsanitize=hwaddress.

Message ID 20240123064236.1827190-2-hongtao.liu@intel.com
State Accepted
Headers
Series [1/2] Adjust hwasan testcase for x86 target. |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

liuhongt Jan. 23, 2024, 6:42 a.m. UTC
  Ready push to trunk.

gcc/ChangeLog:

	* config/i386/i386-options.cc (ix86_option_override_internal):
	Enable -mlam=u57 by default when compiled with
	-fsanitize=hwaddress.
---
 gcc/config/i386/i386-options.cc | 9 +++++++++
 1 file changed, 9 insertions(+)
  

Patch

diff --git a/gcc/config/i386/i386-options.cc b/gcc/config/i386/i386-options.cc
index b6f634e9a32..e66a58ed926 100644
--- a/gcc/config/i386/i386-options.cc
+++ b/gcc/config/i386/i386-options.cc
@@ -2189,6 +2189,15 @@  ix86_option_override_internal (bool main_args_p,
       && opts->x_ix86_abi != DEFAULT_ABI)
     error ("%<-mabi=%s%> not supported with %<-fsanitize=thread%>", abi_name);
 
+  /* Hwasan is supported with lam_u57 only.  */
+  if (opts->x_flag_sanitize & SANITIZE_HWADDRESS)
+    {
+      if (ix86_lam_type == lam_u48)
+	warning (0, "%<-mlam=u48%> is not compatible with Hardware-assisted "
+		 "AddressSanitizer, override to %<-mlam=u57%>");
+      ix86_lam_type = lam_u57;
+    }
+
   /* For targets using ms ABI enable ms-extensions, if not
      explicit turned off.  For non-ms ABI we turn off this
      option.  */