[llvm] 18952bd - [gn build] Fix up win/x86 flags and add stage2_unix_x86 (#111595)

via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 9 09:19:03 PDT 2024


Author: Arthur Eubanks
Date: 2024-10-09T09:18:59-07:00
New Revision: 18952bdcd6f987620e6396261c2bb444e428e07e

URL: https://github.com/llvm/llvm-project/commit/18952bdcd6f987620e6396261c2bb444e428e07e
DIFF: https://github.com/llvm/llvm-project/commit/18952bdcd6f987620e6396261c2bb444e428e07e.diff

LOG: [gn build] Fix up win/x86 flags and add stage2_unix_x86 (#111595)

Added: 
    

Modified: 
    llvm/utils/gn/build/BUILD.gn
    llvm/utils/gn/build/toolchain/BUILD.gn
    llvm/utils/gn/build/toolchain/target_flags.gni
    llvm/utils/gn/secondary/compiler-rt/BUILD.gn
    llvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn
    llvm/utils/gn/secondary/compiler-rt/test/test.gni

Removed: 
    


################################################################################
diff  --git a/llvm/utils/gn/build/BUILD.gn b/llvm/utils/gn/build/BUILD.gn
index 0b0f62721d374c..9b5254e4c9f0b1 100644
--- a/llvm/utils/gn/build/BUILD.gn
+++ b/llvm/utils/gn/build/BUILD.gn
@@ -61,7 +61,7 @@ config("compiler_defaults") {
   }
 
   asmflags = target_flags
-  cflags = target_flags
+  cflags = target_flags + target_cflags
   cflags_cc = []
   ldflags = target_flags + target_ldflags
 
@@ -343,7 +343,11 @@ config("compiler_defaults") {
         ldflags += [ "/winsysroot:" + rebase_path(sysroot, root_build_dir) ]
 
         # FIXME: Remove once PR54409 is fixed.
-        ldflags += [ "/machine:x64" ]
+        if (current_cpu == "x64") {
+          ldflags += [ "/machine:x64" ]
+        } else if (current_cpu == "x86") {
+          ldflags += [ "/machine:x86" ]
+        }
       }
     } else if (current_os != "ios" && current_os != "mac" &&
                current_os != "android") {

diff  --git a/llvm/utils/gn/build/toolchain/BUILD.gn b/llvm/utils/gn/build/toolchain/BUILD.gn
index e4852549bba6c5..ce2e6df1b69f55 100644
--- a/llvm/utils/gn/build/toolchain/BUILD.gn
+++ b/llvm/utils/gn/build/toolchain/BUILD.gn
@@ -209,6 +209,13 @@ stage2_unix_toolchain("stage2_unix") {
   }
 }
 
+stage2_unix_toolchain("stage2_unix_x86") {
+  toolchain_args = {
+    current_os = host_os
+    current_cpu = "x86"
+  }
+}
+
 if (android_ndk_path != "") {
   # Android compiler-rt libraries don't really work with per-target runtime
   # directories yet so force it off.

diff  --git a/llvm/utils/gn/build/toolchain/target_flags.gni b/llvm/utils/gn/build/toolchain/target_flags.gni
index 50d31a3da85fc5..cdfab75ed8bcdd 100644
--- a/llvm/utils/gn/build/toolchain/target_flags.gni
+++ b/llvm/utils/gn/build/toolchain/target_flags.gni
@@ -8,6 +8,7 @@ import("//llvm/utils/gn/build/toolchain/compiler.gni")
 # COMPILER_RT_TEST_COMPILER_CFLAGS).
 
 target_flags = []
+target_cflags = []
 target_ldflags = []
 
 if (current_os == "android") {
@@ -55,6 +56,10 @@ if (current_os == "android") {
   target_flags += [ "--target=$llvm_current_triple" ]
 }
 
-if (current_cpu == "x86" && current_os != "win") {
-  target_flags += [ "-m32" ]
+if (current_cpu == "x86") {
+  if (current_os == "win") {
+    target_cflags += [ "-m32" ]
+  } else {
+    target_flags += [ "-m32" ]
+  }
 }

diff  --git a/llvm/utils/gn/secondary/compiler-rt/BUILD.gn b/llvm/utils/gn/secondary/compiler-rt/BUILD.gn
index b31016108419e6..c8d3917ccde31e 100644
--- a/llvm/utils/gn/secondary/compiler-rt/BUILD.gn
+++ b/llvm/utils/gn/secondary/compiler-rt/BUILD.gn
@@ -12,6 +12,7 @@ if (current_os == "win" || win_sysroot != "") {
 }
 if (current_os != "win") {
   supported_toolchains += [ "//llvm/utils/gn/build/toolchain:stage2_unix" ]
+  supported_toolchains += [ "//llvm/utils/gn/build/toolchain:stage2_unix_x86" ]
 }
 supported_toolchains += supported_android_toolchains
 if (llvm_build_AArch64) {

diff  --git a/llvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn b/llvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn
index 02c20483b7a8bd..57b86f53254f57 100644
--- a/llvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn
+++ b/llvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn
@@ -4,7 +4,7 @@ group("lib") {
     "//compiler-rt/lib/builtins",
     "//compiler-rt/lib/cfi:ignorelist($host_toolchain)",
   ]
-  if (current_os == "linux") {
+  if (current_os == "linux" && current_cpu == "x64") {
     deps += [ "//compiler-rt/lib/msan" ]
   }
   if (current_os == "linux" || current_os == "android") {

diff  --git a/llvm/utils/gn/secondary/compiler-rt/test/test.gni b/llvm/utils/gn/secondary/compiler-rt/test/test.gni
index 2d1aa0721248e4..01de4ee09256c4 100644
--- a/llvm/utils/gn/secondary/compiler-rt/test/test.gni
+++ b/llvm/utils/gn/secondary/compiler-rt/test/test.gni
@@ -10,7 +10,7 @@ declare_args() {
 
 target_flags_string = ""
 
-foreach(flag, target_flags + target_ldflags) {
+foreach(flag, target_flags + target_cflags + target_ldflags) {
   if (target_flags_string != "") {
     target_flags_string += " "
   }


        


More information about the llvm-commits mailing list