[clang] [llvm] [llvm-nm][AIX] Set default to 'any' if OBJECT_MODE is not set (PR #204281)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 16 21:40:46 PDT 2026
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
More information about the cfe-commits
mailing list