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
