[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
This commit is contained in:
Kazushi (Jam) Marukawa 2020-11-12 20:41:04 +09:00
parent 04a147987a
commit 9c504ec06d
2 changed files with 21 additions and 5 deletions

View File

@ -6365,11 +6365,10 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
if (Args.hasFlag(options::OPT_faddrsig, options::OPT_fno_addrsig,
(TC.getTriple().isOSBinFormatELF() ||
TC.getTriple().isOSBinFormatCOFF()) &&
!TC.getTriple().isPS4() &&
!TC.getTriple().isOSNetBSD() &&
!Distro(D.getVFS(), TC.getTriple()).IsGentoo() &&
!TC.getTriple().isAndroid() &&
TC.useIntegratedAs()))
!TC.getTriple().isPS4() && !TC.getTriple().isVE() &&
!TC.getTriple().isOSNetBSD() &&
!Distro(D.getVFS(), TC.getTriple()).IsGentoo() &&
!TC.getTriple().isAndroid() && TC.useIntegratedAs()))
CmdArgs.push_back("-faddrsig");
if (Arg *A = Args.getLastArg(options::OPT_fsymbol_partition_EQ)) {

View File

@ -60,6 +60,23 @@
// NOTINITARRAY: clang{{.*}} "-cc1"
// NOTINITARRAY: "-fno-use-init-array"
///-----------------------------------------------------------------------------
/// Checking -faddrsig
// RUN: %clang -### -target ve %s 2>&1 | FileCheck -check-prefix=DEFADDESIG %s
// DEFADDESIG: clang{{.*}} "-cc1"
// DEFADDESIG-NOT: "-faddrsig"
// RUN: %clang -### -target ve %s -faddrsig 2>&1 | \
// RUN: FileCheck -check-prefix=ADDRSIG %s
// ADDRSIG: clang{{.*}} "-cc1"
// ADDRSIG: "-faddrsig"
// RUN: %clang -### -target ve %s -fno-addrsig 2>&1 | \
// RUN: FileCheck -check-prefix=NOADDRSIG %s
// NOADDRSIG: clang{{.*}} "-cc1"
// NOADDRSIG-NOT: "-faddrsig"
///-----------------------------------------------------------------------------
/// Checking exceptions