public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
From: cagney@sourceware.org
To: frysk-cvs@sourceware.org
Subject: [SCM]  master: Delete lib.opcodes.
Date: Thu, 22 May 2008 20:39:00 -0000	[thread overview]
Message-ID: <20080522203902.29651.qmail@sourceware.org> (raw)

The branch, master has been updated
       via  63e361f21e2103269df51c27eeac3a71ac0b55a6 (commit)
      from  9a7034197f14ad2d56254fc9c1ad74a395e98a46 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 63e361f21e2103269df51c27eeac3a71ac0b55a6
Author: Andrew Cagney <cagney@redhat.com>
Date:   Thu May 22 16:33:31 2008 -0400

    Delete lib.opcodes.
    
    frysk-common/ChangeLog
    2008-05-22  Andrew Cagney  <cagney@redhat.com>
    
    	* frysk-common.ac (--with-libopcodes): Delete.
    
    frysk-core/frysk/hpd/ChangeLog
    2008-05-22  Andrew Cagney  <cagney@redhat.com>
    
    	* TestDisassemblerCommand.java: Don't use lib.opcodes.
    
    frysk-sys/ChangeLog
    2008-05-22  Andrew Cagney  <cagney@redhat.com>
    
    	* lib/opcodes/: Delete.

-----------------------------------------------------------------------

Summary of changes:
 frysk-common/ChangeLog                             |    4 +
 frysk-common/frysk-common.ac                       |    6 -
 frysk-core/frysk/hpd/ChangeLog                     |    4 +
 frysk-core/frysk/hpd/TestDisassemblerCommand.java  |    6 +-
 frysk-sys/ChangeLog                                |    2 +
 frysk-sys/lib/opcodes/ChangeLog                    |  202 ---------------
 frysk-sys/lib/opcodes/Disassembler.java            |  104 --------
 frysk-sys/lib/opcodes/Instruction.java             |   56 -----
 frysk-sys/lib/opcodes/TestDisassembler.java        |  198 ---------------
 .../opcodes/UnsupportedArchitectureException.java  |   52 ----
 frysk-sys/lib/opcodes/cni/Disassembler.cxx         |  257 --------------------
 frysk-sys/lib/opcodes/jni/Disassembler.cxx         |   40 ---
 12 files changed, 12 insertions(+), 919 deletions(-)
 delete mode 100644 frysk-sys/lib/opcodes/ChangeLog
 delete mode 100644 frysk-sys/lib/opcodes/Disassembler.java
 delete mode 100644 frysk-sys/lib/opcodes/Instruction.java
 delete mode 100644 frysk-sys/lib/opcodes/TestDisassembler.java
 delete mode 100644 frysk-sys/lib/opcodes/UnsupportedArchitectureException.java
 delete mode 100644 frysk-sys/lib/opcodes/cni/Disassembler.cxx
 delete mode 100644 frysk-sys/lib/opcodes/jni/Disassembler.cxx

First 500 lines of diff:
diff --git a/frysk-common/ChangeLog b/frysk-common/ChangeLog
index 29024e3..7b61862 100644
--- a/frysk-common/ChangeLog
+++ b/frysk-common/ChangeLog
@@ -1,3 +1,7 @@
+2008-05-22  Andrew Cagney  <cagney@redhat.com>
+
+	* frysk-common.ac (--with-libopcodes): Delete.
+
 2008-05-17  Andrew Cagney  <cagney@redhat.com>
 
 	* Makefile.gen.sh (jnixx_sources): Fix path to sources.
diff --git a/frysk-common/frysk-common.ac b/frysk-common/frysk-common.ac
index 6231560..64ba6fb 100644
--- a/frysk-common/frysk-common.ac
+++ b/frysk-common/frysk-common.ac
@@ -248,12 +248,6 @@ FRYSK_DO_ARCH32_TEST
 FRYSK_WERROR
 FRYSK_COVERAGE
 
-AC_ARG_WITH(libopcodes,
-	AS_HELP_STRING([--with-libopcodes], [use libopcodes (disassembler)]),
-	[AC_DEFINE(WITH_LIBOPCODES)
-	 LIBS="$LIBS -lopcodes"]
-	[])
-
 AC_MSG_CHECKING([direct .jar to .o compilation (--enable-jar-compile)])
 AC_ARG_ENABLE([jar-compile],
 	[  --enable-jar-compile	Enable direct compilation of jars],
diff --git a/frysk-core/frysk/hpd/ChangeLog b/frysk-core/frysk/hpd/ChangeLog
index a0cc82a..e0d9f2b 100644
--- a/frysk-core/frysk/hpd/ChangeLog
+++ b/frysk-core/frysk/hpd/ChangeLog
@@ -1,3 +1,7 @@
+2008-05-22  Andrew Cagney  <cagney@redhat.com>
+
+	* TestDisassemblerCommand.java: Don't use lib.opcodes.
+
 2008-05-21  Sami Wagiaalla  <swagiaal@redhat.com>
 
 	ObjectDeclarationSearchEngine: Constructor now 
diff --git a/frysk-core/frysk/hpd/TestDisassemblerCommand.java b/frysk-core/frysk/hpd/TestDisassemblerCommand.java
index f3a9e4d..a2fddf2 100644
--- a/frysk-core/frysk/hpd/TestDisassemblerCommand.java
+++ b/frysk-core/frysk/hpd/TestDisassemblerCommand.java
@@ -39,11 +39,9 @@
 
 package frysk.hpd;
 
-import lib.opcodes.Disassembler;
-
 public class TestDisassemblerCommand extends TestLib {
     public void testHpdDisassemble() {
-	if (unsupported("disassembler", !Disassembler.available()))
+	if (unsupported("disassembler", true))
 	    return;
 	e = HpdTestbed.attachXXX("hpd-c");
 	e.send("disassemble\n");
@@ -51,7 +49,7 @@ public class TestDisassemblerCommand extends TestLib {
     }
     
     public void testDisassembleRange() {
-	if (unsupported("disassembler", !lib.opcodes.Disassembler.available()))
+	if (unsupported("disassembler", true))
 	    return;
 	e = HpdTestbed.attachXXX("hpd-c");
 	e.send("disassemble 0x804860f  0x80487ea\n");
diff --git a/frysk-sys/ChangeLog b/frysk-sys/ChangeLog
index 3be6951..abf4466 100644
--- a/frysk-sys/ChangeLog
+++ b/frysk-sys/ChangeLog
@@ -1,5 +1,7 @@
 2008-05-22  Andrew Cagney  <cagney@redhat.com>
 
+	* lib/opcodes/: Delete.
+
 	* Makefile.am (JniRunner): Add frysk.sys.TestPipePair.
 
 	* Makefile.am (JniRunner): Add frysk.testbed.
diff --git a/frysk-sys/lib/opcodes/ChangeLog b/frysk-sys/lib/opcodes/ChangeLog
deleted file mode 100644
index 010e79c..0000000
--- a/frysk-sys/lib/opcodes/ChangeLog
+++ /dev/null
@@ -1,202 +0,0 @@
-2008-05-07  Andrew Cagney  <cagney@redhat.com>
-
-	* jni/Disassembler.cxx: Include jni.hxx.
-
-2008-05-01  Andrew Cagney  <cagney@redhat.com>
-
-	* jni/Disassembler.cxx: Include jnixx generated header.
-
-2008-04-14  Andrew Cagney  <cagney@redhat.com>
-
-	* TestDisassembler.java: Update; use frysk.config.Host.
-
-2008-04-11  Andrew Cagney  <cagney@redhat.com>
-
-	* jni/Disassembler.cxx: New.
-
-2008-03-03  Andrew Cagney  <cagney@redhat.com>
-
-	* TestDisassembler.java: Use frysk.config.
-
-2007-08-26  Andrew Cagney  <cagney@redhat.com>
-
-	* TestDisassembler.java (testOutOfBounds, testDisassembleStartEnd)
-	(testDisassembler): Mark as unsupported; disassembler.
-	
-2007-08-22  Mark Wielaard  <mwielaard@redhat.com>
-
-	* cni/Disassembler.cxx (disassemble): Use WITH_LIBOPCODES, not
-	HAVE_LIPOPCODES.
-
-2007-08-16  Andrew Cagney  <cagney@redhat.com>
-
-	* cni/Disassembler.cxx: Make conditional on WITH_LIBOPCODES.
-	(available): Implement.
-	* Disassembler.java (available()): Declare.
-
-2007-07-18  Nurdin Premji  <npremji@redhat.com>
-
-	* Disassembler.java (disassembleStartEnd): Added.
-	(disassembleInstructionsStartEnd): Added.
-	* cni/Disassembler.cxx (disassembleStartEnd): Implemented.
-	(init_disassemble): Added.
-	(disassemble): Use init_disassemble.
-	* TestDisassembler.java (testDisassembleStartEnd): Added.
-
-2007-07-17  Andrew Cagney  <cagney@redhat.com>
-
-	* libbfd_get.c: Delete file.  Move contents to ...
-	* cni/Disassembler.cxx (bfd_getb32, bfd_getl32): ... here.
-
-2007-07-05  Andrew Cagney  <cagney@redhat.com>
-
-	* tests/DummyByteBuffer.java: Delete.
-	* tests/TestOpcodes.java: Delete.
-	* TestDisassembler.java: New..
-
-2007-07-04  Andrew Cagney  <cagney@redhat.com>
-
-	* OpcodesException.java: Delete.
-
-	* tests/TestOpcodes.java: Update.
-	* Instruction.java: Add constructor.
-	(address, length, instruction): Make final.
-	* Disassembler.java (printAddress, readMemory)
-	(printInstruction): New.
-	(memory): Replace "buffer".
-	(insnList): Make private.
-	(instruction): Replace "current".
-	(startInstruction, endInstruction): New.
-	(setCurrentAddress, appendCurrentInstruction)
-	(setCurrentInstructionLength, moveToNext): Delete.
-	(disassembleInstructions): Update.  Do not throw OpcodeException.
-	* cni/Disassembler.cxx (print_addr, read_from_byte_buffer)
-	(save_instruction): Delete.
-	(memory_error): New.
-	(print_address, read_memory, print_instruction): New; wrap round
-	printAddress, readMemory, and printInstruction.
-	(disassemble): Update.
-	
-	* UnsupportedArchitectureException.java: New file.
-	* cni/Disassembler.cxx (Disassembler::disassemble): When ISA is
-	unknown, throw an UnsupportedArchitectureException.
-
-2007-07-03  Andrew Cagney  <cagney@redhat.com>
-
-	* cni/Disassembler.cxx (save_instruction): Re-indent.
-
-2007-01-16  Mark Wielaard  <mark@klomp.org>
-
-	* Disassembler.java (disassemble): Mark native method as throwing
-	OpcodesException.
-
-2007-01-15  Andrew Cagney  <cagney@redhat.com>
-
-	* tests/TestOpcodes.java: Replace Build.BUILD_ARCH with
-	Config.getTargetCpuXXX.
-	* tests/DummyByteBuffer.java: Ditto.
-
-2006-09-18  Yao Qi  <qiyaoltc@cn.ibm.com>
-
-	* Instruction.java (length): New member.
-	* Disassembler.java (setCurrentInstructionLength): New method.
-	
-	* cni/Disassembler.cxx (disassemble): Fill in instruction length.
-
-	* tests/TestOpcodes.java: Add test case for powerpc.
-	* tests/DummyByteBuffer.java (DummyByteBuffer): Write dummy 
-	byte buffer for powerpc.
-	(peek): Modify the condition as 0 is the first index.
-	(poke): Likewise.
-
-2006-09-15  Mike Cvet  <mcvet@redhat.com>
-
-	* tests/TestOpcodes.java (testDisassembler): Updated expected
-	instructions for both 32 and 64-bit x86 arches. Fixes #3124.
-
-2006-09-14  Mike Cvet  <mcvet@redhat.com>
-
-	* Disassembler.java (appendCurrentInstruction): Changed from
-	setCurrentInstruction to prevent overwriting the given 
-	instruction with the parameters. Now properly appends
-	parameters to instructions. Closes #3209
-	* cni/Disassembler.cxx (disassemble): Changed the 
-	i386 and x86_64 instruction flavours to att.
-	(read_from_byte_buffer): Fixed up formatting.
-	(print_addr): Changed from an empty function to one that
-	updates the Disassembler object with the instruction
-	address parameter.
-	(save_instruction): Fixed up formatting.
-
-2006-08-28  Andrew Cagney  <cagney@redhat.com>
-
-	* tests/TestOpcodes.java: Extend frysk.junit.TestCase.
-	(trueXXX, brokenXXX, brokenPpcXXX): Delete, moved to
-	frysk.junit.TestCase.
-
-2006-08-04  Yao Qi  <qiyaoltc@cn.ibm.com>
-
-	* lib/opcodes/tests/TestOpcodes.java: Replace "ppc" with
-	"powerpc" to match Build.BUILD_ARCH.
-
-2006-07-31  Adam Jocksch  <ajocksch@redhat.com>
-
-	* tests/TestOpcodes.java (brokenPpcXXX): Added.
-	* tests/TestOpcodes.java (testDisassembler): Re-failed for ppc/ppc64.
-	* tests/TestOpcodes.java (testDisassembler): Fixed, test now works
-	on x86_64.
-
-2006-07-27  Mark Wielaard  <mark@klomp.org>
-
-	* tests/TestOpcodes.java (testDisassembler): Mark as broken bug #2712.
-
-2006-07-14  Mike Cvet  <mcvet@redhat.com>
-
-	* Disassembler.java (Disassembler): Applied GNU formatting.
-	* Disassembler.cxx: Ditto.
-
-2006-05-24  Adam Jocksch  <ajocksch@redhat.com>
-
-	* tests/TestOpcodes.java: Added Frysk header.
-	* tests/DummyByteBuffer.java: Ditto.
-
-	* cni/Disassembler.cxx (save_instruction): Fixed bug where one string
-	wasn't being created with JvNewStringUTF.
-	* tests/TestOpcodes.java (testDisassembler): Now checks disassembler
-	output, this is expected to fail on non-i386 machines.
-
-	* Disassembler.java (disassembleWords): Renamed to 
-	disassembleInstructions.
-	* cni/Disassembler.cxx (disassemble): Now checks for architecture and sets
-	up the disassembly struct appropriately, disassembly function is now
-	referred to by pointer.
-	(read_from_byte_buffer): Now properly copies memory in to myadd, rather
-	than memaddr.
-	(error_func): Now uses JvNewStringUTF.
-	(save_instruction): Ditto, fixed double free bug.
-	* tests: Added.
-	* tests/DummyByteBuffer.java: Added.
-	* tests/TestOpcodes.java: Added.
-
-2006-05-19  Adam Jocksch  <ajocksch@redhat.com>
-
-	* cni/Disassembler.cxx (disassemble): No longer assumes i386_intel.
-
-2006-05-15  Adam Jocksch  <ajocksch@redhat.com>
-
-	* Disassembler.java: Added Frysk header.
-	* OpcodesException.java: Ditto.
-	* Instruction.java: Ditto.
-	(toString): Overwritten.
-	* cni/Disassembler.cxx: Added frysk header and comments.
-	(my_read_func): Renamed to read_from_byte_buffer.
-	(my_print): Renamed to save_instruction.
-
-2006-05-12  Adam Jocksch  <ajocksch@redhat.com>
-
-	* ChangeLog: Created.
-	* Disassembler.java: Added.
-	* Instruction.java: Ditto.
-	* OpcodesException.java: Ditto.
-	* cni: Ditto.
-	* cni/Disassembler.cxx: Ditto.
diff --git a/frysk-sys/lib/opcodes/Disassembler.java b/frysk-sys/lib/opcodes/Disassembler.java
deleted file mode 100644
index a779ace..0000000
--- a/frysk-sys/lib/opcodes/Disassembler.java
+++ /dev/null
@@ -1,104 +0,0 @@
-// This file is part of the program FRYSK.
-//
-// Copyright 2005, Red Hat Inc.
-//
-// FRYSK is free software; you can redistribute it and/or modify it
-// under the terms of the GNU General Public License as published by
-// the Free Software Foundation; version 2 of the License.
-//
-// FRYSK is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with FRYSK; if not, write to the Free Software Foundation,
-// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-// 
-// In addition, as a special exception, Red Hat, Inc. gives You the
-// additional right to link the code of FRYSK with code not covered
-// under the GNU General Public License ("Non-GPL Code") and to
-// distribute linked combinations including the two, subject to the
-// limitations in this paragraph. Non-GPL Code permitted under this
-// exception must only link to the code of FRYSK through those well
-// defined interfaces identified in the file named EXCEPTION found in
-// the source code files (the "Approved Interfaces"). The files of
-// Non-GPL Code may instantiate templates or use macros or inline
-// functions from the Approved Interfaces without causing the
-// resulting work to be covered by the GNU General Public
-// License. Only Red Hat, Inc. may make changes or additions to the
-// list of Approved Interfaces. You must obey the GNU General Public
-// License in all respects for all of the FRYSK code and other code
-// used in conjunction with FRYSK except the Non-GPL Code covered by
-// this exception. If you modify this file, you may extend this
-// exception to your version of the file, but you are not obligated to
-// do so. If you do not wish to provide this exception without
-// modification, you must delete this exception statement from your
-// version and license this file solely under the GPL without
-// exception.
-
-package lib.opcodes;
-
-import java.util.LinkedList;
-import java.util.List;
-import inua.eio.ByteBuffer;
-
-public class Disassembler
-{
-    static public native boolean available();
-
-    private List isnList = new LinkedList();
-    private StringBuffer instruction = new StringBuffer();
-    private final ByteBuffer memory;
-    public Disassembler (ByteBuffer memory)
-    {
-	this.memory = memory;
-    }
-    
-    public List disassembleInstructions (long address, long count) {
-	isnList.clear();
-	// This function will call the below java methods to update
-	// the linked list.
-	disassemble(address, count);
-	return isnList;
-    }
-    
-    public List disassembleInstructionsStartEnd (long startAddress, 
-	    long endAddress) {
-	isnList.clear();
-	// This function will call the below java methods to update
-	// the linked list.
-	disassembleStartEnd(startAddress, endAddress);
-	return isnList;
-    }
-    
-    void startInstruction() {
-	instruction.setLength(0);
-    }
-    void endInstruction(long address, int length) {
-	isnList.add(new Instruction(address, length, instruction.toString()));
-    }
-    /**
-     * See opcodes fprintf_func.
-     */
-    void printInstruction(String text) {
-	instruction.append(text);
-    }
-    /**
-     * See opcodes print_address_func.
-     */
-    void printAddress(long address) {
-	instruction.append("0x").append(Long.toHexString(address));
-    }
-
-    /**
-     * See opcodes print_address_func.
-     */
-    byte readMemory(long address) {
-	return memory.getByte(address);
-    }
-
-    private native void disassemble (long address, long count);
-    
-    private native void disassembleStartEnd (long startAddress, long endAddress);
-}
diff --git a/frysk-sys/lib/opcodes/Instruction.java b/frysk-sys/lib/opcodes/Instruction.java
deleted file mode 100644
index 6d5af94..0000000
--- a/frysk-sys/lib/opcodes/Instruction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-// This file is part of the program FRYSK.
-//
-// Copyright 2005, 2007, Red Hat Inc.
-//
-// FRYSK is free software; you can redistribute it and/or modify it
-// under the terms of the GNU General Public License as published by
-// the Free Software Foundation; version 2 of the License.
-//
-// FRYSK is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with FRYSK; if not, write to the Free Software Foundation,
-// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-// 
-// In addition, as a special exception, Red Hat, Inc. gives You the
-// additional right to link the code of FRYSK with code not covered
-// under the GNU General Public License ("Non-GPL Code") and to
-// distribute linked combinations including the two, subject to the
-// limitations in this paragraph. Non-GPL Code permitted under this
-// exception must only link to the code of FRYSK through those well
-// defined interfaces identified in the file named EXCEPTION found in
-// the source code files (the "Approved Interfaces"). The files of
-// Non-GPL Code may instantiate templates or use macros or inline
-// functions from the Approved Interfaces without causing the
-// resulting work to be covered by the GNU General Public
-// License. Only Red Hat, Inc. may make changes or additions to the
-// list of Approved Interfaces. You must obey the GNU General Public
-// License in all respects for all of the FRYSK code and other code
-// used in conjunction with FRYSK except the Non-GPL Code covered by
-// this exception. If you modify this file, you may extend this
-// exception to your version of the file, but you are not obligated to
-// do so. If you do not wish to provide this exception without
-// modification, you must delete this exception statement from your
-// version and license this file solely under the GPL without
-// exception.
-
-package lib.opcodes;
-
-public class Instruction 
-{
-    public final long address;
-    public final int length;
-    public final String instruction;
-    Instruction(long address, int length, String instruction)
-    {
-	this.address = address;
-	this.length = length;
-	this.instruction = instruction;
-    }
-    public String toString() {
-	return "0x"+Long.toHexString(address)+"\t"+instruction;
-    }
-}
diff --git a/frysk-sys/lib/opcodes/TestDisassembler.java b/frysk-sys/lib/opcodes/TestDisassembler.java
deleted file mode 100644
index 5e996bf..0000000
--- a/frysk-sys/lib/opcodes/TestDisassembler.java
+++ /dev/null
@@ -1,198 +0,0 @@
-// This file is part of the program FRYSK.
-//
-// Copyright 2005, 2006, 2007, 2008 Red Hat Inc.
-//
-// FRYSK is free software; you can redistribute it and/or modify it
-// under the terms of the GNU General Public License as published by
-// the Free Software Foundation; version 2 of the License.
-//
-// FRYSK is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with FRYSK; if not, write to the Free Software Foundation,
-// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-// 
-// In addition, as a special exception, Red Hat, Inc. gives You the
-// additional right to link the code of FRYSK with code not covered
-// under the GNU General Public License ("Non-GPL Code") and to
-// distribute linked combinations including the two, subject to the
-// limitations in this paragraph. Non-GPL Code permitted under this
-// exception must only link to the code of FRYSK through those well
-// defined interfaces identified in the file named EXCEPTION found in
-// the source code files (the "Approved Interfaces"). The files of
-// Non-GPL Code may instantiate templates or use macros or inline
-// functions from the Approved Interfaces without causing the
-// resulting work to be covered by the GNU General Public
-// License. Only Red Hat, Inc. may make changes or additions to the
-// list of Approved Interfaces. You must obey the GNU General Public
-// License in all respects for all of the FRYSK code and other code
-// used in conjunction with FRYSK except the Non-GPL Code covered by
-// this exception. If you modify this file, you may extend this
-// exception to your version of the file, but you are not obligated to
-// do so. If you do not wish to provide this exception without


hooks/post-receive
--
frysk system monitor/debugger


                 reply	other threads:[~2008-05-22 20:39 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20080522203902.29651.qmail@sourceware.org \
    --to=cagney@sourceware.org \
    --cc=frysk-cvs@sourceware.org \
    --cc=frysk@sourceware.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).