Index: llvm/trunk/utils/gn/build/toolchain/target_flags.gni =================================================================== --- llvm/trunk/utils/gn/build/toolchain/target_flags.gni +++ llvm/trunk/utils/gn/build/toolchain/target_flags.gni @@ -12,3 +12,7 @@ ] target_ldflags += [ "-static-libstdc++" ] } + +if (current_cpu == "x86") { + target_flags = [ "-m32" ] +} Index: llvm/trunk/utils/gn/secondary/compiler-rt/target.gni =================================================================== --- llvm/trunk/utils/gn/secondary/compiler-rt/target.gni +++ llvm/trunk/utils/gn/secondary/compiler-rt/target.gni @@ -6,7 +6,9 @@ assert(false, "unimplemented current_os " + current_os) } -if (current_cpu == "x64") { +if (current_cpu == "x86") { + crt_current_target_arch = "i386" +} else if (current_cpu == "x64") { crt_current_target_arch = "x86_64" } else if (current_cpu == "arm64") { crt_current_target_arch = "aarch64" Index: llvm/trunk/utils/gn/secondary/llvm/triples.gni =================================================================== --- llvm/trunk/utils/gn/secondary/llvm/triples.gni +++ llvm/trunk/utils/gn/secondary/llvm/triples.gni @@ -1,4 +1,8 @@ -if (current_cpu == "x64") { +if (current_cpu == "x86") { + if (current_os == "linux") { + llvm_current_triple = "i386-unknown-linux-gnu" + } +} else if (current_cpu == "x64") { if (current_os == "freebsd") { llvm_current_triple = "x86_64-unknown-freebsd" } else if (current_os == "linux") {