From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= Subject: Re: [PATCH v4 3/4] libelf: rewrite symtab/strtab loading Date: Mon, 29 Feb 2016 17:20:08 +0100 Message-ID: <56D46FB8.7070304@citrix.com> References: <1455644269-40358-1-git-send-email-roger.pau@citrix.com> <1455644269-40358-4-git-send-email-roger.pau@citrix.com> <56D05DE602000078000D6B74@prv-mh.provo.novell.com> <56D08517.8070801@citrix.com> <56D41DFE02000078000D7240@prv-mh.provo.novell.com> <56D42411.6090704@citrix.com> <56D4444102000078000D7476@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.84) (envelope-from ) id 1aaQYQ-0002v7-Fi for xen-devel@lists.xenproject.org; Mon, 29 Feb 2016 16:20:14 +0000 In-Reply-To: <56D4444102000078000D7476@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich Cc: xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org RWwgMjkvMi8xNiBhIGxlcyAxMzoxNCwgSmFuIEJldWxpY2ggaGEgZXNjcml0Ogo+Pj4+IE9uIDI5 LjAyLjE2IGF0IDExOjU3LCA8cm9nZXIucGF1QGNpdHJpeC5jb20+IHdyb3RlOgo+PiBFbCAyOS8y LzE2IGEgbGVzIDEwOjMxLCBKYW4gQmV1bGljaCBoYSBlc2NyaXQ6Cj4+Pj4+PiBPbiAyNi4wMi4x NiBhdCAxODowMiwgPHJvZ2VyLnBhdUBjaXRyaXguY29tPiB3cm90ZToKPj4+PiBUaGUgbGF5b3V0 IGlzIGFzIGZvbGxvd3MgKEkgc2hvdWxkIGFkZCB0aGlzIHRvIHRoZSBwYXRjaCBpdHNlbGYgYXMg YQo+Pj4+IGNvbW1lbnQsIHNpbmNlIEkgZ3Vlc3MgdGhpcyBpcyBzdGlsbCBxdWl0ZSBjb25mdXNp bmcpOgo+Pj4+Cj4+Pj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPj4+PiB8ICAgICAgICAg ICAgICAgICAgICAgICAgfAo+Pj4+IHwgS0VSTkVMICAgICAgICAgICAgICAgICB8Cj4+Pj4gfCAg ICAgICAgICAgICAgICAgICAgICAgIHwKPj4+PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyBw ZW5kCj4+Pj4gfCBBTElHTk1FTlQgICAgICAgICAgICAgIHwKPj4+PiArLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKyBic2Rfc3ltdGFiX3BzdGFydAo+Pj4+IHwgICAgICAgICAgICAgICAgICAgICAg ICB8Cj4+Pj4gfCBzaXplICAgICAgICAgICAgICAgICAgIHwgYnNkX3N5bXRhYl9wZW5kIC0gYnNk X3N5bXRhYl9wc3RhcnQKPj4+PiB8ICAgICAgICAgICAgICAgICAgICAgICAgfAo+Pj4+ICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4+Pj4gfCAgICAgICAgICAgICAgICAgICAgICAgIHwKPj4+ PiB8IEVMRiBoZWFkZXIgICAgICAgICAgICAgfAo+Pj4+IHwgICAgICAgICAgICAgICAgICAgICAg ICB8Cj4+Pj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPj4+PiB8ICAgICAgICAgICAgICAg ICAgICAgICAgfAo+Pj4+IHwgRUxGIHNlY3Rpb24gaGVhZGVyIDAgICB8IER1bW15IHNlY3Rpb24g aGVhZGVyCj4+Pj4gfCAgICAgICAgICAgICAgICAgICAgICAgIHwKPj4+PiArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKwo+Pj4+IHwgICAgICAgICAgICAgICAgICAgICAgICB8Cj4+Pj4gfCBFTEYg c2VjdGlvbiBoZWFkZXIgMSAgIHwgU1lNVEFCIHNlY3Rpb24gaGVhZGVyCj4+Pj4gfCAgICAgICAg ICAgICAgICAgICAgICAgIHwKPj4+PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+Pj4+IHwg ICAgICAgICAgICAgICAgICAgICAgICB8Cj4+Pj4gfCBFTEYgc2VjdGlvbiBoZWFkZXIgMiAgIHwg U1RSVEFCIHNlY3Rpb24gaGVhZGVyCj4+Pj4gfCAgICAgICAgICAgICAgICAgICAgICAgIHwKPj4+ PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+Pj4+IHwgICAgICAgICAgICAgICAgICAgICAg ICB8Cj4+Pj4gfCBTWU1UQUIgICAgICAgICAgICAgICAgIHwKPj4+PiB8ICAgICAgICAgICAgICAg ICAgICAgICAgfAo+Pj4+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4+Pj4gfCAgICAgICAg ICAgICAgICAgICAgICAgIHwKPj4+PiB8IFNUUlRBQiAgICAgICAgICAgICAgICAgfAo+Pj4+IHwg ICAgICAgICAgICAgICAgICAgICAgICB8Cj4+Pj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsg YnNkX3N5bXRhYl9wZW5kCj4+Pj4KPj4+PiBUaGVyZSBhcmUgYWx3YXlzIG9ubHkgdHJlZSBzZWN0 aW9ucyBiZWNhdXNlIHRoYXQncyBhbGwgd2UgbmVlZCwgc2VjdGlvbgo+Pj4+IDAgaXMgaWdub3Jl ZCwgc2VjdGlvbiAxIGlzIHVzZWQgdG8gZGVzY3JpYmUgdGhlIFNZTVRBQiwgYW5kIHNlY3Rpb24g MiBpcwo+Pj4+IHVzZWQgdG8gZGVzY3JpYmUgdGhlIFNUUlRBQi4KPj4+Cj4+PiBBbGwgZmluZSwg YnV0IHRoaXMgc3RpbGwgZG9lc24ndCBjbGFyaWZ5IGhvdyB0aGUga2VybmVsIGxlYXJucyB3aGVy ZQo+Pj4gYnNkX3N5bXRhYl9wc3RhcnQgaXMuCj4+Cj4+IFRoZSBCU0RzIGxpbmtlciBzY3JpcHRz IHBsYWNlcyBhbiAiZW5kIiBzeW1ib2wgYWZ0ZXIgYWxsIHRoZSBsb2FkZWQKPj4gc2VjdGlvbnM6 Cj4+Cj4+IGh0dHBzOi8vc3Zud2ViLmZyZWVic2Qub3JnL2Jhc2UvaGVhZC9zeXMvY29uZi9sZHNj cmlwdC5hbWQ2ND9yZXZpc2lvbj0yODQ4NzAmIAo+PiB2aWV3PWNvCj4gCj4gVGhhdCdzIGZpbmUu IEJ1dCBob3cgZG8gdGhleSBrbm93IGl0IGlzIGxlZ2l0aW1hdGUgdG8gZXZlbiB0b3VjaCB3aGF0 Cj4gZm9sbG93cywgbm90IHRvIHNwZWFrIG9mIGFzc2lnbiBtZWFuaW5nIHRvIHRoZSB2YWx1ZSBm b3VuZCB0aGVyZT8KClRoZSBrZXJuZWwgc2lnbmFscyB0aGF0IGl0IHdhbnRzIGl0J3MgU1lNVEFC L1NUUlRBQiBsb2FkZWQgdXNpbmcgdGhlClhFTl9FTEZOT1RFX0JTRF9TWU1UQUIgRUxGTk9URS4g VGhlbiBBRkFJQ1QgaXQncyBqdXN0IGEgbWF0dGVyIG9mCidmYWl0aCcsIHRoZXJlJ3Mgbm8gc2ln bmFsIGZyb20gWGVuIHRvIHRoZSBndWVzdCBrZXJuZWwgaW4gb3JkZXIgdG8KY29uZmlybSB0aGF0 IHRoZSBTWU1UQUIgaGFzIGluZGVlZCBiZWVuIGxvYWRlZC4uLgoKVGhlcmUncyB0aGUgRUxGIG1h Z2ljIGluIHRoZSBoZWFkZXIsIHRoYXQgb25lIGNhbiBjaGVjayBpbiBvcmRlciB0byBtYWtlCnN1 cmUsIGJ1dCBhcGFydCBmcm9tIHRoYXQgSSBkb24ndCB0aGluayB0aGVyZSdzIGFueXRoaW5nIGVs c2UuCgo+IEFuZCBhcmUgdGhlcmUgbm8gYWxpZ25tZW50L3BhZGRpbmcgY29uc2lkZXJhdGlvbnMg bmVjZXNzYXJ5PwoKYnNkX3N5bXRhYl9wc3RhcnQgaXMgYWxpZ25lZCB0byA0IG9yIDggYnl0ZXMg KGRlcGVuZGluZyBvbiB0aGUga2VybmVsCmJpdG5lc3MpLgoKSU1ITywgdGhlIGJlc3Qgd2F5IHRv IHNvbHZlIHRoaXMgd291bGQgYmUgdG8gcGFzcyB0aGUgU1lNVEFCIGFuZCBTVFJUQUIKYXMgbW9k dWxlcyBmb3IgUFZIICh1c2luZyB0aGUgbmV3IG1vZHVsZSBsaXN0IHRoYXQgd2FzIGludHJvZHVj ZWQgd2l0aAp0aGUgbmV3IGJvb3QgQUJJKSwgYW5kIHVzZSB0aGUgbW9kdWxlIGNvbW1hbmQgbGlu ZSB0byBzaWduYWwgd2hpY2ggb25lCmlzIHRoZSBzdHJ0YWIgYW5kIHdoaWNoIG9uZSBpcyB0aGUg c3ltdGFiLgoKSSB0aGluayB0aGlzIGNhbiBiZSBkb25lIGluIGEgYmFja3dhcmRzIGNvbXBhdGli bGUgd2F5LCBidXQgdGhpcyBpcyBvdXQKb2YgdGhlIHNjb3BlIG9mIHRoaXMgcGF0Y2guCgo+Pj4+ Pj4gICAgICBzeiA9IGVsZl9yb3VuZF91cChlbGYsIHN6KTsKPj4+Pj4+ICAKPj4+Pj4+IC0gICAg LyogU3BhY2UgZm9yIHRoZSBzeW1ib2wgYW5kIHN0cmluZyB0YWJsZXMuICovCj4+Pj4+PiArICAg IC8qIFNwYWNlIGZvciB0aGUgc3ltYm9sIGFuZCBzdHJpbmcgdGFibGUuICovCj4+Pj4+PiAgICAg IGZvciAoIGkgPSAwOyBpIDwgZWxmX3NoZHJfY291bnQoZWxmKTsgaSsrICkKPj4+Pj4+ICAgICAg ewo+Pj4+Pj4gICAgICAgICAgc2hkciA9IGVsZl9zaGRyX2J5X2luZGV4KGVsZiwgaSk7Cj4+Pj4+ PiAgICAgICAgICBpZiAoICFlbGZfYWNjZXNzX29rKGVsZiwgRUxGX0hBTkRMRV9QVFJWQUwoc2hk ciksIDEpICkKPj4+Pj4+ICAgICAgICAgICAgICAvKiBpbnB1dCBoYXMgYW4gaW5zYW5lIHNlY3Rp b24gaGVhZGVyIGNvdW50IGZpZWxkICovCj4+Pj4+PiAgICAgICAgICAgICAgYnJlYWs7Cj4+Pj4+ PiAtICAgICAgICB0eXBlID0gZWxmX3V2YWwoZWxmLCBzaGRyLCBzaF90eXBlKTsKPj4+Pj4+IC0g ICAgICAgIGlmICggKHR5cGUgPT0gU0hUX1NUUlRBQikgfHwgKHR5cGUgPT0gU0hUX1NZTVRBQikg KQo+Pj4+Pj4gLSAgICAgICAgICAgIHN6ID0gZWxmX3JvdW5kX3VwKGVsZiwgc3ogKyBlbGZfdXZh bChlbGYsIHNoZHIsIHNoX3NpemUpKTsKPj4+Pj4+ICsKPj4+Pj4+ICsgICAgICAgIGlmICggZWxm X3V2YWwoZWxmLCBzaGRyLCBzaF90eXBlKSAhPSBTSFRfU1lNVEFCICkKPj4+Pj4+ICsgICAgICAg ICAgICBjb250aW51ZTsKPj4+Pj4+ICsKPj4+Pj4+ICsgICAgICAgIHN6ID0gZWxmX3JvdW5kX3Vw KGVsZiwgc3ogKyBlbGZfdXZhbChlbGYsIHNoZHIsIHNoX3NpemUpKTsKPj4+Pj4+ICsgICAgICAg IHNoZHIgPSBlbGZfc2hkcl9ieV9pbmRleChlbGYsIGVsZl91dmFsKGVsZiwgc2hkciwgc2hfbGlu aykpOwo+Pj4+Pj4gKwo+Pj4+Pj4gKyAgICAgICAgaWYgKCAhZWxmX2FjY2Vzc19vayhlbGYsIEVM Rl9IQU5ETEVfUFRSVkFMKHNoZHIpLCAxKSApCj4+Pj4+PiArICAgICAgICAgICAgLyogaW5wdXQg aGFzIGFuIGluc2FuZSBzZWN0aW9uIGhlYWRlciBjb3VudCBmaWVsZCAqLwo+Pj4+Pj4gKyAgICAg ICAgICAgIGJyZWFrOwo+Pj4+Pj4gKwo+Pj4+Pj4gKyAgICAgICAgaWYgKCBlbGZfdXZhbChlbGYs IHNoZHIsIHNoX3R5cGUpICE9IFNIVF9TVFJUQUIgKQo+Pj4+Pj4gKyAgICAgICAgICAgIC8qIElu dmFsaWQgc3ltdGFiIC0+IHN0cnRhYiBsaW5rICovCj4+Pj4+PiArICAgICAgICAgICAgYnJlYWs7 Cj4+Pj4+Cj4+Pj4+IFRoaXMgaXMgbm90IHN1ZmZpY2llbnQgLSB3aGF0IGlmIHNoX2xpbmsgaXMg b3V0IG9mIGJvdW5kcywgYnV0IHRoZQo+Pj4+PiBib2d1c2x5IGFjY2Vzc2VkIGZpZWxkIGhhcHBl bnMgdG8gaG9sZCBTSFRfU1RSVEFCPyAoT2RkbHkKPj4+Pj4gZW5vdWdoIHlvdSBoYXZlIGF0IGxl YXN0IGFuIFNITl9VTkRFRiBjaGVjayBpbiB0aGUgc2Vjb25kCj4+Pj4+IGxvb3AgYmVsb3cuKQo+ Pj4+Cj4+Pj4gVGhlIG91dC1vZi1ib3VuZHMgYWNjZXNzIHdvdWxkIGJlIGRldGVjdGVkIGJ5IGVs Zl9hY2Nlc3Nfb2sgKGlmIGl0J3Mgb3V0Cj4+Pj4gb2YgdGhlIHNjb3BlIG9mIHRoZSBFTEYgZmls ZSwgd2hpY2ggaXMgYWxsIHdlIGNhcmUgYWJvdXQpLiBJbiBmYWN0IHRoZQo+Pj4+IGVsZl9hY2Nl c3Nfb2sgYWJvdmUgY291bGQgYmUgcmVtb3ZlZCBiZWNhdXNlIGVsZl91dmFsIGFscmVhZHkgcGVy Zm9ybXMKPj4+PiBvdXQtb2YtYm91bmRzIGNoZWNrcy4gVGhlIHJlc3VsdCBpcyBkZWZpbml0ZWx5 IG5vIHdvcnNlIHRoYXQgd2hhdCB3ZSBhcmUKPj4+PiBkb2luZyBBVE0uCj4+Pgo+Pj4gTm8sIHRo ZSBvdXQgb2YgYm91bmRzIGNoZWNrIHNob3VsZCBiZSBtb3JlIHN0cmljdCB0aGFuIGp1c3QKPj4+ IGNvbnNpZGVyaW5nIHRoZSB3aG9sZSBpbWFnZTogVGhlIGltYWdlIGlzIGJyb2tlbiBpZiB0aGUg bGluawo+Pj4gcG9pbnRzIHRvIGEgbm9uLWV4aXN0aW5nIHNlY3Rpb24uCj4+Cj4+IEFoLCBkbyB5 b3UgbWVhbiBJIHNob3VsZCBtYXJrIHRoZSBpbWFnZSBhcyBicm9rZW4gaWYgZWl0aGVyIG9mIHRo ZQo+PiBjaGVja3MgZmFpbD8KPiAKPiBQZXJoYXBzLCBidXQgbXkgbWFpbiBwb2ludCBjb250aW51 ZSB0byBiZSB0aGF0IHRoZXJlIGlzIGEgY2hlY2sKPiBtaXNzaW5nIGhlcmUuCgpJJ20gcXVpdGUg c3VyZSBJJ20gbWlzc2luZyBzb21ldGhpbmcsIGJ1dCB3aGF0IGtpbmQgb2YgZXh0cmEgY2hlY2tz IGRvCnlvdSBlbnZpc2lvbj8KCkFGQUlDVCwgd2UgYWxyZWFkeSBjaGVjayB0aGF0IHRoZSBzZWN0 aW9uIHdlIGFyZSB0cnlpbmcgdG8gbG9hZCBpcyBub3QKb3V0LW9mLWJvdW5kcyAoYm90aCBlbGZf YWNjZXNzX29rIGFuZCBlbGZfdXZhbCBtYWtlIHN1cmUgb2YgdGhhdCksIGFuZAp0aGF0IGl0IGhh cyB0aGUgcmlnaHQgdHlwZSAoU1RSVEFCKS4gQXBhcnQgZnJvbSB0aGF0LCBJIGRvbid0IGtub3cg d2hhdAplbHNlIHRvIGNoZWNrLiBUaGVyZSdzIG5vIHNpZ25hdHVyZSBpbiB0aGUgc2VjdGlvbiBo ZWFkZXJzIGluIG9yZGVyIHRvCmNoZWNrIGl0J3MgaW50ZWdyaXR5LgoKUm9nZXIuCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=