Skip to content

Commit 9c504ec

Browse files
committed
[VE] Disable -fsigaddr option for VE
VE needs to support integrated assembler and "nas". This "nas" doesn't recognize ".sigaddr" pseudo mnemonics, so need to disable it. This patch disable it on VE by default. Also add a regression test for that. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D91350
1 parent 04a1479 commit 9c504ec

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6365,11 +6365,10 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
63656365
if (Args.hasFlag(options::OPT_faddrsig, options::OPT_fno_addrsig,
63666366
(TC.getTriple().isOSBinFormatELF() ||
63676367
TC.getTriple().isOSBinFormatCOFF()) &&
6368-
!TC.getTriple().isPS4() &&
6369-
!TC.getTriple().isOSNetBSD() &&
6370-
!Distro(D.getVFS(), TC.getTriple()).IsGentoo() &&
6371-
!TC.getTriple().isAndroid() &&
6372-
TC.useIntegratedAs()))
6368+
!TC.getTriple().isPS4() && !TC.getTriple().isVE() &&
6369+
!TC.getTriple().isOSNetBSD() &&
6370+
!Distro(D.getVFS(), TC.getTriple()).IsGentoo() &&
6371+
!TC.getTriple().isAndroid() && TC.useIntegratedAs()))
63736372
CmdArgs.push_back("-faddrsig");
63746373

63756374
if (Arg *A = Args.getLastArg(options::OPT_fsymbol_partition_EQ)) {

clang/test/Driver/ve-toolchain.c

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,23 @@
6060
// NOTINITARRAY: clang{{.*}} "-cc1"
6161
// NOTINITARRAY: "-fno-use-init-array"
6262

63+
///-----------------------------------------------------------------------------
64+
/// Checking -faddrsig
65+
66+
// RUN: %clang -### -target ve %s 2>&1 | FileCheck -check-prefix=DEFADDESIG %s
67+
// DEFADDESIG: clang{{.*}} "-cc1"
68+
// DEFADDESIG-NOT: "-faddrsig"
69+
70+
// RUN: %clang -### -target ve %s -faddrsig 2>&1 | \
71+
// RUN: FileCheck -check-prefix=ADDRSIG %s
72+
// ADDRSIG: clang{{.*}} "-cc1"
73+
// ADDRSIG: "-faddrsig"
74+
75+
// RUN: %clang -### -target ve %s -fno-addrsig 2>&1 | \
76+
// RUN: FileCheck -check-prefix=NOADDRSIG %s
77+
// NOADDRSIG: clang{{.*}} "-cc1"
78+
// NOADDRSIG-NOT: "-faddrsig"
79+
6380
///-----------------------------------------------------------------------------
6481
/// Checking exceptions
6582

0 commit comments

Comments
 (0)