Skip to content

Commit ee1b2e7

Browse files
author
Krzysztof Parzyszek
committed
[Hexagon] Do not use init_arrays by default
1 parent fcfd3a2 commit ee1b2e7

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

clang/lib/Driver/ToolChains/Hexagon.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,13 @@ unsigned HexagonToolChain::getOptimizationLevel(
523523
void HexagonToolChain::addClangTargetOptions(const ArgList &DriverArgs,
524524
ArgStringList &CC1Args,
525525
Action::OffloadKind) const {
526+
bool UseInitArrayDefault = false;
527+
528+
if (!DriverArgs.hasFlag(options::OPT_fuse_init_array,
529+
options::OPT_fno_use_init_array,
530+
UseInitArrayDefault))
531+
CC1Args.push_back("-fno-use-init-array");
532+
526533
if (DriverArgs.hasArg(options::OPT_ffixed_r19)) {
527534
CC1Args.push_back("-target-feature");
528535
CC1Args.push_back("+reserved-r19");

clang/test/Driver/hexagon-toolchain-elf.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,3 +588,12 @@
588588
// RUN: | FileCheck -check-prefix=CHECK083 %s
589589
// CHECK083: "-isysroot" "/hexagon"
590590
// CHECK083: "-internal-externc-isystem" "/hexagon{{/|\\\\}}include"
591+
// -----------------------------------------------------------------------------
592+
// Passing -fno-use-init-array
593+
// -----------------------------------------------------------------------------
594+
// RUN: %clang -### -target hexagon-unknown-elf \
595+
// RUN: -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
596+
// RUN: -mcpu=hexagonv60 \
597+
// RUN: %s 2>&1 \
598+
// RUN: | FileCheck -check-prefix=CHECK084 %s
599+
// CHECK084: "-fno-use-init-array"

0 commit comments

Comments
 (0)