From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4747 invoked by alias); 16 Nov 2013 00:58:46 -0000 Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org Received: (qmail 4737 invoked by uid 89); 16 Nov 2013 00:58:46 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=3.1 required=5.0 tests=AWL,BAYES_99,RDNS_NONE,URIBL_BLOCKED autolearn=no version=3.3.2 X-HELO: multi.imgtec.com Received: from Unknown (HELO multi.imgtec.com) (194.200.65.239) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 16 Nov 2013 00:58:44 +0000 From: Jack Carter To: "libc-ports@sourceware.org" CC: "rdsandiford@googlemail.com" Subject: [PATCH] 2nd round of Mips ifunc support Date: Sat, 16 Nov 2013 01:11:00 -0000 Message-ID: <4CEFBC1BE64A8048869F799EF2D2EEEE4C516140@BADAG02.ba.imgtec.org> Content-Type: multipart/mixed; boundary="_003_4CEFBC1BE64A8048869F799EF2D2EEEE4C516140BADAG02baimgtec_" MIME-Version: 1.0 X-SEF-Processed: 7_3_0_01192__2013_11_16_00_42_14 X-SW-Source: 2013-11/txt/msg00026.txt.bz2 Message-ID: <20131116011100.a-j_tjkqPmIyTMnISZImmGoPP2ZGW-CWoVU3-Qi2EYs@z> --_003_4CEFBC1BE64A8048869F799EF2D2EEEE4C516140BADAG02baimgtec_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-length: 102 Attached is the second pass for Mips ifunc support in glibc. There is an abi attached as well. Jack --_003_4CEFBC1BE64A8048869F799EF2D2EEEE4C516140BADAG02baimgtec_ Content-Type: text/plain; name="ifunc_abi.txt" Content-Description: ifunc_abi.txt Content-Disposition: attachment; filename="ifunc_abi.txt"; size=8809; creation-date="Sat, 16 Nov 2013 00:38:50 GMT"; modification-date="Sat, 16 Nov 2013 00:38:50 GMT" Content-Transfer-Encoding: base64 Content-length: 11944 TWlwcyBHTlUgSUZVTkMgQUJJCgpJIHdpbGwgdXNlIHRoZSB0ZXJtcyBTVFRf R05VX0lGVU5DIGFuZCBJRlVOQyBpbnRlcmNoYW5nZWFibHkgYmVsb3cuCgoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioKPEdlbmVyaWMgRGVmaW5pdGlvbj4gVGFrZW4g ZnJvbToKaHR0cDovL2djYy5nbnUub3JnL29ubGluZWRvY3MvZ2NjLTQuOC4w L2djYy9GdW5jdGlvbi1BdHRyaWJ1dGVzLmh0bWwKKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqCmlmdW5jICgicmVzb2x2ZXIiKQogICAgVGhlIGlmdW5jIGF0dHJpYnV0 ZSBpcyB1c2VkIHRvIG1hcmsgYSBmdW5jdGlvbiBhcyBhbiBpbmRpcmVjdCAK ICAgIGZ1bmN0aW9uIHVzaW5nIHRoZSBTVFRfR05VX0lGVU5DIHN5bWJvbCB0 eXBlIGV4dGVuc2lvbiB0byB0aGUgCiAgICBFTEYgc3RhbmRhcmQuIFRoaXMg YWxsb3dzIHRoZSByZXNvbHV0aW9uIG9mIHRoZSBzeW1ib2wgdmFsdWUgCiAg ICB0byBiZSBkZXRlcm1pbmVkIGR5bmFtaWNhbGx5IGF0IGxvYWQgdGltZSwg YW5kIGFuIG9wdGltaXplZCAKICAgIHZlcnNpb24gb2YgdGhlIHJvdXRpbmUg Y2FuIGJlIHNlbGVjdGVkIGZvciB0aGUgcGFydGljdWxhciAKICAgIHByb2Nl c3NvciBvciBvdGhlciBzeXN0ZW0gY2hhcmFjdGVyaXN0aWNzIGRldGVybWlu ZWQgdGhlbi4gCiAgICBUbyB1c2UgdGhpcyBhdHRyaWJ1dGUsIGZpcnN0IGRl ZmluZSB0aGUgaW1wbGVtZW50YXRpb24gCiAgICBmdW5jdGlvbnMgYXZhaWxh YmxlLCBhbmQgYSByZXNvbHZlciBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSAK ICAgIHBvaW50ZXIgdG8gdGhlIHNlbGVjdGVkIGltcGxlbWVudGF0aW9uIGZ1 bmN0aW9uLiBUaGUgCiAgICBpbXBsZW1lbnRhdGlvbiBmdW5jdGlvbnMnIGRl Y2xhcmF0aW9ucyBtdXN0IG1hdGNoIHRoZSBBUEkgb2YgCiAgICB0aGUgZnVu Y3Rpb24gYmVpbmcgaW1wbGVtZW50ZWQsIHRoZSByZXNvbHZlcidzIGRlY2xh cmF0aW9uIAogICAgaXMgYmUgYSBmdW5jdGlvbiByZXR1cm5pbmcgcG9pbnRl ciB0byB2b2lkIGZ1bmN0aW9uIHJldHVybmluZyAKICAgIHZvaWQ6CgogICAg ICAgICAgICAgIHZvaWQgKm15X21lbWNweSAodm9pZCAqZHN0LCBjb25zdCB2 b2lkICpzcmMsIHNpemVfdCBsZW4pCiAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgLi4uCiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIAog ICAgICAgICAgICAgIHN0YXRpYyB2b2lkICgqcmVzb2x2ZV9tZW1jcHkgKHZv aWQpKSAodm9pZCkKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBy ZXR1cm4gbXlfbWVtY3B5OyAvLyB3ZSdsbCBqdXN0IGFsd2F5cyBzZWxlY3Qg dGhpcyByb3V0aW5lCiAgICAgICAgICAgICAgfQoKICAgIFRoZSBleHBvcnRl ZCBoZWFkZXIgZmlsZSBkZWNsYXJpbmcgdGhlIGZ1bmN0aW9uIHRoZSB1c2Vy IGNhbGxzIAogICAgd291bGQgY29udGFpbjoKCiAgICAgICAgICAgICAgZXh0 ZXJuIHZvaWQgKm1lbWNweSAodm9pZCAqLCBjb25zdCB2b2lkICosIHNpemVf dCk7CgogICAgYWxsb3dpbmcgdGhlIHVzZXIgdG8gY2FsbCB0aGlzIGFzIGEg cmVndWxhciBmdW5jdGlvbiwgdW5hd2FyZSAKICAgIG9mIHRoZSBpbXBsZW1l bnRhdGlvbi4gRmluYWxseSwgdGhlIGluZGlyZWN0IGZ1bmN0aW9uIG5lZWRz IAogICAgdG8gYmUgZGVmaW5lZCBpbiB0aGUgc2FtZSB0cmFuc2xhdGlvbiB1 bml0IGFzIHRoZSByZXNvbHZlciAKICAgIGZ1bmN0aW9uOgoKICAgICAgICAg ICAgICB2b2lkICptZW1jcHkgKHZvaWQgKiwgY29uc3Qgdm9pZCAqLCBzaXpl X3QpCiAgICAgICAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fICgoaWZ1bmMg KCJyZXNvbHZlX21lbWNweSIpKSk7CgogICAgSW5kaXJlY3QgZnVuY3Rpb25z IGNhbm5vdCBiZSB3ZWFrLCBhbmQgcmVxdWlyZSBhIHJlY2VudCBiaW51dGls cyAKICAgIChhdCBsZWFzdCB2ZXJzaW9uIDIuMjAuMSksIGFuZCBHTlUgQyBs aWJyYXJ5IChhdCBsZWFzdCB2ZXJzaW9uIDIuMTEuMSkuCiAgICAgCioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgo8TWlwcyBDIEV4YW1wbGU+CioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKgppbnQgZnVuYzEgKHZvaWQpIF9fYXR0cmlidXRlX18gKChpZnVuYyAo ImZ1bmMxX2lmdW5jIikpKTsKCnN0YXRpYyBpbnQgZjFfYSh2b2lkKXtyZXR1 cm4gMTt9CnN0YXRpYyBpbnQgZjFfYih2b2lkKXtyZXR1cm4gMjt9CnN0YXRp YyBpbnQgZjFfYyh2b2lkKXtyZXR1cm4gMzt9Cgp2b2lkICoKZnVuYzFfaWZ1 bmMgKHZvaWQpCnsKICB2b2xhdGlsZSBpbnQgcmVzdWx0OwogIHN0cnVjdCB1 dHNuYW1lIGJ1ZjsKICAKICBpZiAoKHVuYW1lKCZidWYpKSkKICAgIHJlc3Vs dCA9IDB4MzA7CiAgZWxzZQogICAgcmVzdWx0ID0gMHgzOwoKICBpZiAocmVz dWx0ICYgMHhmMCkKICAgIHJldHVybiBmMV9hOwogIGVsc2UgaWYgKHJlc3Vs dCAmIDB4MGYpCiAgICByZXR1cm4gZjFfYjsKICBlbHNlCiAgICByZXR1cm4g ZjFfYzsKfQoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqCjxSZXN1bHRpbmcgQXNzZW1i bHk+CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKgpBIG5ldyBzeW1ib2wgZm9yIHRoZSBp ZnVuYyByb3V0aW5lIGlzIGNyZWF0ZWQgdGhhdCBhc3NvY2lhdGVzIGl0CnRv IHRoZSByZWFsIGlmdW5jMV9mdW5jKCkgZnVuY3Rpb24uCgoJLnNpemUJZnVu YzFfaWZ1bmMsIC4tZnVuYzFfaWZ1bmMKCS5nbG9ibAlmdW5jMQoJLnR5cGUJ ZnVuYzEsIEBnbnVfaW5kaXJlY3RfZnVuY3Rpb24KCWZ1bmMxID0gZnVuYzFf aWZ1bmMKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKgo8UmVzdWx0aW5nIE9iamVjdD4K KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqCkEgbmV3IHN5bWJvbCBmdW5jMSBpcyBjcmVh dGVkIHdpdGggdGhlIG9ubHkgZGlmZmVyZW5jZSBmcm9tIApmdW5jMV9pZnVu YyBiZWluZyB0aGUgc2VjdGlvbiB0eXBlIFNUVF9HTlVfSUZVTkMuCgpTZWN0 aW9uIC5zeW10YWIKW05vXSBWYWx1ZSBTaXplIFR5cGUgIEJpbmQgICBPdGhl ciAgICBTaG5keCAgICAgTmFtZQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KWzIyXSAw eGQ4ICAweGJjIEZVTkMgIEdMT0JBTCBERUZBVUxUICgxKSAudGV4dCAoNDIp IGZ1bmMxX2lmdW5jClsyNV0gMHhkOCAgMHhiYyBJRlVOQyBHTE9CQUwgREVG QVVMVCAoMSkgLnRleHQgKDY5KSBmdW5jMQoKKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq CjxTdGF0aWMgTGlua2VyIEJlaGF2aW9yIGFuZCBvdXRwdXQ+CioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgpUaGVyZSBhcmUgMyBnZW5lcmFsIGxpbmtlciBvdXRwdXQg dmFyaWF0aW9ucyB0aGF0IGFyZSBhZGRyZXNzZWQKaGVyZToKCiAgMSkgU3Rh dGljL05vbi1zaGFyZWQgZXhlY3V0YWJsZXMgdGhhdCBkbyBub3QgdXNlIGFu IGluZGVwZW5kZW50CiAgICAgZHluYW1pYyBsaW5rZXIgYXQgc3RhcnR1cCB0 aW1lLiBJbnN0ZWFkIHRoZXJlIGlzIGFuIGVtYmVkZGVkCiAgICAgc3RhcnR1 cCByb3V0aW5lIHRvIHJlc29sdmUgSUZVTkMgc3ltYm9scyBvciB0aGUgUl9N SVBTX1JFTEFUSVZFCiAgICAgcmVsb2NhdGlvbiBjcmVhdGVkIGZvciB0aGVt LgogICAgIAogIDIpIEV4ZWN1dGFibGVzIHRoYXQgdXNlIHNoYXJlZCBvYmpl Y3RzIGFuZCB0aHVzIHRoZSBkeW5hbWljIGxpbmtlci4KICAKICAzKSBTaGFy ZWQgb2JqZWN0cwoKKioqCioxKgoqKioKU3RhdGljIGV4ZWN1dGFibGUgbGlu a3Mgd2lsbCBmb3IgZWFjaCBJRlVOQyBzeW1ib2wgcHJvZHVjZSB0aGUgCmZv bGxvd2luZzoKCiAgKikgR2VuZXJhdGUgYW4gaXBsdCBzdHViIHdoaWNoIGlz IHRleHQgYW5kIHdpbGwgYmUgcGFydCBvZiB0aGUgLmlwbHQKICAgICBzZWN0 aW9uLiBDdXJyZW50bHkgdGhlIHN0dWIgaXMgdGhlIGZvbGxvd2luZyBpbnN0 cnVjdGlvbiBzZXF1ZW5jZToKCiAgICAgICBsdWkgJDE1LCAlaGkoLmdvdC5p cGx0IGVudHJ5KQogICAgICAgbFt3ZF0gJDI1LCAlbG8oLmdvdC5pcGx0IGVu dHJ5KSgkMTUpCiAgICAgICBqciAkMjUKICAgICAgIG5vcAoKICAgICBUaGUg c2VjdGlvbiBhdHRyaWJ1dGVzIGZvciAuaXBsdCBhcmU6CiAgICAgCiAgICAg ICBzaF9uYW1lOiAgICAgKC5pcGx0KQogICAgICAgc2hfdHlwZTogICAgIFNI VF9QUk9HQklUUwogICAgICAgc2hfaW5mbzogICAgIDAKICAgICAgIHNoX2Zs YWdzOiAgICBTSEZfQUxMT0N8U0hGX0VYRUNJTlNUUgogICAgICAgc2hfYWRk YWxpZ246IDQKICAgICAgIHNoX2VudHNpemU6ICAwCiAgICAgICAKICAgICBU aGlzIHN0dWIgd2lsbCB0YWtlIHRoZSBmdW5jdGlvbiBhZGRyZXNzIGluIHRo ZSAuaWdvdC5wbHQgc2VjdGlvbgogICAgIGZvciB0aGlzIElGVU5DIHN5bWJv bCBhbmQganVtcCB0byBpdC4KICAgICAKICAqKSBHZW5lcmF0ZSBpZ290IHRh YmxlICguaWdvdC5wbHQpCiAgCiAgICAgVGhpcyBpcyBhbiBhcnJheSBvZiBJ RlVOQyBhZGRyZXNzZXMgdGhhdCBwb2ludCB0byB0aGUgcmVzb2x2ZXIgZnVu Y3Rpb24KICAgICBmb3IgdGhpcyBJRlVOQy4gSWYgdGhlIHRhcmdldCBBQkkg aXMgMzIgYml0IHRoZSBlbnRyaWVzIHdpbGwgYmUgNCBieXRlcwogICAgIGVh Y2ggYW5kIGlmIHRoZSBBQkkgaXMgNjQgYml0IHRoZSBlbnRyaWVzIHdpbGwg YmUgOCBieXRlcyBlYWNoLiBUaGlzIG9mCiAgICAgY291cnNlIHdpbGwgcHJl Y2x1ZGUgYW55IGxpbmtpbmcgb2YgYSBjb21iaW5hdGlvbiBvZiBuMzIgYW5k IG42NCwgYnV0CiAgICAgdGhhdCB3aWxsIGhhdmUgbW9yZSBwcm9ibGVtcyB0 aGFuIGlmdW5jLgoKICAgICBUaGUgc2VjdGlvbiBhdHRyaWJ1dGVzIGZvciAu aXBsdCBhcmU6CiAgICAgCiAgICAgICBzaF9uYW1lOiAgICAgKC5pZ290LnBs dCkKICAgICAgIHNoX3R5cGU6ICAgICBTSFRfUFJPR0JJVFMKICAgICAgIHNo X2luZm86ICAgICAwCiAgICAgICBzaF9mbGFnczogICAgU0hGX0FMTE9DfFNI Rl9XUklURSAqCiAgICAgICBzaF9hZGRhbGlnbjogNC84CiAgICAgICBzaF9l bnRzaXplOiAgNC84CiAgICAgICAKICAgICAgICgqIE5vdGUsIGluIHNwaXRl IG9mIHRoZSBuYW1lIHRoaXMgaXMgTk9UIGEgR1AgcmVsYXRpdmUgc2VjdGlv bikKCiAgKikgR2VuZXJhdGUgUl9NSVBTX0lSRUxBVElWRSByZWxvY2F0aW9u cyBmb3IgdGhlIGlnb3QgdGFibGUuCiAgCiAgICAgUHJvZHVjZSBhIHJlbG9j YXRpb24gb2YgdHlwZSBSX01JUFNfSVJFTEFUSVZFICgxMjgpIHBvaW50aW5n IGF0IHRoZQogICAgIC5pZ290LnBsdCB0YWJsZSBlbnRyeSBmb3IgdGhpcyBJ RlVOQy4KICAgICAKICAgICBUaGlzIGdvZXMgaW50byBhIC5yZWwuZHluIHJl bG9jYXRpb24gc2VjdGlvbgogICAgIAogICAgICAgc2hfbmFtZTogICAgICgu cmVsLmR5bikKICAgICAgIHNoX3R5cGU6ICAgICBTSFRfUkVMCiAgICAgICBz aF9pbmZvOiAgICAgMAogICAgICAgc2hfZmxhZ3M6ICAgIFNIRl9BTExPQwog ICAgICAgc2hfYWRkYWxpZ246IDQvOAogICAgICAgc2hfZW50c2l6ZTogIDgv MjQKICAgICAgIAogICopIEdlbmVyYXRlIHRoZSAyIHN5bWJvbHMgX19yZWxf aXBsdF9zdGFydCBhbmQgX19yZWxfaXBsdF9lbmQgd2hpY2ggCiAgICAgcG9p bnQgYXQgdGhlIGJlZ2lubmluZyBhbmQgZW5kIG9mIHRoZSByZWxvY2F0aW9u cyBmb3IgdGhlIC5pZ290LmlwbHQKICAgICBzZWN0aW9uLiBUaGF0IGlzLCBm aXJzdCBlbnRyeSBhbmQgbGFzdCBlbnRyeS4gTm90IGxhc3QgZW50cnkrMS4K ICAgICAKICAgICAgIFR5cGU6ICAgICBTVFRfTk9UWVBFCiAgICAgICBCaW5k aW5nOiAgU1RCX0xPQ0FMCiAgICAgICBPdGhlcjogICAgU1RPX0RFRkFVTFQK ICAgICAgIFNpemU6ICAgICAwCiAgICAgICBWYWx1ZTogICAgQWRkcmVzcyBv ZiBiZWdpbiBvciBlbmQgb2YgSUZVTkMgcmVsb2NhdGlvbnMKCkF0IHN0YXJ0 dXAsIHRoZSBlbWJlZGRlZCBkeW5hbWljIGxpbmtlciB3aWxsIGZpbmQgdGhl IGJlZ2lubmluZyBhbmQKZW5kIHJhbmdlIG9mIFJfTUlQU19JUkVMQVRJVkUg cmVsb2NhdGlvbnMgdGhyb3VnaCB0aGUgc3BlY2lhbCBzeW1ib2xzCl9fcmVs X2lwbHRfc3RhcnQgYW5kIF9fcmVsX2lwbHRfZW5kLiAKClRoZSByZWxvY2F0 aW9uIGVudHJ5IGNvbnRhaW5zIHRoZSBhZGRyZXNzIG9mIGFuIGFzc29jaWF0 ZWQgZW50cnkgaW4gdGhlCi5pZ290LnBsdCB0YWJsZSwgd2hpY2ggaW5pdGlh bGx5IGNvbnRhaW5zIHRoZSBhZGRyZXNzIG9mIHRoZSBhc3NvY2lhdGVkCnJl c29sdmVyIGZ1bmN0aW9uLiBUaGUgcmVzb2x2ZXIgaXMgY2FsbGVkIGFuZCBy ZXR1cm4gdmFsdWUgb2YgdGhlIHJlc29sdmVyCnJlcGxhY2VzIHRoZSAuaWdv dC5wbHQgdGFibGUgZW50cnkuCgpFdmVyeSBjYWxsIHRvIHRoZSBpZnVuYyBy b3V0aW5lIGdvZXMgdGhyb3VnaCB0aGUgaXBsdCBhdCBydW50aW1lLgoKKioq CioyKgoqKioKRHluYW1pY2FsbHkgbGlua2VkIGV4ZWN1dGFibGVzIHdpdGgg aWZ1bmMgZGVmaW5pdGlvbnMgYXJlIGZvciB0aGUgbW9zdApwYXJ0IHRoZSBz YW1lIGFzIHN0YXRpYyBleGVjdXRhYmxlcywgd2l0aCB0aGUgZm9sbG93aW5n IGV4Y2VwdGlvbnM6CgogICopIE5vIF9fcmVsX2lwbHRfc3RhcnQvZW5kIHN5 bWJvbHMuIFRoZSBkeW5hbWljIGxpbmtlciBoYW5kbGVzIGR5bmFtaWMKICAg ICByZWxvY2F0aW9ucy4KICAqKSBHZW5lcmF0ZSBTVFRfR05VX0lGVU5DIHN5 bWJvbHMgaW4gdGhlIC5keW5zeW0gc2VjdGlvbiB3aXRoIHRoZSB2YWx1ZQog ICAgIGJlaW5nIHRoZSBpcGx0IGVudHJ5IGZvciB0aGlzIElGVU5DIGFuZCB0 cmFuc2Zvcm0gdGhlbSBpbnRvIAogICAgIFNUVF9GVU5DIHN5bWJvbHMuIEFu eSByZWZlcmVuY2VzIHRvIHRoaXMgSUZVTkMgaGF2ZSB0byBnbyB0aHJvdWdo IAogICAgIHRoZSBzdHViLiBUaGUgZHluYW1pYyBsaW5rZXIgKGxkLnNvKSB3 aWxsIGJlIGRvaW5nIHRoZSBmaXh1cCBhdCBzdGFydC0KICAgICB1cC4KCioq KgoqMyoKKioqCkxpbmtzIHByb2R1Y2luZyBkeW5hbWljIHNoYXJlZCBvYmpl Y3RzIGRvIG5vdCBwcm9kdWNlIGlwbHQgc3R1YnMsIGEKLmlnb3QucGx0IHRh YmxlLCBvciBSX01JUFNfSVJFTEFUSVZFIHJlbG9jYXRpb25zLgoKSUZVTkMg cmVzb2x1dGlvbiBvY2N1cnMgZHVyaW5nIHRoZSBwcm9jZXNzaW5nIG9mIGds b2JhbCBHT1QgZW50cmllcy4KRm9yIC5keW5zeW0gZW50cmllcyBvZiB0eXBl IElGVU5DLCB0aGUgbG9hZCBvZmZzZXQgZm9yIHRoZSByZXNvbHZlcgpmdW5j dGlvbiBzdG9yZWQgaW4gdGhlIEdPVCBlbnRyeS4gIFRoZSByZXNvbHZlciBm dW5jdGlvbiBpcyBjYWxsZWQgYW5kCnRoZSBhZGRyZXNzIHJldHVybmVkIGJ5 IHRoZSByZXNvbHZlciBmdW5jdGlvbiByZXBsYWNlcyByZXNvbHZlcgpvZmZz ZXQgdmFsdWUgaW4gdGhlIEdPVCBlbnRyeS4KCioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Kgo8RHluYW1pYyBMaW5rZXIgQmVoYXZpb3I+CioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KgoKRW50cmllcyBpbiB0aGUgR09UIHdpdGhpbiB0aGUgRFRfTUlQU19MT0NB TF9HT1ROTyBzaG91bGQgaGF2ZSB0aGVpcgpvd24gZW50cmllcyBhbmQgbm90 IHNoYXJlIGEgY29tbW9uIGxvY2FsIEdPVCBwYWdlIGVudHJ5LiAKCkZvciBn bG9iYWwgZW50cmllcyBpbiB0aGUgR09UIHRoYXQgc3RhcnQgYXQgRFRfTUlQ U19HT1RTWU0sIHRoZQplbnRyaWVzIGluIHRoZSBkeW5hbWljIHN5bWJvbCB0 YWJsZSBhcmUgaW5kZXhlZCBhbG9uZyB3aXRoIHRoZSBlbnRyaWVzCmluIHRo ZSBHT1QgdGFibGUuICBJZiB0aGUgc3ltYm9sIGlzIG9mIHR5cGUgU1RUX0dO VV9JRlVOQywgdGhlIGFkZHJlc3MKb2YgdGhlIHJlc29sdmVyIHJvdXRpbmUg aXMgY29tcHV0ZWQgYnkgYWRkaW5nIHRoZSBydW4tdGltZSBsb2FkCmFkZHJl c3Mgb2YgdGhlIHNoYXJlZCBvYmplY3QgYW5kIHRoZSBvZmZzZXQgZm9yIHRo ZSByZXNvbHZlciBmdW5jdGlvbiwKd2hpY2ggc3RvcmVkIGluIHRoZSBHT1Qg ZW50cnkuIFRoZSByZXNvbHZlciBpcyB0aGVuIGNhbGxlZCBhbmQgdGhlCnJl c3VsdGFudCBhZGRyZXNzICByZXBsYWNlcyB0aGUgR09UIGVudHJ5LgoKSUZV TkMgZW50cmllcyBjYW5ub3QgYmUgcXVpY2tzdGFydGVkL3ByZWxpbmtlZCBz aW5jZSB0aGUgcnVudGltZSB2YWx1ZQppcyBub3Qga25vd24gdW50aWwgbG9h ZCB0aW1lLgoKQW55IGR5bmFtaWMgcmVsb2NhdGlvbiByZXNvbHV0aW9uIHVz aW5nIFJfTUlQU19JUkVMQVRJVkUgd2lsbCB0YWtlIHRoZSAKYWRkcmVzcyBw b2ludGVkIHRvIGJ5IHRoZSByZWxvY2F0aW9uIGFuZCBhc3N1bWUgaXQgaXMg dGhlIGFkZHJlc3Mgb2YgdGhlCnJlc29sdmVyLCBydW4gdGhlIHJlc29sdmVy IGFuZCByZXBsYWNlIHRoZSByZXNvbHZlciBhZGRyZXNzIHdpdGggdGhlIAp2 YWx1ZSByZXR1cm5lZCBieSB0aGUgcmVzb2x2ZXIuCgoKCg== --_003_4CEFBC1BE64A8048869F799EF2D2EEEE4C516140BADAG02baimgtec_ Content-Type: text/x-patch; name="mips_ifunc_glibc.patch" Content-Description: mips_ifunc_glibc.patch Content-Disposition: attachment; filename="mips_ifunc_glibc.patch"; size=8469; creation-date="Sat, 16 Nov 2013 00:39:22 GMT"; modification-date="Sat, 16 Nov 2013 00:39:22 GMT" Content-Transfer-Encoding: base64 Content-length: 11481 VGhpcyBpcyB0aGUgaW5pdGlhbCBNSVBTIGlmdW5jIHBhdGNoIGZvciBnbGli Yy4gVGhpcyBwYXRjaCBzaG91bGQgYmUKYXBwbGllZCBpbiBjb25qdW5jdGlv biB3aXRoIHRoZSBiaW51dGlscyBwYXRjaC4KClRoaXMgaXMgdGFyZ2V0aW5n IG8zMiwgbjMyIGFuZCA2NCBiaXQuIFBhdGNoZXMgZm9yIE1pY3JvTWlwcywg TWlwczE2LAphbmQgcG9zc2libHkgdnh3b3JrcyB3aWxsIGZvbGxvdyB0aGlz IHBhdGNoLiAKClJlbG9jYXRpb25zIHVzaW5nIFJfTUlQU19JUkVMQVRJVkUg b3IgcmVmZXJlbmNpbmcgYSBzeW1ib2wgb2YgdHlwZQpTVFRfR05VX0lGVU5D IGhhdmUgdGhlaXIgYWZmZWN0aXZlIGFkZHJlc3MgcHJvZHVjZWQgYnkgZXhl Y3V0aW5nIHRoZSByZXNvbHZlcgpmdW5jdGlvbiBwb2ludGVkIGJ5IGVpdGhl ciB0aGUgUl9NSVBTX0lSRUxBVElWRSB0YXJnZXQgb3IgdGhlIFNUVF9HTlVf SUZVTkMKdGFyZ2V0LiBUaGUgcmVzdWx0YW50IGFkZHJlc3MgaXMgdGhlIGZp bmFsIGZ1bmN0aW9uIGVmZmVjdGl2ZSBhZGRyZXNzIHRoYXQgCndpbGwgYmUg dXNlZCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBwcm9ncmFtIGV4ZWN1dGlv bi4KClRoZXJlIGlzIGFuIGF0dGFjaGVkIEFCSSB0aGF0IGRlc2NyaWJlcyB0 aGUgcnVudGltZSBmaXh1cCBpbiBtb3JlIGRldGFpbC4KCioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKLi9DaGFuZ2VMb2cKCSog ZWxmL2VsZi5oOgoJRGVmaW5lIGZvciBSX01JUFNfSVJFTEFUSVZFIGFuZCBi dW1wIFJfTUlQU19OVU0gdXAgdG8gMTI5LgoKcG9ydHMvQ2hhbmdlTG9nCgkq IHN5c2RlcHMvbWlwcy9kbC1pcmVsLmg6IE5ldyBmaWxlLgoJKGVsZl9pZnVu Y19pbnZva2UpOiBEbyB0aGUgaW5kaXJlY3QgcmVmZXJlbmNlLgoJKGVsZl9p cmVsKTogQ2FsbCBlbGZfaWZ1bmNfaW52b2tlKCkgZm9yIGFjY2VwdGFibGUg cmVsb2NhdGlvbnMuCgkqIHN5c2RlcHMvbWlwcy9kbC1tYWNoaW5lLmg6IAoJ SW5jbHVkZSBuZXcgZGwtaXJlbC5oLgoJKEVMRl9NQUNISU5FX0JFRk9SRV9S VExEX1JFTE9DKTogQWRkIGNoZWNrIGZvciBTVFRfR05VX0lGVU5DLgoJKGVs Zl9tYWNoaW5lX3JlbG9jKTogQWRkIHNraXBfaWZ1bmMgdG8gcGFyYW1ldGVy LgoJQWRkIGNhc2UgZm9yIFJfTUlQU19JUkVMQVRJVkUuCgkoZWxmX21hY2hp bmVfcmVsKTogQWRkIHNraXBfaWZ1bmMgdG8gY2FsbCB0byBlbGZfbWFjaGlu ZV9yZWxvYygpLgoJKGVsZl9tYWNoaW5lX3JlbGEpOkFkZCBza2lwX2lmdW5j IHRvIGNhbGwgdG8gZWxmX21hY2hpbmVfcmVsb2MoKS4KCShSRVNPTFZFX0dP VFNZTSk6IEFkZCBjaGVjayBmb3IgU1RUX0dOVV9JRlVOQy4KCShlbGZfbWFj aGluZV9nb3RfcmVsKTogQWRkIGNoZWNrIGZvciBTVFRfR05VX0lGVU5DLgoJ KiBzeXNkZXBzL21pcHMvZGwtdHJhbXBvbGluZS5jOiAKCShfX2RsX3J1bnRp bWVfcmVzb2x2ZSk6IEFkZCBjaGVjayBmb3IgU1RUX0dOVV9JRlVOQy4KZGlm ZiAtLWdpdCBhL2VsZi9lbGYuaCBiL2VsZi9lbGYuaAppbmRleCBhMDVlYTNi Li5iM2E4OWRiIDEwMDY0NAotLS0gYS9lbGYvZWxmLmgKKysrIGIvZWxmL2Vs Zi5oCkBAIC0xNjI2LDggKzE2MjYsOSBAQCB0eXBlZGVmIHN0cnVjdAogI2Rl ZmluZSBSX01JUFNfR0xPQl9EQVQJCTUxCiAjZGVmaW5lIFJfTUlQU19DT1BZ CQkxMjYKICNkZWZpbmUgUl9NSVBTX0pVTVBfU0xPVCAgICAgICAgMTI3Cisj ZGVmaW5lIFJfTUlQU19JUkVMQVRJVkUgICAgICAgIDEyOAogLyogS2VlcCB0 aGlzIHRoZSBsYXN0IGVudHJ5LiAgKi8KLSNkZWZpbmUgUl9NSVBTX05VTQkJ MTI4CisjZGVmaW5lIFJfTUlQU19OVU0JCTEyOQogCiAvKiBMZWdhbCB2YWx1 ZXMgZm9yIHBfdHlwZSBmaWVsZCBvZiBFbGYzMl9QaGRyLiAgKi8KIApkaWZm IC0tZ2l0IGEvcG9ydHMvc3lzZGVwcy9taXBzL2RsLWlyZWwuaCBiL3BvcnRz L3N5c2RlcHMvbWlwcy9kbC1pcmVsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uMTg5MWRlMAotLS0gL2Rldi9udWxsCisrKyBiL3Bv cnRzL3N5c2RlcHMvbWlwcy9kbC1pcmVsLmgKQEAgLTAsMCArMSw2MyBAQAor LyogTWFjaGluZS1kZXBlbmRlbnQgRUxGIGluZGlyZWN0IHJlbG9jYXRpb24g aW5saW5lIGZ1bmN0aW9ucy4KKyAgIE1JUFMgdmVyc2lvbi4KKyAgIENvcHly aWdodCAoQykgMjAwOS0yMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgorICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExpYnJh cnkuCisKKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgbW9kaWZ5IGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1 YmxpYworICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICB2ZXJzaW9uIDIuMSBvZiB0 aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KKworICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgTGVz c2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICAgTGljZW5zZSBhbG9uZyB3 aXRoIHRoZSBHTlUgQyBMaWJyYXJ5LiAgSWYgbm90LCBzZWUKKyAgIDxodHRw Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKKyNpZm5kZWYgX0RM X0lSRUxfSAorI2RlZmluZSBfRExfSVJFTF9ICisKKyNpbmNsdWRlIDxzdGRp by5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHNnaWRlZnMu aD4KKyNpbmNsdWRlIDxsaW5rLmg+CisjaW5jbHVkZSA8ZWxmLmg+CisjaW5j bHVkZSA8bGRzb2RlZnMuaD4KKworI2RlZmluZSBFTEZfTUFDSElORV9JUkVM CTEKKworc3RhdGljIGlubGluZSBFbGZXKEFkZHIpCitfX2F0dHJpYnV0ZSAo KGFsd2F5c19pbmxpbmUpKQorZWxmX2lmdW5jX2ludm9rZSAoRWxmVyhBZGRy KSBhZGRyKQoreworICAvKiBQcmludCBzb21lIGRlYnVnZ2luZyBpbmZvIGlm IHdhbnRlZC4gICovCisgIGlmIChfX2J1aWx0aW5fZXhwZWN0IChHTFJPKGRs X2RlYnVnX21hc2spICYgRExfREVCVUdfU1lNQk9MUywgMCkpCisgICAgICB7 CisJRWxmVyhBZGRyKSB0X2FkZHIgPQorCSAgICAoKEVsZlcoQWRkcikgKCop ICh1bnNpZ25lZCBsb25nIGludCkpIChhZGRyKSkgKEdMUk8oZGxfaHdjYXAp KTsKKwlHTFJPKGRsX2RlYnVnX3ByaW50ZikgKCJJbiBlbGZfaWZ1bmNfaW52 b2tlKDB4JWx4KSwgcmV0dXJuKDB4JWx4KVxuIiwKKwkJCQkodW5zaWduZWQg bG9uZyBpbnQpYWRkciwKKwkJCQkodW5zaWduZWQgbG9uZyBpbnQpdF9hZGRy KTsKKyAgICAgIH0KKworICByZXR1cm4gKChFbGZXKEFkZHIpICgqKSAodW5z aWduZWQgbG9uZyBpbnQpKSAoYWRkcikpIChHTFJPKGRsX2h3Y2FwKSk7Cit9 CisKKy8qIEFsbG93IGVpdGhlciBSX01JUFNfUkVMQVRJVkUgb3IgdGhlIG5v cCBSX01JUFNfTk9ORSAqLworc3RhdGljIGlubGluZSB2b2lkCitfX2F0dHJp YnV0ZSAoKGFsd2F5c19pbmxpbmUpKQorZWxmX2lyZWwgKGNvbnN0IEVsZlco UmVsKSAqcmVsb2MpCit7CisgIEVsZlcoQWRkcikgKmNvbnN0IHJlbG9jX2Fk ZHIgPSAodm9pZCAqKSByZWxvYy0+cl9vZmZzZXQ7CisgIGNvbnN0IHVuc2ln bmVkIGxvbmcgaW50IHJfdHlwZSA9IEVMRlcoUl9UWVBFKSAocmVsb2MtPnJf aW5mbyk7CisKKyAgaWYgKF9fYnVpbHRpbl9leHBlY3QgKHJfdHlwZSA9PSBS X01JUFNfSVJFTEFUSVZFLCAxKSkKKyAgICAqcmVsb2NfYWRkciA9IGVsZl9p ZnVuY19pbnZva2UgKCpyZWxvY19hZGRyKTsKKyAgZWxzZSBpZiAocl90eXBl KQorICAgICBfX2xpYmNfZmF0YWwgKCJ1bmV4cGVjdGVkIHJlbG9jIHR5cGUg aW4gc3RhdGljIGJpbmFyeVxuIik7Cit9CisKKyNlbmRpZiAvKiBkbC1pcmVs LmggKi8KZGlmZiAtLWdpdCBhL3BvcnRzL3N5c2RlcHMvbWlwcy9kbC1tYWNo aW5lLmggYi9wb3J0cy9zeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oCmluZGV4 IDcyMmM4YTAuLjY3MWFhMWYgMTAwNjQ0Ci0tLSBhL3BvcnRzL3N5c2RlcHMv bWlwcy9kbC1tYWNoaW5lLmgKKysrIGIvcG9ydHMvc3lzZGVwcy9taXBzL2Rs LW1hY2hpbmUuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPHNnaWRl ZnMuaD4KICNpbmNsdWRlIDxzeXMvYXNtLmg+CiAjaW5jbHVkZSA8ZGwtdGxz Lmg+CisjaW5jbHVkZSA8ZGwtaXJlbC5oPgogCiAvKiBUaGUgb2Zmc2V0IG9m IGdwIGZyb20gR09UIG1pZ2h0IGJlIHN5c3RlbS1kZXBlbmRlbnQuICBJdCdz IHNldCBieQogICAgbGQuICBUaGUgc2FtZSB2YWx1ZSBpcyBhbHNvICovCkBA IC0yMDQsNiArMjA1LDggQEAgZG8gewkJCQkJCQkJCVwKICAgICAgIGVsc2Ug aWYgKEVMRlcoU1RfVFlQRSkgKHN5bS0+c3RfaW5mbykgPT0gU1RUX0ZVTkMJ CQlcCiAJICAgICAgICYmICpnb3QgIT0gc3ltLT5zdF92YWx1ZSkJCQkJXAog CSpnb3QgKz0gbWFwLT5sX2FkZHI7CQkJCQkJXAorICAgICAgZWxzZSBpZiAo RUxGVyhTVF9UWVBFKSAoc3ltLT5zdF9pbmZvKSA9PSBTVFRfR05VX0lGVU5D KQkJXAorCSpnb3QgPSBlbGZfaWZ1bmNfaW52b2tlKHN5bS0+c3RfdmFsdWUp OwkJCQlcCiAgICAgICBlbHNlIGlmIChFTEZXKFNUX1RZUEUpIChzeW0tPnN0 X2luZm8pID09IFNUVF9TRUNUSU9OKQkJXAogCXsJCQkJCQkJCVwKIAkgIGlm IChzeW0tPnN0X290aGVyID09IDApCQkJCQlcCkBAIC00NTEsNyArNDU0LDgg QEAgYXV0byBpbmxpbmUgdm9pZAogX19hdHRyaWJ1dGVfXyAoKGFsd2F5c19p bmxpbmUpKQogZWxmX21hY2hpbmVfcmVsb2MgKHN0cnVjdCBsaW5rX21hcCAq bWFwLCBFbGZXKEFkZHIpIHJfaW5mbywKIAkJICAgY29uc3QgRWxmVyhTeW0p ICpzeW0sIGNvbnN0IHN0cnVjdCByX2ZvdW5kX3ZlcnNpb24gKnZlcnNpb24s Ci0JCSAgIHZvaWQgKnJlbG9jX2FkZHIsIEVsZlcoQWRkcikgcl9hZGRlbmQs IGludCBpbnBsYWNlX3ApCisJCSAgIHZvaWQgKnJlbG9jX2FkZHIsIEVsZlco QWRkcikgcl9hZGRlbmQsIGludCBpbnBsYWNlX3AsCisJCSAgIGludCBza2lw X2lmdW5jKQogewogICBjb25zdCB1bnNpZ25lZCBsb25nIGludCByX3R5cGUg PSBFTEZXKFJfVFlQRSkgKHJfaW5mbyk7CiAgIEVsZlcoQWRkcikgKmFkZHJf ZmllbGQgPSAoRWxmVyhBZGRyKSAqKSByZWxvY19hZGRyOwpAQCAtNjU2LDYg KzY2MCwxNCBAQCBlbGZfbWFjaGluZV9yZWxvYyAoc3RydWN0IGxpbmtfbWFw ICptYXAsIEVsZlcoQWRkcikgcl9pbmZvLAogCWJyZWFrOwogICAgICAgfQog CisgICAgY2FzZSBSX01JUFNfSVJFTEFUSVZFOgorICAgICAgLyogVGhlIHJl c29sdmVyIHJvdXRpbmUgaXMgdGhlIHN5bWJvbCByZWZlcmVuY2VkIGJ5IHRo aXMgcmVsb2NhdGlvbi4KKwkgVG8gZ2V0IHRoZSBhZGRyZXNzIG9mIHRoZSBm dW5jdGlvbiB0byB1c2UgYXQgcnVudGltZSwgdGhlIHJlc29sdmVyCisJIHJv dXRpbmUgaXMgY2FsbGVkIGFuZCBpdHMgcmV0dXJuIHZhbHVlIGlzIHRoZSBh ZGRyZXNzIG9mIHRoZSB0YXJnZXQKKwkgZnVuY3RvbiB3aGljaCBpcyBmaW5h bCByZWxvY2F0aW9uIHZhbHVlLiAqLworICAgICAgKmFkZHJfZmllbGQgPSBl bGZfaWZ1bmNfaW52b2tlIChtYXAtPmxfYWRkciArICphZGRyX2ZpZWxkKTsK KyAgICAgIGJyZWFrOworCiAjaWYgX01JUFNfU0lNID09IF9BQkk2NAogICAg IGNhc2UgUl9NSVBTXzY0OgogICAgICAgLyogRm9yIGZ1bGwgY29tcGxpYW5j ZSB3aXRoIHRoZSBFTEY2NCBBQkksIG9uZSBtdXN0IHByZWNlZGUgdGhlCkBA IC02ODUsNyArNjk3LDggQEAgZWxmX21hY2hpbmVfcmVsIChzdHJ1Y3QgbGlu a19tYXAgKm1hcCwgY29uc3QgRWxmVyhSZWwpICpyZWxvYywKIAkJIGNvbnN0 IEVsZlcoU3ltKSAqc3ltLCBjb25zdCBzdHJ1Y3Qgcl9mb3VuZF92ZXJzaW9u ICp2ZXJzaW9uLAogCQkgdm9pZCAqY29uc3QgcmVsb2NfYWRkciwgaW50IHNr aXBfaWZ1bmMpCiB7Ci0gIGVsZl9tYWNoaW5lX3JlbG9jIChtYXAsIHJlbG9j LT5yX2luZm8sIHN5bSwgdmVyc2lvbiwgcmVsb2NfYWRkciwgMCwgMSk7Cisg IGVsZl9tYWNoaW5lX3JlbG9jIChtYXAsIHJlbG9jLT5yX2luZm8sIHN5bSwg dmVyc2lvbiwgcmVsb2NfYWRkciwgMCwgMSwgCisJCSAgICAgc2tpcF9pZnVu Yyk7CiB9CiAKIGF1dG8gaW5saW5lIHZvaWQKQEAgLTcyNiw3ICs3MzksNyBA QCBlbGZfbWFjaGluZV9yZWxhIChzdHJ1Y3QgbGlua19tYXAgKm1hcCwgY29u c3QgRWxmVyhSZWxhKSAqcmVsb2MsCiAJCSAgdm9pZCAqY29uc3QgcmVsb2Nf YWRkciwgaW50IHNraXBfaWZ1bmMpCiB7CiAgIGVsZl9tYWNoaW5lX3JlbG9j IChtYXAsIHJlbG9jLT5yX2luZm8sIHN5bSwgdmVyc2lvbiwgcmVsb2NfYWRk ciwKLQkJICAgICByZWxvYy0+cl9hZGRlbmQsIDApOworCQkgICAgIHJlbG9j LT5yX2FkZGVuZCwgMCwgc2tpcF9pZnVuYyk7CiB9CiAKIGF1dG8gaW5saW5l IHZvaWQKQEAgLTc1Myw4ICs3NjYsMTUgQEAgZWxmX21hY2hpbmVfZ290X3Jl bCAoc3RydWN0IGxpbmtfbWFwICptYXAsIGludCBsYXp5KQogICAgICAgY29u c3Qgc3RydWN0IHJfZm91bmRfdmVyc2lvbiAqdmVyc2lvbiBfX2F0dHJpYnV0 ZV9fICgodW51c2VkKSkJICBcCiAJPSB2ZXJudW0gPyAmbWFwLT5sX3ZlcnNp b25zW3Zlcm51bVtzeW1faW5kZXhdICYgMHg3ZmZmXSA6IE5VTEw7CSAgXAog ICAgICAgc3RydWN0IGxpbmtfbWFwICpzeW1fbWFwOwkJCQkJCSAgXAorICAg ICAgRWxmVyhBZGRyKSB2YWx1ZTsJCQkJCQkJICBcCiAgICAgICBzeW1fbWFw ID0gUkVTT0xWRV9NQVAgKCZyZWYsIHZlcnNpb24sIHJlbG9jKTsJCQkgIFwK LSAgICAgIHJlZiA/IHN5bV9tYXAtPmxfYWRkciArIHJlZi0+c3RfdmFsdWUg OiAwOwkJCSAgXAorICAgICAgaWYgKHJlZikJCQkJCQkJCSAgXAorCXsJCQkJ CQkJCSAgXAorCSAgdmFsdWUgPSBzeW1fbWFwLT5sX2FkZHIgKyByZWYtPnN0 X3ZhbHVlOwkJCSAgXAorCSAgaWYgKEVMRlcoU1RfVFlQRSkgKHJlZi0+c3Rf aW5mbykgPT0gU1RUX0dOVV9JRlVOQykJCSAgXAorCSAgICB2YWx1ZSA9IGVs Zl9pZnVuY19pbnZva2UgKHZhbHVlKTsJCQkJICBcCisJfQkJCQkJCQkJICBc CisgICAgICByZWYgPyB2YWx1ZSA6IDA7CQkJCQkJCSAgXAogICAgIH0pCiAK ICAgaWYgKG1hcC0+bF9pbmZvW1ZFUlNZTUlEWCAoRFRfVkVSU1lNKV0gIT0g TlVMTCkKQEAgLTgyNCw2ICs4NDQsOCBAQCBlbGZfbWFjaGluZV9nb3RfcmVs IChzdHJ1Y3QgbGlua19tYXAgKm1hcCwgaW50IGxhenkpCiAJICBpZiAoc3lt LT5zdF9vdGhlciA9PSAwKQogCSAgICAqZ290ICs9IG1hcC0+bF9hZGRyOwog CX0KKyAgICAgIGVsc2UgaWYgKEVMRlcoU1RfVFlQRSkgKHN5bS0+c3RfaW5m bykgPT0gU1RUX0dOVV9JRlVOQykKKwkqZ290ID0gZWxmX2lmdW5jX2ludm9r ZSAobWFwLT5sX2FkZHIgKyAqZ290KTsKICAgICAgIGVsc2UKIAkqZ290ID0g UkVTT0xWRV9HT1RTWU0gKHN5bSwgdmVybnVtLCBzeW1pZHgsIFJfTUlQU18z Mik7CiAKZGlmZiAtLWdpdCBhL3BvcnRzL3N5c2RlcHMvbWlwcy9kbC10cmFt cG9saW5lLmMgYi9wb3J0cy9zeXNkZXBzL21pcHMvZGwtdHJhbXBvbGluZS5j CmluZGV4IDYwNWU0NGUuLjBhNTEwZjMgMTAwNjQ0Ci0tLSBhL3BvcnRzL3N5 c2RlcHMvbWlwcy9kbC10cmFtcG9saW5lLmMKKysrIGIvcG9ydHMvc3lzZGVw cy9taXBzL2RsLXRyYW1wb2xpbmUuYwpAQCAtMTkzLDYgKzE5MywxMCBAQCBf X2RsX3J1bnRpbWVfcmVzb2x2ZSAoRWxmVyhXb3JkKSBzeW1faW5kZXgsCiAg ICAgICAvKiBDdXJyZW50bHkgdmFsdWUgY29udGFpbnMgdGhlIGJhc2UgbG9h ZCBhZGRyZXNzIG9mIHRoZSBvYmplY3QKIAkgdGhhdCBkZWZpbmVzIHN5bS4g IE5vdyBhZGQgaW4gdGhlIHN5bWJvbCBvZmZzZXQuICAqLwogICAgICAgdmFs dWUgPSAoc3ltID8gc3ltX21hcC0+bF9hZGRyICsgc3ltLT5zdF92YWx1ZSA6 IDApOworICAgICAgaWYgKHN5bSAhPSBOVUxMCisgICAgICAgICAgJiYgX19i dWlsdGluX2V4cGVjdCAoRUxGVyhTVF9UWVBFKSAoc3ltLT5zdF9pbmZvKQor ICAgICAgICAgICAgICA9PSBTVFRfR05VX0lGVU5DLCAwKSkKKyAgICAgICAg dmFsdWUgPSBlbGZfaWZ1bmNfaW52b2tlIChETF9GSVhVUF9WQUxVRV9BRERS ICh2YWx1ZSkpOwogICAgIH0KICAgZWxzZQogICAgIC8qIFdlIGFscmVhZHkg Zm91bmQgdGhlIHN5bWJvbC4gIFRoZSBtb2R1bGUgKGFuZCB0aGVyZWZvcmUg aXRzIGxvYWQK --_003_4CEFBC1BE64A8048869F799EF2D2EEEE4C516140BADAG02baimgtec_--