llvmorg-github-actions[bot] wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-binary-utilities

Author: Kelvin Li (kkwli)

<details>
<summary>Changes</summary>

Currently, the llvm-nm defaults to `32` if OBJECT_MODE is not set. This patch 
is to change the default to `any` to make the usage more flexible.

---
Full diff: https://github.com/llvm/llvm-project/pull/204281.diff


3 Files Affected:

- (modified) clang/test/lit.cfg.py (-1) 
- (modified) llvm/test/tools/llvm-nm/option-X-AIX.test (+1-1) 
- (modified) llvm/tools/llvm-nm/llvm-nm.cpp (+10-8) 


``````````diff
diff --git a/clang/test/lit.cfg.py b/clang/test/lit.cfg.py
index dc0d87f0a29a1..f0bd5532aa894 100644
--- a/clang/test/lit.cfg.py
+++ b/clang/test/lit.cfg.py
@@ -495,7 +495,6 @@ def user_is_root():
 # "OBJECT_MODE" to "any" by default on AIX OS.
 
 if "system-aix" in config.available_features:
-   config.substitutions.append(("llvm-nm", "env OBJECT_MODE=any llvm-nm"))
    config.substitutions.append(("llvm-ar", "env OBJECT_MODE=any llvm-ar"))
    config.substitutions.append(("llvm-ranlib", "env OBJECT_MODE=any 
llvm-ranlib"))
 
diff --git a/llvm/test/tools/llvm-nm/option-X-AIX.test 
b/llvm/test/tools/llvm-nm/option-X-AIX.test
index 1349ad82bbaf1..c8bd12722155b 100644
--- a/llvm/test/tools/llvm-nm/option-X-AIX.test
+++ b/llvm/test/tools/llvm-nm/option-X-AIX.test
@@ -8,7 +8,7 @@
 
 ## Test default "-X" option.
 # RUN: env -u OBJECT_MODE llvm-nm --format=just-symbols %t_xcoff32.o 
%t_xcoff64.o | \
-# RUN:   FileCheck -DFILE32=%t_xcoff32.o --check-prefixes=XCOFF32 %s 
--implicit-check-not={{.}}
+# RUN:   FileCheck -DFILE32=%t_xcoff32.o -DFILE64=%t_xcoff64.o 
--check-prefixes=XCOFF32,XCOFF64 %s --implicit-check-not={{.}}
 
 ## Test environment variable "OBJECT_MODE".
 # RUN: env OBJECT_MODE=32 llvm-nm --format=just-symbols %t_xcoff32.o 
%t_xcoff64.o | \
diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp
index a33c54914ee9d..477a519211461 100644
--- a/llvm/tools/llvm-nm/llvm-nm.cpp
+++ b/llvm/tools/llvm-nm/llvm-nm.cpp
@@ -2480,15 +2480,17 @@ int llvm_nm_main(int argc, char **argv, const 
llvm::ToolContext &) {
   // Get BitMode from enviornment variable "OBJECT_MODE" for AIX OS, if
   // specified.
   Triple HostTriple(sys::getProcessTriple());
+  BitMode = BitModeTy::Any;
   if (HostTriple.isOSAIX()) {
-    BitMode = StringSwitch<BitModeTy>(getenv("OBJECT_MODE"))
-                  .Case("32", BitModeTy::Bit32)
-                  .Case("64", BitModeTy::Bit64)
-                  .Case("32_64", BitModeTy::Bit32_64)
-                  .Case("any", BitModeTy::Any)
-                  .Default(BitModeTy::Bit32);
-  } else
-    BitMode = BitModeTy::Any;
+    if (char *ObjMode = getenv("OBJECT_MODE")) {
+      BitMode = StringSwitch<BitModeTy>(ObjMode)
+                    .Case("32", BitModeTy::Bit32)
+                    .Case("64", BitModeTy::Bit64)
+                    .Case("32_64", BitModeTy::Bit32_64)
+                    .Case("any", BitModeTy::Any)
+                    .Default(BitModeTy::Any);
+    }
+  }
 
   if (Arg *A = Args.getLastArg(OPT_X)) {
     StringRef Mode = A->getValue();

``````````

</details>


https://github.com/llvm/llvm-project/pull/204281
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to