From: "罗百科" <patrick@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/rocm-comgr/, dev-libs/rocm-comgr/files/
Date: Mon, 9 Oct 2023 12:34:03 +0000 (UTC) [thread overview]
Message-ID: <1696854819.5317890716b7c71dfd56745929dc5c04183ef33f.patrick@gentoo> (raw)
commit: 5317890716b7c71dfd56745929dc5c04183ef33f
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 9 12:25:03 2023 +0000
Commit: 罗百科 <patrick <AT> gentoo <DOT> org>
CommitDate: Mon Oct 9 12:33:39 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53178907
dev-libs/rocm-comgr: add 5.7.0
Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>
dev-libs/rocm-comgr/Manifest | 1 +
.../files/rocm-comgr-5.7.0-disassembly.patch | 20 ++++
.../rocm-comgr/files/rocm-comgr-5.7.0-lld.patch | 39 +++++++
.../files/rocm-comgr-5.7.0-metadata.patch | 73 +++++++++++++
.../files/rocm-comgr-5.7.0-optional.patch | 113 +++++++++++++++++++++
.../files/rocm-comgr-5.7.0-symbolizer.patch | 39 +++++++
dev-libs/rocm-comgr/rocm-comgr-5.7.0.ebuild | 61 +++++++++++
7 files changed, 346 insertions(+)
diff --git a/dev-libs/rocm-comgr/Manifest b/dev-libs/rocm-comgr/Manifest
index ffbc20898d35..78b8815b05cf 100644
--- a/dev-libs/rocm-comgr/Manifest
+++ b/dev-libs/rocm-comgr/Manifest
@@ -2,3 +2,4 @@ DIST rocm-comgr-5.1.3.tar.gz 117155 BLAKE2B 40e415c4c7ae3e709dd50981299291f0fc11
DIST rocm-comgr-5.3.3.tar.gz 120414 BLAKE2B 29b9d466d74ef94165a2b9bea35eac4616f6b2fc529cdac3c830ee7dc08f219cb9e5d4f081658881c76633f12eaebb74d1a2ea30a76652231b8ee516f9988db1 SHA512 ba7b1ef214e3624168e438ed7fd94291a07508fe89d178c0b158bf22e0998d5a8e4d8f0a7f08f05ac108ef65f725db5764fd66353a85bc25000e572a4fdcb61f
DIST rocm-comgr-5.4.3.tar.gz 120461 BLAKE2B c4eb79dd5a72a2b18e16841fc8cb9a3a33efb0c7b04a7585df9672d682bba6fa826ab8b37dba5febca3b8c5ee5aca30d8546e1fa69e77671e5c750e2a8c1f12f SHA512 1a25af99a0166d70ca6dc5df5a667068eaf583dccd74bbb18a2a5de3c1b769e0c1eb9a0c539e0cd88bc50bbbe53214a1d1b23fbdfd6fc5b6507c44da259815c4
DIST rocm-comgr-5.5.1.tar.gz 127475 BLAKE2B dbcb6729b27c0b4a4be37f5e462d96b10c15a6a3b540a81a74a648fc45dc727ea5706db1a0f4583a31ac4cb5c9f0d9f4e258fa5ac792b327f4cb1dfe6d585937 SHA512 09174ef2ad21f62b197e439bb5b04a365233c360c57cc2ccf0ea3d53edfa8880dff4f127c6d6c1d430b63b6f7ea666705b14cadc2bccb89c0fefed943b0cf1c7
+DIST rocm-comgr-5.7.0.tar.gz 137929 BLAKE2B 955253295311764406fc37505ce417aef9efdc35d705109d890a85202e546581de74803f446221636a192bbaf0bec9f8dc31067e7d1d332113e1b1d43468c269 SHA512 e73eeb11bdf81408693263dd4f6d751f4804358d8fabda06e70e3a3b66f14525a408db1f281a04d539cb37b95bede26df15a1473c1719bd7805d774399d104ab
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-disassembly.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-disassembly.patch
new file mode 100644
index 000000000000..6c1052b0b968
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-disassembly.patch
@@ -0,0 +1,20 @@
+commit 446d142de276a8ca1039798726a2b81937ece952
+Author: Ron Lieberman <ron.lieberman@amd.com>
+Date: Thu Jul 13 19:42:47 2023 -0500
+
+ add #include llvm/ADT/StringExtras.h to comgr-disassembly.cpp
+
+ Change-Id: Id0086adec6e33db55769a12f6a886202c8afd9e0
+
+diff --git a/src/comgr-disassembly.cpp b/src/comgr-disassembly.cpp
+index 8703c0d..31e9634 100644
+--- a/src/comgr-disassembly.cpp
++++ b/src/comgr-disassembly.cpp
+@@ -34,6 +34,7 @@
+ ******************************************************************************/
+
+ #include "comgr-disassembly.h"
++#include "llvm/ADT/StringExtras.h"
+ #include "llvm/MC/TargetRegistry.h"
+
+ using namespace llvm;
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-lld.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-lld.patch
new file mode 100644
index 000000000000..ee21b87fb782
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-lld.patch
@@ -0,0 +1,39 @@
+commit 3f4486f33bdeff6d705431b7a3b6cb5d064cc2b2
+Author: Scott Linder <Scott.Linder@amd.com>
+Date: Mon Jun 19 19:24:26 2023 +0000
+
+ Update to use lld::lldMain introduced in D119049
+
+ Change-Id: I9dd8de3f599fab14b62f482352ae43874ff87373
+
+diff --git a/src/comgr-compiler.cpp b/src/comgr-compiler.cpp
+index 30e838c..7b51d3f 100644
+--- a/src/comgr-compiler.cpp
++++ b/src/comgr-compiler.cpp
+@@ -85,6 +85,8 @@
+
+ #include <csignal>
+
++LLD_HAS_DRIVER(elf)
++
+ using namespace llvm;
+ using namespace llvm::opt;
+ using namespace llvm::sys;
+@@ -614,13 +616,14 @@ static amd_comgr_status_t linkWithLLD(llvm::ArrayRef<const char *> Args,
+ llvm::raw_ostream &LogE) {
+ ArgStringList LLDArgs(llvm::iterator_range<ArrayRef<const char *>::iterator>(
+ Args.begin(), Args.end()));
+- LLDArgs.insert(LLDArgs.begin(), "lld");
++ LLDArgs.insert(LLDArgs.begin(), "ld.lld");
+ LLDArgs.push_back("--threads=1");
+
+ ArrayRef<const char *> ArgRefs = llvm::ArrayRef(LLDArgs);
+- bool LLDRet = lld::elf::link(ArgRefs, LogS, LogE, false, false);
++ lld::Result LLDRet =
++ lld::lldMain(ArgRefs, LogS, LogE, {{lld::Gnu, &lld::elf::link}});
+ lld::CommonLinkerContext::destroy();
+- if (!LLDRet) {
++ if (LLDRet.retCode || !LLDRet.canRunAgain) {
+ return AMD_COMGR_STATUS_ERROR;
+ }
+ return AMD_COMGR_STATUS_SUCCESS;
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-metadata.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-metadata.patch
new file mode 100644
index 000000000000..78fc4f34f45c
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-metadata.patch
@@ -0,0 +1,73 @@
+commit edea3631e2c1cd49c93f6fff883fea2affdfa2d1
+Author: Konstantin Zhuravlyov <kzhuravl_dev@outlook.com>
+Date: Wed May 10 15:52:09 2023 -0400
+
+ Update getDesc* functions due to 689715fx
+
+ Change-Id: I0e8058ceb8a04550fe6c17d74babcf5fe0ee609d
+
+diff --git a/src/comgr-metadata.cpp b/src/comgr-metadata.cpp
+index a3375b4..72aeb01 100644
+--- a/src/comgr-metadata.cpp
++++ b/src/comgr-metadata.cpp
+@@ -223,7 +223,7 @@ static bool mergeNoteRecords(llvm::msgpack::DocNode &From,
+ template <class ELFT>
+ static bool processNote(const Elf_Note<ELFT> &Note, DataMeta *MetaP,
+ llvm::msgpack::DocNode &Root) {
+- auto DescString = Note.getDescAsStringRef();
++ auto DescString = Note.getDescAsStringRef(4);
+
+ if (Note.getName() == "AMD" && Note.getType() == ELF::NT_AMD_HSA_METADATA) {
+
+@@ -557,7 +557,7 @@ getElfIsaNameFromElfNotes(const ELFObjectFile<ELFT> *Obj,
+
+ switch (Note.getType()) {
+ case ELF::NT_AMD_HSA_CODE_OBJECT_VERSION: {
+- if (Note.getDesc().size() <
++ if (Note.getDesc(4).size() <
+ sizeof(amdgpu_hsa_note_code_object_version_s)) {
+ IsError = true;
+ return true;
+@@ -565,7 +565,7 @@ getElfIsaNameFromElfNotes(const ELFObjectFile<ELFT> *Obj,
+
+ const auto *NoteCodeObjectVersion =
+ reinterpret_cast<const amdgpu_hsa_note_code_object_version_s *>(
+- Note.getDesc().data());
++ Note.getDesc(4).data());
+
+ // Only code objects up to version 2 used note records.
+ if (NoteCodeObjectVersion->major_version > 2) {
+@@ -578,7 +578,7 @@ getElfIsaNameFromElfNotes(const ELFObjectFile<ELFT> *Obj,
+ }
+
+ case ELF::NT_AMD_HSA_HSAIL: {
+- if (Note.getDesc().size() < sizeof(amdgpu_hsa_note_hsail_s)) {
++ if (Note.getDesc(4).size() < sizeof(amdgpu_hsa_note_hsail_s)) {
+ IsError = true;
+ return true;
+ }
+@@ -588,21 +588,21 @@ getElfIsaNameFromElfNotes(const ELFObjectFile<ELFT> *Obj,
+ }
+
+ case ELF::NT_AMD_HSA_ISA_VERSION: {
+- if (Note.getDesc().size() <
++ if (Note.getDesc(4).size() <
+ offsetof(amdgpu_hsa_note_isa_s, vendor_and_architecture_name)) {
+ IsError = true;
+ return true;
+ }
+
+ const auto *NoteIsa = reinterpret_cast<const amdgpu_hsa_note_isa_s *>(
+- Note.getDesc().data());
++ Note.getDesc(4).data());
+
+ if (!NoteIsa->vendor_name_size || !NoteIsa->architecture_name_size) {
+ IsError = true;
+ return true;
+ }
+
+- if (Note.getDesc().size() <
++ if (Note.getDesc(4).size() <
+ offsetof(amdgpu_hsa_note_isa_s, vendor_and_architecture_name) +
+ NoteIsa->vendor_name_size + NoteIsa->architecture_name_size) {
+ IsError = true;
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-optional.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-optional.patch
new file mode 100644
index 000000000000..ed52186d98ae
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-optional.patch
@@ -0,0 +1,113 @@
+From 9417620c9802331c4abf0cf4c57f40ec4b38a5e7 Mon Sep 17 00:00:00 2001
+From: Ron Lieberman <ron.lieberman@amd.com>
+Date: Thu, 1 Jun 2023 13:19:28 -0500
+Subject: [PATCH] [llvm] change from Optional to std::optional in support of
+ pending llvm patch
+
+Change-Id: If8a03245dc88e7b7e4a628d7ce7e28c71c3268c6
+---
+ lib/comgr/src/comgr-env.cpp | 2 +-
+ lib/comgr/src/comgr-env.h | 3 +--
+ lib/comgr/src/comgr-objdump.cpp | 5 ++---
+ lib/comgr/src/comgr.cpp | 2 +-
+ lib/comgr/src/time-stat/time-stat.cpp | 3 +--
+ 5 files changed, 6 insertions(+), 9 deletions(-)
+
+diff --git a/src/comgr-env.cpp b/src/comgr-env.cpp
+index 6ab6f0f..7575394 100644
+--- a/src/comgr-env.cpp
++++ b/src/comgr-env.cpp
+@@ -50,7 +50,7 @@ bool shouldSaveTemps() {
+ return SaveTemps && StringRef(SaveTemps) != "0";
+ }
+
+-Optional<StringRef> getRedirectLogs() {
++std::optional<StringRef> getRedirectLogs() {
+ static char *RedirectLogs = getenv("AMD_COMGR_REDIRECT_LOGS");
+ if (!RedirectLogs || StringRef(RedirectLogs) == "0") {
+ return std::nullopt;
+diff --git a/src/comgr-env.h b/src/comgr-env.h
+index aef57b3..7ca644e 100644
+--- a/src/comgr-env.h
++++ b/src/comgr-env.h
+@@ -36,7 +36,6 @@
+ #ifndef COMGR_ENV_H
+ #define COMGR_ENV_H
+
+-#include "llvm/ADT/Optional.h"
+ #include "llvm/ADT/StringRef.h"
+
+ namespace COMGR {
+@@ -47,7 +46,7 @@ bool shouldSaveTemps();
+
+ /// If the environment requests logs be redirected, return the string identifier
+ /// of where to redirect. Otherwise return @p None.
+-llvm::Optional<llvm::StringRef> getRedirectLogs();
++std::optional<llvm::StringRef> getRedirectLogs();
+
+ /// Return whether the environment requests verbose logging.
+ bool shouldEmitVerboseLogs();
+diff --git a/src/comgr-objdump.cpp b/src/comgr-objdump.cpp
+index ff3f996..cae7aa3 100644
+--- a/src/comgr-objdump.cpp
++++ b/src/comgr-objdump.cpp
+@@ -39,7 +39,6 @@
+ #include "comgr-objdump.h"
+ #include "comgr.h"
+ #include "lld/Common/TargetOptionsCommandFlags.h"
+-#include "llvm/ADT/Optional.h"
+ #include "llvm/ADT/STLExtras.h"
+ #include "llvm/ADT/StringExtras.h"
+ #include "llvm/CodeGen/CommandFlags.h"
+@@ -2145,7 +2144,7 @@ void llvm::DisassemHelper::printRawClangAST(const ObjectFile *Obj) {
+ ClangASTSectionName = "clangast";
+ }
+
+- Optional<object::SectionRef> ClangASTSection;
++ std::optional<object::SectionRef> ClangASTSection;
+ for (auto Sec : toolSectionFilter(*Obj)) {
+ StringRef Name;
+ auto NameOrErr = Sec.getName();
+@@ -2188,7 +2187,7 @@ void llvm::DisassemHelper::printFaultMaps(const ObjectFile *Obj) {
+ return;
+ }
+
+- Optional<object::SectionRef> FaultMapSection;
++ std::optional<object::SectionRef> FaultMapSection;
+
+ for (auto Sec : toolSectionFilter(*Obj)) {
+ StringRef Name;
+diff --git a/src/comgr.cpp b/src/comgr.cpp
+index e421414..9e89dc2 100644
+--- a/src/comgr.cpp
++++ b/src/comgr.cpp
+@@ -1293,7 +1293,7 @@ amd_comgr_status_t AMD_COMGR_API
+ // Pointer to the currently selected log stream.
+ raw_ostream *LogP = &LogS;
+
+- if (Optional<StringRef> RedirectLogs = env::getRedirectLogs()) {
++ if (std::optional<StringRef> RedirectLogs = env::getRedirectLogs()) {
+ StringRef RedirectLog = *RedirectLogs;
+ if (RedirectLog == "stdout") {
+ LogP = &outs();
+diff --git a/src/time-stat/time-stat.cpp b/src/time-stat/time-stat.cpp
+index 1df3f0e..9b24983 100644
+--- a/src/time-stat/time-stat.cpp
++++ b/src/time-stat/time-stat.cpp
+@@ -5,7 +5,6 @@
+ #include <system_error>
+
+ #include "comgr-env.h"
+-#include "llvm/ADT/Optional.h"
+ #include "llvm/ADT/StringRef.h"
+ #include "llvm/Support/Debug.h"
+ #include "llvm/Support/FileSystem.h"
+@@ -29,7 +28,7 @@ static std::unique_ptr<PerfStats> PS = nullptr;
+ static void dump() { PS->dumpPerfStats(); }
+
+ void GetLogFile(std::string &PerfLog) {
+- if (Optional<StringRef> RedirectLogs = env::getRedirectLogs()) {
++ if (std::optional<StringRef> RedirectLogs = env::getRedirectLogs()) {
+ PerfLog = (*RedirectLogs).str();
+ return;
+ }
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-symbolizer.patch b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-symbolizer.patch
new file mode 100644
index 000000000000..9c8079042bab
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-5.7.0-symbolizer.patch
@@ -0,0 +1,39 @@
+
+commit 13dfb8f01ded137f634b8b6aa8a5ce2bc3e65daf
+Author: Ron Lieberman <ron.lieberman@amd.com>
+Date: Sun Apr 23 07:12:23 2023 -0500
+
+ [symbolizer] API evolution for ErrorHandler
+
+ Change-Id: I438358dc79195444aed0658942b23869eda8117e
+
+diff --git a/src/comgr-symbolizer.cpp b/src/comgr-symbolizer.cpp
+index cfdeee8..36643cf 100644
+--- a/src/comgr-symbolizer.cpp
++++ b/src/comgr-symbolizer.cpp
+@@ -57,6 +57,16 @@ static llvm::symbolize::PrinterConfig getDefaultPrinterConfig() {
+ return Config;
+ }
+
++static llvm::symbolize::ErrorHandler symbolize_error_handler(
++ llvm::raw_string_ostream &OS) {
++ return
++ [&](const llvm::ErrorInfoBase &ErrorInfo, llvm::StringRef ErrorBanner) {
++ OS << ErrorBanner;
++ ErrorInfo.log(OS);
++ OS << '\n';
++ };
++}
++
+ Symbolizer::Symbolizer(std::unique_ptr<ObjectFile> &&CodeObject,
+ PrintSymbolCallback PrintSymbol)
+ : CodeObject(std::move(CodeObject)), PrintSymbol(PrintSymbol) {}
+@@ -93,7 +103,7 @@ amd_comgr_status_t Symbolizer::symbolize(uint64_t Address, bool IsCode,
+ llvm::raw_string_ostream OS(Result);
+ llvm::symbolize::PrinterConfig Config = getDefaultPrinterConfig();
+ llvm::symbolize::Request Request{"", Address};
+- auto Printer = std::make_unique<llvm::symbolize::LLVMPrinter>(OS, OS, Config);
++ auto Printer = std::make_unique<llvm::symbolize::LLVMPrinter>(OS, symbolize_error_handler(OS), Config);
+
+ if (IsCode) {
+ auto ResOrErr = SymbolizerImpl.symbolizeInlinedCode(
diff --git a/dev-libs/rocm-comgr/rocm-comgr-5.7.0.ebuild b/dev-libs/rocm-comgr/rocm-comgr-5.7.0.ebuild
new file mode 100644
index 000000000000..28f2b5385c71
--- /dev/null
+++ b/dev-libs/rocm-comgr/rocm-comgr-5.7.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm prefix
+
+LLVM_MAX_SLOT=17
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/lib/comgr"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
+ KEYWORDS="~amd64"
+fi
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
+ "${FILESDIR}/0001-Specify-clang-exe-path-in-Driver-Creation.patch"
+ "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
+ "${FILESDIR}/${PN}-5.7.0-optional.patch"
+ "${FILESDIR}/${PN}-5.7.0-lld.patch"
+ "${FILESDIR}/${PN}-5.7.0-disassembly.patch"
+ "${FILESDIR}/${PN}-5.7.0-metadata.patch"
+ "${FILESDIR}/${PN}-5.7.0-symbolizer.patch"
+)
+
+DESCRIPTION="Radeon Open Compute Code Object Manager"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang:${LLVM_MAX_SLOT}=
+ sys-devel/clang-runtime:=
+ sys-devel/lld:${LLVM_MAX_SLOT}="
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
+ sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix ${LLVM_MAX_SLOT})\")," -i src/comgr-env.cpp || die
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch)
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
next reply other threads:[~2023-10-09 12:34 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-09 12:34 罗百科 [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-11-01 9:28 [gentoo-commits] repo/gentoo:master commit in: dev-libs/rocm-comgr/, dev-libs/rocm-comgr/files/ Yixun Lan
2023-02-02 12:58 Sam James
2023-02-02 12:54 Sam James
2023-02-02 12:54 Sam James
2023-02-01 9:53 Andreas Sturmlechner
2022-12-19 14:00 Andreas Sturmlechner
2022-11-19 11:50 Benda XU
2022-03-22 4:09 Benda XU
2022-01-24 14:46 Benda XU
2019-09-30 15:23 Craig Andrews
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1696854819.5317890716b7c71dfd56745929dc5c04183ef33f.patrick@gentoo \
--to=patrick@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox