+++ /dev/null
-From 98f589636729b1e25625db6880fbd7820dcf9e40 Mon Sep 17 00:00:00 2001
-From: Craig Andrews <candrews@integralblue.com>
-Date: Wed, 31 Jul 2019 10:04:11 -0400
-Subject: [PATCH] Install to standard locations using GNUInstallDirs
-
-Some distributions require 64 bit libraries to be installed to lib64, for example.
-Using GNUInstallDirs ensures that files are installed to the expected locations.
----
- CMakeLists.txt | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 454b830..a89af16 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,5 +1,7 @@
- cmake_minimum_required(VERSION 3.2.0)
-
-+include (GNUInstallDirs)
-+
- # Build ROCM-Compiler-Support with ccache if the package is present.
- set(ROCM_COMPILER_SUPPORT_CCACHE_BUILD OFF CACHE BOOL "Set to ON for a ccache enabled build")
- if(ROCM_COMPILER_SUPPORT_CCACHE_BUILD)
-@@ -146,17 +148,17 @@ configure_file("cmake/${AMD_COMGR_CONFIG_NAME}.in"
-
- install(TARGETS amd_comgr
- EXPORT amd_comgr_export
-- DESTINATION lib)
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR})
-
- install(FILES
- "include/amd_comgr.h"
-- DESTINATION include)
-+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-
- install(FILES
- "README.md"
- "LICENSE.txt"
- "NOTICES.txt"
-- DESTINATION share/amd_comgr)
-+ DESTINATION ${CMAKE_INSTALL_DATADIR}/amd_comgr)
-
- # Generate the install-tree package.
- set(AMD_COMGR_PREFIX_CODE "
+++ /dev/null
-From a73e4ce7c686787840454e206a17973685b03e62 Mon Sep 17 00:00:00 2001
-From: Michael LIAO <michaelhongbin.liao@amd.com>
-Date: Thu, 15 Aug 2019 13:25:58 -0400
-Subject: [PATCH] Fix comgr build due to LLVM interface change.
-
-Change-Id: I66c2203f09b683dd06807860eeb5f517cd200f0e
----
- src/comgr-objdump.cpp | 68 +++++++++++++++++++++++----------
- 1 file changed, 47 insertions(+), 21 deletions(-)
-
-diff --git a/src/comgr-objdump.cpp b/src/comgr-objdump.cpp
-index bf490b6..59a9d05 100644
---- a/src/comgr-objdump.cpp
-+++ b/src/comgr-objdump.cpp
-@@ -307,15 +307,18 @@ class SectionFilter {
- FilterPredicate Predicate;
- llvm::object::ObjectFile const &Object;
- };
-+
- SectionFilter ToolSectionFilter(llvm::object::ObjectFile const &O) {
- return SectionFilter(
- [](llvm::object::SectionRef const &S) {
- if (FilterSections.empty())
- return true;
-- llvm::StringRef String;
-- std::error_code error = S.getName(String);
-- if (error)
-+ Expected<StringRef> SecNameOrErr = S.getName();
-+ if (!SecNameOrErr) {
-+ consumeError(SecNameOrErr.takeError());
- return false;
-+ }
-+ StringRef String = *SecNameOrErr;
- return is_contained(FilterSections, String);
- },
- O);
-@@ -394,6 +397,18 @@ report_error(StringRef ArchiveName, const object::Archive::Child &C,
- report_error(ArchiveName, NameOrErr.get(), std::move(E), ArchitectureName);
- }
-
-+static LLVM_ATTRIBUTE_NORETURN void report_error(llvm::Error E,
-+ StringRef File) {
-+ report_error(File, std::move(E));
-+}
-+
-+template <typename T, typename... Ts>
-+T unwrapOrError(Expected<T> EO, Ts &&... Args) {
-+ if (EO)
-+ return std::move(*EO);
-+ report_error(EO.takeError(), std::forward<Ts>(Args)...);
-+}
-+
- static const Target *getTarget(const ObjectFile *Obj = nullptr) {
- // Figure out the target triple.
- llvm::Triple TheTriple("unknown-unknown-unknown");
-@@ -822,13 +837,13 @@ static void printRelocationTargetName(const MachOObjectFile *O,
- for (const SectionRef &Section : ToolSectionFilter(*O)) {
- std::error_code ec;
-
-- StringRef Name;
- uint64_t Addr = Section.getAddress();
- if (Addr != Val)
- continue;
-- if ((ec = Section.getName(Name)))
-- report_error(O->getFileName(), ec);
-- fmt << Name;
-+ Expected<StringRef> NameOrErr = Section.getName();
-+ if (!NameOrErr)
-+ report_error(O->getFileName(), NameOrErr.takeError());
-+ fmt << *NameOrErr;
- return;
- }
-
-@@ -854,7 +869,11 @@ static void printRelocationTargetName(const MachOObjectFile *O,
- section_iterator SI = O->section_begin();
- // Adjust for the fact that sections are 1-indexed.
- advance(SI, Val - 1);
-- SI->getName(S);
-+ Expected<StringRef> SOrErr = SI->getName();
-+ if (!SOrErr)
-+ consumeError(SOrErr.takeError());
-+ else
-+ S = *SOrErr;
- }
-
- fmt << S;
-@@ -1362,8 +1381,7 @@ void llvm::DisassemHelper::DisassembleObject(const ObjectFile *Obj,
- DataRefImpl DR = Section.getRawDataRefImpl();
- SegmentName = MachO->getSectionFinalSegmentName(DR);
- }
-- StringRef name;
-- error(Section.getName(name));
-+ StringRef name = unwrapOrError(Section.getName(), Obj->getFileName());
-
- if ((SectionAddr <= StopAddress) &&
- (SectionAddr + SectSize) >= StartAddress) {
-@@ -1675,8 +1693,7 @@ void llvm::DisassemHelper::PrintRelocations(const ObjectFile *Obj) {
- for (const SectionRef &Section : ToolSectionFilter(*Obj)) {
- if (Section.relocation_begin() == Section.relocation_end())
- continue;
-- StringRef secname;
-- error(Section.getName(secname));
-+ StringRef secname = unwrapOrError(Section.getName(), Obj->getFileName());
- OutS << "RELOCATION RECORDS FOR [" << secname << "]:\n";
- for (const RelocationRef &Reloc : Section.relocations()) {
- bool hidden = getHidden(Reloc);
-@@ -1699,8 +1716,7 @@ void llvm::DisassemHelper::PrintSectionHeaders(const ObjectFile *Obj) {
- "Idx Name Size Address Type\n";
- unsigned i = 0;
- for (const SectionRef &Section : ToolSectionFilter(*Obj)) {
-- StringRef Name;
-- error(Section.getName(Name));
-+ StringRef Name = unwrapOrError(Section.getName(), Obj->getFileName());
- uint64_t Address = Section.getAddress();
- uint64_t Size = Section.getSize();
- bool Text = Section.isText();
-@@ -1717,9 +1733,8 @@ void llvm::DisassemHelper::PrintSectionHeaders(const ObjectFile *Obj) {
- void llvm::DisassemHelper::PrintSectionContents(const ObjectFile *Obj) {
- std::error_code EC;
- for (const SectionRef &Section : ToolSectionFilter(*Obj)) {
-- StringRef Name;
- StringRef Contents;
-- error(Section.getName(Name));
-+ StringRef Name = unwrapOrError(Section.getName(), Obj->getFileName());
- uint64_t BaseAddr = Section.getAddress();
- uint64_t Size = Section.getSize();
- if (!Size)
-@@ -1797,7 +1812,11 @@ void llvm::DisassemHelper::PrintSymbolTable(const ObjectFile *o,
- section_iterator Section = *SectionOrErr;
- StringRef Name;
- if (Type == SymbolRef::ST_Debug && Section != o->section_end()) {
-- Section->getName(Name);
-+ Expected<StringRef> NameOrErr = Section->getName();
-+ if (!NameOrErr)
-+ consumeError(NameOrErr.takeError());
-+ else
-+ Name = *NameOrErr;
- } else {
- Expected<StringRef> NameOrErr = Symbol.getName();
- if (!NameOrErr)
-@@ -1846,8 +1865,7 @@ void llvm::DisassemHelper::PrintSymbolTable(const ObjectFile *o,
- StringRef SegmentName = MachO->getSectionFinalSegmentName(DR);
- OutS << SegmentName << ",";
- }
-- StringRef SectionName;
-- error(Section->getName(SectionName));
-+ StringRef SectionName = unwrapOrError(Section->getName(), o->getFileName());
- OutS << SectionName;
- }
-
-@@ -1978,7 +1996,11 @@ void llvm::DisassemHelper::printRawClangAST(const ObjectFile *Obj) {
- Optional<object::SectionRef> ClangASTSection;
- for (auto Sec : ToolSectionFilter(*Obj)) {
- StringRef Name;
-- Sec.getName(Name);
-+ auto NameOrErr = Sec.getName();
-+ if (!NameOrErr) // FIXME: Need better error handling.
-+ consumeError(NameOrErr.takeError());
-+ else
-+ Name = *NameOrErr;
- if (Name == ClangASTSectionName) {
- ClangASTSection = Sec;
- break;
-@@ -2015,7 +2037,11 @@ void llvm::DisassemHelper::printFaultMaps(const ObjectFile *Obj) {
-
- for (auto Sec : ToolSectionFilter(*Obj)) {
- StringRef Name;
-- Sec.getName(Name);
-+ auto NameOrErr = Sec.getName();
-+ if (!NameOrErr) // FIXME: Need better error handling.
-+ consumeError(NameOrErr.takeError());
-+ else
-+ Name = *NameOrErr;
- if (Name == FaultMapSectionName) {
- FaultMapSection = Sec;
- break;