Author: Konstantin Schwarz Date: 2019-09-03T11:55:46+02:00 New Revision: 2ca7535d6caa77de04bf3d80171376d26bde3729
URL: https://github.com/llvm/llvm-project/commit/2ca7535d6caa77de04bf3d80171376d26bde3729 DIFF: https://github.com/llvm/llvm-project/commit/2ca7535d6caa77de04bf3d80171376d26bde3729.diff LOG: Revert all changes done on the htc/master branch. For upcoming toolchains, we need a new concept for RLM license checks. Moreover, the HighTec driver was mostly rewritten on the htc/release/7.x branch. The changes are still available for later (partial) reuse. Added: Modified: clang/lib/Basic/Targets.cpp clang/lib/Basic/Targets.h clang/lib/Basic/Targets/AArch64.cpp clang/lib/Basic/Targets/ARM.cpp clang/lib/Basic/Version.cpp clang/lib/Driver/CMakeLists.txt clang/lib/Driver/Driver.cpp clang/lib/Frontend/InitHeaderSearch.cpp clang/tools/driver/CMakeLists.txt clang/tools/driver/driver.cpp compiler-rt/cmake/builtin-config-ix.cmake compiler-rt/lib/builtins/CMakeLists.txt compiler-rt/lib/builtins/int_util.c libcxx/include/CMakeLists.txt libcxx/include/__config libcxx/include/__locale libcxx/include/math.h libcxx/src/locale.cpp libcxx/src/random.cpp libunwind/CMakeLists.txt lld/Common/Version.cpp Removed: clang/lib/Driver/ToolChains/HighTec.cpp clang/lib/Driver/ToolChains/HighTec.h clang/rlm_libs/x64_l/librlm.a clang/rlm_libs/x64_w/rlm1233.dll clang/rlm_libs/x64_w/rlm1233.lib clang/tools/driver/LicenseManagerBase.cpp clang/tools/driver/LicenseManagerBase.h clang/tools/driver/license.h libcxx/include/support/hightec/locale_htc.h ################################################################################ diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 5ee68fd92ce2a..1ef2fe3b81416 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -112,10 +112,6 @@ void addMinGWDefines(const llvm::Triple &Triple, const LangOptions &Opts, addCygMingDefines(Opts, Builder); } -void addHighTecDefines(MacroBuilder &Builder) { - Builder.defineMacro("__HIGHTEC__"); -} - //===----------------------------------------------------------------------===// // Driver code //===----------------------------------------------------------------------===// diff --git a/clang/lib/Basic/Targets.h b/clang/lib/Basic/Targets.h index 3c31890c8e15b..d450aa3f37ed6 100644 --- a/clang/lib/Basic/Targets.h +++ b/clang/lib/Basic/Targets.h @@ -46,9 +46,6 @@ void addMinGWDefines(const llvm::Triple &Triple, const clang::LangOptions &Opts, LLVM_LIBRARY_VISIBILITY void addCygMingDefines(const clang::LangOptions &Opts, clang::MacroBuilder &Builder); - -LLVM_LIBRARY_VISIBILITY -void addHighTecDefines(clang::MacroBuilder &Builder); } // namespace targets } // namespace clang #endif // LLVM_CLANG_LIB_BASIC_TARGETS_H diff --git a/clang/lib/Basic/Targets/AArch64.cpp b/clang/lib/Basic/Targets/AArch64.cpp index ddca8369b7423..3444591ac5933 100644 --- a/clang/lib/Basic/Targets/AArch64.cpp +++ b/clang/lib/Basic/Targets/AArch64.cpp @@ -211,8 +211,6 @@ void AArch64TargetInfo::getTargetDefines(const LangOptions &Opts, Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2"); Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4"); Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8"); - - addHighTecDefines(Builder); } ArrayRef<Builtin::Info> AArch64TargetInfo::getTargetBuiltins() const { diff --git a/clang/lib/Basic/Targets/ARM.cpp b/clang/lib/Basic/Targets/ARM.cpp index 8d49f124c854a..19fcc5abea97e 100644 --- a/clang/lib/Basic/Targets/ARM.cpp +++ b/clang/lib/Basic/Targets/ARM.cpp @@ -752,8 +752,6 @@ void ARMTargetInfo::getTargetDefines(const LangOptions &Opts, getTargetDefinesARMV82A(Opts, Builder); break; } - - addHighTecDefines(Builder); } const Builtin::Info ARMTargetInfo::BuiltinInfo[] = { diff --git a/clang/lib/Basic/Version.cpp b/clang/lib/Basic/Version.cpp index bef40f9f1201c..c2b7753d41288 100644 --- a/clang/lib/Basic/Version.cpp +++ b/clang/lib/Basic/Version.cpp @@ -25,7 +25,6 @@ namespace clang { std::string getClangRepositoryPath() { - return "clang:"; #if defined(CLANG_REPOSITORY_STRING) return CLANG_REPOSITORY_STRING; #else @@ -56,7 +55,6 @@ std::string getClangRepositoryPath() { } std::string getLLVMRepositoryPath() { - return "llvm: "; #ifdef LLVM_REPOSITORY StringRef URL(LLVM_REPOSITORY); #else diff --git a/clang/lib/Driver/CMakeLists.txt b/clang/lib/Driver/CMakeLists.txt index 637907aa91fe3..2b03c9f7001f7 100644 --- a/clang/lib/Driver/CMakeLists.txt +++ b/clang/lib/Driver/CMakeLists.txt @@ -45,7 +45,6 @@ add_clang_library(clangDriver ToolChains/Fuchsia.cpp ToolChains/Gnu.cpp ToolChains/Haiku.cpp - ToolChains/HighTec.cpp ToolChains/HIP.cpp ToolChains/Hexagon.cpp ToolChains/Linux.cpp diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 1caf63bf354f7..952a716cb6e61 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -26,7 +26,6 @@ #include "ToolChains/HIP.h" #include "ToolChains/Haiku.h" #include "ToolChains/Hexagon.h" -#include "ToolChains/HighTec.h" #include "ToolChains/Lanai.h" #include "ToolChains/Linux.h" #include "ToolChains/MSVC.h" @@ -4283,12 +4282,6 @@ const ToolChain &Driver::getToolChain(const ArgList &Args, auto &TC = ToolChains[Target.str()]; if (!TC) { - - if (toolchains::HighTec::handlesTarget(Target)) { - TC = llvm::make_unique<toolchains::HighTec>(*this, Target, Args); - return *TC; - } - switch (Target.getOS()) { case llvm::Triple::Haiku: TC = llvm::make_unique<toolchains::Haiku>(*this, Target, Args); diff --git a/clang/lib/Driver/ToolChains/HighTec.cpp b/clang/lib/Driver/ToolChains/HighTec.cpp deleted file mode 100644 index 367137f771b08..0000000000000 --- a/clang/lib/Driver/ToolChains/HighTec.cpp +++ /dev/null @@ -1,311 +0,0 @@ -//===--- HighTec.cpp - HighTec ToolChain Implementation --------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "HighTec.h" -#include "Arch/ARM.h" -#include "clang/Basic/Version.h" -#include "clang/Basic/VirtualFileSystem.h" -#include "clang/Driver/Compilation.h" -#include "clang/Driver/Driver.h" -#include "clang/Driver/DriverDiagnostic.h" -#include "clang/Driver/Options.h" -#include "llvm/Option/ArgList.h" -#include "llvm/Support/Path.h" -#include "llvm/Support/TargetParser.h" -#include "llvm/Support/raw_ostream.h" - -using namespace llvm::opt; -using namespace clang; -using namespace clang::driver; -using namespace clang::driver::tools; -using namespace clang::driver::toolchains; - -static std::string getArchitecture(llvm::Triple Triple) { - - llvm::StringRef Arch = llvm::Triple::getArchTypePrefix(Triple.getArch()); - if (Arch != "") - return Arch; - - llvm_unreachable("Unknown architecture specified."); -} - -static std::string getArchVersionString(StringRef Arch) { - - switch (llvm::ARM::parseArch(llvm::ARM::getCanonicalArchName(Arch))) { - default: - // For now, only support v7 & v8 - return ""; - case llvm::ARM::ArchKind::ARMV8A: - return "v8-a"; - case llvm::ARM::ArchKind::ARMV8_1A: - return "v8.1-a"; - case llvm::ARM::ArchKind::ARMV8_2A: - return "v8-2-a"; - case llvm::ARM::ArchKind::ARMV8_3A: - return "v8-3-a"; - case llvm::ARM::ArchKind::ARMV8R: - return "v8-r"; - case llvm::ARM::ArchKind::ARMV8MBaseline: - return "v8-m.base"; - case llvm::ARM::ArchKind::ARMV8MMainline: - return "v8-m.main"; - case llvm::ARM::ArchKind::ARMV7A: - return "v7-a"; - case llvm::ARM::ArchKind::ARMV7R: - return "v7-r"; - case llvm::ARM::ArchKind::ARMV7EM: - return "v7e-m"; - case llvm::ARM::ArchKind::ARMV7M: - return "v7-m"; - case llvm::ARM::ArchKind::ARMV7S: - return "v7-s"; - case llvm::ARM::ArchKind::ARMV7K: - return "v7-k"; - case llvm::ARM::ArchKind::ARMV7VE: - return "v7ve"; - case llvm::ARM::ArchKind::ARMV6M: - return "v6-m"; - } -} - -static std::string getArchVersion(llvm::Triple Triple, const llvm::opt::ArgList &Args) { - - - if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { - return getArchVersionString(A->getValue()); - } else { - - // The architecture might be part of the target option, parse it - if (const Arg *A = Args.getLastArg(options::OPT_target)) { - StringRef TargetString = A->getValue(); - SmallVector<StringRef, 4> Components; - TargetString.split(Components, '-'); - if (Components.size() > 0) - return getArchVersionString(Components[0]); - else - // This should not occur - return ""; - } else { - // This should not occur - return ""; - } - } -} - -static std::string getFloatABI(const Driver &D, llvm::Triple Triple, const llvm::opt::ArgList &Args) { - - // For AArch64, we currently do not support diff erent float abi's - if (Triple.getArch() == llvm::Triple::aarch64 || Triple.getArch() == llvm::Triple::aarch64_be) - return ""; - - if (Arg *A = - Args.getLastArg(options::OPT_msoft_float, options::OPT_mhard_float, - options::OPT_mfloat_abi_EQ)) { - if (A->getOption().matches(options::OPT_msoft_float)) { - return "soft"; - } else if (A->getOption().matches(options::OPT_mhard_float)) { - return "hard"; - } else { - std::string ABI = llvm::StringSwitch<std::string>(A->getValue()) - .Case("soft", "soft") - .Case("softfp", "softfp") - .Case("hard", "hard") - .Default(""); - - if (ABI == "" && !StringRef(A->getValue()).empty()) { - D.Diag(diag::err_drv_invalid_mfloat_abi) << A->getAsString(Args); - } else { - return ABI; - } - } - } - - - if (Triple.getEnvironment() == llvm::Triple::EABI) { - return "softfp"; - } else { - return "hard"; - } -} - -static std::string getISA(llvm::Triple Triple, const llvm::opt::ArgList &Args) { - - llvm::StringRef Arch = Args.getLastArgValue(options::OPT_march_EQ); - bool IsArmArch = Triple.getArch() == llvm::Triple::arm; - bool IsThumbArch = Triple.getArch() == llvm::Triple::thumb; - bool IsThumbMode = IsThumbArch || - Args.hasFlag(options::OPT_mthumb, options::OPT_mno_thumb, false) || - (IsArmArch && llvm::ARM::parseArchISA(Arch) == llvm::ARM::ISAKind::THUMB); - - return IsThumbMode ? "thumb" : (IsArmArch ? "arm" : ""); -} - -static std::string getTargetDir(const Driver &D, - llvm::Triple Triple) { - SmallString<128> P(llvm::sys::path::parent_path(D.Dir)); - llvm::sys::path::append(P, getArchitecture(Triple)); - return P.str(); -} - -static std::string getTargetLibDir(const Driver &D, llvm::Triple Triple, const llvm::opt::ArgList &Args) { - std::string archVersion = getArchVersion(Triple, Args); - std::string ISA = getISA(Triple, Args); - std::string floatABI = getFloatABI(D, Triple, Args); - - SmallString<128> P(getTargetDir(D, Triple)); - - llvm::sys::path::append(P, "lib"); - llvm::sys::path::append(P, archVersion, ISA, floatABI); - return P.str(); -} - -std::string HighTec::getCompilerRT(const llvm::opt::ArgList &Args, - StringRef Component, - bool Shared) const { - - SmallString<128> P(getTargetLibDir(getDriver(), getTriple(), Args)); - llvm::sys::path::append(P, Twine("libclang_rt.") + Component + ".a" ); - return P.str(); -} - -HighTec::HighTec(const Driver &D, const llvm::Triple &Triple, - const ArgList &Args) -: ToolChain(D, Triple, Args) { - getProgramPaths().push_back(getDriver().getInstalledDir()); - if (getDriver().getInstalledDir() != D.Dir) - getProgramPaths().push_back(D.Dir); - - SmallString<128> P(getTargetLibDir(D, Triple, Args)); - getFilePaths().push_back(P.str()); - - if (!D.SysRoot.empty()) { - SmallString<128> P(D.SysRoot); - llvm::sys::path::append(P, "lib"); - getFilePaths().push_back(P.str()); - } -} - -HighTec::~HighTec() {} - -static bool isSupportedTarget(const llvm::Triple &Triple) { - if (Triple.getArch() != llvm::Triple::aarch64 && - Triple.getArch() != llvm::Triple::arm && - Triple.getArch() != llvm::Triple::thumb) - return false; - - if (Triple.getVendor() != llvm::Triple::UnknownVendor) - return false; - - if (Triple.getOS() != llvm::Triple::UnknownOS) - return false; - - if (Triple.getEnvironment() != llvm::Triple::EABI && - Triple.getEnvironment() != llvm::Triple::EABIHF) - return false; - - return true; -} - -bool HighTec::handlesTarget(const llvm::Triple &Triple) { - return isSupportedTarget(Triple); -} - -Tool *HighTec::buildLinker() const { - return new tools::hightec::Linker(*this); -} - -void HighTec::AddClangSystemIncludeArgs(const ArgList &DriverArgs, - ArgStringList &CC1Args) const { - const Driver &D = getDriver(); - - if (DriverArgs.hasArg(options::OPT_nostdinc)) - return; - - if (DriverArgs.hasArg(options::OPT_nostdlibinc)) - return; - - // Add Dinkum library include path - SmallString<128> P(getTargetDir(D, getTriple())); - llvm::sys::path::append(P, "include"); - addSystemInclude(DriverArgs, CC1Args, P); - - if (!D.SysRoot.empty()) { - SmallString<128> P(D.SysRoot); - llvm::sys::path::append(P, "include"); - addExternCSystemInclude(DriverArgs, CC1Args, P.str()); - } -} - -void HighTec::addClangTargetOptions(const ArgList &DriverArgs, - ArgStringList &CC1Args, - Action::OffloadKind) const {} - -void HighTec::AddClangCXXStdlibIncludeArgs( - const ArgList &DriverArgs, ArgStringList &CC1Args) const { - if (DriverArgs.hasArg(options::OPT_nostdlibinc) || - DriverArgs.hasArg(options::OPT_nostdincxx)) - return; - - SmallString<128> P(getTargetDir(getDriver(), getTriple())); - llvm::sys::path::append(P, "include", "c++", "v1"); - addSystemInclude(DriverArgs, CC1Args, P.str()); -} - -void HighTec::AddCXXStdlibLibArgs(const ArgList &Args, - ArgStringList &CmdArgs) const { - switch (GetCXXStdlibType(Args)) { - case ToolChain::CST_Libcxx: - CmdArgs.push_back("-lc++"); - CmdArgs.push_back("-lc++abi"); - CmdArgs.push_back("-lunwind"); - break; - - case ToolChain::CST_Libstdcxx: - llvm_unreachable("invalid stdlib name"); - } -} - -void hightec::Linker::ConstructJob(Compilation &C, const JobAction &JA, - const InputInfo &Output, - const InputInfoList &Inputs, - const ArgList &Args, - const char *LinkingOutput) const { - ArgStringList CmdArgs; - - auto &TC = static_cast<const toolchains::HighTec&>(getToolChain()); - const Driver &D = TC.getDriver(); - - if (!D.SysRoot.empty()) - CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot)); - - if (Args.hasArg(options::OPT_static)) - CmdArgs.push_back("-Bstatic"); - - CmdArgs.push_back("-o"); - CmdArgs.push_back(Output.getFilename()); - - if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles)) { - - // TODO: Add startup code here - } - - TC.AddFilePathLibArgs(Args, CmdArgs); - - AddLinkerInputs(TC, Inputs, Args, CmdArgs, JA); - - if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) { - AddRunTimeLibs(TC, D, CmdArgs, Args); - - CmdArgs.push_back("-ldnk"); - } - - C.addCommand(llvm::make_unique<Command>(JA, *this, - Args.MakeArgString(TC.GetLinkerPath()), - CmdArgs, Inputs)); -} diff --git a/clang/lib/Driver/ToolChains/HighTec.h b/clang/lib/Driver/ToolChains/HighTec.h deleted file mode 100644 index 36e8e6a6de123..0000000000000 --- a/clang/lib/Driver/ToolChains/HighTec.h +++ /dev/null @@ -1,99 +0,0 @@ -//===--- HighTec.h - HighTec ToolChain Implementation --------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HIGHTEC_H_ -#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HIGHTEC_H_ - -#include "clang/Driver/Tool.h" -#include "clang/Driver/ToolChain.h" - -#include "CommonArgs.h" -#include "InputInfo.h" - -#include <string> - -namespace clang { -namespace driver { - -namespace toolchains { - -class LLVM_LIBRARY_VISIBILITY HighTec : public ToolChain { -public: - HighTec(const Driver &D, const llvm::Triple &Triple, - const llvm::opt::ArgList &Args); - ~HighTec() override; - - static bool handlesTarget(const llvm::Triple &Triple); -protected: - Tool *buildLinker() const override; - -public: - bool isCrossCompiling() const override { return true; } - bool HasNativeLLVMSupport() const override { return true; } - bool IsIntegratedAssemblerDefault() const override { return true; } - bool IsMathErrnoDefault() const override { return false; } - - const char *getDefaultLinker() const override { - return "ld.lld"; - } - - RuntimeLibType GetDefaultRuntimeLibType() const override { - return ToolChain::RLT_CompilerRT; - } - CXXStdlibType GetDefaultCXXStdlibType() const override { - return ToolChain::CST_Libcxx; - } - - std::string getCompilerRT(const llvm::opt::ArgList &Args, - StringRef Component, - bool Shared = false) const override; - - bool isPICDefault() const override { return false; } - bool isPIEDefault() const override { return false; } - bool isPICDefaultForced() const override { return false; } - bool SupportsProfiling() const override { return false; } - - unsigned GetDefaultDwarfVersion() const override { return 2; }; - - void AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const override; - void addClangTargetOptions(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args, - Action::OffloadKind DeviceOffloadKind) const override; - std::string findLibCxxIncludePath(ToolChain::CXXStdlibType LibType) const; - void AddClangCXXStdlibIncludeArgs( - const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const override; - void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, - llvm::opt::ArgStringList &CmdArgs) const override; -}; - -} // namespace toolchains - -namespace tools { -namespace hightec { - -class LLVM_LIBRARY_VISIBILITY Linker : public Tool { -public: - Linker(const ToolChain &TC) : Tool("hightec::Linker", "ld", TC) {} - bool isLinkJob() const override { return true; } - bool hasIntegratedCPP() const override { return false; } - void ConstructJob(Compilation &C, const JobAction &JA, - const InputInfo &Output, const InputInfoList &Inputs, - const llvm::opt::ArgList &TCArgs, - const char *LinkingOutput) const override; -}; - -} // namespace hightec -} // namespace tools - -} // namespace driver -} // namespace clang - -#endif /* LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_HIGHTEC_H_ */ diff --git a/clang/lib/Frontend/InitHeaderSearch.cpp b/clang/lib/Frontend/InitHeaderSearch.cpp index a2bf4a7d670c4..8a70404629d36 100644 --- a/clang/lib/Frontend/InitHeaderSearch.cpp +++ b/clang/lib/Frontend/InitHeaderSearch.cpp @@ -228,11 +228,6 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, LLVM_FALLTHROUGH; default: // FIXME: temporary hack: hard-coded paths. - - if (triple.getEnvironment() == llvm::Triple::EABI || - triple.getEnvironment() == llvm::Triple::EABIHF) - break; - AddPath("/usr/local/include", System, false); break; } @@ -358,11 +353,6 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple, LLVM_FALLTHROUGH; } default: - - if (triple.getEnvironment() == llvm::Triple::EABI || - triple.getEnvironment() == llvm::Triple::EABIHF) - break; - AddPath("/usr/include", ExternCSystem, false); break; } diff --git a/clang/rlm_libs/x64_l/librlm.a b/clang/rlm_libs/x64_l/librlm.a deleted file mode 100644 index de7ce2ad52dc4..0000000000000 Binary files a/clang/rlm_libs/x64_l/librlm.a and /dev/null diff er diff --git a/clang/rlm_libs/x64_w/rlm1233.dll b/clang/rlm_libs/x64_w/rlm1233.dll deleted file mode 100644 index 3b625d5de5a38..0000000000000 Binary files a/clang/rlm_libs/x64_w/rlm1233.dll and /dev/null diff er diff --git a/clang/rlm_libs/x64_w/rlm1233.lib b/clang/rlm_libs/x64_w/rlm1233.lib deleted file mode 100644 index 461ee6ce340c1..0000000000000 Binary files a/clang/rlm_libs/x64_w/rlm1233.lib and /dev/null diff er diff --git a/clang/tools/driver/CMakeLists.txt b/clang/tools/driver/CMakeLists.txt index 5dece1b90df10..15b0519e4111b 100644 --- a/clang/tools/driver/CMakeLists.txt +++ b/clang/tools/driver/CMakeLists.txt @@ -29,35 +29,11 @@ if(NOT CLANG_BUILT_STANDALONE) set(tablegen_deps intrinsics_gen) endif() -set(RLM_PRODUCT_NAME - "arm-llvm" - CACHE STRING "The name of the product as defined in RLM ") - -set(RLM_LIB "" - CACHE FILEPATH - "Path to librlm.a - This is used for integrating the license manager.") - -set(RLM_LIC "" - CACHE FILEPATH "Path to the license file") - -if(WIN32) - add_library(rlm MODULE IMPORTED) - set (RLM_LIB "${CLANG_SOURCE_DIR}/rlm_libs/x64_w/rlm1233.lib") - string (REPLACE ".lib" ".dll" RLM_DLL ${RLM_LIB}) -else() - add_library(rlm STATIC IMPORTED) - set (RLM_LIB "${CLANG_SOURCE_DIR}/rlm_libs/x64_l/librlm.a") -endif() - -set_property(TARGET rlm PROPERTY IMPORTED_LOCATION ${RLM_LIB}) - - add_clang_tool(clang driver.cpp cc1_main.cpp cc1as_main.cpp cc1gen_reproducer_main.cpp - LicenseManagerBase.cpp DEPENDS ${tablegen_deps} @@ -70,16 +46,8 @@ target_link_libraries(clang clangDriver clangFrontend clangFrontendTool - rlm ) -add_definitions( -DRLM_BASE_VERSION="${CLANG_VERSION_MAJOR}.${CLANG_VERSION_MINOR}" ) -string(TIMESTAMP D_CLANG_BUILD_DATE "%Y.%m") -add_definitions( -DRLM_BUILD_DATE="${D_CLANG_BUILD_DATE}" ) -add_definitions( -DRLM_LIC_FILE="${RLM_LIC}" ) -add_definitions( -DRLM_PRODUCT_NAME="${RLM_PRODUCT_NAME}" ) - - if(WIN32 AND NOT CYGWIN) # Prevent versioning if the buildhost is targeting for Win32. else() @@ -154,15 +122,6 @@ if(CLANG_ORDER_FILE AND endif() endif() -if(WIN32) -add_custom_command( - TARGET clang POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy - ${RLM_DLL} - ${LLVM_RUNTIME_OUTPUT_INTDIR}/ - COMMENT "Copying RLM shared library to bin folder...") -endif() - if(WITH_POLLY AND LINK_POLLY_INTO_TOOLS) target_link_libraries(clang PRIVATE Polly) endif(WITH_POLLY AND LINK_POLLY_INTO_TOOLS) diff --git a/clang/tools/driver/LicenseManagerBase.cpp b/clang/tools/driver/LicenseManagerBase.cpp deleted file mode 100644 index 2c61b62810da6..0000000000000 --- a/clang/tools/driver/LicenseManagerBase.cpp +++ /dev/null @@ -1,171 +0,0 @@ -#include "LicenseManagerBase.h" -#include <iostream> - -#include <fstream> -#include "llvm/Support/raw_ostream.h" - -#include "llvm/Config/llvm-config.h" -#if LLVM_ON_WIN32 -#include <windows.h> -#endif -#if LLVM_ON_UNIX -#include <unistd.h> -#endif - -static string extractString(string str, string pattern, size_t pat_size) { - std::size_t verStart = str.find(pattern); - std::size_t firstSpace = str.find(" ", verStart); - if (verStart != std::string::npos && firstSpace != std::string::npos) { - return str.substr(verStart + pat_size, firstSpace - verStart - pat_size); - } else if (verStart != std::string::npos && firstSpace == std::string::npos) { - return str.substr(verStart + pat_size, firstSpace - verStart - pat_size); - } - return "unknown"; -} - -bool LicenseManagerBase::isCorrectBaseVersion(string rlm_str) { - string result = extractString(rlm_str, "ver=", 4); - return (result == baseVer); -} - -bool LicenseManagerBase::areAllParamsCorrect(string product_name, - string buildDate, string rlm_str) { - return ((pName == product_name) && isCorrectBaseVersion(rlm_str) && - (buildDate >= pVersionDate)); -} - -int LicenseManagerBase::checkLicense() { - RLM_PRODUCTS products; - int stat = 0; - bool validLicFileAvailable = true; - - ifstream f(licenseDir.c_str()); - - // Check of the passed file to the License manager is correct. - // In case the file doesn't exist or no file is passed, then take - // the file name from the environment variable named "RLM_LICENSE_FILE". - // If that variable is also empty or doesn't contain a file, then we - // set validLicFileAvailable =false. - if (licenseDir == "" || !f.good()) { - validLicFileAvailable = false; - char *pPath = getenv("RLM_LICENSE_FILE"); - if (pPath != nullptr) { - ifstream f(const_cast<const char *>(pPath)); - if (f.good()) { - validLicFileAvailable = true; - licenseDir = pPath; - } - } - } - - rlm_handle = rlm_init(licenseDir.c_str(), nullptr, (char *)nullptr); - - // In case there is no file, we skip the process of checking the license on - // the file system. - if (validLicFileAvailable) { - stat = rlm_stat(rlm_handle); - if (stat) { - char error_string[RLM_ERRSTRING_MAX]; - llvm::errs() << "license check: " << rlm_errstring(nullptr, rlm_handle, error_string); - return -1; - } - - - - products = rlm_products(rlm_handle, nullptr, (char *)nullptr); - - if (products != nullptr) { - string name = rlm_product_name(products); - string verDate = rlm_product_ver(products); - rlm_license = - rlm_checkout(rlm_handle, pName.c_str(), pVersionDate.c_str(), 1); - if (rlm_license != nullptr) { - if (rlm_license_options(rlm_license) != nullptr) { - string options = rlm_product_options(products); - if (areAllParamsCorrect(name, verDate, options)) return 1; - } - } - } - } - - // Check if we already have a license file. - rlm_license = - rlm_checkout(rlm_handle, pName.c_str(), pVersionDate.c_str(), 1); - stat = rlm_license_stat(rlm_license); - if (stat == 0) { - string rlm_str = rlm_license_options(rlm_license); - if (areAllParamsCorrect(rlm_license_product(rlm_license), - rlm_license_ver(rlm_license), rlm_str)) { - return 1; - } - } - - rlm_checkin(rlm_license); - rlm_license = (RLM_LICENSE) nullptr; - - // The tried license is not suitable for us: request all the licenses. - products = rlm_products(rlm_handle, const_cast<char *>(pName.c_str()), - const_cast<char *>(pVersionDate.c_str())); - - - if (products == nullptr) { - llvm::errs() << "pName: " << pName << "\n"; - llvm::errs() << "pVersionDate: " << pVersionDate << "\n"; - llvm::errs() << "Base Version: " << baseVer << "\n"; - llvm::errs() << "Product Error - no product found\n"; - return -1; - } - - rlm_product_first(products); - - rlm_license = - rlm_checkout(rlm_handle, pName.c_str(), pVersionDate.c_str(), 1); - - if (products == nullptr) { - llvm::errs() << "pName: " << pName << "\n"; - llvm::errs() << "pVersionDate: " << pVersionDate << "\n"; - llvm::errs() << "Base Version: " << baseVer << "\n"; - llvm::errs() << "Product Error - no product found\n"; - return -1; - } - - string options = rlm_product_options(products); - int i = 1; - int licFound = 0; - do { - if ((stat == RLM_EL_INQUEUE) && (rlm_license != nullptr)) { - stat = rlm_get_attr_health(rlm_license); - } else { - rlm_license = - rlm_checkout_product(rlm_handle, products, pVersionDate.c_str(), 1); - stat = rlm_license_stat(rlm_license); - } - - if (areAllParamsCorrect(rlm_product_name(products), - rlm_product_ver(products), options)) { - return 1; - } else { - licFound = -1; - } - - if (stat != 0) { - if (i <= retries) { - if (stat != RLM_EL_INQUEUE) { - - rlm_checkin(rlm_license); - } -#if LLVM_ON_WIN32 - Sleep(1); -#endif -#ifdef LLVM_ON_UNIX - usleep(1000); -#endif - - } - } - - } while (i++ < retries); - rlm_products_free(products); - - return (licFound == -1) ? licFound : stat; -} diff --git a/clang/tools/driver/LicenseManagerBase.h b/clang/tools/driver/LicenseManagerBase.h deleted file mode 100644 index d7cdaa6a01f3d..0000000000000 --- a/clang/tools/driver/LicenseManagerBase.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef LLVM_CLANG_TOOLS_CLANG_TOOLS_DRIVER_LICENSEMANAGERBASE_H_ -#define LLVM_CLANG_TOOLS_CLANG_TOOLS_DRIVER_LICENSEMANAGERBASE_H_ - -#include "license.h" -#include <string> - -using namespace std; - -class LicenseManagerBase { -private: - string pName; - string pVersionDate; - string baseVer; - string licenseDir; - int retries; - - RLM_HANDLE rlm_handle; - RLM_LICENSE rlm_license; - - bool isCorrectBaseVersion(string rlm_str); - bool areAllParamsCorrect(string product_name, string buildDate, - string rlm_str); - -public: - LicenseManagerBase(string _pName, string _pVersion, string _baseVer, - string _licenseDir, int _retries) - : pName(_pName), pVersionDate(_pVersion), baseVer(_baseVer), - licenseDir(_licenseDir), retries(_retries), - rlm_handle(nullptr), rlm_license(nullptr) {} - - int checkLicense(); - int selectProduct(RLM_PRODUCTS products); - -}; - - - -#endif /* LLVM_CLANG_TOOLS_CLANG_TOOLS_DRIVER_LICENSEMANAGERBASE_H_ */ diff --git a/clang/tools/driver/driver.cpp b/clang/tools/driver/driver.cpp index 5d08f7560c830..0455ba029c654 100644 --- a/clang/tools/driver/driver.cpp +++ b/clang/tools/driver/driver.cpp @@ -43,7 +43,6 @@ #include "llvm/Support/TargetSelect.h" #include "llvm/Support/Timer.h" #include "llvm/Support/raw_ostream.h" -#include "LicenseManagerBase.h" #include <memory> #include <set> #include <system_error> @@ -321,13 +320,6 @@ static int ExecuteCC1Tool(ArrayRef<const char *> argv, StringRef Tool) { } int main(int argc_, const char **argv_) { - - LicenseManagerBase LM(RLM_PRODUCT_NAME, RLM_BUILD_DATE, RLM_BASE_VERSION, - RLM_LIC_FILE, 2); - if (LM.checkLicense() != 1) - llvm::report_fatal_error("license check: No valid license!"); - - llvm::InitLLVM X(argc_, argv_); SmallVector<const char *, 256> argv(argv_, argv_ + argc_); diff --git a/clang/tools/driver/license.h b/clang/tools/driver/license.h deleted file mode 100644 index 6501decbd1b56..0000000000000 --- a/clang/tools/driver/license.h +++ /dev/null @@ -1,826 +0,0 @@ -/****************************************************************************** - - COPYRIGHT (c) 2005, 2017 by Reprise Software, Inc. - This software has been provided pursuant to a License Agreement - containing restrictions on its use. This software contains - valuable trade secrets and proprietary information of - Reprise Software Inc and is protected by law. It may not be - copied or distributed in any form or medium, disclosed to third - parties, reverse engineered or used in any manner not provided - for in said License Agreement except with the prior written - authorization from Reprise Software Inc. - - *****************************************************************************/ -/* - * Description: RLM external definitions - * - * M. Christiano - * 11/19/05 - * - */ - -#ifndef RLM_LICENSE_H_INCLUDED -#define RLM_LICENSE_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif - -#define RLM_VERSION 12 -#define RLM_REVISION 3 -#define RLM_BUILD 3 -#define RLM_PATCH 0 - -#define RLM_SOFTWARE_VERSION "Reprise License Manager (RLM) v12.3, Copyright (C) 2006-2017, Reprise Software, Inc." -#define RLM_COPYRIGHT "Copyright (C) 2006-2017, Reprise Software, Inc. All rights reserved." - -typedef struct rlm_license *RLM_LICENSE; -typedef struct rlm_handle *RLM_HANDLE; -typedef struct rlm_isv_config *RLM_ISV_CONFIG_HANDLE; -typedef struct rlm_products *RLM_PRODUCTS; -typedef struct rlm_act_handle *RLM_ACT_HANDLE; -typedef struct l_hostid *L_HOSTID; - -/* - * RLM_ACT_HANDLE member settings - */ - -#define RLM_ACT_HANDLE_ISV 1 -#define RLM_ACT_HANDLE_HOSTID_LIST 2 -#define RLM_ACT_HANDLE_HOSTNAME 3 -#define RLM_ACT_HANDLE_EXTRA 4 -#define RLM_ACT_HANDLE_LOG 5 -#define RLM_ACT_HANDLE_REHOST 6 -#define RLM_ACT_HANDLE_DISCONN 7 -#define RLM_ACT_HANDLE_PRODUCT 8 -/* 9: unused, Next value: 10 */ - -/* - * RLM Activation Pro license types - */ - -#define RLM_ACT_LT_FLOATING 0 /* Floating */ -#define RLM_ACT_LT_F_UPGRADE 4 /* Floating UPGRADE */ -#define RLM_ACT_LT_UNCOUNTED 1 /* Nodelocked, Uncounted */ -#define RLM_ACT_LT_NLU_UPGRADE 5 /* Nodelocked, Uncounted UPGRADE */ -#define RLM_ACT_LT_COUNTED 2 /* Nodelocked, counted (Not implemented)*/ -#define RLM_ACT_LT_NLC_UPGRADE 6 /* NL, counted UPGRADE (Not implemented )*/ -#define RLM_ACT_LT_SINGLE 3 /* Single */ -#define RLM_ACT_LT_S_UPGRADE 7 /* Single UPGRADE */ -#define RLM_ACT_LT_ASH 8 /* Alternate Server Hostid (ASH) */ -#define RLM_ACT_LT_ANH 9 /* Alternate Nodelock Hostid (ANH) */ -#define RLM_ACT_LT_TOKEN_UNLOCKED 10 /* Token, unlocked */ -#define RLM_ACT_LT_TOKEN_LOCKED 11 /* Token, locked */ -#define RLM_ACT_LT_METERED 12 /* Metered */ - -/* - * Activation Pro allowed hostid types - */ -#define RLM_ACTPRO_ALLOW_REHOST 0x1 /* Rehostable hostids */ -#define RLM_ACTPRO_ALLOW_ISV 0x2 /* ISV-defined hostids */ -#define RLM_ACTPRO_ALLOW_RLMID 0x4 /* RLMID hostids */ -#define RLM_ACTPRO_ALLOW_ETHER 0x8 /* Ethernet hostids */ -#define RLM_ACTPRO_ALLOW_32 0x10 /* 32-bit hostids */ -#define RLM_ACTPRO_ALLOW_DISKSN 0x20 /* Disk Serial number hostid */ -#define RLM_ACTPRO_ALLOW_IP 0x40 /* IP address hostids */ -#define RLM_ACTPRO_ALLOW_USER 0x80 /* Username hostid */ -#define RLM_ACTPRO_ALLOW_HOST 0x100 /* Hostname hostid */ -#define RLM_ACTPRO_ALLOW_SN 0x200 /* Serial Number hostid */ -#define RLM_ACTPRO_ALLOW_STRING 0x400 /* String hostid */ -#define RLM_ACTPRO_ALLOW_DEMO 0x1000 /* "DEMO" hostid */ -#define RLM_ACTPRO_ALLOW_ANY 0x2000 /* "ANY" hostid */ -#define RLM_ACTPRO_ALLOW_ASH 0x4000 /* Alt Server Hostid */ -#define RLM_ACTPRO_ALLOW_ISVDEF 0x8000 /* ISV string as hostid */ -#define RLM_ACTPRO_ALLOW_IPV6 0x10000 /* IPv6 address as hostid */ -#define RLM_ACTPRO_ALLOW_UUID 0x20000 /* UUID as hostid */ - -/* - * Special - allow ALL hostids: - */ -#define RLM_ACTPRO_ALLOW_ALL_HOSTIDS (RLM_ACTPRO_ALLOW_REHOST | \ - RLM_ACTPRO_ALLOW_ISV | \ - RLM_ACTPRO_ALLOW_RLMID | \ - RLM_ACTPRO_ALLOW_UUID | \ - RLM_ACTPRO_ALLOW_ETHER | \ - RLM_ACTPRO_ALLOW_32 | \ - RLM_ACTPRO_ALLOW_DISKSN | \ - RLM_ACTPRO_ALLOW_IP | \ - RLM_ACTPRO_ALLOW_IPV6 | \ - RLM_ACTPRO_ALLOW_USER | \ - RLM_ACTPRO_ALLOW_HOST | \ - RLM_ACTPRO_ALLOW_ISVDEF | \ - RLM_ACTPRO_ALLOW_SN | \ - RLM_ACTPRO_ALLOW_DEMO | \ - RLM_ACTPRO_ALLOW_ASH | \ - RLM_ACTPRO_ALLOW_ANY ) - -/* - * Default hostids to allow: - */ -#define RLM_ACTPRO_ALLOW_DEFAULT (RLM_ACTPRO_ALLOW_REHOST | \ - RLM_ACTPRO_ALLOW_ISV | \ - RLM_ACTPRO_ALLOW_ISVDEF | \ - RLM_ACTPRO_ALLOW_RLMID | \ - RLM_ACTPRO_ALLOW_ETHER | \ - RLM_ACTPRO_ALLOW_32 | \ - RLM_ACTPRO_ALLOW_ASH | \ - RLM_ACTPRO_ALLOW_UUID | \ - RLM_ACTPRO_ALLOW_DISKSN ) - - -/* - * Default URL for activation pro server - */ -#define RLM_ACTPRO_URL_DEFAULT "hostedactivation.com" - -#define RLM_MAX_LINE 1024 /* Maximum size of a LF line (after */ - /* all continuations */ - -#ifndef RLM_MAX_PATH -#ifndef _WIN32 -#define RLM_MAX_PATH 1024 /* FIX: MAXPATHLEN */ -#else -#define RLM_MAX_PATH 2048 /* Windows wide chars */ -#endif -#endif - -#define RLM_ACT_MAX_LICENSE 32767 /* Maximum size of a license string */ - /* returned from RLM Activation Pro */ - -#define RLM_LIC_LINE_LEN 70 /* Default max length of LICENSE lines */ -#define RLM_MAX_PRODUCT 40 /* Max length of a product name */ -#define RLM_MAX_VER 10 /* Max length of a version string vvvvvv.rrr */ -#define RLM_MAX_CUST 40 /* Maximum length of a customer name */ -#define RLM_MAX_ISV 10 /* Maximum ISV name length */ -#define RLM_MAX_EXP 11 /* Max length of expiration date: dd-mmm-yyyy */ -#define RLM_ERRSTRING_MAX 512 /* string passed to rlm_errstring() */ - /* 256 for error, 256 for extended */ -#define RLM_MAX_LOG 256 /* Max length of a log string */ -#define RLM_MAX_HOSTNAME 64 /* Max length of a license server hostname */ -#define RLM_MAX_USERNAME 32 /* Max length of a username */ -#define RLM_MAX_GC 64 /* Max length of a google cloud string */ -#define RLM_MAX_DISKSN 32 /* Max length of a disk serial number */ -#define RLM_MAX_REHOST 50 /* Max length of a rehostable hostid */ -#define RLM_MAX_UUID 41 /* Max length of a UUID hostid */ - -#define RLM_MAX_REFRESH_ID 64 /* Max length of a refresh ID string */ -#define RLM_MAX_REFRESH_URL 64 /* Max length of a refresh URL string */ - -#define RLM_ACT_MAX_MISC 255 /* Max length of a "misc" or "extra license */ - /* parameters" string */ -#define RLM_ACT_MAX_LICTEXT 1024 /* Max length of string to prepend to lic */ -/* - * Hostid string length - */ -#define RLM_MAX_HOSTID RLM_MAX_HOSTNAME /* Max length of hostid data */ -#define RLM_MAX_HID_KEYWORD_LEN 10 /* Max length of a hostid type keyword */ -/* - * RLM_MAX_HOSTID_STRING is the maximum length of a single hostid. - */ -#define RLM_MAX_HOSTID_STRING (RLM_MAX_HOSTID+RLM_MAX_HID_KEYWORD_LEN+2) -/* - * Max length of a hostid list (must be longer than RLM_MAX_HOSTID_STRING) - * This refers to a hostid list in a license line. - */ -#define RLM_MAX_HOSTID_LIST 25 /* No more than 25 hostids in a list */ -#define RLM_MAX_HOSTID_LIST_STRING 200 /* Max of 200 bytes of hostid lists */ -/* - * Maximum length of hostid strings passed internally (from client->server, - * and client->activation server) - */ -#define RLM_MAX_INTERNAL_HOSTID_STRING ((8*(RLM_MAX_HOSTID_STRING+1)) + 1) -/* - * Max length of a list to transmit to the activation server. - */ -#define RLM_ACT_MAX_HOSTID_STRING (RLM_MAX_INTERNAL_HOSTID_STRING+5) - /* internal hostid list + "list:" */ - /* Was 205 pre-v11, 622 in v11+ */ - -/* - * Hostid types - */ -#define RLM_HOSTID_NONE 0 /* No hostid specified, e.g. empty string - passed to rlm_get_id() - new in v3.0BL4 */ -#define RLM_HOSTID_32BIT 1 -#define RLM_HOSTID_STRING 2 /* Equivalent to ANY, ie, works anywhere */ -#define RLM_HOSTID_ETHER 3 -#define RLM_HOSTID_USER 4 /* User= */ -#define RLM_HOSTID_HOST 5 /* Host= */ -#define RLM_HOSTID_IP 6 /* IP address */ -#define RLM_HOSTID_ANY 7 /* ANY - valid anywhere */ -#define RLM_HOSTID_DEMO 8 /* DEMO - valid anywhere */ -#define RLM_HOSTID_INVALID 9 /* INVALID hostid - new in v3.0BL4 */ -#define RLM_HOSTID_SN 10 /* Serial # - just like STRING, new in v5.0 */ -#define RLM_HOSTID_RLMID1 11 /* First dongle type (aladdin) - new in v5.0 */ -#define RLM_HOSTID_RLMID2 12 /* Second dongle type (safenet) - new in v6.0 */ -#define RLM_HOSTID_RLMID3 13 /* Third dongle type (uniloc) - new in v6.0 */ -#define RLM_HOSTID_DISKSN 14 -#define RLM_HOSTID_REHOST 15 /* Rehostable hostid */ -#define RLM_HOSTID_GC 16 /* Google Cloud hostid (v11.1) */ -#define RLM_HOSTID_ASH 17 /* Alternate Server Hostid - v11.2 */ -#define RLM_HOSTID_ISV 18 /* ISV= */ -#define RLM_HOSTID_IPV6 19 /* IPv6 address */ -#define RLM_HOSTID_UUID 20 /* BIOS UUID (Windows only) */ - -#define RLM_ISV_HID_TYPE_MIN 1000 /* Minimum type value for ISV-def hostid */ - -#define RLM_MAX_ISVDEF 32 /* Max length of an ISV-defined field in the */ - /* rlm_set_environ() call */ - -/* - * License types, from type= keyword - */ - -#define RLM_LA_BETA_TYPE 0x1 -#define RLM_LA_EVAL_TYPE 0x2 -#define RLM_LA_DEMO_TYPE 0x4 - -/* - * License sharing definitions, from share= keyword - */ - -#define RLM_LA_SHARE_USER 1 /* Share if username matches */ -#define RLM_LA_SHARE_HOST 2 /* Share if hostname matches */ -#define RLM_LA_SHARE_ISV 4 /* Share if isv-defined matches */ - -/* - * Function prototypes - */ -extern int rlm_add_isv_hostid(RLM_HANDLE, const char *, - int, int, int (*)(char *, RLM_HANDLE)); -extern int rlm_add_isv_hostid_compare(RLM_HANDLE, int, - int (*)(int, char *, char *)); -extern int rlm_add_isv_hostid_multiple(RLM_HANDLE, - const char *, int, int, - int (*)(char *, RLM_HANDLE), - int (*)(char *, RLM_HANDLE)); -extern char ** rlm_all_hostids(RLM_HANDLE, int); -extern void rlm_all_hostids_free(char **); -extern int rlm_auth_check(RLM_LICENSE, char *); -extern int rlm_auto_hb(RLM_HANDLE, int, int, - void (*func)(RLM_HANDLE, RLM_LICENSE, int)); -extern int rlm_checkin(RLM_LICENSE); -extern struct rlm_license * rlm_checkout(RLM_HANDLE, const char *, - const char *, int); -extern struct rlm_license * rlm_checkout_product(RLM_HANDLE, RLM_PRODUCTS, - const char *, int); -extern int rlm_close(RLM_HANDLE); -extern char * rlm_errstring(RLM_LICENSE, RLM_HANDLE, char *); -extern char * rlm_errstring_num(int err, char *); -extern void rlm_forget_isv_down(RLM_HANDLE); -extern int rlm_get_attr_health(RLM_LICENSE); -extern char * rlm_get_attr_lfpath(RLM_LICENSE); -extern void rlm_get_proxy(const char *url, char *proxy); -extern int rlm_get_rehost(RLM_HANDLE, char *, char *); -extern const char * rlm_hostid(RLM_HANDLE, int, char *); -extern struct rlm_handle * rlm_init(const char *, const char *, - const char *); -extern struct rlm_handle * rlm_init_disconn(const char *, const char *, - const char *, int); -extern int rlm_detached_demo(RLM_HANDLE, int, - const char *); -extern int rlm_detached_demox(RLM_HANDLE, const char *prod, - const char *ver); -extern void rlm_diagnostics(RLM_HANDLE, char *file); -extern void rlm_isv_cfg_actpro_allowed_hostids(RLM_HANDLE, - int); -extern void rlm_isv_cfg_disable_broadcast(RLM_HANDLE, int); -extern void rlm_isv_cfg_disable_clock_windback_check( - RLM_HANDLE, int); -extern void rlm_isv_cfg_disable_generic_server( - RLM_HANDLE, int); -extern void rlm_isv_cfg_disable_reference_hostid_check( - RLM_HANDLE, int); -extern void rlm_isv_cfg_disable_windows_fileid_check( - RLM_HANDLE, int); -extern void rlm_isv_cfg_enable_check_license(RLM_HANDLE, - int); -extern void rlm_isv_cfg_enable_client_cache(RLM_HANDLE, int); -extern void rlm_isv_cfg_set_compat(RLM_HANDLE, int, int); -extern void rlm_isv_cfg_set_enable_roam_transient( - RLM_HANDLE, int); -extern void rlm_isv_cfg_set_enable_vm(RLM_HANDLE, int); -extern void rlm_isv_cfg_set_license(RLM_HANDLE, - const char *); -extern int rlm_isv_cfg_set_name(RLM_HANDLE, const char *); -extern void rlm_isv_cfg_set_oldest_server(RLM_HANDLE, - int oldest_ver, - int oldest_rev, - int oldest_build); -extern void rlm_isv_cfg_set_rehost_dir(RLM_HANDLE, char *); -extern void rlm_isv_cfg_set_roam_single(RLM_HANDLE, int); -extern void rlm_isv_cfg_set_server_roam(RLM_HANDLE, char *); -extern void rlm_isv_cfg_set_url(RLM_HANDLE, char *); -extern void rlm_isv_cfg_set_use_admin_disksns(RLM_HANDLE, - int); -extern void rlm_isv_cfg_set_use_flexlm_lockfile(RLM_HANDLE, - int); -extern void rlm_isv_cfg_set_use_hostid(RLM_HANDLE, int, - void (*)(RLM_HANDLE, L_HOSTID), - int (*)(RLM_HANDLE, char *, char *)); -extern int rlm_log(RLM_HANDLE, const char *); -extern int rlm_dlog(RLM_HANDLE, const char *); -extern int rlm_sign_license(RLM_HANDLE rh, int encode_bits, - char *server_hostid, char *license); -extern void rlm_skip_isv_down(RLM_HANDLE); -extern int rlm_putenv(const char *); - -/* - * RLM_LICENSE data - */ - -extern char * rlm_license_akey(RLM_LICENSE lic); -extern int rlm_license_cached(RLM_LICENSE lic); -extern int rlm_license_client_cache(RLM_LICENSE lic); -extern char * rlm_license_contract(RLM_LICENSE lic); -extern char * rlm_license_customer(RLM_LICENSE lic); -extern int rlm_license_count(RLM_LICENSE lic); -extern int rlm_license_detached_demo(RLM_LICENSE lic); -extern char * rlm_license_exp(RLM_LICENSE lic); -extern int rlm_license_exp_days(RLM_LICENSE lic); -extern int rlm_license_goodonce(RLM_LICENSE lic); -extern int rlm_license_hold(RLM_LICENSE lic); -extern int rlm_license_host_based(RLM_LICENSE lic); -extern char * rlm_license_hostid(RLM_LICENSE lic); -extern char * rlm_license_issued(RLM_LICENSE lic); -extern char * rlm_license_issuer(RLM_LICENSE lic); -extern char * rlm_license_line_item(RLM_LICENSE lic); -extern int rlm_license_max_roam(RLM_LICENSE lic); -extern int rlm_license_max_roam_count(RLM_LICENSE lic); -extern int rlm_license_max_share(RLM_LICENSE lic); -extern int rlm_license_min_checkout(RLM_LICENSE lic); -extern int rlm_license_min_remove(RLM_LICENSE lic); -extern int rlm_license_min_timeout(RLM_LICENSE lic); -extern int rlm_license_named_user_count(RLM_LICENSE lic); -extern int rlm_license_named_user_min_hours(RLM_LICENSE lic); -extern char * rlm_license_options(RLM_LICENSE lic); -extern char * rlm_license_platforms(RLM_LICENSE lic); -extern char * rlm_license_product(RLM_LICENSE lic); -extern int rlm_license_roaming(RLM_LICENSE lic); -extern char * rlm_license_server(RLM_LICENSE lic); -extern int rlm_license_share(RLM_LICENSE lic); -extern int rlm_license_single(RLM_LICENSE lic); -extern int rlm_license_soft_limit(RLM_LICENSE lic); -extern char * rlm_license_start(RLM_LICENSE lic); -extern int rlm_license_stat(RLM_LICENSE); -extern int rlm_license_type(RLM_LICENSE lic); -extern int rlm_license_tz(RLM_LICENSE lic); -extern int rlm_license_uncounted(RLM_LICENSE lic); -extern int rlm_license_user_based(RLM_LICENSE lic); -extern char * rlm_license_ver(RLM_LICENSE lic); - -/* - * rlm_products() data - */ -extern RLM_PRODUCTS rlm_products(RLM_HANDLE, char *, char *); -extern RLM_PRODUCTS rlm_products_dynres(RLM_HANDLE rh, char *product, - char *ver, char *dynres); -extern void rlm_products_free(RLM_PRODUCTS); -extern void rlm_product_first(RLM_PRODUCTS); -extern int rlm_product_next(RLM_PRODUCTS); - -extern char * rlm_product_akey(RLM_PRODUCTS); -extern int rlm_product_client_cache(RLM_PRODUCTS); -extern char * rlm_product_contract(RLM_PRODUCTS); -extern int rlm_product_count(RLM_PRODUCTS); -extern int rlm_product_current_inuse(RLM_PRODUCTS); -extern int rlm_product_current_resuse(RLM_PRODUCTS); -extern char * rlm_product_customer(RLM_PRODUCTS); -extern char * rlm_product_exp(RLM_PRODUCTS); -extern int rlm_product_exp_days(RLM_PRODUCTS); -extern int rlm_product_hbased(RLM_PRODUCTS); -extern int rlm_product_hold(RLM_PRODUCTS); -extern char * rlm_product_hostid(RLM_PRODUCTS); -extern char * rlm_product_issuer(RLM_PRODUCTS); -extern int rlm_product_min_checkout(RLM_PRODUCTS); -extern int rlm_product_max_roam(RLM_PRODUCTS); -extern int rlm_product_max_roam_count(RLM_PRODUCTS); -extern int rlm_product_min_remove(RLM_PRODUCTS); -extern int rlm_product_max_share(RLM_PRODUCTS); -extern int rlm_product_min_timeout(RLM_PRODUCTS); -extern char * rlm_product_name(RLM_PRODUCTS); -extern int rlm_product_nres(RLM_PRODUCTS); -extern int rlm_product_num_roam_allowed(RLM_PRODUCTS); -extern char * rlm_product_options(RLM_PRODUCTS); -extern int rlm_product_roaming(RLM_PRODUCTS); -extern char * rlm_product_server(RLM_PRODUCTS); -extern int rlm_product_share(RLM_PRODUCTS); -extern int rlm_product_soft_limit(RLM_PRODUCTS); -extern int rlm_product_thisroam(RLM_PRODUCTS); -extern int rlm_product_timeout(RLM_PRODUCTS); -extern int rlm_product_tz(RLM_PRODUCTS); -extern int rlm_product_tokens(RLM_PRODUCTS); -extern int rlm_product_type(RLM_PRODUCTS); -extern int rlm_product_ubased(RLM_PRODUCTS); -extern char * rlm_product_ver(RLM_PRODUCTS); - -extern void rlm_set_active(RLM_HANDLE, int); -extern void rlm_set_attr_keep_conn(RLM_HANDLE, int); -extern void rlm_set_attr_logging(RLM_HANDLE, int); -extern void rlm_set_attr_password(RLM_HANDLE, char *); -extern void rlm_set_attr_reference_hostid(RLM_HANDLE, char *); -extern void rlm_set_attr_req_opt(RLM_HANDLE, char *); -extern void rlm_set_auto_hb_isvdata(RLM_HANDLE, const void *i); -extern void rlm_set_environ(RLM_HANDLE, char *, char *, char *); -extern int rlm_stat(RLM_HANDLE); - -/* - * rlm_act_xxx() functions - Internet Activation - */ - -extern const char * rlm_act_errstring(int stat); -extern int rlm_act_fulfill_info(RLM_HANDLE rh, const char *url, - char *akey, char *product, char *ver, - int *date_based, int *license_type, - char *upgrade_version, int *count, - int *fulfilled, int *rehosts, - int *revoked, char *exp, char *hostid); -extern int rlm_act_info(RLM_HANDLE rh, const char *url, - char *akey, char *product, char *ver, - int *date_based, int *license_type, - char *upgrade_version); -extern int rlm_act_keyinfo(RLM_HANDLE rh, const char *url, - char *akey, char *product, char *ver, - int *date_based, int *license_type, - char *upgrade_version, int *count, - int *fulfilled, int *rehosts, - int *revoked); -extern int rlm_act_keyvalid(RLM_HANDLE rh, const char *url, - char *akey, char *hosid); -extern int rlm_act_keyvalid_license(RLM_HANDLE rh, - const char *url, char *akey, - char *hosid, char *license); -extern int rlm_act_request(RLM_HANDLE rh, const char *url, - const char *isv, const char *akey, - const char *hostid_list, - const char *hostname, - int count, const char *extra, - char *license); -extern int rlm_act_refresh(RLM_HANDLE rh, char *isv, - void (*func)(char *, char *, int)); -extern int rlm_activate(RLM_HANDLE rh, const char *url, - const char *akey, int count, - char *license, RLM_ACT_HANDLE handle); -extern RLM_ACT_HANDLE rlm_act_new_handle(RLM_HANDLE rh); -extern void rlm_act_destroy_handle(RLM_ACT_HANDLE handle); -extern int rlm_act_set_handle(RLM_ACT_HANDLE handle, int what, - void *val); -extern int rlm_act_revoke(RLM_HANDLE rh, const char *url, - char *product); -extern int rlm_act_revoke_reference(RLM_HANDLE rh, const char *url, - char *product); -extern int rlm_act_revoke_disconn(RLM_HANDLE rh, const char *url, - char *param, char *retval); -/* - * v12.0 - Apps may call this OpenSSL routine directly so define it to - * use the new in v12 RLM-specific name. - */ -#if !defined(_WIN32) && !defined(hp_h1) && !defined(hp64_h1) && !defined(ia64_h1) && !defined(ibm_a1) && !defined(ibm64_a1) && !defined(sun_s1) && !defined(sun64_s1) -#define ERR_remove_state rlmssl_ERR_remove_state -#endif - -/* - * General Errors - returned by rlm_stat(license_handle) - */ -#define RLM_HANDLE_ERR_FIRST 101 -#define RLM_EH_NOHANDLE -101 /* No handle supplied to call */ -#define RLM_EH_READ_NOLICENSE -102 /* Can't read license data */ -#define RLM_EH_NET_INIT -103 /* Network (msg_init()) error */ -#define RLM_EH_NET_WERR -104 /* Error writing to network */ -#define RLM_EH_NET_RERR -105 /* Error reading from network */ -#define RLM_EH_NET_BADRESP -106 /* Unexpected response */ -#define RLM_EH_BADHELLO -107 /* HELLO message for wrong server */ - -#define RLM_EH_BADPRIVKEY -108 /* Error in private key */ -#define RLM_EH_SIGERROR -109 /* Error signing authorization */ -#define RLM_EH_INTERNAL -110 /* Internal error */ - -#define RLM_EH_CONN_REFUSED -111 /* Connection refused at server */ -#define RLM_EH_NOSERVER -112 /* No server to connect to */ -#define RLM_EH_BADHANDSHAKE -113 /* Bad communications handshake */ -#define RLM_EH_CANTGETETHER -114 /* Can't get ethernet address */ - /* system call failures */ -#define RLM_EH_MALLOC -115 -#define RLM_EH_BIND -116 /* bind() error */ -#define RLM_EH_SOCKET -117 /* socket() error */ - -#define RLM_EH_BADPUBKEY -118 /* Error in public key */ -#define RLM_EH_AUTHFAIL -119 /* Authentication failed */ -#define RLM_EH_WRITE_LF -120 /* Can't write temp license file */ -#define RLM_EH_NO_REPORTLOG -121 /* No reportlog file on this server */ -#define RLM_EH_DUP_ISV_HID -122 /* ISV-defined hostid already registered */ -#define RLM_EH_BADPARAM -123 /* Bad parameter passed to RLM function */ -/* - * BADPARAM/INTERNAL sub-errors (in syserr) - */ -#define RLM_ACT_BP_NOLIC -1 -#define RLM_ACT_BP_NOURL -2 -#define RLM_ACT_BP_NLKEY -3 /* Newline in activation key */ -#define RLM_ACT_BP_NLXTRA -4 /* Newline in extra parameter */ -#define RLM_ACT_BP_TOOMUCH -5 /* Too much data to send */ -#define RLM_ACT_BP_ILLXTRA -6 /* Illegal character in extra data */ -#define RLM_CO_BADCOUNT -7 /* bad count for checkout: <= 0 */ -#define RLM_DD_BADDATE -8 /* exp date <= 0 for detached demo */ -#define RLM_ILL_CHAR_HOSTID -9 /* Illegal char in hostid */ -#define RLM_REHOST_HOSTID_FMT -10 /* Bad format for rehostable hostid */ -#define RLM_REHOST_NO_ROOT -11 /* No isv-specified root dir */ -#define RLM_REHOST_NO_TOP -12 /* No/bad top-level hostid file */ -#define RLM_RLMINFO_NO_COMM -13 /* No comm structs in rlm_rlminfo() */ -#define RLM_ISVINFO_NO_COMM -14 /* No comm structs in rlm_isvinfo() */ -#define RLM_POOLINFO_NO_COMM -15 /* No comm structs in rlm_poolinfo() */ -#define RLM_USERLIST_NO_COMM -16 /* No comm structs in rlm_userlist() */ -#define RLM_DD_TEMPLATE -17 - /* Bad template license passed to rlm_detached_demo() */ -#define RLM_BAD_NAME -18 /* Bad name to isv_cfg_set_name() */ -#define RLM_NO_ISV_HOSTID -19 /* No isv-defined hostid for compare routine */ -#define RLM_ISV_HOSTID_KEYWORD -20 /* isv-defined hostid keyword missing or too long */ -#define RLM_ISV_HOSTID_TYPE -21 /* isv-defined hostid type < min */ -#define RLM_SIGN_NOSTART -22 /* No start/issued for replace lic */ -#define RLM_SIGN_BADTYPE -23 /* unknown license type for signing */ -#define RLM_REHOST_TOOMUCHDATA -24 /* Too much data in rehost hostid */ -#define RLM_REHOST_WRONGDATA -25 /* Wrong amt of data in rehost hostid */ -#define RLM_ACT_HOSTID_TOOLONG -26 /* Hostid list too long */ -#define RLM_CO_NOPRODUCT -27 /* No product or version in checkout */ -#define RLM_INT_OPENFILE -28 /* isv_get_isv: can't open file */ -#define RLM_INT_DATALEN -29 /* isv_get_isv: data length wrong */ -#define RLM_INT_DATAREAD -30 /* isv_get_isv: data read error */ -#define RLM_INT_KEYREAD -31 /* isv_get_isv: key read error */ -#define RLM_PATH_TOOLONG -32 /* rlm_init(): path too long */ -#define RLM_REVOKE_NO_PROD -33 /* rlm_revoke(): no product name */ - -#define RLM_BADPARAM_LAST -33 /* Last badparam sub-error */ - -#define RLM_EH_ROAMWRITEERR -124 /* Roam File write error */ -#define RLM_EH_ROAMREADERR -125 /* Roam File read error */ -#define RLM_EH_HANDLER_INSTALLED -126 /* heartbeat handler already installed */ -#define RLM_EH_CANTCREATLOCK -127 /* Cannot create 'single' lockfile */ -#define RLM_EH_CANTOPENLOCK -128 /* Cannot open 'single' lockfile */ -#define RLM_EH_CANTSETLOCK -129 /* Cannot set lock on 'single' */ -#define RLM_EH_BADRLMLIC -130 /* Bad/missing/expired RLM license */ -#define RLM_EH_BADHOST -131 /* Bad hostname in LF/port@host */ -#define RLM_EH_CANTCONNECT_URL -132 /* Cannot connect to specified URL */ -#define RLM_EH_OP_NOT_ALLOWED -133 /* Operation not allowed on server */ -#define RLM_EH_ACT_BADSTAT -134 /* Bad status from activation binary */ -#define RLM_EH_ACT_BADLICKEY -135 /* Bad license key in - activation binary */ -#define RLM_EH_BAD_HTTP -136 /* Bad HTTP transaction */ -#define RLM_EH_DEMOEXISTS -137 /* Demo already created */ -#define RLM_EH_DEMOWRITEERR -138 /* Demo file write error */ -#define RLM_EH_NO_DEMO_LIC -139 /* No "rlm_demo" license available */ -#define RLM_EH_NO_RLM_PLATFORM -140 /* RLM unlicensed on this platform */ -#define RLM_EH_EVAL_EXPIRED -141 /* RLM eval expired */ -#define RLM_EH_SERVER_REJECT -142 /* Server rejected by client */ -#define RLM_EH_UNLICENSED -143 /* Unlicensed RLM option */ -#define RLM_EH_SEMAPHORE_FAILURE -144 /* Semaphore initialization failure */ -#define RLM_EH_ACT_OLDSERVER -145 /* Activation server too old */ -#define RLM_EH_BAD_LIC_LINE -146 /* Invalid license line in LF */ -#define RLM_EH_BAD_SERVER_HOSTID -147 /* Invalid hostid on SERVER line */ -#define RLM_EH_NO_REHOST_TOP_DIR -148 /* No rehostable hostid top-level dir */ -#define RLM_EH_CANT_GET_REHOST -149 /* Cannot get rehost hostid */ -#define RLM_EH_CANT_DEL_REHOST -150 /* Cannot delete rehost hostid */ -#define RLM_EH_CANT_CREATE_REHOST -151 /* Cannot create rehostable hostid */ -#define RLM_EH_REHOST_TOP_DIR_EXISTS -152 /* Rehostable top dir exists */ -#define RLM_EH_REHOST_EXISTS -153 /* Rehostable hostid exists */ -#define RLM_EH_NO_FULFILLMENTS -154 /* No fulfillments to revoke */ -#define RLM_EH_METER_READERR -155 /* Meter read error */ -#define RLM_EH_METER_WRITEERR -156 /* Meter write error */ -#define RLM_EH_METER_BADINCREMENT -157 /* Bad meter increment command */ -#define RLM_EH_METER_NO_COUNTER -158 /* Can't find counter in meter */ -#define RLM_EH_ACT_UNLICENSED -159 /* Activation Unlicensed */ -#define RLM_EH_ACTPRO_UNLICENSED -160 /* Activation Pro Unlicensed */ -#define RLM_EH_SERVER_REQUIRED -161 /* Counted license requires server */ -#define RLM_EH_DATE_REQUIRED -162 /* REPLACE license requires date */ -#define RLM_EH_NO_METER_UPGRADE -163 /* METERED licenses can't be UPGRADED */ -#define RLM_EH_NO_CLIENT -164 /* disconnected client data can't be found */ -#define RLM_EH_NO_DISCONN -165 /* op not permitted on disconn handle */ -#define RLM_EH_NO_FILES -166 /* Too many open files */ -#define RLM_EH_NO_BROADCAST_RESP -167 /* No response from broadcast */ -#define RLM_EH_NO_BROADCAST_HOST -168 /* broadcast didn't return hostname */ -#define RLM_EH_SERVER_TOO_OLD -169 /* Server too old to support this */ -#define RLM_EH_BADLIC_FROM_SERVER -170 /* License from server doesn't */ - /* authenticate */ -#define RLM_EH_NO_LIC_FROM_SERVER -171 /* No License returned from server */ -#define RLM_EH_CACHEWRITEERR -172 /* Client Cache File write error */ -#define RLM_EH_CACHEREADERR -173 /* Client Cache File read error */ -#define RLM_EH_LIC_WITH_NEW_KEYWORDS -174 /* License returned from server has keywords I don't understand */ -#define RLM_EH_NO_ISV -175 /* Unknown ISV name */ -#define RLM_EH_NO_CUSTOMER -176 /* Unknown Customer name */ -#define RLM_EH_NO_SQL -177 /* Cannot open MySQL database */ -#define RLM_EH_ONLY_LOCAL_CMDS -178 /* Only local command-line cmds allowed */ -#define RLM_EH_SERVER_TIMEOUT -179 /* Server timeout on read */ -#define RLM_EH_NONE_SIGNED -180 /* rlmsign did not sign any licenses */ -#define RLM_EH_DUP_XFER -181 /* Duplicate disconnected transfer */ - -#define RLM_EH_MAX_ERRS 81 - -/* - * rlm_checkout() errors - returned by rlm_license_stat(license) - */ -#define RLM_EL_NOPRODUCT -1 /* No authorization for product */ -#define RLM_EL_NOTME -2 /* Authorization is for another ISV */ -#define RLM_EL_EXPIRED -3 /* Authorization has expired */ -#define RLM_EL_NOTTHISHOST -4 /* Wrong host for authorization */ -#define RLM_EL_BADKEY -5 /* Bad key in authorization */ -#define RLM_EL_BADVER -6 /* Requested version not supported */ -#define RLM_EL_BADDATE -7 /* bad date format - not permanent or - dd-mm-yy */ -#define RLM_EL_TOOMANY -8 /* checkout request for too many - licenses */ -#define RLM_EL_NOAUTH -9 /* No license auth supplied to call */ -#define RLM_EL_ON_EXC_ALL -10 /* On excludeall list */ -#define RLM_EL_ON_EXC -11 /* On feature exclude list */ -#define RLM_EL_NOT_INC_ALL -12 /* Not on the includeall list */ -#define RLM_EL_NOT_INC -13 /* Not on the feature include list */ -#define RLM_EL_OVER_MAX -14 /* Request would go over license MAX */ -#define RLM_EL_REMOVED -15 /* License (rlm)removed by server */ -#define RLM_EL_SERVER_BADRESP -16 /* Unexpected response from server */ -#define RLM_EL_COMM_ERROR -17 /* Error communicating with server */ -#define RLM_EL_NO_SERV_SUPP -18 /* License server doesn't support this */ -#define RLM_EL_NOHANDLE -19 /* No license handle */ -#define RLM_EL_SERVER_DOWN -20 /* Server closed connection */ -#define RLM_EL_NO_HEARTBEAT -21 /* No heartbeat response received */ -#define RLM_EL_ALLINUSE -22 /* All licenses in use */ -#define RLM_EL_NOHOSTID -23 /* No hostid on uncounted license */ -#define RLM_EL_TIMEDOUT -24 /* License timed out by server */ -#define RLM_EL_INQUEUE -25 /* In queue for license */ -#define RLM_EL_SYNTAX -26 /* License syntax error */ -#define RLM_EL_ROAM_TOOLONG -27 /* Roam time exceeds maximum */ -#define RLM_EL_NO_SERV_HANDLE -28 /* Server does not know this handle */ -#define RLM_EL_ON_EXC_ROAM -29 /* On roam exclude list */ -#define RLM_EL_NOT_INC_ROAM -30 /* Not on roam include list */ -#define RLM_EL_TOOMANY_ROAMING -31 /* Too many licenses roaming */ -#define RLM_EL_WILL_EXPIRE -32 /* License expires before roam ends */ -#define RLM_EL_ROAMFILEERR -33 /* Problem with roam file */ -#define RLM_EL_RLM_ROAM_ERR -34 /* Cannot checkout rlm_roam license */ -#define RLM_EL_WRONG_PLATFORM -35 /* Wrong platform for client */ -#define RLM_EL_WRONG_TZ -36 /* Wrong timezone for client */ -#define RLM_EL_NOT_STARTED -37 /* License start date not reached */ -#define RLM_EL_CANT_GET_DATE -38 /* time() failure */ -#define RLM_EL_OVERSOFT -39 /* Over license soft limit */ -#define RLM_EL_WINDBACK -40 /* Clock setback detected */ -#define RLM_EL_BADPARAM -41 /* Bad parameter to checkout() call */ -#define RLM_EL_NOROAM_FAILOVER -42 /* Roam operations not permitted on - failover servers */ -#define RLM_EL_BADHOST -43 /* Bad hostname in LF/port@host */ -#define RLM_EL_APP_INACTIVE -44 /* Application is inactive */ -#define RLM_EL_NOT_NAMED_USER -45 /* Not a named user */ -#define RLM_EL_TS_DISABLED -46 /* Terminal Server disabled */ -#define RLM_EL_VM_DISABLED -47 /* Virtual Machines disabled */ -#define RLM_EL_PORTABLE_REMOVED -48 /* Portable hostid removed */ -#define RLM_EL_DEMOEXP -49 /* Demo license has expired */ -#define RLM_EL_FAILED_BACK_UP -50 /* Failed host back up */ -#define RLM_EL_SERVER_LOST_XFER -51 /* Server lost it's transferred license */ -#define RLM_EL_BAD_PASSWORD -52 /* Incorrect password for product */ - /* Note: RLM_EL_BAD_PASSWORD is an - internal error and won't ever be - returned to the client - if the - license password is bad, the client - will receive RLM_EL_NO_SERV_SUPP */ -#define RLM_EL_METER_NO_SERVER -53 /* Metered licenses require a server */ -#define RLM_EL_METER_NOCOUNT -54 /* Not enough count for metered lic */ -#define RLM_EL_NOROAM_TRANSIENT -55 /* Roam operations not permitted on - servers with transient hostids */ -#define RLM_EL_CANTRECONNECT -56 /* Cannot reconnect to server */ -#define RLM_EL_NONE_CANROAM -57 /* None of these licenses can roam */ -#define RLM_EL_SERVER_TOO_OLD -58 /* Server too old for operation */ -#define RLM_EL_SERVER_REJECT -59 /* Server rejected client */ -#define RLM_EL_REQ_OPT_MISSING -60 /* Requested option not present */ -#define RLM_EL_NO_DYNRES -61 /* Reclaim can't find dynamic res */ -#define RLM_EL_RECONN_INFO_BAD -62 /* Reconnection info invalid */ -#define RLM_EL_ALREADY_ROAMING -63 /* Licenses are already roaming */ -#define RLM_EL_BAD_EXTEND_FMT -64 /* Bad format for RLM_ROAM_EXTEND */ -#define RLM_EL_BAD_EXTEND_CODE -65 /* Bad extend code for roam extend */ -#define RLM_EL_NO_ROAM_TO_EXTEND -66 /* No roaming license to extend */ - -#define RLM_EL_MAX_ERRS 66 - -/* - * Activation errors - */ - -#define RLM_ACT_ERR_FIRST 1001 -#define RLM_ACT_BADPARAM -1001 /* Missing or bad sig for disconnected - revoke (unused prior to 11.1) */ -#define RLM_ACT_NO_KEY -1002 -#define RLM_ACT_NO_PROD -1003 /* No product definition */ -#define RLM_ACT_CANT_WRITE_KEYS -1004 /* Can't write keyf table */ -#define RLM_ACT_KEY_USED -1005 /* Activation key already used*/ -#define RLM_ACT_BAD_HOSTID -1006 /* Missing hostid */ -#define RLM_ACT_BAD_HOSTID_TYPE -1007 /* Invalid hostid type */ -#define RLM_ACT_BAD_HTTP -1008 /* Bad HTTP transaction - - UNUSED after v3.0BL4 */ -#define RLM_ACT_CANTLOCK -1009 /* Can't lock activation DB (file-based activation only) */ -#define RLM_ACT_CANTREAD_DB -1010 /* Can't read activation DB */ -#define RLM_ACT_CANT_WRITE_FULFILL -1011 /* Can't write licf table */ -#define RLM_ACT_CLIENT_TIME_BAD -1012 /* Clock incorrect on client */ -#define RLM_ACT_BAD_REDIRECT -1013 /* Bad redirect from server */ -#define RLM_ACT_TOOMANY_HOSTID_CHANGES -1014 /* Too many hostid changes */ - /* for Refresh activation */ -#define RLM_ACT_BLACKLISTED -1015 /* Domain on blacklist */ -#define RLM_ACT_NOT_WHITELISTED -1016 /* Domain not on whitelist */ -#define RLM_ACT_KEY_EXPIRED -1017 /* Activation key expired */ -#define RLM_ACT_NO_PERMISSION -1018 /* HTTP request denied */ -#define RLM_ACT_SERVER_ERROR -1019 /* HTTP internal server error */ -#define RLM_ACT_BAD_GENERATOR -1020 /* Bad/missing generator file */ -#define RLM_ACT_NO_KEY_MATCH -1021 /* No matching key in DB */ -#define RLM_ACT_NO_AUTH_SUPPLIED -1022 /* No proxy auth supplied */ -#define RLM_ACT_PROXY_AUTH_FAILED -1023 /* proxy auth failed */ -#define RLM_ACT_NO_BASIC_AUTH -1024 /* No basic authentication */ -#define RLM_ACT_GEN_UNLICENSED -1025 /* Activation generator unlicensed */ -#define RLM_ACT_DB_READERR -1026 /* Activtion DB read error (MySQL) */ -#define RLM_ACT_GEN_PARAM_ERR -1027 /* Generating license - bad parameter */ -#define RLM_ACT_UNSUPPORTED_CMD -1028 /* Unsupported command to generator */ -#define RLM_ACT_REVOKE_TOOLATE -1029 /* Revoke command after expiration */ -#define RLM_ACT_KEY_DISABLED -1030 /* Activation key disabled */ -#define RLM_ACT_KEY_NO_HOSTID -1031 /* Key not fulfilled on this hostid */ -#define RLM_ACT_KEY_HOSTID_REVOKED -1032 /* Key revoked on this hostid */ -#define RLM_ACT_NO_FULFILLMENTS -1033 /* No fulfillments to remove */ -#define RLM_ACT_LICENSE_TOOBIG -1034 /* Generated license too long */ -#define RLM_ACT_NO_REHOST -1035 /* Counted licenses can't be rehostable */ -#define RLM_ACT_BAD_URL -1036 /* License Generator not found on server */ -#define RLM_ACT_NO_LICENSES -1037 /* No licenses found (rlm cloud control) */ -#define RLM_ACT_NO_CLEAR -1038 /* Unencrypted requests not allowed */ -#define RLM_ACT_BAD_KEY -1039 /* Bad activation key (illegal char) */ -#define RCC_CANT_WRITE_FULFILL -1040 /* rcc: Can't write licf table */ -#define RCC_PORTAL_CANT_WRITE_FULFILL -1041 /* rcc: Can't write licf table */ -#define RLM_ACT_KEY_TOOMANY -1042 /* Insufficient count left on key */ -#define RLM_ACT_SUB_BADTYPE -1043 /* Subscription license not NL/Single */ -#define RLM_ACT_ERR_LAST 43 - -#define RLM_ACT_ERR(x) ((x <= -RLM_ACT_ERR_FIRST) && \ - (x > -(RLM_ACT_ERR_FIRST+RLM_ACT_ERR_LAST))) - -/* - * Function/definitions to update an RLM license authorization - * Used to extend ISV servers for external license manager - * transfers only. - */ - - -#define RLM_IX_CONTRACT 2 -#define RLM_IX_COUNT 3 -#define RLM_IX_COUNTFLAG 4 -#define RLM_IX_CUSTOMER 5 -#define RLM_IX_DISABLE 6 -#define RLM_IX_EXP 7 -#define RLM_IX_HOLD 8 -#define RLM_IX_HOSTID_STRING 9 -#define RLM_IX_ISSUED 10 -#define RLM_IX_ISSUER 11 -#define RLM_IX_LIC_OPTS 12 -#define RLM_IX_LINE_ITEM 13 -#define RLM_IX_MAX_ROAM 14 -#define RLM_IX_MAX_ROAM_COUNT 27 -#define RLM_IX_MAX_SHARE 15 -#define RLM_IX_MIN_CHECKOUT 16 -#define RLM_IX_MIN_REMOVE 17 -#define RLM_IX_MIN_TIMEOUT 18 -#define RLM_IX_PLATFORMS 19 -#define RLM_IX_PRODUCT 20 -#define RLM_IX_SOFT_LIMIT 21 -#define RLM_IX_SHARE 22 -#define RLM_IX_START 23 -#define RLM_IX_TIMEZONES 24 -#define RLM_IX_TYPE 25 -#define RLM_IX_VER 26 - /* 27 used - MAX_ROAM_COUNT */ -#define RLM_IX_CLIENT_CACHE 28 - -extern void rlm_ix_update_auth(void *ls, void *auth, int which, int ival, - char *cptr); - -extern void rlm_ix_enable( char *lm_name, - void xfer(void *, void *), - void xfer_done(void *, void *, void *), - int open(void *, char *, int, char *, int, char *, - void **, int *), - int checkout(void *, void *, char *, char *, - int, void **), - void fillin(void *, void *, void *, void *, char *, - int), - int check_auth(void *, char *, void *, void *), - int update_status(void *, char *, int, void *,int *), - int heartbeat(void *, void *), - int checkin(void *, void *), - int close(void *)); - -extern void rlm_ix_transfer(void *, void *); -extern void rlm_ix_done_xfer(void *, void *, void *); -extern void rlm_ix_log(void *, char *); - -/* - * End of ISV server license transfer extensions - */ - -/* - * CRYPTO_cleanup_all_ex_data is now rlmssl_CRYPTO_cleanup_all_ex_data - * in the client library to avoid name collisions with other OpenSSL - * libraries in ISV products. - */ -#define CRYPTO_cleanup_all_ex_data rlmssl_CRYPTO_cleanup_all_ex_data - -#ifdef __cplusplus -} -#endif - -#endif /* RLM_LICENSE_H_INCLUDED */ diff --git a/compiler-rt/cmake/builtin-config-ix.cmake b/compiler-rt/cmake/builtin-config-ix.cmake index 17311bcd8661a..a5704e5fed537 100644 --- a/compiler-rt/cmake/builtin-config-ix.cmake +++ b/compiler-rt/cmake/builtin-config-ix.cmake @@ -23,8 +23,8 @@ int foo(int x, int y) { ") -set(ARM64 aarch64 aarch64v8a) -set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv8r armv8a) +set(ARM64 aarch64) +set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k) set(HEXAGON hexagon) set(X86 i386) set(X86_64 x86_64) diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt index 7a1b74d0c7e0e..82332967b1047 100644 --- a/compiler-rt/lib/builtins/CMakeLists.txt +++ b/compiler-rt/lib/builtins/CMakeLists.txt @@ -207,11 +207,11 @@ if (HAVE_UNWIND_H) gcc_personality_v0.c) endif () -#if (NOT FUCHSIA) -# set(GENERIC_SOURCES -# ${GENERIC_SOURCES} -# clear_cache.c) -#endif() +if (NOT FUCHSIA) + set(GENERIC_SOURCES + ${GENERIC_SOURCES} + clear_cache.c) +endif() # These sources work on all x86 variants, but only x86 variants. set(x86_ARCH_SOURCES @@ -394,18 +394,11 @@ set(arm_Thumb1_VFPv2_SOURCES arm/unordsf2vfp.S) set(arm_Thumb1_icache_SOURCES arm/sync_synchronize.S) - -if(APPLE) - set(arm_Thumb1_SOURCES - ${arm_Thumb1_JT_SOURCES} - ${arm_Thumb1_SjLj_EH_SOURCES} - ${arm_Thumb1_VFPv2_SOURCES} - ${arm_Thumb1_icache_SOURCES}) -else() - set(arm_Thumb1_SOURCES - ${arm_Thumb1_JT_SOURCES} - ${arm_Thumb1_icache_SOURCES}) -endif() +set(arm_Thumb1_SOURCES + ${arm_Thumb1_JT_SOURCES} + ${arm_Thumb1_SjLj_EH_SOURCES} + ${arm_Thumb1_VFPv2_SOURCES} + ${arm_Thumb1_icache_SOURCES}) if(MINGW) set(arm_SOURCES @@ -460,12 +453,6 @@ set(armhf_SOURCES ${arm_SOURCES}) set(armv7_SOURCES ${arm_SOURCES}) set(armv7s_SOURCES ${arm_SOURCES}) set(armv7k_SOURCES ${arm_SOURCES}) - -set(armv8a_SOURCES ${arm_SOURCES}) -set(armv8r_SOURCES ${arm_SOURCES}) - -set(aarch64v8a_SOURCES ${aarch64_SOURCES}) - set(arm64_SOURCES ${aarch64_SOURCES}) # macho_embedded archs @@ -578,13 +565,8 @@ else () set(_arch "arm|armv6m") elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") set(_arch "arm") - elseif("${arch}" MATCHES "^(armv8a|armv8r)$") - set(_arch "arm") - elseif("${arch}" MATCHES "^(aarch64v8a)$") - set(_arch "aarch64") endif() - message(WARNING "supposed to work for target: " ${arch}) # For ARM archs, exclude any VFP builtins if VFP is not supported if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") string(REPLACE ";" " " _TARGET_${arch}_CFLAGS "${TARGET_${arch}_CFLAGS}") @@ -607,9 +589,8 @@ else () # Needed for clear_cache on debug mode, due to r7's usage in inline asm. # Release mode already sets it via -O2/3, Debug mode doesn't. - set(BUILTIN_HF_CFLAGS "") if (${arch} STREQUAL "armhf") - list(APPEND BUILTIN_HF_CFLAGS -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET) + list(APPEND BUILTIN_CFLAGS -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET) endif() # For RISCV32, we must force enable int128 for compiling long @@ -623,7 +604,7 @@ else () ARCHS ${arch} SOURCES ${${arch}_SOURCES} DEFS ${BUILTIN_DEFS} - CFLAGS ${BUILTIN_CFLAGS} ${BUILTIN_HF_CFLAGS} + CFLAGS ${BUILTIN_CFLAGS} PARENT_TARGET builtins) endif () endforeach () diff --git a/compiler-rt/lib/builtins/int_util.c b/compiler-rt/lib/builtins/int_util.c index b7e6a1c90741f..de87410dbca28 100644 --- a/compiler-rt/lib/builtins/int_util.c +++ b/compiler-rt/lib/builtins/int_util.c @@ -45,7 +45,7 @@ void compilerrt_abort_impl(const char *file, int line, const char *function) { __assert_rtn(function, file, line, "libcompiler_rt abort"); } -#elif 1 +#elif __Fuchsia__ #ifndef _WIN32 __attribute__((weak)) diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt index 80663b1631232..d9def18d725c4 100644 --- a/libcxx/include/CMakeLists.txt +++ b/libcxx/include/CMakeLists.txt @@ -168,7 +168,6 @@ if(LIBCXX_INSTALL_SUPPORT_HEADERS) ${files} support/android/locale_bionic.h support/fuchsia/xlocale.h - support/hightec/locale_htc.h support/ibm/limits.h support/ibm/locale_mgmt_aix.h support/ibm/support.h diff --git a/libcxx/include/__config b/libcxx/include/__config index 840da61978a36..639d06c9f5d70 100644 --- a/libcxx/include/__config +++ b/libcxx/include/__config @@ -307,8 +307,6 @@ # define _LIBCPP_USING_NACL_RANDOM #elif defined(_LIBCPP_WIN32API) # define _LIBCPP_USING_WIN32_RANDOM -#elif defined(__HIGHTEC__) -// Do not define anything here for HighTec #else # define _LIBCPP_USING_DEV_RANDOM #endif @@ -981,10 +979,6 @@ template <unsigned> struct __static_assert_check {}; #define _LIBCPP_HAS_NO_ALIGNED_ALLOCATION #endif -#if defined(__HIGHTEC__) -#define _LIBCPP_HAS_NO_ALIGNED_ALLOCATION -#endif - #if defined(__APPLE__) # if !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && \ defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) diff --git a/libcxx/include/__locale b/libcxx/include/__locale index 2a71c7d279e9a..f43e7b4303d34 100644 --- a/libcxx/include/__locale +++ b/libcxx/include/__locale @@ -37,8 +37,6 @@ # include <support/fuchsia/xlocale.h> #elif defined(_LIBCPP_HAS_MUSL_LIBC) # include <support/musl/xlocale.h> -#elif defined(__HIGHTEC__) -# include <support/hightec/locale_htc.h> #endif #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/math.h b/libcxx/include/math.h index d28194c2992a9..3cc72aa2791e3 100644 --- a/libcxx/include/math.h +++ b/libcxx/include/math.h @@ -298,8 +298,6 @@ long double truncl(long double x); #pragma GCC system_header #endif -#include <type_traits> - #include_next <math.h> #ifdef __cplusplus @@ -308,7 +306,7 @@ long double truncl(long double x); // back to C++ linkage before including these C++ headers. extern "C++" { - +#include <type_traits> #include <limits> // signbit diff --git a/libcxx/include/support/hightec/locale_htc.h b/libcxx/include/support/hightec/locale_htc.h deleted file mode 100644 index 7f06f8e243633..0000000000000 --- a/libcxx/include/support/hightec/locale_htc.h +++ /dev/null @@ -1,56 +0,0 @@ -// -*- C++ -*- -//===------------ support/hightec/locale_htc.h -----------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef _LIBCPP_SUPPORT_HIGHTEC_LOCALE_HTC_H -#define _LIBCPP_SUPPORT_HIGHTEC_LOCALE_HTC_H - -#include <clocale> - -// Add definition for isascii function, which is not part of ISO C -static inline int isascii(int c) { - return c == (c & 0x7f); -} - -// Patch over lack of extended locale support -typedef void *locale_t; - -static inline locale_t duplocale(locale_t) { - return NULL; -} - -static inline void freelocale(locale_t) { -} - -static inline locale_t newlocale(int, const char *, locale_t) { - return NULL; -} - -static inline locale_t uselocale(locale_t) { - return NULL; -} - -#define LC_COLLATE_MASK (LC_COLLATE) -#define LC_CTYPE_MASK (LC_CTYPE) -#define LC_MESSAGES_MASK (LC_MESSAGES) -#define LC_MONETARY_MASK (LC_MONETARY) -#define LC_NUMERIC_MASK (LC_NUMERIC) -#define LC_TIME_MASK (LC_TIME) -#define LC_ALL_MASK (LC_COLLATE_MASK|\ - LC_CTYPE_MASK|\ - LC_MONETARY_MASK|\ - LC_NUMERIC_MASK|\ - LC_TIME_MASK|\ - LC_MESSAGES_MASK) - -#include <support/xlocale/__posix_l_fallback.h> -#include <support/xlocale/__strtonum_fallback.h> - - -#endif // _LIBCPP_SUPPORT_HIGHTEC_LOCALE_HTC_H diff --git a/libcxx/src/locale.cpp b/libcxx/src/locale.cpp index 0a23aba354697..b9c701137df2d 100644 --- a/libcxx/src/locale.cpp +++ b/libcxx/src/locale.cpp @@ -31,8 +31,6 @@ #include "__sso_allocator" #if defined(_LIBCPP_MSVCRT) || defined(__MINGW32__) #include "support/win32/locale_win32.h" -#elif defined(__HIGHTEC__) - #elif !defined(__BIONIC__) #include <langinfo.h> #endif diff --git a/libcxx/src/random.cpp b/libcxx/src/random.cpp index 90a822d9a247c..4a2468368d065 100644 --- a/libcxx/src/random.cpp +++ b/libcxx/src/random.cpp @@ -166,8 +166,6 @@ random_device::operator()() return r; } -#elif defined(__HIGHTEC__) -#warning TODO: implement random device for this architecture #else #error "Random device not implemented for this architecture" #endif diff --git a/libunwind/CMakeLists.txt b/libunwind/CMakeLists.txt index a49e482807e7d..e460a72d45c07 100644 --- a/libunwind/CMakeLists.txt +++ b/libunwind/CMakeLists.txt @@ -134,7 +134,6 @@ option(LIBUNWIND_ENABLE_ARM_WMMX "Enable unwinding support for ARM WMMX register option(LIBUNWIND_ENABLE_THREADS "Build libunwind with threading support." ON) option(LIBUNWIND_USE_COMPILER_RT "Use compiler-rt instead of libgcc" OFF) option(LIBUNWIND_INCLUDE_DOCS "Build the libunwind documentation." ${LLVM_INCLUDE_DOCS}) -option(LIBUNWIND_BAREMETAL "Build libunwind for baremetal targets." OFF) set(LIBUNWIND_LIBDIR_SUFFIX "${LLVM_LIBDIR_SUFFIX}" CACHE STRING "Define suffix of library directory name (32/64)") @@ -333,10 +332,6 @@ if (WIN32 AND LIBUNWIND_ENABLE_STATIC AND NOT LIBUNWIND_ENABLE_SHARED) add_definitions(-D_LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS) endif() -if (LIBUNWIND_BAREMETAL) - list(APPEND LIBUNWIND_COMPILE_FLAGS -D_LIBUNWIND_IS_BAREMETAL) -endif() - #=============================================================================== # Setup Source Code #=============================================================================== diff --git a/lld/Common/Version.cpp b/lld/Common/Version.cpp index 3ef83bbeddd18..6226c9a2fac69 100644 --- a/lld/Common/Version.cpp +++ b/lld/Common/Version.cpp @@ -30,8 +30,6 @@ static std::string getRepository() { std::string Repo = getRepositoryPath(); std::string Rev = LLD_REVISION_STRING; - return " (" + Rev + ")"; - if (Repo.empty() && Rev.empty()) return ""; if (!Repo.empty() && !Rev.empty()) _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits