From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1123 invoked by alias); 18 Nov 2011 12:19:20 -0000 Received: (qmail 1089 invoked by uid 22791); 18 Nov 2011 12:19:11 -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; Fri, 18 Nov 2011 12:18:57 +0000 Received: by ghrr17 with SMTP id r17so593317ghr.0 for ; Fri, 18 Nov 2011 04:18:57 -0800 (PST) MIME-Version: 1.0 Received: by 10.146.219.32 with SMTP id r32mr570478yag.25.1321618737086; Fri, 18 Nov 2011 04:18:57 -0800 (PST) Received: by 10.146.137.4 with HTTP; Fri, 18 Nov 2011 04:18:57 -0800 (PST) In-Reply-To: References: Date: Fri, 18 Nov 2011 12:19:00 -0000 Message-ID: Subject: [PATCH v2, alpha]: Handle single-stepping of atomic sequences From: Uros Bizjak To: gdb-patches@sourceware.org Cc: Alan Modra , Richard Henderson Content-Type: multipart/mixed; boundary=000e0cd372565a42eb04b20157f4 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/msg00495.txt.bz2 --000e0cd372565a42eb04b20157f4 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1163 On Wed, Nov 16, 2011 at 11:47 PM, Uros Bizjak wrote: > The gcc simulate-thread.exp testsuite exposed the problem in handling > of alpha atomic sequences. Single-stepping broke link in alpha's LL/SC > atomic sequences. > > Attached patch copies handling of atomic sequences from rs6000-tdep.c > and adapts the functionality for alpha. > > 2011-11-16 =A0Uros Bizjak =A0 > > =A0 =A0 =A0 =A0* alpha-tdep.c (beq_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 seq= uences > =A0 =A0 =A0 =A0with alpha_deal_with_atomic_sequence. > > Patched gdb survives simulate-thread.exp testsuite on native > alphaev68-pc-linux-gnu. > > I don't have write access, so If OK, please someone commit this patch > to gdb CVS. [v2]: Since this patch is almost a copy of rs6000-tdep.c atomic sequence handling, also take into account proposed changes [1] to original rs6000 implementation. [1] http://sourceware.org/ml/gdb-patches/2011-11/msg00468.html Uros, --000e0cd372565a42eb04b20157f4 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_gv55nkyi1 Content-length: 5617 LS0tIGFscGhhLXRkZXAuYwkyMDExLTExLTE4IDEyOjIwOjA4LjAwMDAwMDAw MCArMDEwMAorKysgYWxwaGEtdGRlcC5jLnViCTIwMTEtMTEtMTggMTI6MTg6 MzcuMDAwMDAwMDAwICswMTAwCkBAIC02NSw2ICs2NSw3IEBAIHN0YXRpYyBj b25zdCBpbnQgc3RxX29wY29kZSA9IDB4MmQ7CiAvKiBCcmFuY2ggaW5zdHJ1 Y3Rpb24gZm9ybWF0ICovCiAjZGVmaW5lIEJSX1JBKGluc24pIE1FTV9SQShp bnNuKQogCitzdGF0aWMgY29uc3QgaW50IGJlcV9vcGNvZGUgPSAweDM5Owog c3RhdGljIGNvbnN0IGludCBibmVfb3Bjb2RlID0gMHgzZDsKIAogLyogT3Bl cmF0ZSBpbnN0cnVjdGlvbiBmb3JtYXQgKi8KQEAgLTc2Miw2ICs3NjMsOTQg QEAgYWxwaGFfc2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYgog fQogCiAMCitzdGF0aWMgY29uc3QgaW50IGxkbF9sX29wY29kZSA9IDB4MmE7 CitzdGF0aWMgY29uc3QgaW50IGxkcV9sX29wY29kZSA9IDB4MmI7CitzdGF0 aWMgY29uc3QgaW50IHN0bF9jX29wY29kZSA9IDB4MmU7CitzdGF0aWMgY29u c3QgaW50IHN0cV9jX29wY29kZSA9IDB4MmY7CisKKy8qIENoZWNrcyBmb3Ig YW4gYXRvbWljIHNlcXVlbmNlIG9mIGluc3RydWN0aW9ucyBiZWdpbm5pbmcg d2l0aCBhIExETF9ML0xEUV9MCisgICBpbnN0cnVjdGlvbiBhbmQgZW5kaW5n IHdpdGggYSBTVExfQy9TVFFfQyBpbnN0cnVjdGlvbi4gIElmIHN1Y2ggYSBz ZXF1ZW5jZQorICAgaXMgZm91bmQsIGF0dGVtcHQgdG8gc3RlcCB0aHJvdWdo IGl0LiAgQSBicmVha3BvaW50IGlzIHBsYWNlZCBhdCB0aGUgZW5kIG9mIAor ICAgdGhlIHNlcXVlbmNlLiAgKi8KKworaW50IAorYWxwaGFfZGVhbF93aXRo X2F0b21pY19zZXF1ZW5jZSAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lKQor eworICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9mcmFtZV9hcmNo IChmcmFtZSk7CisgIHN0cnVjdCBhZGRyZXNzX3NwYWNlICphc3BhY2UgPSBn ZXRfZnJhbWVfYWRkcmVzc19zcGFjZSAoZnJhbWUpOworICBDT1JFX0FERFIg cGMgPSBnZXRfZnJhbWVfcGMgKGZyYW1lKTsKKyAgQ09SRV9BRERSIGJyZWFr c1syXSA9IHstMSwgLTF9OworICBDT1JFX0FERFIgbG9jID0gcGM7CisgIENP UkVfQUREUiBjbG9zaW5nX2luc247IC8qIEluc3RydWN0aW9uIHRoYXQgY2xv c2VzIHRoZSBhdG9taWMgc2VxdWVuY2UuICAqLworICB1bnNpZ25lZCBpbnQg aW5zbiA9IGFscGhhX3JlYWRfaW5zbiAoZ2RiYXJjaCwgbG9jKTsKKyAgaW50 IGluc25fY291bnQ7CisgIGludCBpbmRleDsKKyAgaW50IGxhc3RfYnJlYWtw b2ludCA9IDA7IC8qIERlZmF1bHRzIHRvIDAgKG5vIGJyZWFrcG9pbnRzIHBs YWNlZCkuICAqLyAgCisgIGNvbnN0IGludCBhdG9taWNfc2VxdWVuY2VfbGVu Z3RoID0gMTY7IC8qIEluc3RydWN0aW9uIHNlcXVlbmNlIGxlbmd0aC4gICov CisgIGludCBiY19pbnNuX2NvdW50ID0gMDsgLyogQ29uZGl0aW9uYWwgYnJh bmNoIGluc3RydWN0aW9uIGNvdW50LiAgKi8KKworICAvKiBBc3N1bWUgYWxs IGF0b21pYyBzZXF1ZW5jZXMgc3RhcnQgd2l0aCBhIExETF9ML0xEUV9MIGlu c3RydWN0aW9uLiAgKi8KKyAgaWYgKElOU05fT1BDT0RFIChpbnNuKSAhPSBs ZGxfbF9vcGNvZGUKKyAgICAgICYmIElOU05fT1BDT0RFIChpbnNuKSAhPSBs ZHFfbF9vcGNvZGUpCisgICAgcmV0dXJuIDA7CisKKyAgLyogQXNzdW1lIHRo YXQgbm8gYXRvbWljIHNlcXVlbmNlIGlzIGxvbmdlciB0aGFuICJhdG9taWNf c2VxdWVuY2VfbGVuZ3RoIiAKKyAgICAgaW5zdHJ1Y3Rpb25zLiAgKi8KKyAg Zm9yIChpbnNuX2NvdW50ID0gMDsgaW5zbl9jb3VudCA8IGF0b21pY19zZXF1 ZW5jZV9sZW5ndGg7ICsraW5zbl9jb3VudCkKKyAgICB7CisgICAgICBsb2Mg Kz0gQUxQSEFfSU5TTl9TSVpFOworICAgICAgaW5zbiA9IGFscGhhX3JlYWRf aW5zbiAoZ2RiYXJjaCwgbG9jKTsKKworICAgICAgLyogQXNzdW1lIHRoYXQg dGhlcmUgaXMgYXQgbW9zdCBvbmUgY29uZGl0aW9uYWwgYnJhbmNoIGluIHRo ZSBhdG9taWMKKyAgICAgICAgIHNlcXVlbmNlLiAgSWYgYSBjb25kaXRpb25h bCBicmFuY2ggaXMgZm91bmQsIHB1dCBhIGJyZWFrcG9pbnQgaW4gCisgICAg ICAgICBpdHMgZGVzdGluYXRpb24gYWRkcmVzcy4gICovCisgICAgICBpZiAo SU5TTl9PUENPREUgKGluc24pID49IGJlcV9vcGNvZGUpCisgICAgICAgIHsK KyAgICAgICAgICBpbnQgaW1tZWRpYXRlID0gKGluc24gJiAweDAwMWZmZmZm KSA8PCAyOworCisJICBpbW1lZGlhdGUgPSAoaW1tZWRpYXRlIF4gMHg0MDAw MDApIC0gMHg0MDAwMDA7CisKKyAgICAgICAgICBpZiAoYmNfaW5zbl9jb3Vu dCA+PSAxKQorICAgICAgICAgICAgcmV0dXJuIDA7IC8qIE1vcmUgdGhhbiBv bmUgY29uZGl0aW9uYWwgYnJhbmNoIGZvdW5kLCBmYWxsYmFjayAKKyAgICAg ICAgICAgICAgICAgICAgICAgICB0byB0aGUgc3RhbmRhcmQgc2luZ2xlLXN0 ZXAgY29kZS4gICovCisgCisJICBicmVha3NbMV0gPSBsb2MgKyBBTFBIQV9J TlNOX1NJWkUgKyBpbW1lZGlhdGU7CisKKwkgIGJjX2luc25fY291bnQrKzsK KwkgIGxhc3RfYnJlYWtwb2ludCsrOworICAgICAgICB9CisKKyAgICAgIGlm IChJTlNOX09QQ09ERSAoaW5zbikgPT0gc3RsX2Nfb3Bjb2RlCisJICB8fCBJ TlNOX09QQ09ERSAoaW5zbikgPT0gc3RxX2Nfb3Bjb2RlKQorCWJyZWFrOwor ICAgIH0KKworICAvKiBBc3N1bWUgdGhhdCB0aGUgYXRvbWljIHNlcXVlbmNl IGVuZHMgd2l0aCBhIFNUTF9DL1NUUV9DIGluc3RydWN0aW9uLiAgKi8KKyAg aWYgKElOU05fT1BDT0RFIChpbnNuKSAhPSBzdGxfY19vcGNvZGUKKyAgICAg ICYmIElOU05fT1BDT0RFIChpbnNuKSAhPSBzdHFfY19vcGNvZGUpCisgICAg cmV0dXJuIDA7CisKKyAgY2xvc2luZ19pbnNuID0gbG9jOworICBsb2MgKz0g QUxQSEFfSU5TTl9TSVpFOworCisgIC8qIEluc2VydCBhIGJyZWFrcG9pbnQg cmlnaHQgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgYXRvbWljIHNlcXVlbmNlLiAg Ki8KKyAgYnJlYWtzWzBdID0gbG9jOworCisgIC8qIENoZWNrIGZvciBkdXBs aWNhdGVkIGJyZWFrcG9pbnRzLiAgQ2hlY2sgYWxzbyBmb3IgYSBicmVha3Bv aW50CisgICAgIHBsYWNlZCAoYnJhbmNoIGluc3RydWN0aW9uJ3MgZGVzdGlu YXRpb24pIGFueXdoZXJlIGluIHNlcXVlbmNlLiAgKi8gCisgIGlmIChsYXN0 X2JyZWFrcG9pbnQKKyAgICAgICYmIChicmVha3NbMV0gPT0gYnJlYWtzWzBd CisJICB8fCAoYnJlYWtzWzFdID49IHBjICYmIGJyZWFrc1sxXSA8PSBjbG9z aW5nX2luc24pKSkKKyAgICBsYXN0X2JyZWFrcG9pbnQgPSAwOworCisgIC8q IEVmZmVjdGl2ZWx5IGluc2VydHMgdGhlIGJyZWFrcG9pbnRzLiAgKi8KKyAg Zm9yIChpbmRleCA9IDA7IGluZGV4IDw9IGxhc3RfYnJlYWtwb2ludDsgaW5k ZXgrKykKKyAgICBpbnNlcnRfc2luZ2xlX3N0ZXBfYnJlYWtwb2ludCAoZ2Ri YXJjaCwgYXNwYWNlLCBicmVha3NbaW5kZXhdKTsKKworICByZXR1cm4gMTsK K30KKworDAogLyogRmlndXJlIG91dCB3aGVyZSB0aGUgbG9uZ2ptcCB3aWxs IGxhbmQuCiAgICBXZSBleHBlY3QgdGhlIGZpcnN0IGFyZyB0byBiZSBhIHBv aW50ZXIgdG8gdGhlIGptcF9idWYgc3RydWN0dXJlIGZyb20KICAgIHdoaWNo IHdlIGV4dHJhY3QgdGhlIFBDIChKQl9QQykgdGhhdCB3ZSB3aWxsIGxhbmQg YXQuICBUaGUgUEMgaXMgY29waWVkCkBAIC0xNzQ5LDYgKzE4MzgsOSBAQCBh bHBoYV9nZGJhcmNoX2luaXQgKHN0cnVjdCBnZGJhcmNoX2luZm8KICAgc2V0 X2dkYmFyY2hfZGVjcl9wY19hZnRlcl9icmVhayAoZ2RiYXJjaCwgQUxQSEFf SU5TTl9TSVpFKTsKICAgc2V0X2dkYmFyY2hfY2Fubm90X3N0ZXBfYnJlYWtw b2ludCAoZ2RiYXJjaCwgMSk7CiAKKyAgLyogSGFuZGxlcyBzaW5nbGUgc3Rl cHBpbmcgb2YgYXRvbWljIHNlcXVlbmNlcy4gICovCisgIHNldF9nZGJhcmNo X3NvZnR3YXJlX3NpbmdsZV9zdGVwIChnZGJhcmNoLCBhbHBoYV9kZWFsX3dp dGhfYXRvbWljX3NlcXVlbmNlKTsKKwogICAvKiBIb29rIGluIEFCSS1zcGVj aWZpYyBvdmVycmlkZXMsIGlmIHRoZXkgaGF2ZSBiZWVuIHJlZ2lzdGVyZWQu ICAqLwogICBnZGJhcmNoX2luaXRfb3NhYmkgKGluZm8sIGdkYmFyY2gpOwog Cg== --000e0cd372565a42eb04b20157f4--