From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2 autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 32450 invoked from network); 16 Feb 2023 15:15:51 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 16 Feb 2023 15:15:51 -0000 Received: (qmail 21840 invoked by uid 550); 16 Feb 2023 15:15:46 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 21808 invoked from network); 16 Feb 2023 15:15:45 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:Content-Type:MIME-Version: Message-ID; bh=dNHAQLEidba04nOAwJioIgqEXoaIgcxk6hWe+4WEros=; b=D Uavmts40lHyNJ2I7doRk0IfJlnf1FQdHx+kf0i7B9MLuIlYdrRlU0wZ6GO5CAc8k 4gzKIMuql4zE3ToeHm9lxC/y0UCdH7L2/SyLA/RJHthABq8zAWJoxbCzy/1q4rm9 FVNaSFzHgIK6U8o5ddJ/cG+NmjUZqeCifUrkp6XOYY= X-Originating-IP: [222.64.90.121] Date: Thu, 16 Feb 2023 23:15:24 +0800 (CST) From: "David Wang" <00107082@163.com> To: musl@lists.openwall.com X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.14 build 20230109(dcb5de15) Copyright (c) 2002-2023 www.mailtech.cn 163com In-Reply-To: <20230201180115.GB2626@voyager> References: <4d290220.36d6.1860222ca46.Coremail.00107082@163.com> <20230201180115.GB2626@voyager> X-NTES-SC: AL_QuycBPmdv00p4iWaYOkZnEoUjug3W8K5v/kk3Y9VOp80kyrdxj8lVmdfD3jT1/yCMz21qAC3TyNh99RlU6VdYonBIksU7Le3I3zROwRPlKBR Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=GBK MIME-Version: 1.0 Message-ID: <45a265c9.2f3.1865acb64f0.Coremail.00107082@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID:_____wCHj4+MSO5jZisAAA--.1870W X-CM-SenderInfo: qqqrilqqysqiywtou0bp/1tbiTAwYqmI0Xk0v3wAAsH X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== Subject: Re: [musl] qsort CgoKCkF0IDIwMjMtMDItMDIgMDI6MDE6MTUsICJNYXJrdXMgV2ljaG1hbm4iIDxudWxscGxhbkBn bXgubmV0PiB3cm90ZToKCj5Bbnl3YXksIHRoZXJlIGlzIGFuIGluZWZmaWNpZW5jeSBpbiBtdXNs J3Mgc21vb3Roc29ydCBpbXBsZW1lbnRhdGlvbiwKPm5hbWVseSBpbiB0aGUgc2lmdCgpIGZ1bmN0 aW9uOgo+Cj4KPnwgaWYoY21wKGFyWzBdLCBsZiwgYXJnKSA+PSAwICYmIGNtcChhclswXSwgcnQs IGFyZykgPj0gMCkgewo+fCAJYnJlYWs7Cj58IH0KPnwgaWYoY21wKGxmLCBydCwgYXJnKSA+PSAw KSB7Cj58IAlhcltpKytdID0gbGY7Cj58IAloZWFkID0gbGY7Cj58IAlwc2hpZnQgLT0gMTsKPnwg fSBlbHNlIHsKPnwgCWFyW2krK10gPSBydDsKPnwgCWhlYWQgPSBydDsKPnwgCXBzaGlmdCAtPSAy Owo+fCB9Cj4KPkFzIHlvdSBjYW4gc2VlLCB0aGlzIGRvZXMgdHdvIG9yIHRocmVlIGNvbXBhcmlz aW9ucywgYnV0IGFjdHVhbGx5IG5lZWRzCj50byBkbyBvbmx5IHR3byBpbiBhbnkgY2FzZTogSWYg d2UgZGV0ZWN0IGFyWzBdID49IGxmICYmIGFyWzBdIDwgcnQsIHRoZW4KPmJ5IHRyYW5zaXRpdml0 eSB3ZSBoYXZlIGFsc28gZGV0ZWN0ZWQgcnQgPiBsZiwgc28gdGhlcmUgaXMgbm8gbmVlZCB0bwo+ Y29tcGFyZSBsZiBhbmQgcnQgZGlyZWN0bHkgYW55bW9yZS4gSSBoYXZlIG5vdCByZWFsbHkgZm91 bmQgYSBnb29kIHdheQo+dG8gZm9ybXVsYXRlIGNvZGUgdGhhdCB0YWtlcyBhZHZhbnRhZ2Ugb2Yg dGhhdCwgbWF5YmUgc29tZXRoaW5nIGxpa2UKPnRoaXM/Cj4KPgo+CQlpZihjbXAoYXJbMF0sIGxm LCBhcmcpIDwgMCkgewo+CQkJaWYoY21wKGxmLCBydCwgYXJnKSA+PSAwKSB7Cj4JCQkJYXJbaSsr XSA9IGxmOwo+CQkJCWhlYWQgPSBsZjsKPgkJCQlwc2hpZnQgLT0gMTsKPgkJCX0gZWxzZSB7Cj5n b19yaWdodDoKPgkJCQlhcltpKytdID0gcnQ7Cj4JCQkJaGVhZCA9IHJ0Owo+CQkJCXBzaGlmdCAt PSAyOwo+CQkJfQo+CQl9IGVsc2UgaWYgKGNtcChhclswXSwgcnQsIGFyZykgPCAwKSB7Cj4JCQln b3RvIGdvX3JpZ2h0Owo+CQl9IGVsc2Ugewo+CQkJYnJlYWs7Cj4JCX0KPgo+WWVhaCwgbm90IGdy ZWF0LiBCdXQgaXQgZG9lcyB1c2Ugb25seSB0d28gY29tcGFyZXMgZXZlci4gVGhpcyBvdWdodCB0 bwo+bG93ZXIgdGhlIG51bWJlciBvZiBjb21wYXJlcyBpbiB5b3VyIHRlc3Qgc29tZXdoYXQuCj4K PkhUSCwKPk1hcmt1cwoKCkkgdHJpZWQgdGhpcyBjaGFuZ2UsIGJ1dCBpbXByb3ZlbWVudCBpcyBu b3QgbXVjaC4KV2hlbiBzb3J0aW5nIDE8PDIwIHJhbmRvbSBpdGVtcywgbXkgdGVzdCBzaG93cyBh dmVyYWdlIGNvdW50IG9mIGNvbXBhcmlzb25zIGRlY3JlYXNlIGZyb20gMi43MzMqbmxvZ24gdG8g Mi43MTcqbmxvZ24sIGltcHJvdmVkIGxlc3MgdGhhbiAxJQpUaHJlZSBjb21wYXJpc29ucywgaW4g dGhlIG9yaWdpbmFsIGNvZGUgLG9ubHkgaGFwcGVuIHdoZW4gcGFyZW50IGlzIGxhcmdlciB0aGFu IGl0cyBsZWZ0IGNoaWxkLCBhbmQgc21hbGxlciB0aGVuIGl0cyByaWdodCBjaGlsZCwgaWYgKHBh cmVudCwgbGVmdCwgcmlnaHQpIGFyZSBpbmRlcGVuZGVudCwgdGhlIHByb2JhYmlsaXR5IGZvciB0 aGlzIG9yZGVyIHJpZ2h0PnBhcmVudD5sZWZ0IGlzIDEvNiwgIHRoZSBleHBlY3RlZCBjb21wYXJp c29uIHdvdWxkIGJlIDMqMS82KzIqNS82ID0gMTMvNiBmb3IgdGhlIG9yaWdpbmFsIGNvZGUsIGFu ZCB3ZSBjYW4gZ2V0IDEvMTMgaW1wcm92ZW1lbnQsIGJ1dCBoZWFwc29ydCBwcm9jZWR1cmUgbWF5 IG1ha2UgdGhlIHByb2JhYmlsaXR5IG11Y2ggbGVzcyB0aGFuIDEvNiBzaW5jZSBldmVyeSByb3Vu ZCBhIGxlYWYgbm9kZSBpcyBwdXQgdG8gdGhlIGhlYWQsIGFuZCBzbyBJIGdvdCBsZXNzIHRoYW4g MSUgaW1wcm92ZW1lbnQuIAoKU3RyYW5nZSB0aGluZyBpcywgSSBtYWRlIGEgdGV4dGJvb2sgaW1w bGVtZW50YXRpb24gb2YgaGVhcHNvcnQgYXMgaW4gZm9sbG93aW5nIHBhdGNoLCBvcHRpbWl6ZWQg Zm9yIHNpemUgOCwgdGhlIHJ1bnRpbWUgYW5kIGNvbXBhcmlzb24gaW1wcm92ZWQgYSBsb3QuCgpU aGUgY29kZSBwYXRjaCBpcwpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGxpYi9xc29ydF9uci5jIGIvc3Jj L3N0ZGxpYi9xc29ydF9uci5jCmluZGV4IDhmZmU3MWQwLi43MTBiMWFhYSAxMDA2NDQKLS0tIGEv c3JjL3N0ZGxpYi9xc29ydF9uci5jCisrKyBiL3NyYy9zdGRsaWIvcXNvcnRfbnIuYwpAQCAtMSw0 ICsxLDUgQEAKICNkZWZpbmUgX0JTRF9TT1VSQ0UKKyNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNs dWRlIDxzdGRsaWIuaD4KIAogdHlwZWRlZiBpbnQgKCpjbXBmdW4pKGNvbnN0IHZvaWQgKiwgY29u c3Qgdm9pZCAqKTsKQEAgLTgsNyArOSwzNiBAQCBzdGF0aWMgaW50IHdyYXBwZXJfY21wKGNvbnN0 IHZvaWQgKnYxLCBjb25zdCB2b2lkICp2Miwgdm9pZCAqY21wKQogCXJldHVybiAoKGNtcGZ1bilj bXApKHYxLCB2Mik7CiB9CiAKK3N0YXRpYyB2b2lkIF9oZWFwaWZ5eDIodWludDY0X3QgKmJhc2Us IGludCBzLCBpbnQgbiwgY21wZnVuIGNtcCkgeworCWludCBtcywgbnM7CisJdWludDY0X3QgdDsK Kwl3aGlsZSgxKSB7CisJCW5zPXMqMisxOworCQlpZiAobnM+PW4pIGJyZWFrOworCQltcz1zOwor CQlpZiAoY21wKGJhc2UrbXMsIGJhc2UrbnMpPDApIG1zPW5zOworCQlucysrOworCQlpZiAobnM8 biYmY21wKGJhc2UrbXMsIGJhc2UrbnMpPDApIG1zPW5zOworCQlpZiAocz09bXMpIGJyZWFrOwor CQl0PWJhc2VbbXNdOyBiYXNlW21zXT1iYXNlW3NdOyBiYXNlW3NdPXQ7CisJCXM9bXM7CisJfQor fQorCitzdGF0aWMgdm9pZCBfaHNvcnR4Mih1aW50NjRfdCAqYmFzZSwgc2l6ZV90IG4sIGNtcGZ1 biBjbXApIHsKKwlpbnQgaTsKKwl1aW50NjRfdCB0OworCWZvciAoaT1uLzI7IGk+PTA7IGktLSkg X2hlYXBpZnl4MihiYXNlLCBpLCBuLCBjbXApOworCWZvciAobi0tOyBuPjA7IG4tLSkgeworCQl0 PWJhc2VbMF07IGJhc2VbMF09YmFzZVtuXTsgYmFzZVtuXT10OworCQlfaGVhcGlmeXgyKGJhc2Us IDAsIG4sIGNtcCk7CisJfQorfQorCiB2b2lkIHFzb3J0KHZvaWQgKmJhc2UsIHNpemVfdCBuZWws IHNpemVfdCB3aWR0aCwgY21wZnVuIGNtcCkKIHsKKwlpZiAod2lkdGg9PTgpIHsKKwkJcmV0dXJu IF9oc29ydHgyKGJhc2UsIG5lbCwgY21wKTsKKwl9CiAJX19xc29ydF9yKGJhc2UsIG5lbCwgd2lk dGgsIHdyYXBwZXJfY21wLCAodm9pZCAqKWNtcCk7CiB9CgoKCkFuZCB0aGUgdGVzdCBjb2RlIGlz OgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojaW5jbHVkZSA8c3Rk aW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8dGltZS5oPgoKI2RlZmluZSBNQVhN IDIwCiNkZWZpbmUgTUFYTiAxPDxNQVhNCgoKbG9uZyBsb25nIGNvdW50PTA7CnR5cGVkZWYgc3Ry dWN0IHsgaW50IGssIHY7IH0gVk5vZGU7ClZOb2RlIHZzW01BWE5dOwppbnQgbXljbXAoY29uc3Qg dm9pZCAqYSwgY29uc3Qgdm9pZCAqYikgewogICAgY291bnQrKzsKICAgIHJldHVybiAoKGNvbnN0 IFZOb2RlKilhKS0+diAtICgoY29uc3QgVk5vZGUqKWIpLT52Owp9CgoKaW50IG1haW4oKSB7CiAg ICBpbnQgaSwgaiwgaywgbjsKICAgIGRvdWJsZSBmOwogICAgVk5vZGUgdDsKICAgIHNyYW5kKHRp bWUoTlVMTCkpOwogICAgZm9yIChrPTA7IGs8MjU2OyBrKyspIHsKICAgICAgICBmb3IgKGk9MDsg aTxNQVhOOyBpKyspIHZzW2ldLnY9aTsgCiAgICAgICAgZm9yIChuPU1BWE47IG4+MTsgbi0tKSB7 CiAgICAgICAgICAgIGk9bi0xOyBqPXJhbmQoKSVuOwogICAgICAgICAgICBpZiAoaSE9aikgeyB0 PXZzW2ldOyB2c1tpXT12c1tqXTsgdnNbal09dDsgfQogICAgICAgIH0KICAgICAgICBxc29ydCh2 cywgTUFYTiwgc2l6ZW9mKHZzWzBdKSwgbXljbXApOwogICAgICAgIGZvciAoaT0wOyBpPE1BWE47 IGkrKykgaWYgKHZzW2ldLnYhPWkpIHsgcHJpbnRmKCJlcnJvclxuIikgO3JldHVybiAxOyB9CiAg ICB9CiAgICBmPWNvdW50OyBmLz1rOyBmLz1NQVhOOyBmLz1NQVhNOyBwcmludGYoImNvdW50OiAl LjNmKm5sb2duXG4iLCBmKTsKICAgIHJldHVybiAwOwp9Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CgpIZXJlIGlzIHdoYXQgSSBjb2xsZWN0CistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSsKfCAgICAgICAgICAgIHwgIHJ1bnRpbWUgIHwgIGNvbXBhcmlzb24gfAorLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rCnwgICBnbGliYyAgICB8IDBtMzIuMDkz cyB8IDAuOTM3Km5sb2duIHwKfCAgaGVhcHNvcnQgIHwgMG01NC43MDhzIHwgMS44NDYqbmxvZ24g fAp8IHNtb290aHNvcnQgfCAxbTEzLjEzN3MgfCAyLjczMypubG9nbiB8IDwtLSB0aGlzIHZlcnNp b24gb2Ygc21vb3Roc29ydCBoYXMgb3B0aW1pemVkIGZvciA4Ynl0ZSBkYXRhIGl0ZW0uCistLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSsKCkkgdGhpbmsgc21vb3Roc29ydCBo YXMgd29yc2UgYXZlcmFnZSBwZXJmb3JtYW5jZSB0aGFuIGhlYXBzb3J0IGJhc2VkIG9uIHRoZSBu dW1iZXIgb2YgY29tcGFyaXNvbnMgbWFkZS4KQnV0IHRoZSB+MipubG9nbiBjb21wYXJpc29uIG9m IGhlYXBzb3J0IGNvdWxkIG5vdCBiZWF0IH4xKm5sb2duIG9mIG1lcmdlIHNvcnQsIHVzZWQgYnkg Z2xpYmMuCgpTbyBiYWNrIHRvIHRoaXMgdGhyZWFkCgo+IE9uIFRodSwgOSBGZWIgMjAyMywgUmlj aCBGZWxrZXIgd3JvdGU6Cj4KPkJlZm9yZSB3ZSBjb25zaWRlciBhbnkgc3VjaCBjaGFuZ2UgdGhv dWdoIHdlIHNob3VsZCBwcm9iYWJseSBzZWUKPnByb2ZpbGluZyBkYXRhIHRvIGRldGVybWluZSB3 aGVyZSB0aGUgdGltZSBpcyBiZWluZyBzcGVudCBpbgo+c21vb3Roc29ydCwgaW4gY2FzZSBpdCdz IHN0dXBpZCBzdHVmZiB0aGF0J3MgZml4YWJsZS4KPgo+UmljaAoKCkkgdGhpbmssIG9wdGltaXpl IGZvciBzbWFsbCBzaXplIDQvOC8xNiBpcyBwcmFjdGljYWwsIHNpbmNlIGZlZWRpbmcgbGFyZ2Ug aXRlbSB0byBxc29ydCBpcyBsZXNzIGVmZmljaWVudCB0aGFuIGZlZWRpbmcgYW4gaW5kZXggb3Ig YWRkcmVzcyB0byBxc29ydCwgaW4gbXkgb3BpbmlvbiwgIGEgdHlwaWNhbCBzdHJ1Y3R1cmUgZm9y IHNvcnRpbmcgd291bGQgYmUgIHsgbG9uZyBsb25nIGssIHY7IH0gb3Igc29tZXRoaW5nIGFsaWtl LCB3aGVyZSBrIGlzIGluZGV4L2FkZHJlc3MgcmVmZXJyaW5nIHRvIHRoZSByZWFsIGRhdGEuIFRo ZSBwZXJmb3JtYW5jZSBpbXByb3ZlZCBhIGxvdCBpZiBvcHRpbWl6ZSBvdXQgdGhvc2UgbWVtY3B5 IGNhbGwuCkFuZCBmdXJ0aGVyIGltcHJvdmVtZW50IGNvdWxkIGJlIG1hZGUsIGZvciB0aGUgYXZl cmFnZSBwZXJmb3JtYW5jZSwgaWYgc3dpdGNoIGJhY2sgdG8gaGVhcHNvcnQuCiAoSG9wZSBzb21l b25lIGVsc2UgY2FuIGhlbHAgY29uZmlybSB0aG9zZSB0d28gYWJvdmUpLgoKQnV0IGhlYXBzb3J0 IGluIHRoZW9yeSBpcyBhbHdheXMgc2lnbmlmaWNhbnRseSBzbG93ZXIgdGhhbiBtZXJnZXNvcnQs IEkgdGhpbmsgaXQgc2hvdWxkIGJlIGFib3V0IDIgdGltZSBzbG93ZXIgd2hlbiB1c2luZyBmdWxs IHNldCBvZiBiZW5jaG1hcmsgdGVzdHMKCgoKCgpEYXZpZAoKCgoK