From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10075 invoked by alias); 21 Sep 2009 22:26:58 -0000 Received: (qmail 10065 invoked by uid 22791); 21 Sep 2009 22:26:57 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_74,SPF_HELO_PASS,SPF_PASS 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; Mon, 21 Sep 2009 22:26:53 +0000 Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n8LMQoq8023991; Mon, 21 Sep 2009 18:26:50 -0400 Received: from stone.twiddle.home (vpn-240-49.phx2.redhat.com [10.3.240.49]) by int-mx08.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id n8LMQouX002248; Mon, 21 Sep 2009 18:26:50 -0400 Message-ID: <4AB7FDA6.7080004@redhat.com> Date: Mon, 21 Sep 2009 22:28:00 -0000 From: Richard Henderson User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Thunderbird/3.0b3 MIME-Version: 1.0 To: GCC Patches CC: bernd.schmidt@analog.com Subject: [patch 06/36][bfin] Hookize static chain and trampoline macros References: <4AB7F353.3060707@redhat.com> In-Reply-To: <4AB7F353.3060707@redhat.com> Content-Type: multipart/mixed; boundary="------------010304000509080203040100" X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2009-09/txt/msg01414.txt.bz2 This is a multi-part message in MIME format. --------------010304000509080203040100 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 244 A straight-forward conversion to hooks. As an improvement, a TARGET_FDPIC trampoline should not contain instructions at all. It should build a fake function descriptor and use an external helper routine, similar to how we handle ia64. r~ --------------010304000509080203040100 Content-Type: text/plain; name="d-tramp-06-bfin" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="d-tramp-06-bfin" Content-length: 8736 CSogY29uZmlnL2JmaW4vYmZpbi1wcm90b3MuaCAoaW5pdGlhbGl6ZV90cmFt cG9saW5lKTogUmVtb3ZlLgoJKiBjb25maWcvYmZpbi9iZmluLmMgKGJmaW5f YXNtX3RyYW1wb2xpbmVfdGVtcGxhdGUpOiBOZXcuCgkoYmZpbl90cmFtcG9s aW5lX2luaXQpOiBSZW5hbWUgZnJvbSBpbml0aWFsaXplX3RyYW1wb2xpbmU7 CgltYWtlIHN0YXRpYzsgdXBkYXRlIGZvciB0YXJnZXQgaG9vayBwYXJhbWV0 ZXJzLgoJKFRBUkdFVF9BU01fVFJBTVBPTElORV9URU1QTEFURSwgVEFSR0VU X1RSQU1QT0xJTkVfSU5JVCk6IE5ldy4KCSogY29uZmlnL2JmaW4vYmZpbi5o IChUUkFNUE9MSU5FX1RFTVBMQVRFKTogTW92ZSBjb2RlIHRvCgliZmluX2Fz bV90cmFtcG9saW5lX3RlbXBsYXRlLgoJKElOSVRJQUxJWkVfVFJBTVBPTElO RSk6IFJlbW92ZS4KCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9iZmluL2Jm aW4tcHJvdG9zLmggYi9nY2MvY29uZmlnL2JmaW4vYmZpbi1wcm90b3MuaApp bmRleCBiMmQzZDhjLi40YTliN2ExIDEwMDY0NAotLS0gYS9nY2MvY29uZmln L2JmaW4vYmZpbi1wcm90b3MuaAorKysgYi9nY2MvY29uZmlnL2JmaW4vYmZp bi1wcm90b3MuaApAQCAtMTEwLDcgKzExMCw2IEBAIGV4dGVybiB2b2lkIGFz bV9jb25kaXRpb25hbF9icmFuY2ggKHJ0eCwgcnR4ICosIGludCwgaW50KTsK IGV4dGVybiBydHggYmZpbl9nZW5fY29tcGFyZSAocnR4LCBNbW9kZSk7CiAK IGV4dGVybiBpbnQgYmZpbl9sb2NhbF9hbGlnbm1lbnQgKHRyZWUsIGludCk7 Ci1leHRlcm4gdm9pZCBpbml0aWFsaXplX3RyYW1wb2xpbmUgKHJ0eCwgcnR4 LCBydHgpOwogZXh0ZXJuIHJ0eCBiZmluX3ZhX2FyZyAodHJlZSwgdHJlZSk7 CiAKIGV4dGVybiB2b2lkIGJmaW5fZXhwYW5kX3Byb2xvZ3VlICh2b2lkKTsK ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYmZpbi9iZmluLmMgYi9nY2MvY29u ZmlnL2JmaW4vYmZpbi5jCmluZGV4IDkyYWFmNTcuLjMyZDcyYWIgMTAwNjQ0 Ci0tLSBhL2djYy9jb25maWcvYmZpbi9iZmluLmMKKysrIGIvZ2NjL2NvbmZp Zy9iZmluL2JmaW4uYwpAQCAtMjA5NCwzNyArMjA5NCw2NyBAQCBiZmluX2Z1 bmN0aW9uX29rX2Zvcl9zaWJjYWxsICh0cmVlIGRlY2wgQVRUUklCVVRFX1VO VVNFRCwKICAgcmV0dXJuICFjYWxsZWRfZnVuYy0+bG9jYWwgfHwgdGhpc19m dW5jLT5sb2NhbDsKIH0KIAwKKy8qIFdyaXRlIGEgdGVtcGxhdGUgZm9yIGEg dHJhbXBvbGluZSB0byBGLiAgKi8KKworc3RhdGljIHZvaWQKK2JmaW5fYXNt X3RyYW1wb2xpbmVfdGVtcGxhdGUgKEZJTEUgKmYpCit7CisgIGlmIChUQVJH RVRfRkRQSUMpCisgICAgeworICAgICAgZnByaW50ZiAoZiwgIlx0LmRkXHQw eDAwMDAwMDAwXG4iKTsJLyogMCAqLworICAgICAgZnByaW50ZiAoZiwgIlx0 LmRkXHQweDAwMDAwMDAwXG4iKTsJLyogMCAqLworICAgICAgZnByaW50ZiAo ZiwgIlx0LmRkXHQweDAwMDBlMTA5XG4iKTsJLyogcDEubCA9IGZuIGxvdyAq LworICAgICAgZnByaW50ZiAoZiwgIlx0LmRkXHQweDAwMDBlMTQ5XG4iKTsJ LyogcDEuaCA9IGZuIGhpZ2ggKi8KKyAgICAgIGZwcmludGYgKGYsICJcdC5k ZFx0MHgwMDAwZTEwYVxuIik7CS8qIHAyLmwgPSBzYyBsb3cgKi8KKyAgICAg IGZwcmludGYgKGYsICJcdC5kZFx0MHgwMDAwZTE0YVxuIik7CS8qIHAyLmgg PSBzYyBoaWdoICovCisgICAgICBmcHJpbnRmIChmLCAiXHQuZHdcdDB4YWM0 YlxuIik7CQkvKiBwMyA9IFtwMSArIDRdICovCisgICAgICBmcHJpbnRmIChm LCAiXHQuZHdcdDB4OTE0OVxuIik7CQkvKiBwMSA9IFtwMV0gKi8KKyAgICAg IGZwcmludGYgKGYsICJcdC5kd1x0MHgwMDUxXG4iKTsJCS8qIGp1bXAgKHAx KSovCisgICAgfQorICBlbHNlCisgICAgeworICAgICAgZnByaW50ZiAoZiwg Ilx0LmRkXHQweDAwMDBlMTA5XG4iKTsJLyogcDEubCA9IGZuIGxvdyAqLwor ICAgICAgZnByaW50ZiAoZiwgIlx0LmRkXHQweDAwMDBlMTQ5XG4iKTsJLyog cDEuaCA9IGZuIGhpZ2ggKi8KKyAgICAgIGZwcmludGYgKGYsICJcdC5kZFx0 MHgwMDAwZTEwYVxuIik7CS8qIHAyLmwgPSBzYyBsb3cgKi8KKyAgICAgIGZw cmludGYgKGYsICJcdC5kZFx0MHgwMDAwZTE0YVxuIik7CS8qIHAyLmggPSBz YyBoaWdoICovCisgICAgICBmcHJpbnRmIChmLCAiXHQuZHdcdDB4MDA1MVxu Iik7CQkvKiBqdW1wIChwMSkqLworICAgIH0KK30KKwogLyogRW1pdCBSVEwg aW5zbnMgdG8gaW5pdGlhbGl6ZSB0aGUgdmFyaWFibGUgcGFydHMgb2YgYSB0 cmFtcG9saW5lIGF0Ci0gICBUUkFNUC4gRk5BRERSIGlzIGFuIFJUWCBmb3Ig dGhlIGFkZHJlc3Mgb2YgdGhlIGZ1bmN0aW9uJ3MgcHVyZQotICAgY29kZS4g IENYVCBpcyBhbiBSVFggZm9yIHRoZSBzdGF0aWMgY2hhaW4gdmFsdWUgZm9y IHRoZSBmdW5jdGlvbi4gICovCisgICBNX1RSQU1QLiBGTkRFQ0wgaXMgdGhl IHRhcmdldCBmdW5jdGlvbi4gIENIQUlOX1ZBTFVFIGlzIGFuIFJUWCBmb3IK KyAgIHRoZSBzdGF0aWMgY2hhaW4gdmFsdWUgZm9yIHRoZSBmdW5jdGlvbi4g ICovCiAKLXZvaWQKLWluaXRpYWxpemVfdHJhbXBvbGluZSAocnR4IHRyYW1w LCBydHggZm5hZGRyLCBydHggY3h0KQorc3RhdGljIHZvaWQKK2JmaW5fdHJh bXBvbGluZV9pbml0IChydHggbV90cmFtcCwgdHJlZSBmbmRlY2wsIHJ0eCBj aGFpbl92YWx1ZSkKIHsKLSAgcnR4IHQxID0gY29weV90b19yZWcgKGZuYWRk cik7Ci0gIHJ0eCB0MiA9IGNvcHlfdG9fcmVnIChjeHQpOwotICBydHggYWRk cjsKKyAgcnR4IHQxID0gY29weV90b19yZWcgKFhFWFAgKERFQ0xfUlRMIChm bmRlY2wpLCAwKSk7CisgIHJ0eCB0MiA9IGNvcHlfdG9fcmVnIChjaGFpbl92 YWx1ZSk7CisgIHJ0eCBtZW07CiAgIGludCBpID0gMDsKIAorICBlbWl0X2Js b2NrX21vdmUgKG1fdHJhbXAsIGFzc2VtYmxlX3RyYW1wb2xpbmVfdGVtcGxh dGUgKCksCisJCSAgIEdFTl9JTlQgKFRSQU1QT0xJTkVfU0laRSksIEJMT0NL X09QX05PUk1BTCk7CisKICAgaWYgKFRBUkdFVF9GRFBJQykKICAgICB7Ci0g ICAgICBydHggYSA9IG1lbW9yeV9hZGRyZXNzIChQbW9kZSwgcGx1c19jb25z dGFudCAodHJhbXAsIDgpKTsKLSAgICAgIGFkZHIgPSBtZW1vcnlfYWRkcmVz cyAoUG1vZGUsIHRyYW1wKTsKLSAgICAgIGVtaXRfbW92ZV9pbnNuIChnZW5f cnR4X01FTSAoU0ltb2RlLCBhZGRyKSwgYSk7CisgICAgICBydHggYSA9IGZv cmNlX3JlZyAoUG1vZGUsIHBsdXNfY29uc3RhbnQgKFhFWFAgKG1fdHJhbXAs IDApLCA4KSk7CisgICAgICBtZW0gPSBhZGp1c3RfYWRkcmVzcyAobV90cmFt cCwgUG1vZGUsIDApOworICAgICAgZW1pdF9tb3ZlX2luc24gKG1lbSwgYSk7 CiAgICAgICBpID0gODsKICAgICB9CiAKLSAgYWRkciA9IG1lbW9yeV9hZGRy ZXNzIChQbW9kZSwgcGx1c19jb25zdGFudCAodHJhbXAsIGkgKyAyKSk7Ci0g IGVtaXRfbW92ZV9pbnNuIChnZW5fcnR4X01FTSAoSEltb2RlLCBhZGRyKSwg Z2VuX2xvd3BhcnQgKEhJbW9kZSwgdDEpKTsKKyAgbWVtID0gYWRqdXN0X2Fk ZHJlc3MgKG1fdHJhbXAsIEhJbW9kZSwgaSArIDIpOworICBlbWl0X21vdmVf aW5zbiAobWVtLCBnZW5fbG93cGFydCAoSEltb2RlLCB0MSkpOwogICBlbWl0 X2luc24gKGdlbl9hc2hyc2kzICh0MSwgdDEsIEdFTl9JTlQgKDE2KSkpOwot ICBhZGRyID0gbWVtb3J5X2FkZHJlc3MgKFBtb2RlLCBwbHVzX2NvbnN0YW50 ICh0cmFtcCwgaSArIDYpKTsKLSAgZW1pdF9tb3ZlX2luc24gKGdlbl9ydHhf TUVNIChISW1vZGUsIGFkZHIpLCBnZW5fbG93cGFydCAoSEltb2RlLCB0MSkp OworICBtZW0gPSBhZGp1c3RfYWRkcmVzcyAobV90cmFtcCwgSEltb2RlLCBp ICsgNik7CisgIGVtaXRfbW92ZV9pbnNuIChtZW0sIGdlbl9sb3dwYXJ0IChI SW1vZGUsIHQxKSk7CiAKLSAgYWRkciA9IG1lbW9yeV9hZGRyZXNzIChQbW9k ZSwgcGx1c19jb25zdGFudCAodHJhbXAsIGkgKyAxMCkpOwotICBlbWl0X21v dmVfaW5zbiAoZ2VuX3J0eF9NRU0gKEhJbW9kZSwgYWRkciksIGdlbl9sb3dw YXJ0IChISW1vZGUsIHQyKSk7CisgIG1lbSA9IGFkanVzdF9hZGRyZXNzICht X3RyYW1wLCBISW1vZGUsIGkgKyAxMCk7CisgIGVtaXRfbW92ZV9pbnNuICht ZW0sIGdlbl9sb3dwYXJ0IChISW1vZGUsIHQyKSk7CiAgIGVtaXRfaW5zbiAo Z2VuX2FzaHJzaTMgKHQyLCB0MiwgR0VOX0lOVCAoMTYpKSk7Ci0gIGFkZHIg PSBtZW1vcnlfYWRkcmVzcyAoUG1vZGUsIHBsdXNfY29uc3RhbnQgKHRyYW1w LCBpICsgMTQpKTsKLSAgZW1pdF9tb3ZlX2luc24gKGdlbl9ydHhfTUVNIChI SW1vZGUsIGFkZHIpLCBnZW5fbG93cGFydCAoSEltb2RlLCB0MikpOworICBt ZW0gPSBhZGp1c3RfYWRkcmVzcyAobV90cmFtcCwgSEltb2RlLCBpICsgMTQp OworICBlbWl0X21vdmVfaW5zbiAobWVtLCBnZW5fbG93cGFydCAoSEltb2Rl LCB0MikpOwogfQogCiAvKiBFbWl0IGluc25zIHRvIG1vdmUgb3BlcmFuZHNb MV0gaW50byBvcGVyYW5kc1swXS4gICovCkBAIC02NjE5LDQgKzY2NDksOSBA QCBiZmluX2V4cGFuZF9idWlsdGluICh0cmVlIGV4cCwgcnR4IHRhcmdldCBB VFRSSUJVVEVfVU5VU0VELAogI3VuZGVmIFRBUkdFVF9DQU5fRUxJTUlOQVRF CiAjZGVmaW5lIFRBUkdFVF9DQU5fRUxJTUlOQVRFIGJmaW5fY2FuX2VsaW1p bmF0ZQogCisjdW5kZWYgVEFSR0VUX0FTTV9UUkFNUE9MSU5FX1RFTVBMQVRF CisjZGVmaW5lIFRBUkdFVF9BU01fVFJBTVBPTElORV9URU1QTEFURSBiZmlu X2FzbV90cmFtcG9saW5lX3RlbXBsYXRlCisjdW5kZWYgVEFSR0VUX1RSQU1Q T0xJTkVfSU5JVAorI2RlZmluZSBUQVJHRVRfVFJBTVBPTElORV9JTklUIGJm aW5fdHJhbXBvbGluZV9pbml0CisKIHN0cnVjdCBnY2NfdGFyZ2V0IHRhcmdl dG0gPSBUQVJHRVRfSU5JVElBTElaRVI7CmRpZmYgLS1naXQgYS9nY2MvY29u ZmlnL2JmaW4vYmZpbi5oIGIvZ2NjL2NvbmZpZy9iZmluL2JmaW4uaAppbmRl eCAzNDAzMmIyLi4wM2EyNzkwIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2Jm aW4vYmZpbi5oCisrKyBiL2djYy9jb25maWcvYmZpbi9iZmluLmgKQEAgLTM4 NiwzMCArMzg2LDYgQEAgZXh0ZXJuIGNvbnN0IGNoYXIgKmJmaW5fbGlicmFy eV9pZF9zdHJpbmc7CiAgICAmJiAoQUxJR04pIDwgQklUU19QRVJfV09SRCA/ IEJJVFNfUEVSX1dPUkQgOiAoQUxJR04pKSAgICAKIAogI2RlZmluZSBUUkFN UE9MSU5FX1NJWkUgKFRBUkdFVF9GRFBJQyA/IDMwIDogMTgpCi0jZGVmaW5l IFRSQU1QT0xJTkVfVEVNUExBVEUoRklMRSkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCi0gIGlmIChUQVJHRVRfRkRQSUMpCQkJ CQkJCVwKLSAgICB7CQkJCQkJCQkJXAotICAgICAgZnByaW50ZihGSUxFLCAi XHQuZGRcdDB4MDAwMDAwMDBcbiIpOyAvKiAwICovCQkJXAotICAgICAgZnBy aW50ZihGSUxFLCAiXHQuZGRcdDB4MDAwMDAwMDBcbiIpOyAvKiAwICovCQkJ XAotICAgICAgZnByaW50ZihGSUxFLCAiXHQuZGRcdDB4MDAwMGUxMDlcbiIp OyAvKiBwMS5sID0gZm4gbG93ICovCQlcCi0gICAgICBmcHJpbnRmKEZJTEUs ICJcdC5kZFx0MHgwMDAwZTE0OVxuIik7IC8qIHAxLmggPSBmbiBoaWdoICov CVwKLSAgICAgIGZwcmludGYoRklMRSwgIlx0LmRkXHQweDAwMDBlMTBhXG4i KTsgLyogcDIubCA9IHNjIGxvdyAqLwkJXAotICAgICAgZnByaW50ZihGSUxF LCAiXHQuZGRcdDB4MDAwMGUxNGFcbiIpOyAvKiBwMi5oID0gc2MgaGlnaCAq LwlcCi0gICAgICBmcHJpbnRmKEZJTEUsICJcdC5kd1x0MHhhYzRiXG4iKTsg LyogcDMgPSBbcDEgKyA0XSAqLwkJXAotICAgICAgZnByaW50ZihGSUxFLCAi XHQuZHdcdDB4OTE0OVxuIik7IC8qIHAxID0gW3AxXSAqLwkJCVwKLSAgICAg IGZwcmludGYoRklMRSwgIlx0LmR3XHQweDAwNTFcbiIpOyAvKiBqdW1wIChw MSkqLwkJCVwKLSAgICB9CQkJCQkJCQkJXAotICBlbHNlCQkJCQkJCQkJXAot ICAgIHsJCQkJCQkJCQlcCi0gICAgICBmcHJpbnRmKEZJTEUsICJcdC5kZFx0 MHgwMDAwZTEwOVxuIik7IC8qIHAxLmwgPSBmbiBsb3cgKi8JCVwKLSAgICAg IGZwcmludGYoRklMRSwgIlx0LmRkXHQweDAwMDBlMTQ5XG4iKTsgLyogcDEu aCA9IGZuIGhpZ2ggKi8JXAotICAgICAgZnByaW50ZihGSUxFLCAiXHQuZGRc dDB4MDAwMGUxMGFcbiIpOyAvKiBwMi5sID0gc2MgbG93ICovCQlcCi0gICAg ICBmcHJpbnRmKEZJTEUsICJcdC5kZFx0MHgwMDAwZTE0YVxuIik7IC8qIHAy LmggPSBzYyBoaWdoICovCVwKLSAgICAgIGZwcmludGYoRklMRSwgIlx0LmR3 XHQweDAwNTFcbiIpOyAvKiBqdW1wIChwMSkqLwkJCVwKLSAgICB9Ci0KLSNk ZWZpbmUgSU5JVElBTElaRV9UUkFNUE9MSU5FKFRSQU1QLCBGTkFERFIsIENY VCkgXAotICBpbml0aWFsaXplX3RyYW1wb2xpbmUgKFRSQU1QLCBGTkFERFIs IENYVCkKIAwKIC8qIERlZmluaXRpb25zIGZvciByZWdpc3RlciBlbGltaW5h dGlvbnMuCiAK --------------010304000509080203040100--