gcov-style profiling support for OpenBSD. Patch by Jonathan Gray.
llvm-svn: 146631
This commit is contained in:
parent
2ec824966d
commit
3715d1f435
|
@ -372,7 +372,26 @@ protected:
|
|||
}
|
||||
public:
|
||||
OpenBSDTargetInfo(const std::string &triple)
|
||||
: OSTargetInfo<Target>(triple) {}
|
||||
: OSTargetInfo<Target>(triple) {
|
||||
this->UserLabelPrefix = "";
|
||||
|
||||
llvm::Triple Triple(triple);
|
||||
switch (Triple.getArch()) {
|
||||
default:
|
||||
case llvm::Triple::x86:
|
||||
case llvm::Triple::x86_64:
|
||||
case llvm::Triple::arm:
|
||||
case llvm::Triple::sparc:
|
||||
this->MCountName = "__mcount";
|
||||
break;
|
||||
case llvm::Triple::mips64:
|
||||
case llvm::Triple::mips64el:
|
||||
case llvm::Triple::ppc:
|
||||
case llvm::Triple::sparcv9:
|
||||
this->MCountName = "_mcount";
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// PSP Target
|
||||
|
|
|
@ -4166,8 +4166,12 @@ void openbsd::Link::ConstructJob(Compilation &C, const JobAction &JA,
|
|||
if (!Args.hasArg(options::OPT_nostdlib) &&
|
||||
!Args.hasArg(options::OPT_nostartfiles)) {
|
||||
if (!Args.hasArg(options::OPT_shared)) {
|
||||
CmdArgs.push_back(Args.MakeArgString(
|
||||
getToolChain().GetFilePath("crt0.o")));
|
||||
if (Args.hasArg(options::OPT_pg))
|
||||
CmdArgs.push_back(Args.MakeArgString(
|
||||
getToolChain().GetFilePath("gcrt0.o")));
|
||||
else
|
||||
CmdArgs.push_back(Args.MakeArgString(
|
||||
getToolChain().GetFilePath("crt0.o")));
|
||||
CmdArgs.push_back(Args.MakeArgString(
|
||||
getToolChain().GetFilePath("crtbegin.o")));
|
||||
} else {
|
||||
|
@ -4192,7 +4196,10 @@ void openbsd::Link::ConstructJob(Compilation &C, const JobAction &JA,
|
|||
!Args.hasArg(options::OPT_nodefaultlibs)) {
|
||||
if (D.CCCIsCXX) {
|
||||
getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);
|
||||
CmdArgs.push_back("-lm");
|
||||
if (Args.hasArg(options::OPT_pg))
|
||||
CmdArgs.push_back("-lm_p");
|
||||
else
|
||||
CmdArgs.push_back("-lm");
|
||||
}
|
||||
|
||||
// FIXME: For some reason GCC passes -lgcc before adding
|
||||
|
@ -4202,7 +4209,10 @@ void openbsd::Link::ConstructJob(Compilation &C, const JobAction &JA,
|
|||
if (Args.hasArg(options::OPT_pthread))
|
||||
CmdArgs.push_back("-lpthread");
|
||||
if (!Args.hasArg(options::OPT_shared))
|
||||
CmdArgs.push_back("-lc");
|
||||
if (Args.hasArg(options::OPT_pg))
|
||||
CmdArgs.push_back("-lc_p");
|
||||
else
|
||||
CmdArgs.push_back("-lc");
|
||||
CmdArgs.push_back("-lgcc");
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue