From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9770 invoked by alias); 28 Jun 2009 21:09:04 -0000 Received: (qmail 9761 invoked by uid 22791); 28 Jun 2009 21:09:03 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from NaN.false.org (HELO nan.false.org) (208.75.86.248) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 28 Jun 2009 21:08:57 +0000 Received: from nan.false.org (localhost [127.0.0.1]) by nan.false.org (Postfix) with ESMTP id EF107108AF; Sun, 28 Jun 2009 21:08:54 +0000 (GMT) Received: from caradoc.them.org (209.195.188.212.nauticom.net [209.195.188.212]) by nan.false.org (Postfix) with ESMTP id 670481070A; Sun, 28 Jun 2009 21:08:54 +0000 (GMT) Received: from drow by caradoc.them.org with local (Exim 4.69) (envelope-from ) id 1ML1cK-0006qm-R2; Sun, 28 Jun 2009 17:08:52 -0400 Date: Sun, 28 Jun 2009 21:09:00 -0000 From: Daniel Jacobowitz To: Michael Snyder Cc: Pedro Alves , "gdb-patches@sourceware.org" , Hui Zhu Subject: Re: [RFA] Patch to fix reverse return from subroutine error Message-ID: <20090628210852.GA26015@caradoc.them.org> Mail-Followup-To: Michael Snyder , Pedro Alves , "gdb-patches@sourceware.org" , Hui Zhu References: <4A466BAE.2010305@vmware.com> <200906272049.36692.pedro@codesourcery.com> <4A4687B2.2060907@vmware.com> <20090627211150.GA27691@caradoc.them.org> <4A47BA15.6020004@vmware.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="J/dobhs11T7y2rNN" Content-Disposition: inline In-Reply-To: <4A47BA15.6020004@vmware.com> User-Agent: Mutt/1.5.20 (2009-06-14) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-06/txt/msg00792.txt.bz2 --J/dobhs11T7y2rNN Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-length: 351 On Sun, Jun 28, 2009 at 11:44:37AM -0700, Michael Snyder wrote: > Great, I looked up your paper, and found it helpful. > Are your gdb patches available online? Any head start > would be a boon... I think I've posted them before, but I can't remember where. A copy is attached. The epilogue bits are in patch-4. -- Daniel Jacobowitz CodeSourcery --J/dobhs11T7y2rNN Content-Type: application/x-tar Content-Disposition: attachment; filename="reverse-patches.tar" Content-Transfer-Encoding: base64 Content-length: 17796 H4sIAKHoLUgAA+w8a3PbRpL5StX9iLFSsUgTZAhSb62daGXa1saRXJS8ztXu FgoEhiROIMDgIZlJ9N+vu+eBAQmSkuXs1dUdq2wSwExPT0+/u6GZm3mTlv3N n/npwGd/dxe/7YO9jvmNP/e6vc43tt2xe7393W4H7tudnt37hnX+VKzkJ08z N2HsG9+N1o7b9Px/6af1VT5bib1/eGAfHTMGdGJ/MDjGg1Znt2X3WOfgeHfv uHPEWp2DTmdrq/Zx5rsZ99kMWY8N3RR+x9HxVg0m7bc6vVbPZuznwJu4PGRX 0dzncD5/mab068eE+xM3a3vx9NVW7dpNxjxjQZTxZOR6nI3ihCX8licpZ/wz 9/IsiKP2Vu0Fy2hoe8LqPMqn8tK5c4PsJoj8Bix/6vss4ncM7zGAEWUWuz4d vO1fO59Oz69/Or947VxcOu/Or64vB/8JQAUkXMbxg4R7uJYjoLELAISPcVia JbmXqSXjWSqfT3k2if2UZbGTwgMEBHAsvB4X1whBTlWjaFfFmgqc6yWxMXr8 oNGaMh6r53QyjpcnCezeEQ9g/Hk04QkQBakjsVLIt7cQRMKnccYRhPhl4m/J p+YeywRAnJ0gCrLADYPfuCPGwxh1IgWhJCyJM7uFLcVEIblGwtN8ilPPJty7 WWIHpqlgMTfyWcojf6vmzmZJPEsC2DsDvpriE1hK0qUAjoyhQUsMYMFZHKWC 8wruYKBVshx29pXkC/6xsT/8Xp0V4nQbpLARRpJ32NhqNptrhxw1tn78kbV2 9/etfdbEr0MGNyrPnNVv48BvbDHxOb941x+cX7M6cOYI+NuZAkGSOVB7DOBT 4NjGSdXYqXsDkOOEj4KQOxHQcPVY5JhsknDXd8LYc0PH9X0grpzQrJ5QiEz1 mHRxjFz4+xfsdcwAIVAdgrVhMK3t89RLghmpDcZefF+9rXHgbYYniTR1ZwKS OkMlLGvOcNUQeYbdw72udcCa9G3v4TGW+J/VYQO+kzH8slA9Aj/ymQUaSWCc amLDUBzSaZzUYBODPGLZJABJo4eSAjhnmI/YS5akrVfw62SrxVgwYvU0GI8j N2TPXipNeXX+9uL0vdNp4HHgkPXKiNUb7OVL1v+lf+YM+n/vD676DXGQv6vz BLQ+cebH0Q7sx01TBovCmqQNsolWBUFUlvRp7HOBv4SDyATRKHZg0DCGYc+f s7X41+7cJAqiMatvsxY7cxcQYN8ZWsJY/pjBY+B5v/3PaNsCMDW1TMGjYBG8 2ZzVgZYWHQ37gW0P0212DF/ethp4j188BFw3EZsJkkl2BLD/6PwLzkuC3rna Acg7Zzsn5ggbR2TxhH9m9TqQJmtoerx6xXYb7DnrfB4BLshyPbtLegMcs13L tg2WI3NZZriywVNrpncBGvy6wA5wrgHCNQ/sP9vp7xzXkAH7SQJ6NB6xNAY2 TuMkk2dYEweo8H7Jdjo7eIJ4oytu7O80aBzxTk0RGtVw6xVaZfZyjTk/0VPG MZwq/OeIuerBPeDKmGYJp749EKZo5AZhnnAgxyycH7Pv0u2GhWihdoAZXhxl QZTzE73XN3Kvb0Apts6/v4SZv+Y8lTtFYu/bvSMk9j74xlavLN9lHcUWnQsk dsKzPInYxcf372FVQHyribK97BYhk705/+Xn/jFqBDAFzE2Zyzx35g6DMMjm kvhIicBjq9wdhZxyDaQ8v7kcfDodvAYCPhiCodOVCWr+rjSJHOPzYT7GozeF WSoNMOJRNgIbFYJDCG5lfVv6CwooqLbvUi2XjIhVxr2MPMolWHY4dh+Ec9Mk qcFwklQG5qTtPLqJ4rtIirc8pTIoeHJv0As197L3xFY6nujfPJlkV1wtqsh2 vEi0h1PqEeQZun7hnxGREEMUFMGinul3obu1xKdi01XI/fFHFSaSBPIk6kts jNQ8UTq4NJag9AeDy4E8MSZPDJl2i6EzK91Y9Pe1O/W7FO9D0qX73e6hcMKu ZtwLRnOyZyn4D6CCfTD8ENCAbgWeBSUSAV34VsF7ALYNTsbETckNA02fpICy fVI9Rkv9mjHS/UKNlcQhGgfPSYHqPjhkN+QfeBDc4QWj23kIkZmgexmYKcYv K2T7ZHlKWjUlNacsoUxuGAy+/HDl/Hz69vysaoz2wQqoxb2KCaPQTScOT1BT 6xnGzZNFV3yy2RVfGiLdOLtHXhx+CYtaFZkq64myC5wRYzzlAp8kwCxwGkOO 5ijNcjiUICIGkki76TzyCExdO/JslEee8G2v0c27cwXPUbQLJxvPkNtkTBPc cnRwYlqMRqSWBhQGNyLmCSLg/Ag4FeHkKeI1nwFO0ufFsYtWF7yWy0FfyFP1 M0vIPkn/deHjAZOyBFzUOM/QR4AdQPQ3J62WTF0K65SHReEdsCv65Dhl6Ho3 qJvg/hyokOCmDPdwtWOAO74/QSe4bGmRsMJDEGe5Z6NI23t7lr2LZ7lyNGF3 64bkEkjY1fZZoLdK1yPi0kk2VZ1l3JJqzrxFOguv71G/In0/xGkaDEOO58ZT pKs4a+SvjE5VcR7QP/JR5u+CMIQL4g/aj89BY4F7N5ERA+GspjkEz0HwRKq9 Dmm/PftQsv1SfkRz2R36I7fgYLmAoBGPgYpKs4V56BWxF/UXFZFcY8lNAp38 AhMxRHzJaGj3CjVphCjSrH0vjVbD4Bs00LSkmdxYbZ+VYw+rvf2C1VaafUJh XEKBLA6dscJTqUwZBAAOFxwMfpoPW4I66MWiSEtpm7reJIhQn4SUrzPVDqZJ 1IMf5HFJ59XudjokCl37wLLJvPHPYJ0igYTMZGXxbMbhkNzMVZG+M9ti3/p8 hGuuHVY/+zgY9C+uHSG1sFkbNNy3PPKDkRSmN2UiVlFauL+gXeAxMXQchXPQ pyyYzkI+BZaFPQ/n4A9LepA8pPlsBlFJWpVlbOI5LexgRdwLYe8/xZnWy5mX RfP5gxoHZ7x2ZAND6WNDyBuoQxfpuQKb1+eDdQilD0aoLAYEdgmnLcUPq6VY XmyMdlCMSYaRmwdgFmCvKfHw1MWkcESWCVSakSjQvJ6225SfY2fA0WP+Ph63 5aGuMOkbx0m73rE6wP6C97eaRiqcvXajgIfsb64XD2PQl78x9hffjX70Ythl nCceT+YitQ10Wpkobz4+U958cKq8+ZBcefPRyfLmA7Plzaeny5uPy5c3H5cw bz49Y94kIE/NmTefmjRvPilr3tyUNm8+KW/+P10X+7/yId3S6v6pa6yv//Z2 97u2Uf+1qf7b7f5//fff8flK9Smq/3Y7q+q/h8fdwz+j/tvXbt1DSsBD8Cdu ZjEMRa1bXDlpEHJwFKSG1THywpzJijn9z+gR0mgIebypj9DB6wrSiSP14gNU K9YZ5SQVqy7gY8n4i4lhDFYyyg5qfQh2cf1yBIZ+NHpTKVkztBCGyhX3cX0B 3ykHbjDhnVh3bTFcjsGKA4b/LAaswHdWyEMsDi52Cd3FGdkkyWFGSDEHelrV w3mW4WiXJrZkwas4mPVrwIDYxGrt4CHP7jiPDIzS8oQ6JU8XqPshEVlbvFyw bl+9HGxydIUzqvJQa4Z1O8JnPdjrdTFqo2+QWrhnMLsXcjdxRF0LeDrH9IBZ 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 --J/dobhs11T7y2rNN--