From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 97906 invoked by alias); 13 Nov 2017 17:28:16 -0000 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 Received: (qmail 97895 invoked by uid 89); 13 Nov 2017 17:28:15 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=3.1 required=5.0 tests=BAYES_50,FORGED_MUA_MOZILLA,RCVD_IN_DNSWL_NONE,URIBL_RED autolearn=no version=3.3.2 spammy=H*x:1.1.10940, H*UA:1.1.10940, H*x:20100101, H*x:Firefox X-HELO: sonic305-17.consmr.mail.bf2.yahoo.com Received: from sonic305-17.consmr.mail.bf2.yahoo.com (HELO sonic305-17.consmr.mail.bf2.yahoo.com) (74.6.133.56) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 13 Nov 2017 17:28:14 +0000 Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.bf2.yahoo.com with HTTP; Mon, 13 Nov 2017 17:28:12 +0000 Date: Mon, 13 Nov 2017 17:28:00 -0000 From: "pcarroll@codesourcery.com" To: "gdb-patches@sourceware.org" Message-ID: <1816677702.1219332.1510594086497@mail.yahoo.com> Subject: [PATCH] Modify Aarch64 prologue analyzer to accept 128-bit registers MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_1219331_1748975691.1510594086497" References: <1816677702.1219332.1510594086497.ref@mail.yahoo.com> X-SW-Source: 2017-11/txt/msg00234.txt.bz2 ------=_Part_1219331_1748975691.1510594086497 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-length: 1325 GDB has a routine, aarch64_analyze_prologue, that looks through a function'= s prologue, to see how it affects the stack. This was changed for Bugzilla #20682 to add support for recognizing the 'st= p' instruction with floating-point registers. That patch worked when 64-bit floating-point registers are used in a functi= on prologue. However, it is also possible to specify 128-bit floating-point registers wi= th the 'stp' instruction. My patch extends that function so it works for either 64-bit or 128-bit flo= ating-point registers. The patch takes care of tracking the appropriate memory locations that woul= d be affected by the use of either size of register. The assumption is that it is not important to know whether the register bei= ng saved is 64-bits or 128-bits in size, as long as the memory is tracked a= ppropriately. Instead, it is only important to know that a floating-point register (D) wa= s being stored, rather than a normal register (X). That behavior is unchanged. 2017-11-10=C2=A0 Paul Carroll=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * = aarch64-tdep.c (aarch64_analyze_prologue):=C2=A0 Added support for =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 12= 8-bit registers with the 'stp' instruction.= ------=_Part_1219331_1748975691.1510594086497 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="aarch64_stp_patch" Content-ID: Content-length: 3701 ZGlmZiAtcnVwIGEvZ2RiL2FhcmNoNjQtdGRlcC5jIGIvZ2RiL2FhcmNoNjQt dGRlcC5jCi0tLSBhL2dkYi9hYXJjaDY0LXRkZXAuYwkyMDE3LTExLTEwIDEy OjE1OjQzLjEyOTM4NjA3MyAtMDgwMAorKysgYi9nZGIvYWFyY2g2NC10ZGVw LmMJMjAxNy0xMS0xMCAxMjo0MTo1MS4yNzU2NjEzNDQgLTA4MDAKQEAgLTM1 Niw2ICszNTYsNyBAQCBhYXJjaDY0X2FuYWx5emVfcHJvbG9ndWUgKHN0cnVj dCBnZGJhcmNoCiAJICB1bnNpZ25lZCBydDI7CiAJICB1bnNpZ25lZCBybiA9 IGluc3Qub3BlcmFuZHNbMl0uYWRkci5iYXNlX3JlZ25vOwogCSAgaW50MzJf dCBpbW0gPSBpbnN0Lm9wZXJhbmRzWzJdLmFkZHIub2Zmc2V0LmltbTsKKwkg IENPUkVfQUREUiByZWdfc2l6ZSA9IDg7CiAKIAkgIGdkYl9hc3NlcnQgKGlu c3Qub3BlcmFuZHNbMF0udHlwZSA9PSBBQVJDSDY0X09QTkRfUnQKIAkJICAg ICAgfHwgaW5zdC5vcGVyYW5kc1swXS50eXBlID09IEFBUkNINjRfT1BORF9G dCk7CkBAIC0zNjQsMjkgKzM2NSwzNiBAQCBhYXJjaDY0X2FuYWx5emVfcHJv bG9ndWUgKHN0cnVjdCBnZGJhcmNoCiAJICBnZGJfYXNzZXJ0IChpbnN0Lm9w ZXJhbmRzWzJdLnR5cGUgPT0gQUFSQ0g2NF9PUE5EX0FERFJfU0lNTTcpOwog CSAgZ2RiX2Fzc2VydCAoIWluc3Qub3BlcmFuZHNbMl0uYWRkci5vZmZzZXQu aXNfcmVnKTsKIAorCSAgLyogVGFrZSBjYXJlIG9mIHRoZSBjYXNlIHdoZXJl IDEyOC1iaXQgcmVnaXN0ZXJzIG5lZWQgdG8gYmUgc3RvcmVkICovCisJICBp ZiAoaW5zdC5vcGVyYW5kc1swXS50eXBlID09IEFBUkNINjRfT1BORF9GdCAm JgorCSAgICAgIGluc3Qub3BlcmFuZHNbMF0ucXVhbGlmaWVyID09IEFBUkNI NjRfT1BORF9RTEZfU19RKQorCSAgICByZWdfc2l6ZSA9IDE2OworCiAJICAv KiBJZiByZWNvcmRpbmcgdGhpcyBzdG9yZSB3b3VsZCBpbnZhbGlkYXRlIHRo ZSBzdG9yZSBhcmVhCiAJICAgICAocGVyaGFwcyBiZWNhdXNlIHJuIGlzIG5v dCBrbm93bikgdGhlbiB3ZSBzaG91bGQgYWJhbmRvbgogCSAgICAgZnVydGhl ciBwcm9sb2d1ZSBhbmFseXNpcy4gICovCiAJICBpZiAoc3RhY2suc3RvcmVf d291bGRfdHJhc2ggKHB2X2FkZF9jb25zdGFudCAocmVnc1tybl0sIGltbSkp KQogCSAgICBicmVhazsKIAotCSAgaWYgKHN0YWNrLnN0b3JlX3dvdWxkX3Ry YXNoIChwdl9hZGRfY29uc3RhbnQgKHJlZ3Nbcm5dLCBpbW0gKyA4KSkpCisJ ICBpZiAoc3RhY2suc3RvcmVfd291bGRfdHJhc2ggKHB2X2FkZF9jb25zdGFu dCAocmVnc1tybl0sIAorCSAgCQkJCQkJaW1tICsgcmVnX3NpemUpKSkKIAkg ICAgYnJlYWs7CiAKIAkgIHJ0MSA9IGluc3Qub3BlcmFuZHNbMF0ucmVnLnJl Z25vOwogCSAgcnQyID0gaW5zdC5vcGVyYW5kc1sxXS5yZWcucmVnbm87CiAJ ICBpZiAoaW5zdC5vcGVyYW5kc1swXS50eXBlID09IEFBUkNINjRfT1BORF9G dCkKIAkgICAgewotCSAgICAgIC8qIE9ubHkgYm90dG9tIDY0LWJpdCBvZiBl YWNoIFYgcmVnaXN0ZXIgKEQgcmVnaXN0ZXIpIG5lZWQKLQkJIHRvIGJlIHBy ZXNlcnZlZC4gICovCi0JICAgICAgZ2RiX2Fzc2VydCAoaW5zdC5vcGVyYW5k c1swXS5xdWFsaWZpZXIgPT0gQUFSQ0g2NF9PUE5EX1FMRl9TX0QpOworCSAg ICAgIC8qIE9ubHkgYm90dG9tIDY0LWJpdCBvZiBlYWNoIFYgcmVnaXN0ZXIg KEQgcmVnaXN0ZXIpIG5lZWRzCisJCSB0byBiZSB0cmFja2VkLiAgKi8KKwkg ICAgICBnZGJfYXNzZXJ0IChpbnN0Lm9wZXJhbmRzWzBdLnF1YWxpZmllciA9 PSBBQVJDSDY0X09QTkRfUUxGX1NfRCB8fAorCSAgICAgIAkJICBpbnN0Lm9w ZXJhbmRzWzBdLnF1YWxpZmllciA9PSBBQVJDSDY0X09QTkRfUUxGX1NfUSk7 CiAJICAgICAgcnQxICs9IEFBUkNINjRfWF9SRUdJU1RFUl9DT1VOVDsKIAkg ICAgICBydDIgKz0gQUFSQ0g2NF9YX1JFR0lTVEVSX0NPVU5UOwogCSAgICB9 CiAKLQkgIHN0YWNrLnN0b3JlIChwdl9hZGRfY29uc3RhbnQgKHJlZ3Nbcm5d LCBpbW0pLCA4LAorCSAgc3RhY2suc3RvcmUgKHB2X2FkZF9jb25zdGFudCAo cmVnc1tybl0sIGltbSksIHJlZ19zaXplLAogCQkgICAgICAgcmVnc1tydDFd KTsKLQkgIHN0YWNrLnN0b3JlIChwdl9hZGRfY29uc3RhbnQgKHJlZ3Nbcm5d LCBpbW0gKyA4KSwgOCwKKwkgIHN0YWNrLnN0b3JlIChwdl9hZGRfY29uc3Rh bnQgKHJlZ3Nbcm5dLCBpbW0gKyByZWdfc2l6ZSksIHJlZ19zaXplLAogCQkg ICAgICAgcmVnc1tydDJdKTsKIAogCSAgaWYgKGluc3Qub3BlcmFuZHNbMl0u YWRkci53cml0ZWJhY2spCmRpZmYgLXJ1cCBhL2dkYi9DaGFuZ2VMb2cgYi9n ZGIvQ2hhbmdlTG9nCi0tLSBhL2dkYi9DaGFuZ2VMb2cJMjAxNy0xMS0xMCAx MjoxNTo0My4wODEzODYxMjYgLTA4MDAKKysrIGIvZ2RiL0NoYW5nZUxvZwky MDE3LTExLTEwIDEyOjM2OjMxLjA1MjAzNzk1MSAtMDgwMApAQCAtMSwzICsx LDggQEAKKzIwMTctMTEtMTAgIFBhdWwgQ2Fycm9sbCAgPHBjYXJyb2xsQGNv ZGVzb3VyY2VyeS5jb20+CisKKwkqIGFhcmNoNjQtdGRlcC5jIChhYXJjaDY0 X2FuYWx5emVfcHJvbG9ndWUpOiBBZGRlZCBzdXBwb3J0IGZvcgorCTEyOC1i aXQgcmVnaXN0ZXJzIHdpdGggdGhlICdzdHAnIGluc3RydWN0aW9uLgorCiAy MDE3LTExLTA5ICBKb2VsIEJyb2JlY2tlciAgPGJyb2JlY2tlckBhZGFjb3Jl LmNvbT4KIAogCSogYWRhLWxhbmcuYzogRml4IHNvbWUgdHlwb3MgaW4gdGhl IGdlbmVyYWwgY29tbWFuZCBkb2N1bWVudGluZwo= ------=_Part_1219331_1748975691.1510594086497--