From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21807 invoked by alias); 16 Feb 2011 17:59:13 -0000 Received: (qmail 21790 invoked by uid 22791); 16 Feb 2011 17:59:11 -0000 X-SWARE-Spam-Status: No, hits=-6.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 16 Feb 2011 17:59:08 +0000 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p1GHwdrB011419 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 16 Feb 2011 12:58:39 -0500 Received: from anchor.twiddle.home (ovpn-113-82.phx2.redhat.com [10.3.113.82]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p1GHwcgC031794; Wed, 16 Feb 2011 12:58:38 -0500 Message-ID: <4D5C104D.7050707@redhat.com> Date: Wed, 16 Feb 2011 17:59:00 -0000 From: Richard Henderson User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Fedora/3.1.7-0.35.b3pre.fc14 Thunderbird/3.1.7 MIME-Version: 1.0 To: =?UTF-8?B?UGV0ciBIbHV6w61u?= CC: Anitha Boyapati , binutils@sourceware.org, gdb@sourceware.org, GCC Patches , chertykov@gmail.com, aesok@post.ru, eric.weddington@atmel.com Subject: Re: [avr] gas support for cfi info References: <4D5ABAB2.2000405@redhat.com> <4D5ACDF2.20904@redhat.com> In-Reply-To: Content-Type: multipart/mixed; boundary="------------070809070306080505090500" X-IsSubscribed: yes Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2011-02/txt/msg00190.txt.bz2 This is a multi-part message in MIME format. --------------070809070306080505090500 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-length: 1526 On 02/15/2011 02:44 PM, Petr Hluzín wrote: > In avr-tdep.c [1] near avr_dwarf_reg_to_regnum(): > /* Unfortunately dwarf2 register for SP is 32. */ Excellent. We're all on the same page for this. > (I can't help you with the value for #define DWARF2_DEFAULT_RETURN_COLUMN 36) > AFAIK there is no written ABI. Only the calling convention is > documented (and only the easy cases), the rest is in gdb/gcc/binutils > sources and people's heads. As I recall, GCC defaults to using FIRST_PSEUDO_REGISTER for this, so as to not overlap any hard registers. I'll continue to so the same. > /* Avr-6 call instructions save 3 bytes. */ > switch (info.bfd_arch_info->mach) Thanks. That value is readily available in the assembler as well. Anitha pointed out to me via gcc pr17994 that AVR uses post-decrement for its pushes. I had a brief read over the AVR insn manual, and it's not crystal clear how multi-byte post-decrement pushes operate. I've made an assumption that it happens as-if each byte is pushed separately. I.e. caller: callee: save rN save rM trash <- SP hi(ret) <- CFA lo(ret) trash <- SP This is the only way I can imagine that call insns interoperate with byte push/pop insns. All of which means that the return address is at a different offset from the CFA than I originally thought. This ought to be fixed in the following. Can someone please test these two patches and see if they actually agree with the hardware? r~ --------------070809070306080505090500 Content-Type: text/plain; name="z-gas" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="z-gas" Content-length: 2640 SW5kZXg6IGNvbmZpZy90Yy1hdnIuYwo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2FzL2NvbmZpZy90Yy1hdnIuYyx2 CnJldHJpZXZpbmcgcmV2aXNpb24gMS43NApkaWZmIC11IC1wIC1yMS43NCB0 Yy1hdnIuYwotLS0gY29uZmlnL3RjLWF2ci5jCTI4IEp1biAyMDEwIDE0OjA2 OjU3IC0wMDAwCTEuNzQKKysrIGNvbmZpZy90Yy1hdnIuYwkxNiBGZWIgMjAx MSAxNzozOTo1NSAtMDAwMApAQCAtMjQsNiArMjQsOCBAQAogI2luY2x1ZGUg ImFzLmgiCiAjaW5jbHVkZSAic2FmZS1jdHlwZS5oIgogI2luY2x1ZGUgInN1 YnNlZ3MuaCIKKyNpbmNsdWRlICJkdzJnZW5jZmkuaCIKKwogCiBzdHJ1Y3Qg YXZyX29wY29kZXNfcwogewpAQCAtMTQ4OCwzICsxNDkwLDE4IEBAIGF2cl9j b25zX2ZpeF9uZXcgKGZyYWdTICpmcmFnLAogICAgICAgZXhwX21vZF9wbSA9 IDA7CiAgICAgfQogfQorCit2b2lkCit0Y19jZmlfZnJhbWVfaW5pdGlhbF9p bnN0cnVjdGlvbnMgKHZvaWQpCit7CisgIC8qIEFWUjYgcHVzaGVzIDMgYnl0 ZXMgZm9yIGNhbGxzLiAgKi8KKyAgaW50IHJldHVybl9zaXplID0gKGF2cl9t Y3UtPm1hY2ggPT0gYmZkX21hY2hfYXZyNiA/IDMgOiAyKTsKKworICAvKiBU aGUgQ0ZBIGlzIHRoZSBjYWxsZXIncyBzdGFjayBsb2NhdGlvbiBiZWZvcmUg dGhlIGNhbGwgaW5zbi4gICovCisgIC8qIE5vdGUgdGhhdCB0aGUgc3RhY2sg cG9pbnRlciBpcyBkd2FyZiByZWdpc3RlciBudW1iZXIgMzIuICAqLworICBj ZmlfYWRkX0NGQV9kZWZfY2ZhICgzMiwgcmV0dXJuX3NpemUpOworCisgIC8q IE5vdGUgdGhhdCBBVlIgY29uc2lzdGVudGx5IHVzZXMgcG9zdC1kZWNyZW1l bnQsIHdoaWNoIG1lYW5zIHRoYXQgdGhpbmdzCisgICAgIGRvIG5vdCBsaW5l IHVwIHRoZSBzYW1lIHdheSBhcyBmb3IgdGFyZ2VycyB0aGF0IHVzZSBwcmUt ZGVjcmVtZW50LiAgKi8KKyAgY2ZpX2FkZF9DRkFfb2Zmc2V0IChEV0FSRjJf REVGQVVMVF9SRVRVUk5fQ09MVU1OLCAxLXJldHVybl9zaXplKTsKK30KSW5k ZXg6IGNvbmZpZy90Yy1hdnIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2FzL2NvbmZpZy90Yy1hdnIuaCx2CnJl dHJpZXZpbmcgcmV2aXNpb24gMS4xNwpkaWZmIC11IC1wIC1yMS4xNyB0Yy1h dnIuaAotLS0gY29uZmlnL3RjLWF2ci5oCTI3IE9jdCAyMDA5IDE1OjM5OjI3 IC0wMDAwCTEuMTcKKysrIGNvbmZpZy90Yy1hdnIuaAkxNiBGZWIgMjAxMSAx NzozOTo1NSAtMDAwMApAQCAtMTUzLDMgKzE1MywxNiBAQCBleHRlcm4gbG9u ZyBtZF9wY3JlbF9mcm9tX3NlY3Rpb24gKHN0cnVjCiAKIC8qIDMyIGJpdHMg cHNldWRvLWFkZHJlc3NlcyBhcmUgdXNlZCBvbiBBVlIuICAqLwogI2RlZmlu ZSBEV0FSRjJfQUREUl9TSVpFKGJmZCkgNAorCisvKiBFbmFibGUgY2ZpIGRp cmVjdGl2ZXMuICAqLworI2RlZmluZSBUQVJHRVRfVVNFX0NGSVBPUCAxCisK Ky8qIFRoZSBzdGFjayBncm93cyBkb3duLCBhbmQgaXMgb25seSBieXRlIGFs aWduZWQuICAqLworI2RlZmluZSBEV0FSRjJfQ0lFX0RBVEFfQUxJR05NRU5U IC0xCisKKy8qIERlZmluZSB0aGUgY29sdW1uIHRoYXQgcmVwcmVzZW50cyB0 aGUgUEMuICAqLworI2RlZmluZSBEV0FSRjJfREVGQVVMVF9SRVRVUk5fQ09M VU1OICAzNgorCisvKiBEZWZpbmUgYSBob29rIHRvIHNldHVwIGluaXRpYWwg Q0ZJIHN0YXRlLiAgKi8KK2V4dGVybiB2b2lkIHRjX2NmaV9mcmFtZV9pbml0 aWFsX2luc3RydWN0aW9ucyAodm9pZCk7CisjZGVmaW5lIHRjX2NmaV9mcmFt ZV9pbml0aWFsX2luc3RydWN0aW9ucyB0Y19jZmlfZnJhbWVfaW5pdGlhbF9p bnN0cnVjdGlvbnMK --------------070809070306080505090500 Content-Type: text/plain; name="z-gcc" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="z-gcc" Content-length: 4083 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXZyL2F2ci1wcm90b3MuaCBiL2dj Yy9jb25maWcvYXZyL2F2ci1wcm90b3MuaAppbmRleCA0NTY5MzU5Li4wNmM5 MjU0IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2F2ci9hdnItcHJvdG9zLmgK KysrIGIvZ2NjL2NvbmZpZy9hdnIvYXZyLXByb3Rvcy5oCkBAIC0xMDksNiAr MTA5LDcgQEAgZXh0ZXJuIFJUWF9DT0RFIGF2cl9ub3JtYWxpemVfY29uZGl0 aW9uIChSVFhfQ09ERSBjb25kaXRpb24pOwogZXh0ZXJuIGludCBjb21wYXJl X2VxX3AgKHJ0eCBpbnNuKTsKIGV4dGVybiB2b2lkIG91dF9zaGlmdF93aXRo X2NudCAoY29uc3QgY2hhciAqdGVtcGwsIHJ0eCBpbnNuLAogCQkJCXJ0eCBv cGVyYW5kc1tdLCBpbnQgKmxlbiwgaW50IHRfbGVuKTsKK2V4dGVybiBydHgg YXZyX2luY29taW5nX3JldHVybl9hZGRyX3J0eCAodm9pZCk7CiAjZW5kaWYg LyogUlRYX0NPREUgKi8KIAogI2lmZGVmIEhBVkVfTUFDSElORV9NT0RFUwpk aWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hdnIvYXZyLmMgYi9nY2MvY29uZmln L2F2ci9hdnIuYwppbmRleCAzMGU0NjI2Li43NjFlZWEzIDEwMDY0NAotLS0g YS9nY2MvY29uZmlnL2F2ci9hdnIuYworKysgYi9nY2MvY29uZmlnL2F2ci9h dnIuYwpAQCAtNTM0LDYgKzUzNCwxNiBAQCBnZXRfc2VxdWVuY2VfbGVuZ3Ro IChydHggaW5zbnMpCiAgIHJldHVybiBsZW5ndGg7CiB9CiAKKy8qICBJbXBs ZW1lbnQgSU5DT01JTkdfUkVUVVJOX0FERFJfUlRYLiAgKi8KKworcnR4Cith dnJfaW5jb21pbmdfcmV0dXJuX2FkZHJfcnR4ICh2b2lkKQoreworICAvKiBU aGUgcmV0dXJuIGFkZHJlc3MgaXMgYXQgdGhlIHRvcCBvZiB0aGUgc3RhY2su ICBOb3RlIHRoYXQgdGhlIHB1c2gKKyAgICAgd2FzIHZpYSBwb3N0LWRlY3Jl bWVudCwgd2hpY2ggbWVhbnMgdGhlIGFjdHVhbCBhZGRyZXNzIGlzIG9mZiBi eSBvbmUuICAqLworICByZXR1cm4gZ2VuX2ZyYW1lX21lbSAoSEltb2RlLCBw bHVzX2NvbnN0YW50IChzdGFja19wb2ludGVyX3J0eCwgMSkpOworfQorCiAv KiAgT3V0cHV0IGZ1bmN0aW9uIHByb2xvZ3VlLiAgKi8KIAogdm9pZApkaWZm IC0tZ2l0IGEvZ2NjL2NvbmZpZy9hdnIvYXZyLmggYi9nY2MvY29uZmlnL2F2 ci9hdnIuaAppbmRleCA5YTcxMDc4Li4zODViNGU2IDEwMDY0NAotLS0gYS9n Y2MvY29uZmlnL2F2ci9hdnIuaAorKysgYi9nY2MvY29uZmlnL2F2ci9hdnIu aApAQCAtODA5LDYgKzgwOSw5IEBAIG1tY3U9KjotbW1jdT0lKn0iCiAKICNk ZWZpbmUgT0JKRUNUX0ZPUk1BVF9FTEYKIAorI2RlZmluZSBJTkNPTUlOR19S RVRVUk5fQUREUl9SVFggICBhdnJfaW5jb21pbmdfcmV0dXJuX2FkZHJfcnR4 ICgpCisjZGVmaW5lIElOQ09NSU5HX0ZSQU1FX1NQX09GRlNFVCAgIChBVlJf M19CWVRFX1BDID8gMyA6IDIpCisKICNkZWZpbmUgSEFSRF9SRUdOT19SRU5B TUVfT0soT0xEX1JFRywgTkVXX1JFRykgXAogICBhdnJfaGFyZF9yZWdub19y ZW5hbWVfb2sgKE9MRF9SRUcsIE5FV19SRUcpCiAKZGlmZiAtLWdpdCBhL2dj Yy9kd2FyZjJvdXQuYyBiL2djYy9kd2FyZjJvdXQuYwppbmRleCBmZWE4MjA5 Li5iNWU2NjBjIDEwMDY0NAotLS0gYS9nY2MvZHdhcmYyb3V0LmMKKysrIGIv Z2NjL2R3YXJmMm91dC5jCkBAIC0yMjQwLDcgKzIyNDAsNyBAQCBkd2FyZjJv dXRfZnJhbWVfZGVidWdfY2ZhX3Jlc3RvcmUgKHJ0eCByZWcsIGNvbnN0IGNo YXIgKmxhYmVsKQogCSAgIGNmYS5iYXNlX29mZnNldCA9IC1jZmFfc3RvcmUu b2Zmc2V0CiAKICAgUnVsZSAxMToKLSAgKHNldCAobWVtICh7cHJlX2luYyxw cmVfZGVjfSBzcDpjZmFfc3RvcmUucmVnKSkgPHJlZz4pCisgIChzZXQgKG1l bSAoe3ByZV9pbmMscHJlX2RlYyxwb3N0X2RlY30gc3A6Y2ZhX3N0b3JlLnJl ZykpIDxyZWc+KQogICBlZmZlY3RzOiBjZmFfc3RvcmUub2Zmc2V0ICs9IC0v KyBtb2RlX3NpemUobWVtKQogCSAgIGNmYS5vZmZzZXQgPSBjZmFfc3RvcmUu b2Zmc2V0IGlmIGNmYS5yZWcgPT0gc3AKIAkgICBjZmEucmVnID0gc3AKQEAg LTIyNTksNyArMjI1OSw3IEBAIGR3YXJmMm91dF9mcmFtZV9kZWJ1Z19jZmFf cmVzdG9yZSAocnR4IHJlZywgY29uc3QgY2hhciAqbGFiZWwpCiAJICAgY2Zh LmJhc2Vfb2Zmc2V0ID0gLXtjZmFfc3RvcmUsY2ZhX3RlbXB9Lm9mZnNldAog CiAgIFJ1bGUgMTQ6Ci0gIChzZXQgKG1lbSAocG9zdGluYyA8cmVnMT46Y2Zh X3RlbXAgPGNvbnN0X2ludD4pKSA8cmVnMj4pCisgIChzZXQgKG1lbSAocG9z dF9pbmMgPHJlZzE+OmNmYV90ZW1wIDxjb25zdF9pbnQ+KSkgPHJlZzI+KQog ICBlZmZlY3RzOiBjZmEucmVnID0gPHJlZzE+CiAJICAgY2ZhLmJhc2Vfb2Zm c2V0ID0gLWNmYV90ZW1wLm9mZnNldAogCSAgIGNmYV90ZW1wLm9mZnNldCAt PSBtb2RlX3NpemUobWVtKQpAQCAtMjU5Miw2ICsyNTkyLDcgQEAgZHdhcmYy b3V0X2ZyYW1lX2RlYnVnX2V4cHIgKHJ0eCBleHByLCBjb25zdCBjaGFyICps YWJlbCkKIAkgIC8qIFJ1bGUgMTEgKi8KIAljYXNlIFBSRV9JTkM6CiAJY2Fz ZSBQUkVfREVDOgorCWNhc2UgUE9TVF9ERUM6CiAJICBvZmZzZXQgPSBHRVRf TU9ERV9TSVpFIChHRVRfTU9ERSAoZGVzdCkpOwogCSAgaWYgKEdFVF9DT0RF IChYRVhQIChkZXN0LCAwKSkgPT0gUFJFX0lOQykKIAkgICAgb2Zmc2V0ID0g LW9mZnNldDsKQEAgLTI2MTYsNyArMjYxNywxMCBAQCBkd2FyZjJvdXRfZnJh bWVfZGVidWdfZXhwciAocnR4IGV4cHIsIGNvbnN0IGNoYXIgKmxhYmVsKQog CSAgaWYgKGNmYS5yZWcgPT0gU1RBQ0tfUE9JTlRFUl9SRUdOVU0pCiAJICAg IGNmYS5vZmZzZXQgPSBjZmFfc3RvcmUub2Zmc2V0OwogCi0JICBvZmZzZXQg PSAtY2ZhX3N0b3JlLm9mZnNldDsKKwkgIGlmIChHRVRfQ09ERSAoWEVYUCAo ZGVzdCwgMCkpID09IFBPU1RfREVDKQorCSAgICBvZmZzZXQgKz0gLWNmYV9z dG9yZS5vZmZzZXQ7CisJICBlbHNlCisJICAgIG9mZnNldCA9IC1jZmFfc3Rv cmUub2Zmc2V0OwogCSAgYnJlYWs7CiAKIAkgIC8qIFJ1bGUgMTIgKi8K --------------070809070306080505090500--