From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ot1-x329.google.com (mail-ot1-x329.google.com [IPv6:2607:f8b0:4864:20::329]) by sourceware.org (Postfix) with ESMTPS id 10F1E3857832 for ; Fri, 15 Jan 2021 22:43:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 10F1E3857832 Received: by mail-ot1-x329.google.com with SMTP id d8so10139275otq.6 for ; Fri, 15 Jan 2021 14:43:14 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=A9f+S8zqPW0W2BZXbwJuH8ofw5QKzFUbmxdFiX15CVQ=; b=NSOOocniIfkPC4ykUgZP4mGU9mChn7WLJ3HW1yMnfk4miphLjbY6YoAqHJZtohNyJh j4ZwCeSUs6yQf4EH6e6JH9vyA+5Tw67uqGidnLbL+SjpGAjKCEMfQDosJ/m/Lnv/M6to /HDvglbOM2d/+eLTkt44pb6RiqUcHg/KdUCYJ5IloCPOcQltpXHXdgJ9/Cq3upwIUM19 AyKkBIftdzi7wE8wVZhz5QEbAG1bjUkNb/zz6Kcg8Hr9F7hzd8uFA/7Hledbb1Kgmfct LdN1b0/Vapv0d5MSr8ql/ROXI7Q8dDEmAjRKy9pgbh/E3A5FhD4077KNeM9CrqHgyvRq lD5w== X-Gm-Message-State: AOAM533ou9qRDa0FxkE5ifJ2D4SNgRdOaNyx/CJPqZAgLj8tzkG6n2Gg Slw94KVHn0hTQ/3/intbgJ1uGEBbtf7KLLNJN9Y= X-Google-Smtp-Source: ABdhPJx/u2LZzyPtEjvFwm+ICGDxeaUDs9ebE6CwqdovbSXLQe1bkVMozWV3m9gPbzzLY5EpAPMYMKOshDMytthOi+g= X-Received: by 2002:a05:6830:1d71:: with SMTP id l17mr9953483oti.269.1610750593459; Fri, 15 Jan 2021 14:43:13 -0800 (PST) MIME-Version: 1.0 References: <27498bbc768372541e4379794656ac2778d33035.1610471272.git.szabolcs.nagy@arm.com> <20210113095053.GA2379@arm.com> <20210114111757.GA11466@arm.com> <20210115112524.GE11466@arm.com> <20210115142737.GF11466@arm.com> In-Reply-To: From: "H.J. Lu" Date: Fri, 15 Jan 2021 14:42:36 -0800 Message-ID: Subject: Re: [PATCH v3 2/5] Make libc symbols hidden in static PIE To: Szabolcs Nagy Cc: GNU C Library Content-Type: multipart/mixed; boundary="000000000000f24c1f05b8f8181c" X-Spam-Status: No, score=-3036.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jan 2021 22:43:16 -0000 --000000000000f24c1f05b8f8181c Content-Type: text/plain; charset="UTF-8" On Fri, Jan 15, 2021 at 7:28 AM H.J. Lu wrote: > > On Fri, Jan 15, 2021 at 6:27 AM Szabolcs Nagy wrote: > > > > The 01/15/2021 05:43, H.J. Lu wrote: > > > On Fri, Jan 15, 2021 at 3:25 AM Szabolcs Nagy wrote: > > > > options: > > > > > > > > (1) fix extern hidden pie calls on i686 (by making > > > > them the same as default vis pie calls so ifuncs > > > > work). > > > > > > > > (2) annotate ifuncs (avoid hidden for them, ifuncs > > > > cannot appear in early start code anyway because > > > > of IRELATIVE): this can be difficult to maintain. > > > > > > > > (3) annotate early object accesses to be hidden so > > > > RELATIVE relocs are avoided. (most targets want > > > > all objects to be hidden, but this solves bug > > > > 27072 without causing problems on i686) > > > > > > > > (4) make pie always use copy relocations on i686. > > > > (and then no hidden annotation is needed, object > > > > access is always local in pie). > > ... > > > > > --- a/elf/dl-reloc-static-pie.c > > > > > +++ b/elf/dl-reloc-static-pie.c > > > > > @@ -17,6 +17,7 @@ > > > > > . */ > > > > > > > > > > #if ENABLE_STATIC_PIE > > > > > +#pragma GCC visibility push(hidden) > > > > > > > > yes, this is option (3). you will also need it in _dl_aux_init > > > > and __libc_init_secure and __tunables_init. > > > > > > I will try it. > > > > the naive way does not seem to work: > > > > _dl_support.c has _dl_aux_init as well as _dl_non_dynamic_init, > > the former needs hidden the latter does not and calls rawmemchr > > which is ifunc on i686. > > > > i think the easiest fix is to move those two functions into > > separate files. (ideally we would have a small set of files > > that are involved in the start code before self relocation) > > > > now i realized that there is another option: > > > > (5) remove all ifuncs from i686 libc. > > > > i assume there are not many users who care about i686 performance. > > I don't know if this will work on i686. Since i386 doesn't have IP relative > addressing, we can't remove all RELATIVE relocations. We need to > call _dl_aux_init again after relocating PIE. I don't know what other symbols > are affected. My current patches are on users/hjl/pr27072/master branch: > > https://gitlab.com/x86-glibc/glibc/-/commits/users/hjl/pr27072/master > The problem is #ifdef NEED_DL_SYSINFO /* Needed for improved syscall handling on at least x86/Linux. */ uintptr_t _dl_sysinfo = DL_SYSINFO_DEFAULT; #endif We can initialize it in _dl_aux_init instead. I am testing this set of patches on top of yours on i686 and x86-64. -- H.J. --000000000000f24c1f05b8f8181c Content-Type: text/x-patch; charset="US-ASCII"; name="0004-x86-Check-ifunc-resolver-with-CPU_FEATURE_USABLE-BZ-.patch" Content-Disposition: attachment; filename="0004-x86-Check-ifunc-resolver-with-CPU_FEATURE_USABLE-BZ-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kjyv927r0 RnJvbSA1ZjdlZWIwYWE1MjUxODQ5YWM1MTZlMDI3ZWE1ZWM4ZGZlZWM1NzI3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IFR1ZSwgMTIgSmFuIDIwMjEgMTQ6NDE6MTAgLTA4MDAKU3ViamVjdDogW1BBVENIIDQvNF0geDg2 OiBDaGVjayBpZnVuYyByZXNvbHZlciB3aXRoIENQVV9GRUFUVVJFX1VTQUJMRSBbQloKICMyNzA3 Ml0KCkNoZWNrIGlmdW5jIHJlc29sdmVyIHdpdGggQ1BVX0ZFQVRVUkVfVVNBQkxFIGluIGR5bmFt aWMgYW5kIHN0YXRpYwpleGVjdXRhYmxlcyB0byB2ZXJpZnkgdGhhdCBDUFVJRCBmZWF0dXJlcyBh cmUgaW5pdGlhbGl6ZWQgZWFybHkgaW4Kc3RhdGljIFBJRS4KLS0tCiBzeXNkZXBzL3g4Ni9NYWtl ZmlsZSAgICAgICAgICAgICAgICAgfCAgIDcgKysKIHN5c2RlcHMveDg2L3RzdC1pZnVuYy1pc2Et MS1zdGF0aWMuYyB8ICAgMSArCiBzeXNkZXBzL3g4Ni90c3QtaWZ1bmMtaXNhLTEuYyAgICAgICAg fCAxMTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEyMyBp bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3lzZGVwcy94ODYvdHN0LWlmdW5jLWlz YS0xLXN0YXRpYy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3lzZGVwcy94ODYvdHN0LWlmdW5jLWlz YS0xLmMKCmRpZmYgLS1naXQgYS9zeXNkZXBzL3g4Ni9NYWtlZmlsZSBiL3N5c2RlcHMveDg2L01h a2VmaWxlCmluZGV4IGFkYWEyYTkyY2QuLjk5NmZmNDZkYmMgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMv eDg2L01ha2VmaWxlCisrKyBiL3N5c2RlcHMveDg2L01ha2VmaWxlCkBAIC05LDYgKzksMTMgQEAg c3lzZGVwX2hlYWRlcnMgKz0gc3lzL3BsYXRmb3JtL3g4Ni5oCiB0ZXN0cyArPSB0c3QtZ2V0LWNw dS1mZWF0dXJlcyB0c3QtZ2V0LWNwdS1mZWF0dXJlcy1zdGF0aWMgXAogCSB0c3QtY3B1LWZlYXR1 cmVzLWNwdWluZm8gdHN0LWNwdS1mZWF0dXJlcy1zdXBwb3J0cwogdGVzdHMtc3RhdGljICs9IHRz dC1nZXQtY3B1LWZlYXR1cmVzLXN0YXRpYworaWZlcSAoeWVzLCQoaGF2ZS1pZnVuYykpCit0ZXN0 cyArPSBcCisgIHRzdC1pZnVuYy1pc2EtMSBcCisgIHRzdC1pZnVuYy1pc2EtMS1zdGF0aWMKK3Rl c3RzLXN0YXRpYyArPSBcCisgIHRzdC1pZnVuYy1pc2EtMS1zdGF0aWMKK2VuZGlmCiBpZmVxICh5 ZXMsJChlbmFibGUteDg2LWlzYS1sZXZlbCkpCiB0ZXN0cyArPSB0c3QtaXNhLWxldmVsLTEKIG1v ZHVsZXMtbmFtZXMgKz0gdHN0LWlzYS1sZXZlbC1tb2QtMS1iYXNlbGluZSBcCmRpZmYgLS1naXQg YS9zeXNkZXBzL3g4Ni90c3QtaWZ1bmMtaXNhLTEtc3RhdGljLmMgYi9zeXNkZXBzL3g4Ni90c3Qt aWZ1bmMtaXNhLTEtc3RhdGljLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MC4uMGU5NGY2MTE5YgotLS0gL2Rldi9udWxsCisrKyBiL3N5c2RlcHMveDg2L3RzdC1pZnVuYy1p c2EtMS1zdGF0aWMuYwpAQCAtMCwwICsxIEBACisjaW5jbHVkZSAidHN0LWlmdW5jLWlzYS0xLmMi CmRpZmYgLS1naXQgYS9zeXNkZXBzL3g4Ni90c3QtaWZ1bmMtaXNhLTEuYyBiL3N5c2RlcHMveDg2 L3RzdC1pZnVuYy1pc2EtMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAu LmIzYmMyYTU1YTIKLS0tIC9kZXYvbnVsbAorKysgYi9zeXNkZXBzL3g4Ni90c3QtaWZ1bmMtaXNh LTEuYwpAQCAtMCwwICsxLDExNSBAQAorLyogQ2hlY2sgaWZ1bmMgd2l0aCBDUFVfRkVBVFVSRV9V U0FCTEUuCisgICBDb3B5cmlnaHQgKEMpIDIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIEMgTGlicmFyeS4KKworICAgVGhl IEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCisgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdl bmVyYWwgUHVibGljCisgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBUaGUgR05VIEMgTGlicmFy eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUgR05VCisgICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgICBMaWNlbnNlIGFsb25nIHdpdGggdGhlIEdO VSBDIExpYnJhcnk7IGlmIG5vdCwgc2VlCisgICA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LiAgKi8KKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5cy9wbGF0Zm9ybS94 ODYuaD4KKworZW51bSBpc2EKK3sKKyAgbm9uZSwKKyAgc3NlMiwKKyAgc3NlNF8yLAorICBhdngs CisgIGF2eDIsCisgIGF2eDUxMmYKK307CisKK2VudW0gaXNhCitnZXRfaXNhICh2b2lkKQorewor ICBpZiAoQ1BVX0ZFQVRVUkVfVVNBQkxFIChBVlg1MTJGKSkKKyAgICByZXR1cm4gYXZ4NTEyZjsK KyAgaWYgKENQVV9GRUFUVVJFX1VTQUJMRSAoQVZYMikpCisgICAgcmV0dXJuIGF2eDI7CisgIGlm IChDUFVfRkVBVFVSRV9VU0FCTEUgKEFWWCkpCisgICAgcmV0dXJuIGF2eDsKKyAgaWYgKENQVV9G RUFUVVJFX1VTQUJMRSAoU1NFNF8yKSkKKyAgICByZXR1cm4gc3NlNF8yOworICBpZiAoQ1BVX0ZF QVRVUkVfVVNBQkxFIChTU0UyKSkKKyAgICByZXR1cm4gc3NlMjsKKyAgcmV0dXJuIG5vbmU7Cit9 CisKK3N0YXRpYyBpbnQKK2lzYV9zc2UyICh2b2lkKQoreworICByZXR1cm4gc3NlMjsKK30KKwor c3RhdGljIGludAoraXNhX3NzZTRfMiAodm9pZCkKK3sKKyAgcmV0dXJuIHNzZTRfMjsKK30KKwor c3RhdGljIGludAoraXNhX2F2eCAodm9pZCkKK3sKKyAgcmV0dXJuIGF2eDsKK30KKworc3RhdGlj IGludAoraXNhX2F2eDIgKHZvaWQpCit7CisgIHJldHVybiBhdngyOworfQorCitzdGF0aWMgaW50 Citpc2FfYXZ4NTEyZiAodm9pZCkKK3sKKyAgcmV0dXJuIGF2eDUxMmY7Cit9CisKK3N0YXRpYyBp bnQKK2lzYV9ub25lICh2b2lkKQoreworICByZXR1cm4gbm9uZTsKK30KKworaW50IGZvbyAodm9p ZCkgX19hdHRyaWJ1dGVfXyAoKGlmdW5jICgiZm9vX2lmdW5jIikpKTsKKwordm9pZCAqCitmb29f aWZ1bmMgKHZvaWQpCit7CisgIHN3aXRjaCAoZ2V0X2lzYSAoKSkKKyAgICB7CisgICAgY2FzZSBh dng1MTJmOgorICAgICAgcmV0dXJuIGlzYV9hdng1MTJmOworICAgIGNhc2UgYXZ4MjoKKyAgICAg IHJldHVybiBpc2FfYXZ4MjsKKyAgICBjYXNlIGF2eDoKKyAgICAgIHJldHVybiBpc2FfYXZ4Owor ICAgIGNhc2Ugc3NlNF8yOgorICAgICAgcmV0dXJuIGlzYV9zc2U0XzI7CisgICAgY2FzZSBzc2Uy OgorICAgICAgcmV0dXJuIGlzYV9zc2UyOworICAgIGRlZmF1bHQ6CisgICAgICBicmVhazsKKyAg ICB9CisgIHJldHVybiBpc2Ffbm9uZTsKK30KKworc3RhdGljIGludAorZG9fdGVzdCAodm9pZCkK K3sKKyAgZW51bSBpc2EgdmFsdWUgPSBmb28gKCk7CisgIGVudW0gaXNhIGV4cGVjdGVkID0gZ2V0 X2lzYSAoKTsKKyAgcmV0dXJuIHZhbHVlID09IGV4cGVjdGVkID8gRVhJVF9TVUNDRVNTIDogRVhJ VF9GQUlMVVJFOworfQorCisjaW5jbHVkZSA8c3VwcG9ydC90ZXN0LWRyaXZlci5jPgotLSAKMi4y OS4yCgo= --000000000000f24c1f05b8f8181c Content-Type: text/x-patch; charset="US-ASCII"; name="0003-Use-startup.h-in-__libc_init_secure.patch" Content-Disposition: attachment; filename="0003-Use-startup.h-in-__libc_init_secure.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kjyv92801 RnJvbSAyNDY3NjIzMmNkNTQ4NWZjOGI0ZDk3MDdlYjgxY2UwYmE3ZTY1ZjRhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IEZyaSwgMTUgSmFuIDIwMjEgMDY6NDY6MTIgLTA4MDAKU3ViamVjdDogW1BBVENIIDMvNF0gVXNl IDxzdGFydHVwLmg+IGluIF9fbGliY19pbml0X3NlY3VyZQoKU2luY2UgX19saWJjX2luaXRfc2Vj dXJlIGlzIGNhbGxlZCBiZWZvcmUgQVJDSF9TRVRVUF9UTFMsIGl0IG11c3QgdXNlCiJpbnQgJDB4 ODAiIGZvciBzeXN0ZW0gY2FsbHMgaW4gaTM4NiBzdGF0aWMgUElFLiAgQWRkIHN0YXJ0dXBfZ2V0 dWlkLApzdGFydHVwX2dldGV1aWQsIHN0YXJ0dXBfZ2V0Z2lkIGFuZCBzdGFydHVwX2dldGVnaWQg dG8gPHN0YXJ0dXAuaD4uClVwZGF0ZSBfX2xpYmNfaW5pdF9zZWN1cmUgdG8gdXNlIHRoZW0uCi0t LQogZWxmL2VuYmwtc2VjdXJlLmMgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KIHN5 c2RlcHMvZ2VuZXJpYy9zdGFydHVwLmggICAgICAgICAgICAgIHwgMjYgKysrKysrKysrKysrKysr KysrKysrKysKIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3RhcnR1cC5oIHwgMjkgKysr KysrKysrKysrKysrKysrKysrKysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygr KSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9lbGYvZW5ibC1zZWN1cmUuYyBiL2VsZi9l bmJsLXNlY3VyZS5jCmluZGV4IGRiYTM5YTEyM2UuLjNiMWRkOTc5NWYgMTAwNjQ0Ci0tLSBhL2Vs Zi9lbmJsLXNlY3VyZS5jCisrKyBiL2VsZi9lbmJsLXNlY3VyZS5jCkBAIC0yMiw3ICsyMiw3IEBA CiAjaWYgQlVJTERfUElFX0RFRkFVTFQKICMgcHJhZ21hIEdDQyB2aXNpYmlsaXR5IHB1c2goaGlk ZGVuKQogI2VuZGlmCi0jaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RhcnR1cC5oPgog I2luY2x1ZGUgPGxpYmMtaW50ZXJuYWwuaD4KIAogLyogSWYgbm9uemVybyBfX2xpYmNfZW5hYmxl X3NlY3VyZSBpcyBhbHJlYWR5IHNldC4gICovCkBAIC0zNCw2ICszNCw2IEBAIHZvaWQKIF9fbGli Y19pbml0X3NlY3VyZSAodm9pZCkKIHsKICAgaWYgKF9fbGliY19lbmFibGVfc2VjdXJlX2RlY2lk ZWQgPT0gMCkKLSAgICBfX2xpYmNfZW5hYmxlX3NlY3VyZSA9IChfX2dldGV1aWQgKCkgIT0gX19n ZXR1aWQgKCkKLQkJCSAgICB8fCBfX2dldGVnaWQgKCkgIT0gX19nZXRnaWQgKCkpOworICAgIF9f bGliY19lbmFibGVfc2VjdXJlID0gKHN0YXJ0dXBfZ2V0ZXVpZCAoKSAhPSBzdGFydHVwX2dldHVp ZCAoKQorCQkJICAgIHx8IHN0YXJ0dXBfZ2V0ZWdpZCAoKSAhPSBzdGFydHVwX2dldGdpZCAoKSk7 CiB9CmRpZmYgLS1naXQgYS9zeXNkZXBzL2dlbmVyaWMvc3RhcnR1cC5oIGIvc3lzZGVwcy9nZW5l cmljL3N0YXJ0dXAuaAppbmRleCA1NmM4OTlhNjVlLi4wNGYyMGNkZTQ3IDEwMDY0NAotLS0gYS9z eXNkZXBzL2dlbmVyaWMvc3RhcnR1cC5oCisrKyBiL3N5c2RlcHMvZ2VuZXJpYy9zdGFydHVwLmgK QEAgLTE5LDUgKzE5LDMxIEBACiAvKiBUYXJnZXRzIHNob3VsZCBvdmVycmlkZSB0aGlzIGZpbGUg aWYgdGhlIGRlZmF1bHQgZGVmaW5pdGlvbnMgYmVsb3cKICAgIHdpbGwgbm90IHdvcmsgY29ycmVj dGx5IHZlcnkgZWFybHkgYmVmb3JlIFRMUyBpcyBpbml0aWFsaXplZC4gICovCiAKKyNpbmNsdWRl IDx1bmlzdGQuaD4KKwogLyogVXNlIG1hY3JvIGluc3RlYWQgb2YgaW5saW5lIGZ1bmN0aW9uIHRv IGF2b2lkIGluY2x1ZGluZyA8c3RkaW8uaD4uICAqLwogI2RlZmluZSBfc3RhcnR1cF9mYXRhbCht ZXNzYWdlKSBfX2xpYmNfZmF0YWwgKChtZXNzYWdlKSkKKworc3RhdGljIGlubGluZSB1aWRfdAor c3RhcnR1cF9nZXR1aWQgKHZvaWQpCit7CisgIHJldHVybiBfX2dldHVpZCAoKTsKK30KKworc3Rh dGljIGlubGluZSB1aWRfdAorc3RhcnR1cF9nZXRldWlkICh2b2lkKQoreworICByZXR1cm4gX19n ZXRldWlkICgpOworfQorCitzdGF0aWMgaW5saW5lIGdpZF90CitzdGFydHVwX2dldGdpZCAodm9p ZCkKK3sKKyAgcmV0dXJuIF9fZ2V0Z2lkICgpOworfQorCitzdGF0aWMgaW5saW5lIGdpZF90Citz dGFydHVwX2dldGVnaWQgKHZvaWQpCit7CisgIHJldHVybiBfX2dldGVnaWQgKCk7Cit9CmRpZmYg LS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3N0YXJ0dXAuaCBiL3N5c2RlcHMv dW5peC9zeXN2L2xpbnV4L2kzODYvc3RhcnR1cC5oCmluZGV4IDNlYjRjYzQzYTIuLmRlZTdhNGYx ZDMgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3RhcnR1cC5oCisr KyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3RhcnR1cC5oCkBAIC0xNywxMSArMTcs MTIgQEAKICAgIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwogCiAjaWYgQlVJ TERfUElFX0RFRkFVTFQKLSMgaW5jbHVkZSA8YWJvcnQtaW5zdHIuaD4KLQogLyogQ2FuJ3QgdXNl ICJjYWxsIColZ3M6U1lTSU5GT19PRkZTRVQiIGR1cmluZyBzdGF0dXAgaW4gc3RhdGljIFBJRS4g ICovCiAjIGRlZmluZSBJMzg2X1VTRV9TWVNFTlRFUiAwCiAKKyMgaW5jbHVkZSA8c3lzZGVwLmg+ CisjIGluY2x1ZGUgPGFib3J0LWluc3RyLmg+CisKIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJu X18pKQogc3RhdGljIGlubGluZSB2b2lkCiBfc3RhcnR1cF9mYXRhbCAoY29uc3QgY2hhciAqbWVz c2FnZSBfX2F0dHJpYnV0ZV9fICgodW51c2VkKSkpCkBAIC0zMSw2ICszMiwzMCBAQCBfc3RhcnR1 cF9mYXRhbCAoY29uc3QgY2hhciAqbWVzc2FnZSBfX2F0dHJpYnV0ZV9fICgodW51c2VkKSkpCiAg IEFCT1JUX0lOU1RSVUNUSU9OOwogICBfX2J1aWx0aW5fdW5yZWFjaGFibGUgKCk7CiB9CisKK3N0 YXRpYyBpbmxpbmUgdWlkX3QKK3N0YXJ0dXBfZ2V0dWlkICh2b2lkKQoreworICByZXR1cm4gKHVp ZF90KSBJTlRFUk5BTF9TWVNDQUxMX0NBTEwgKGdldHVpZDMyKTsKK30KKworc3RhdGljIGlubGlu ZSB1aWRfdAorc3RhcnR1cF9nZXRldWlkICh2b2lkKQoreworICByZXR1cm4gKHVpZF90KSBJTlRF Uk5BTF9TWVNDQUxMX0NBTEwgKGdldGV1aWQzMik7Cit9CisKK3N0YXRpYyBpbmxpbmUgZ2lkX3QK K3N0YXJ0dXBfZ2V0Z2lkICh2b2lkKQoreworICByZXR1cm4gKGdpZF90KSBJTlRFUk5BTF9TWVND QUxMX0NBTEwgKGdldGdpZDMyKTsKK30KKworc3RhdGljIGlubGluZSBnaWRfdAorc3RhcnR1cF9n ZXRlZ2lkICh2b2lkKQoreworICByZXR1cm4gKGdpZF90KSBJTlRFUk5BTF9TWVNDQUxMX0NBTEwg KGdldGVnaWQzMik7Cit9CiAjZWxzZQogIyBpbmNsdWRlX25leHQgPHN0YXJ0dXAuaD4KICNlbmRp ZgotLSAKMi4yOS4yCgo= --000000000000f24c1f05b8f8181c Content-Type: text/x-patch; charset="US-ASCII"; name="0001-libmvec-Add-extra-test-objs-to-test-extras.patch" Content-Disposition: attachment; filename="0001-libmvec-Add-extra-test-objs-to-test-extras.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kjyv92823 RnJvbSBhYTNkNzYyZTQxNjEwYmJmNWMwMTZhMjE5MDIxZjA1NWI4YjQ2MzM3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IFRodSwgMTQgSmFuIDIwMjEgMTg6Mzk6MjQgLTA4MDAKU3ViamVjdDogW1BBVENIIDEvNF0gbGli bXZlYzogQWRkIGV4dHJhLXRlc3Qtb2JqcyB0byB0ZXN0LWV4dHJhcwoKQWRkIGV4dHJhLXRlc3Qt b2JqcyB0byB0ZXN0LWV4dHJhcyBzbyB0aGF0IHRoZXkgYXJlIGNvbXBpbGVkIHdpdGgKLURNT0RV TEVfTkFNRT10ZXN0c3VpdGUgaW5zdGVhZCBvZiAtRE1PRFVMRV9OQU1FPWxpYmMuCi0tLQogc3lz ZGVwcy94ODZfNjQvZnB1L01ha2VmaWxlIHwgOCArKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDgg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3N5c2RlcHMveDg2XzY0L2ZwdS9NYWtlZmlsZSBi L3N5c2RlcHMveDg2XzY0L2ZwdS9NYWtlZmlsZQppbmRleCBhNGZmMjcyM2E4Li45YTRiZGQwNzVj IDEwMDY0NAotLS0gYS9zeXNkZXBzL3g4Nl82NC9mcHUvTWFrZWZpbGUKKysrIGIvc3lzZGVwcy94 ODZfNjQvZnB1L01ha2VmaWxlCkBAIC0zMSw2ICszMSwxMiBAQCBsaWJtdmVjLXRlc3RzICs9IGRv dWJsZS12bGVuMiBkb3VibGUtdmxlbjQgZG91YmxlLXZsZW40LWF2eDIgXAogdGVzdHMgKz0gdGVz dC1kb3VibGUtbGlibXZlYy1zaW5jb3MgdGVzdC1kb3VibGUtbGlibXZlYy1zaW5jb3MtYXZ4IFwK IAkgdGVzdC1kb3VibGUtbGlibXZlYy1zaW5jb3MtYXZ4MiB0ZXN0LWZsb2F0LWxpYm12ZWMtc2lu Y29zZiBcCiAJIHRlc3QtZmxvYXQtbGlibXZlYy1zaW5jb3NmLWF2eCB0ZXN0LWZsb2F0LWxpYm12 ZWMtc2luY29zZi1hdngyCit0ZXN0LWV4dHJhcyArPSB0ZXN0LWRvdWJsZS1saWJtdmVjLXNpbmNv cy1hdngtbWFpbiBcCisJCSAgIHRlc3QtZG91YmxlLWxpYm12ZWMtc2luY29zLWF2eDItbWFpbiBc CisJCSAgIHRlc3QtZG91YmxlLWxpYm12ZWMtc2luY29zLW1haW4gXAorCQkgICB0ZXN0LWZsb2F0 LWxpYm12ZWMtc2luY29zZi1hdngtbWFpbiBcCisJCSAgIHRlc3QtZmxvYXQtbGlibXZlYy1zaW5j b3NmLWF2eDItbWFpbiBcCisJCSAgIHRlc3QtZmxvYXQtbGlibXZlYy1zaW5jb3NmLW1haW4KIGV4 dHJhLXRlc3Qtb2JqcyArPSB0ZXN0LWRvdWJsZS1saWJtdmVjLXNpbmNvcy1hdngtbWFpbi5vIFwK IAkJICAgdGVzdC1kb3VibGUtbGlibXZlYy1zaW5jb3MtYXZ4Mi1tYWluLm8gXAogCQkgICB0ZXN0 LWRvdWJsZS1saWJtdmVjLXNpbmNvcy1tYWluLm8gXApAQCAtNjYsNiArNzIsOCBAQCBpZmVxICh5 ZXMsJChjb25maWctY2ZsYWdzLWF2eDUxMikpCiBsaWJtdmVjLXRlc3RzICs9IGRvdWJsZS12bGVu OCBmbG9hdC12bGVuMTYKIHRlc3RzICs9IHRlc3QtZG91YmxlLWxpYm12ZWMtc2luY29zLWF2eDUx MiBcCiAJIHRlc3QtZmxvYXQtbGlibXZlYy1zaW5jb3NmLWF2eDUxMgordGVzdC1leHRyYXMgKz0g dGVzdC1kb3VibGUtbGlibXZlYy1zaW5jb3MtYXZ4NTEyLW1haW4gXAorCSAgICAgICB0ZXN0LWZs b2F0LWxpYm12ZWMtc2luY29zZi1hdng1MTItbWFpbgogZXh0cmEtdGVzdC1vYmpzICs9IHRlc3Qt ZG91YmxlLWxpYm12ZWMtc2luY29zLWF2eDUxMi1tYWluLm8gXAogCQkgICB0ZXN0LWZsb2F0LWxp Ym12ZWMtc2luY29zZi1hdng1MTItbWFpbi5vCiAKLS0gCjIuMjkuMgoK --000000000000f24c1f05b8f8181c Content-Type: text/x-patch; charset="US-ASCII"; name="0002-Make-all-symbols-used-before-and-by-_dl_relocate_sta.patch" Content-Disposition: attachment; filename="0002-Make-all-symbols-used-before-and-by-_dl_relocate_sta.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kjyv92812 RnJvbSA1MmRkNjUwZDdiMjMxZmUyMDYzNGFmZTNlMjYxZTY3ZjMzYjY2ODY5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IFRodSwgMTQgSmFuIDIwMjEgMTY6NDA6NDMgLTA4MDAKU3ViamVjdDogW1BBVENIIDIvNF0gTWFr ZSBhbGwgc3ltYm9scyB1c2VkIGJlZm9yZSBhbmQgYnkKIF9kbF9yZWxvY2F0ZV9zdGF0aWNfcGll IGhpZGRlbgoKT24gaTM4NiwgYWxsIGNhbGxzIHRvIElGVU5DIGZ1bmN0aW9ucyBtdXN0IGdvIHRo cm91Z2ggUExUIGFuZCBjYWxscyB0bwpoaWRkZW4gZnVuY3Rpb25zIENBTk5PVCBnbyB0aHJvdWdo IFBMVCBpbiBQSUUgc2luY2UgRUJYIHVzZWQgaW4gUElFIFBMVAptYXkgbm90IGJlIHNldCB1cCBm b3IgbG9jYWwgY2FsbHMgdG8gaGlkZGVuIElGVU5DIGZ1bmN0aW9ucy4KCkV2ZW4gaWYgd2UgY2Fu J3QgbWFrZSBhbGwgbGliYyBzeW1ib2xzIGhpZGRlbiBmb3Igc3RhdGljIFBJRSBvbiBpMzg2LCB3 ZQptdXN0IG1ha2UgYWxsIHN5bWJvbHMgdXNlZCBiZWZvcmUgYW5kIGJ5IF9kbF9yZWxvY2F0ZV9z dGF0aWNfcGllIGhpZGRlbi4KCkluIHN0YXRpYyBQSUUsIHNldCB0aGUgZGVmYXVsdCBfZGxfc3lz aW5mbyBpbiBfZGxfYXV4X2luaXQsIGluc3RlYWQgb2YKdXNpbmcgdGhlIFJFTEFUSVZFIHJlbG9j YXRpb24gdG8gaW50aWFsaXplIGl0LgotLS0KIGVsZi9kbC1yZWxvYy1zdGF0aWMtcGllLmMgfCAg MSArCiBlbGYvZGwtc3VwcG9ydC5jICAgICAgICAgIHwgMTYgKysrKysrKysrKysrKysrLQogZWxm L2RsLXR1bmFibGVzLmMgICAgICAgICB8ICAzICsrKwogZWxmL2VuYmwtc2VjdXJlLmMgICAgICAg ICB8ICAzICsrKwogNCBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvZWxmL2RsLXJlbG9jLXN0YXRpYy1waWUuYyBiL2VsZi9kbC1yZWxv Yy1zdGF0aWMtcGllLmMKaW5kZXggYThkOTY0MDYxZS4uY2MzNGMyZDJmZSAxMDA2NDQKLS0tIGEv ZWxmL2RsLXJlbG9jLXN0YXRpYy1waWUuYworKysgYi9lbGYvZGwtcmVsb2Mtc3RhdGljLXBpZS5j CkBAIC0xNyw2ICsxNyw3IEBACiAgICA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAg Ki8KIAogI2lmIEVOQUJMRV9TVEFUSUNfUElFCisjcHJhZ21hIEdDQyB2aXNpYmlsaXR5IHB1c2go aGlkZGVuKQogI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPGxkc29kZWZzLmg+CiAjaW5j bHVkZSAiZHluYW1pYy1saW5rLmgiCmRpZmYgLS1naXQgYS9lbGYvZGwtc3VwcG9ydC5jIGIvZWxm L2RsLXN1cHBvcnQuYwppbmRleCA5ZDQ2OGQ1YTRiLi40ZmJmMzNjOTgyIDEwMDY0NAotLS0gYS9l bGYvZGwtc3VwcG9ydC5jCisrKyBiL2VsZi9kbC1zdXBwb3J0LmMKQEAgLTE5LDYgKzE5LDEwIEBA CiAvKiBUaGlzIGZpbGUgZGVmaW5lcyBzb21lIHRoaW5ncyB0aGF0IGZvciB0aGUgZHluYW1pYyBs aW5rZXIgYXJlIGRlZmluZWQgaW4KICAgIHJ0bGQuYyBhbmQgZGwtc3lzZGVwLmMgaW4gd2F5cyBh cHByb3ByaWF0ZSB0byBib290c3RyYXAgZHluYW1pYyBsaW5raW5nLiAgKi8KIAorI2luY2x1ZGUg PHN0cmluZy5oPgorI2lmIEJVSUxEX1BJRV9ERUZBVUxUCisjIHByYWdtYSBHQ0MgdmlzaWJpbGl0 eSBwdXNoKGhpZGRlbikKKyNlbmRpZgogI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8bGli aW50bC5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgpAQCAtMTk0LDcgKzE5OCwxMiBAQCBzdHJ1Y3Qg ZGxfc2NvcGVfZnJlZV9saXN0ICpfZGxfc2NvcGVfZnJlZV9saXN0OwogCiAjaWZkZWYgTkVFRF9E TF9TWVNJTkZPCiAvKiBOZWVkZWQgZm9yIGltcHJvdmVkIHN5c2NhbGwgaGFuZGxpbmcgb24gYXQg bGVhc3QgeDg2L0xpbnV4LiAgKi8KLXVpbnRwdHJfdCBfZGxfc3lzaW5mbyA9IERMX1NZU0lORk9f REVGQVVMVDsKK3VpbnRwdHJfdCBfZGxfc3lzaW5mbworLyogTkI6IEF2b2lkIFJFTEFUSVZFIHJl bG9jYXRpb24gaW4gc3RhdGljIFBJRS4gICovCisjIGlmbmRlZiBCVUlMRF9QSUVfREVGQVVMVAor ICA9IERMX1NZU0lORk9fREVGQVVMVAorIyBlbmRpZgorOwogI2VuZGlmCiAjaWZkZWYgTkVFRF9E TF9TWVNJTkZPX0RTTwogLyogQWRkcmVzcyBvZiB0aGUgRUxGIGhlYWRlcnMgaW4gdGhlIHZzeXNj YWxsIHBhZ2UuICAqLwpAQCAtMjMyLDYgKzI0MSwxMSBAQCBfZGxfYXV4X2luaXQgKEVsZlcoYXV4 dl90KSAqYXYpCiAgIHVpZF90IHVpZCA9IDA7CiAgIGdpZF90IGdpZCA9IDA7CiAKKyNpZiBkZWZp bmVkIE5FRURfRExfU1lTSU5GTyAmJiBCVUlMRF9QSUVfREVGQVVMVAorICAvKiBOQjogQXZvaWQg UkVMQVRJVkUgcmVsb2NhdGlvbiBpbiBzdGF0aWMgUElFLiAgKi8KKyAgR0woZGxfc3lzaW5mbykg PSBETF9TWVNJTkZPX0RFRkFVTFQ7CisjZW5kaWYKKwogICBfZGxfYXV4diA9IGF2OwogICBmb3Ig KDsgYXYtPmFfdHlwZSAhPSBBVF9OVUxMOyArK2F2KQogICAgIHN3aXRjaCAoYXYtPmFfdHlwZSkK ZGlmZiAtLWdpdCBhL2VsZi9kbC10dW5hYmxlcy5jIGIvZWxmL2RsLXR1bmFibGVzLmMKaW5kZXgg ZTQ0NDc2ZjIwNC4uMDYwOTU2OTAyZCAxMDA2NDQKLS0tIGEvZWxmL2RsLXR1bmFibGVzLmMKKysr IGIvZWxmL2RsLXR1bmFibGVzLmMKQEAgLTE4LDYgKzE4LDkgQEAKICAgIExpY2Vuc2UgYWxvbmcg d2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKICAgIDxodHRwczovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uICAqLwogCisjaWYgQlVJTERfUElFX0RFRkFVTFQKKyMgcHJhZ21hIEdD QyB2aXNpYmlsaXR5IHB1c2goaGlkZGVuKQorI2VuZGlmCiAjaW5jbHVkZSA8c3RhcnR1cC5oPgog I2luY2x1ZGUgPHN0ZGludC5oPgogI2luY2x1ZGUgPHN0ZGJvb2wuaD4KZGlmZiAtLWdpdCBhL2Vs Zi9lbmJsLXNlY3VyZS5jIGIvZWxmL2VuYmwtc2VjdXJlLmMKaW5kZXggYmM4YzVlOTZkMi4uZGJh MzlhMTIzZSAxMDA2NDQKLS0tIGEvZWxmL2VuYmwtc2VjdXJlLmMKKysrIGIvZWxmL2VuYmwtc2Vj dXJlLmMKQEAgLTE5LDYgKzE5LDkgQEAKIC8qIFRoaXMgZmlsZSBpcyB1c2VkIGluIHRoZSBzdGF0 aWMgbGliYy4gIEZvciB0aGUgc2hhcmVkIGxpYnJhcnksCiAgICBkbC1zeXNkZXAuYyBkZWZpbmVz IGFuZCBpbml0aWFsaXplcyBfX2xpYmNfZW5hYmxlX3NlY3VyZS4gICovCiAKKyNpZiBCVUlMRF9Q SUVfREVGQVVMVAorIyBwcmFnbWEgR0NDIHZpc2liaWxpdHkgcHVzaChoaWRkZW4pCisjZW5kaWYK ICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDxsaWJjLWludGVybmFsLmg+CiAKLS0gCjIu MjkuMgoK --000000000000f24c1f05b8f8181c--