From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15219 invoked by alias); 24 Nov 2011 13:29:06 -0000 Received: (qmail 15211 invoked by uid 22791); 24 Nov 2011 13:29:04 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,TW_GJ,TW_ZJ X-Spam-Check-By: sourceware.org Received: from mail-gy0-f169.google.com (HELO mail-gy0-f169.google.com) (209.85.160.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 24 Nov 2011 13:28:51 +0000 Received: by ghrr17 with SMTP id r17so3084282ghr.0 for ; Thu, 24 Nov 2011 05:28:50 -0800 (PST) MIME-Version: 1.0 Received: by 10.236.129.235 with SMTP id h71mr40608475yhi.114.1322141330749; Thu, 24 Nov 2011 05:28:50 -0800 (PST) Received: by 10.146.137.4 with HTTP; Thu, 24 Nov 2011 05:28:50 -0800 (PST) In-Reply-To: <201111241237.pAOCbFIK019798@d06av02.portsmouth.uk.ibm.com> References: <201111241237.pAOCbFIK019798@d06av02.portsmouth.uk.ibm.com> Date: Thu, 24 Nov 2011 13:29:00 -0000 Message-ID: Subject: [PATCH v3, alpha]: Handle single-stepping of atomic sequences From: Uros Bizjak To: Ulrich Weigand Cc: gdb-patches@sourceware.org, Alan Modra , Richard Henderson , Ulrich Weigand Content-Type: multipart/mixed; boundary=20cf300e50bd5cbaad04b27b044b 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: 2011-11/txt/msg00681.txt.bz2 --20cf300e50bd5cbaad04b27b044b Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 751 On Thu, Nov 24, 2011 at 1:37 PM, Ulrich Weigand wrote: >> 2011-11-24 =A0Uros Bizjak =A0 >> >> =A0 =A0 =A0 =A0 * alpha-tdep.c (br_opcode): New. >> =A0 =A0 =A0 =A0 (ldl_l_opcode, ldq_l_opcode, stl_c_opcode, stq_c_opcode)= : Ditto. >> =A0 =A0 =A0 =A0 (alpha_deal_with_atomic_sequence): New function. >> =A0 =A0 =A0 =A0 (alpha_gdbarch_init): Handle single stepping of atomic s= equences >> =A0 =A0 =A0 =A0 with alpha_deal_with_atomic_sequence. >> >> [v3]: As suggested by Ulrich, handle all branch instructions inside >> compare and exchange loop. >> >> Re-tested on alphaev68-pc-linux-gnu, also with simulate-thread.exp >> from GCC testsuite. > > Patch seems to be missing ... Eh, sorry... attached now. Uros. --20cf300e50bd5cbaad04b27b044b Content-Type: text/x-patch; charset=US-ASCII; name="gdb-7.3.50.20111114.diff" Content-Disposition: attachment; filename="gdb-7.3.50.20111114.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gvdss3by0 Content-length: 5466 LS0tIGFscGhhLXRkZXAuYwkyMDExLTExLTI0IDEwOjA5OjM0LjAwMDAwMDAw MCArMDEwMAorKysgYWxwaGEtdGRlcC5jLnViCTIwMTEtMTEtMjQgMTA6MDg6 MjYuMDAwMDAwMDAwICswMTAwCkBAIC02NSw2ICs2NSw3IEBAIHN0YXRpYyBj b25zdCBpbnQgc3RxX29wY29kZSA9IDB4MmQ7CiAvKiBCcmFuY2ggaW5zdHJ1 Y3Rpb24gZm9ybWF0ICovCiAjZGVmaW5lIEJSX1JBKGluc24pIE1FTV9SQShp bnNuKQogCitzdGF0aWMgY29uc3QgaW50IGJyX29wY29kZSA9IDB4MzA7CiBz dGF0aWMgY29uc3QgaW50IGJuZV9vcGNvZGUgPSAweDNkOwogCiAvKiBPcGVy YXRlIGluc3RydWN0aW9uIGZvcm1hdCAqLwpAQCAtNzYyLDYgKzc2Myw5NCBA QCBhbHBoYV9za2lwX3Byb2xvZ3VlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiCiB9 CiAKIAwKK3N0YXRpYyBjb25zdCBpbnQgbGRsX2xfb3Bjb2RlID0gMHgyYTsK K3N0YXRpYyBjb25zdCBpbnQgbGRxX2xfb3Bjb2RlID0gMHgyYjsKK3N0YXRp YyBjb25zdCBpbnQgc3RsX2Nfb3Bjb2RlID0gMHgyZTsKK3N0YXRpYyBjb25z dCBpbnQgc3RxX2Nfb3Bjb2RlID0gMHgyZjsKKworLyogQ2hlY2tzIGZvciBh biBhdG9taWMgc2VxdWVuY2Ugb2YgaW5zdHJ1Y3Rpb25zIGJlZ2lubmluZyB3 aXRoIGEgTERMX0wvTERRX0wKKyAgIGluc3RydWN0aW9uIGFuZCBlbmRpbmcg d2l0aCBhIFNUTF9DL1NUUV9DIGluc3RydWN0aW9uLiAgSWYgc3VjaCBhIHNl cXVlbmNlCisgICBpcyBmb3VuZCwgYXR0ZW1wdCB0byBzdGVwIHRocm91Z2gg aXQuICBBIGJyZWFrcG9pbnQgaXMgcGxhY2VkIGF0IHRoZSBlbmQgb2YgCisg ICB0aGUgc2VxdWVuY2UuICAqLworCitpbnQgCithbHBoYV9kZWFsX3dpdGhf YXRvbWljX3NlcXVlbmNlIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCit7 CisgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X2ZyYW1lX2FyY2gg KGZyYW1lKTsKKyAgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKmFzcGFjZSA9IGdl dF9mcmFtZV9hZGRyZXNzX3NwYWNlIChmcmFtZSk7CisgIENPUkVfQUREUiBw YyA9IGdldF9mcmFtZV9wYyAoZnJhbWUpOworICBDT1JFX0FERFIgYnJlYWtz WzJdID0gey0xLCAtMX07CisgIENPUkVfQUREUiBsb2MgPSBwYzsKKyAgQ09S RV9BRERSIGNsb3NpbmdfaW5zbjsgLyogSW5zdHJ1Y3Rpb24gdGhhdCBjbG9z ZXMgdGhlIGF0b21pYyBzZXF1ZW5jZS4gICovCisgIHVuc2lnbmVkIGludCBp bnNuID0gYWxwaGFfcmVhZF9pbnNuIChnZGJhcmNoLCBsb2MpOworICBpbnQg aW5zbl9jb3VudDsKKyAgaW50IGluZGV4OworICBpbnQgbGFzdF9icmVha3Bv aW50ID0gMDsgLyogRGVmYXVsdHMgdG8gMCAobm8gYnJlYWtwb2ludHMgcGxh Y2VkKS4gICovICAKKyAgY29uc3QgaW50IGF0b21pY19zZXF1ZW5jZV9sZW5n dGggPSAxNjsgLyogSW5zdHJ1Y3Rpb24gc2VxdWVuY2UgbGVuZ3RoLiAgKi8K KyAgaW50IGJjX2luc25fY291bnQgPSAwOyAvKiBDb25kaXRpb25hbCBicmFu Y2ggaW5zdHJ1Y3Rpb24gY291bnQuICAqLworCisgIC8qIEFzc3VtZSBhbGwg YXRvbWljIHNlcXVlbmNlcyBzdGFydCB3aXRoIGEgTERMX0wvTERRX0wgaW5z dHJ1Y3Rpb24uICAqLworICBpZiAoSU5TTl9PUENPREUgKGluc24pICE9IGxk bF9sX29wY29kZQorICAgICAgJiYgSU5TTl9PUENPREUgKGluc24pICE9IGxk cV9sX29wY29kZSkKKyAgICByZXR1cm4gMDsKKworICAvKiBBc3N1bWUgdGhh dCBubyBhdG9taWMgc2VxdWVuY2UgaXMgbG9uZ2VyIHRoYW4gImF0b21pY19z ZXF1ZW5jZV9sZW5ndGgiIAorICAgICBpbnN0cnVjdGlvbnMuICAqLworICBm b3IgKGluc25fY291bnQgPSAwOyBpbnNuX2NvdW50IDwgYXRvbWljX3NlcXVl bmNlX2xlbmd0aDsgKytpbnNuX2NvdW50KQorICAgIHsKKyAgICAgIGxvYyAr PSBBTFBIQV9JTlNOX1NJWkU7CisgICAgICBpbnNuID0gYWxwaGFfcmVhZF9p bnNuIChnZGJhcmNoLCBsb2MpOworCisgICAgICAvKiBBc3N1bWUgdGhhdCB0 aGVyZSBpcyBhdCBtb3N0IG9uZSBicmFuY2ggaW4gdGhlIGF0b21pYworCSBz ZXF1ZW5jZS4gIElmIGEgYnJhbmNoIGlzIGZvdW5kLCBwdXQgYSBicmVha3Bv aW50IGluIAorCSBpdHMgZGVzdGluYXRpb24gYWRkcmVzcy4gICovCisgICAg ICBpZiAoSU5TTl9PUENPREUgKGluc24pID49IGJyX29wY29kZSkKKwl7CisJ ICBpbnQgaW1tZWRpYXRlID0gKGluc24gJiAweDAwMWZmZmZmKSA8PCAyOwor CisJICBpbW1lZGlhdGUgPSAoaW1tZWRpYXRlIF4gMHg0MDAwMDApIC0gMHg0 MDAwMDA7CisKKwkgIGlmIChiY19pbnNuX2NvdW50ID49IDEpCisJICAgIHJl dHVybiAwOyAvKiBNb3JlIHRoYW4gb25lIGJyYW5jaCBmb3VuZCwgZmFsbGJh Y2sgCisJCQkgdG8gdGhlIHN0YW5kYXJkIHNpbmdsZS1zdGVwIGNvZGUuICAq LworCisJICBicmVha3NbMV0gPSBsb2MgKyBBTFBIQV9JTlNOX1NJWkUgKyBp bW1lZGlhdGU7CisKKwkgIGJjX2luc25fY291bnQrKzsKKwkgIGxhc3RfYnJl YWtwb2ludCsrOworCX0KKworICAgICAgaWYgKElOU05fT1BDT0RFIChpbnNu KSA9PSBzdGxfY19vcGNvZGUKKwkgIHx8IElOU05fT1BDT0RFIChpbnNuKSA9 PSBzdHFfY19vcGNvZGUpCisJYnJlYWs7CisgICAgfQorCisgIC8qIEFzc3Vt ZSB0aGF0IHRoZSBhdG9taWMgc2VxdWVuY2UgZW5kcyB3aXRoIGEgU1RMX0Mv U1RRX0MgaW5zdHJ1Y3Rpb24uICAqLworICBpZiAoSU5TTl9PUENPREUgKGlu c24pICE9IHN0bF9jX29wY29kZQorICAgICAgJiYgSU5TTl9PUENPREUgKGlu c24pICE9IHN0cV9jX29wY29kZSkKKyAgICByZXR1cm4gMDsKKworICBjbG9z aW5nX2luc24gPSBsb2M7CisgIGxvYyArPSBBTFBIQV9JTlNOX1NJWkU7CisK KyAgLyogSW5zZXJ0IGEgYnJlYWtwb2ludCByaWdodCBhZnRlciB0aGUgZW5k IG9mIHRoZSBhdG9taWMgc2VxdWVuY2UuICAqLworICBicmVha3NbMF0gPSBs b2M7CisKKyAgLyogQ2hlY2sgZm9yIGR1cGxpY2F0ZWQgYnJlYWtwb2ludHMu ICBDaGVjayBhbHNvIGZvciBhIGJyZWFrcG9pbnQKKyAgICAgcGxhY2VkIChi cmFuY2ggaW5zdHJ1Y3Rpb24ncyBkZXN0aW5hdGlvbikgYW55d2hlcmUgaW4g c2VxdWVuY2UuICAqLyAKKyAgaWYgKGxhc3RfYnJlYWtwb2ludAorICAgICAg JiYgKGJyZWFrc1sxXSA9PSBicmVha3NbMF0KKwkgIHx8IChicmVha3NbMV0g Pj0gcGMgJiYgYnJlYWtzWzFdIDw9IGNsb3NpbmdfaW5zbikpKQorICAgIGxh c3RfYnJlYWtwb2ludCA9IDA7CisKKyAgLyogRWZmZWN0aXZlbHkgaW5zZXJ0 cyB0aGUgYnJlYWtwb2ludHMuICAqLworICBmb3IgKGluZGV4ID0gMDsgaW5k ZXggPD0gbGFzdF9icmVha3BvaW50OyBpbmRleCsrKQorICAgIGluc2VydF9z aW5nbGVfc3RlcF9icmVha3BvaW50IChnZGJhcmNoLCBhc3BhY2UsIGJyZWFr c1tpbmRleF0pOworCisgIHJldHVybiAxOworfQorCisMCiAvKiBGaWd1cmUg b3V0IHdoZXJlIHRoZSBsb25nam1wIHdpbGwgbGFuZC4KICAgIFdlIGV4cGVj dCB0aGUgZmlyc3QgYXJnIHRvIGJlIGEgcG9pbnRlciB0byB0aGUgam1wX2J1 ZiBzdHJ1Y3R1cmUgZnJvbQogICAgd2hpY2ggd2UgZXh0cmFjdCB0aGUgUEMg KEpCX1BDKSB0aGF0IHdlIHdpbGwgbGFuZCBhdC4gIFRoZSBQQyBpcyBjb3Bp ZWQKQEAgLTE3NDksNiArMTgzOCw5IEBAIGFscGhhX2dkYmFyY2hfaW5pdCAo c3RydWN0IGdkYmFyY2hfaW5mbwogICBzZXRfZ2RiYXJjaF9kZWNyX3BjX2Fm dGVyX2JyZWFrIChnZGJhcmNoLCBBTFBIQV9JTlNOX1NJWkUpOwogICBzZXRf Z2RiYXJjaF9jYW5ub3Rfc3RlcF9icmVha3BvaW50IChnZGJhcmNoLCAxKTsK IAorICAvKiBIYW5kbGVzIHNpbmdsZSBzdGVwcGluZyBvZiBhdG9taWMgc2Vx dWVuY2VzLiAgKi8KKyAgc2V0X2dkYmFyY2hfc29mdHdhcmVfc2luZ2xlX3N0 ZXAgKGdkYmFyY2gsIGFscGhhX2RlYWxfd2l0aF9hdG9taWNfc2VxdWVuY2Up OworCiAgIC8qIEhvb2sgaW4gQUJJLXNwZWNpZmljIG92ZXJyaWRlcywgaWYg dGhleSBoYXZlIGJlZW4gcmVnaXN0ZXJlZC4gICovCiAgIGdkYmFyY2hfaW5p dF9vc2FiaSAoaW5mbywgZ2RiYXJjaCk7CiAK --20cf300e50bd5cbaad04b27b044b--