Skip to content

Commit d712ae4

Browse files
committed
[Driver] Support -Wa,--defsym similar to -Wa,-defsym
Missing part in c947709
1 parent 4942e78 commit d712ae4

File tree

4 files changed

+17
-4
lines changed

4 files changed

+17
-4
lines changed

clang/include/clang/Driver/Options.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8124,7 +8124,7 @@ def show_inst : Flag<["-"], "show-inst">,
81248124
def dwarf_debug_producer : Separate<["-"], "dwarf-debug-producer">,
81258125
HelpText<"The string to embed in the Dwarf debug AT_producer record.">;
81268126

8127-
def defsym : Separate<["-"], "defsym">,
8127+
def defsym : Separate<["--"], "defsym">,
81288128
HelpText<"Define a value for a symbol">;
81298129

81308130
} // let Visibility = [CC1AsOption]

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2666,7 +2666,7 @@ static void CollectArgsForIntegratedAssembler(Compilation &C,
26662666
D.Diag(diag::err_drv_defsym_invalid_symval) << SVal;
26672667
break;
26682668
}
2669-
CmdArgs.push_back(Value.data());
2669+
CmdArgs.push_back("--defsym");
26702670
TakeNextArg = true;
26712671
} else if (Value == "-fdebug-compilation-dir") {
26722672
CmdArgs.push_back("-fdebug-compilation-dir");

clang/test/Driver/defsym.s

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66

77
// RUN: %clang -### -c -no-integrated-as -target x86_64-unknown-unknown %s \
88
// RUN: -Wa,-defsym,abc=5 -Wa,--defsym,xyz=0xa \
9-
// RUN: 2>&1 | FileCheck %s --check-prefix=CHECK-DEFSYM1
9+
// RUN: 2>&1 | FileCheck %s --check-prefix=CHECK-DEFSYM1-GAS
1010

11-
// CHECK-DEFSYM1: "-defsym" "abc=5" "--defsym" "xyz=0xa"
11+
// CHECK-DEFSYM1: "--defsym" "abc=5" "--defsym" "xyz=0xa"
12+
// CHECK-DEFSYM1-GAS: "-defsym" "abc=5" "--defsym" "xyz=0xa"
1213

1314
// RUN: not %clang -c -integrated-as -o /dev/null %s \
1415
// RUN: -Wa,-defsym,abc= \

clang/test/Misc/cc1as-defsym.s

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// REQUIRES: x86-registered-target
2+
// RUN: %clang -cc1as -triple x86_64 -filetype obj --defsym A=1 %s -o %t.o
3+
// RUN: llvm-nm %t.o | FileCheck %s
4+
5+
// CHECK: 0000000000000001 A foo
6+
7+
.globl foo
8+
.ifdef A
9+
foo = 1
10+
.else
11+
foo = 0
12+
.endif

0 commit comments

Comments
 (0)