From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Fix performance regressions with .gdb_index (Tom Tromey, BZ 805274). Date: Thu, 23 Jul 2026 18:30:21 GMT Message-ID: <178483142171.1.8220852885894091041.rpms-gdb-ea0fcb4584cb@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: ea0fcb4584cb04c938e32e44ad21a04c6225c5a1 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogZWEwZmNiNDU4NGNiMDRjOTM4ZTMyZTQ0YWQyMWEwNGM2 MjI1YzVhMQpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KRGF0ZSAgIDogMjAxMi0wMy0zMVQwMDowMDozMCswMjowMApTdGF0cyAgOiArMjA2Ly0xIGlu IDIgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dk Yi9jL2VhMGZjYjQ1ODRjYjA0YzkzOGUzMmU0NGFkMjFhMDRjNjIyNWM1YTE/YnJhbmNoPWZpeC1k dXAtcGF0Y2gKCkxvZzoKRml4IHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb25zIHdpdGggLmdkYl9pbmRl eCAoVG9tIFRyb21leSwgQlogODA1Mjc0KS4KCi0tLQpkaWZmIC0tZ2l0IGEvZ2RiLXVwc3RyZWFt LnBhdGNoIGIvZ2RiLXVwc3RyZWFtLnBhdGNoCmluZGV4IDBhYzE1ZDcuLmU2NmQyNDUgMTAwNjQ0 Ci0tLSBhL2dkYi11cHN0cmVhbS5wYXRjaAorKysgYi9nZGItdXBzdHJlYW0ucGF0Y2gKQEAgLTk1 LDMgKzk1LDIwNSBAQCBnZGIvCiAgCiAgICAgICAgaWYgKGVycm5vID09IEVJTyAKIAorCisKK2h0 dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEyLTAyL21zZzAwNDA5Lmh0bWwK K1N1YmplY3Q6IEZZSTogcmVtb3ZlIGV4dHJhbmVvdXMgYmxvY2sgZnJvbSBkdzJfbWFwX3N5bXRh YnNfbWF0Y2hpbmdfZmlsZW5hbWUKK2h0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItY3ZzLzIw MTItMDIvbXNnMDAxMTcuaHRtbAorY29tbWl0IDYxZDgxNjFiMzNiMWU3ZGJjODBiYTZmN2E5MjUw MGExNTk0ZGE1NWMKKworIyMjIHNyYy9nZGIvQ2hhbmdlTG9nCTIwMTIvMDIvMjAgMDk6NDI6MzQJ MS4xMzg0NQorIyMjIHNyYy9nZGIvQ2hhbmdlTG9nCTIwMTIvMDIvMjAgMTk6MjQ6MzQJMS4xMzg0 NgorIyMgLTEsMyArMSw4IEBACisrMjAxMi0wMi0yMCAgVG9tIFRyb21leSAgPHRyb21leUByZWRo YXQuY29tPgorKworKwkqIGR3YXJmMnJlYWQuYyAoZHcyX21hcF9zeW10YWJzX21hdGNoaW5nX2Zp bGVuYW1lKTogUmVtb3ZlCisrCWV4dHJhbmVvdXMgYmxvY2suCisrCisgMjAxMi0wMi0yMCAgVHJp c3RhbiBHaW5nb2xkICA8Z2luZ29sZEBhZGFjb3JlLmNvbT4KKyAKKyAJKiBkYXJ3aW4tbmF0Lmgg KGVudW0gZGFyd2luX21zZ19zdGF0ZSk6IEFkZCBjb21tZW50cy4KKy0tLSBzcmMvZ2RiL2R3YXJm MnJlYWQuYwkyMDEyLzAyLzA3IDA0OjQ4OjE5CTEuNjEyCisrKysgc3JjL2dkYi9kd2FyZjJyZWFk LmMJMjAxMi8wMi8yMCAxOToyNDozOQkxLjYxMworQEAgLTI0MzcsMTMgKzI0MzcsNiBAQAorIAkJ cmV0dXJuIDE7CisgCSAgICB9CisgCistCSAgICB7CistCSAgICAgIGlmIChkdzJfbWFwX2V4cGFu ZF9hcHBseSAob2JqZmlsZSwgcGVyX2N1LAorLQkJCQkJbmFtZSwgZnVsbF9wYXRoLCByZWFsX3Bh dGgsCistCQkJCQljYWxsYmFjaywgZGF0YSkpCistCQlyZXR1cm4gMTsKKy0JICAgIH0KKy0KKyAJ ICAvKiBCZWZvcmUgd2UgaW52b2tlIHJlYWxwYXRoLCB3aGljaCBjYW4gZ2V0IGV4cGVuc2l2ZSB3 aGVuIG1hbnkKKyAJICAgICBmaWxlcyBhcmUgaW52b2x2ZWQsIGRvIGEgcXVpY2sgY29tcGFyaXNv biBvZiB0aGUgYmFzZW5hbWVzLiAgKi8KKyAJICBpZiAoISBiYXNlbmFtZXNfbWF5X2RpZmZlcgor CisKKworRllJOiBmaXggc29tZSBwZXJmb3JtYW5jZSBidWdzIHdpdGggLmdkYl9pbmRleAoraHR0 cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMDIvbXNnMDA0MTMuaHRtbAor aHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1jdnMvMjAxMi0wMi9tc2cwMDExOS5odG1sCisK KyMjIyBzcmMvZ2RiL0NoYW5nZUxvZwkyMDEyLzAyLzIwIDE5OjQ0OjAwCTEuMTM4NDcKKyMjIyBz cmMvZ2RiL0NoYW5nZUxvZwkyMDEyLzAyLzIwIDIwOjU2OjEyCTEuMTM4NDgKKyMjIC0xLDMgKzEs MTAgQEAKKysyMDEyLTAyLTIwICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhhdC5jb20+CisrCisr CVBSIGdkYi8xMzQ5ODoKKysJKiBkd2FyZjJyZWFkLmMgKGR3Ml9leHBhbmRfc3ltdGFic19tYXRj aGluZyk6IE9ubHkgdmlzaXQgYQorKwlwYXJ0aWN1bGFyIHNldCBvZiBmaWxlIG5hbWVzIG9uY2Uu CisrCShkdzJfbWFwX3N5bWJvbF9maWxlbmFtZXMpOiBMaWtld2lzZS4KKysKKyAyMDEyLTAyLTIw ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CisgCisgCUNvZGUg Y2xlYW51cC4KKy0tLSBzcmMvZ2RiL2R3YXJmMnJlYWQuYwkyMDEyLzAyLzIwIDE5OjI0OjM5CTEu NjEzCisrKysgc3JjL2dkYi9kd2FyZjJyZWFkLmMJMjAxMi8wMi8yMCAyMDo1NjoxMgkxLjYxNAor QEAgLTI3MDAsMzIgKzI3MDAsNjMgQEAKKyAgIGluZGV4ID0gZHdhcmYyX3Blcl9vYmpmaWxlLT5p bmRleF90YWJsZTsKKyAKKyAgIGlmIChmaWxlX21hdGNoZXIgIT0gTlVMTCkKKy0gICAgZm9yIChp ID0gMDsgaSA8IChkd2FyZjJfcGVyX29iamZpbGUtPm5fY29tcF91bml0cworLQkJICAgICArIGR3 YXJmMl9wZXJfb2JqZmlsZS0+bl90eXBlX3VuaXRzKTsgKytpKQorLSAgICAgIHsKKy0JaW50IGo7 CistCXN0cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEgKnBlcl9jdSA9IGR3Ml9nZXRfY3UgKGkpOwor LQlzdHJ1Y3QgcXVpY2tfZmlsZV9uYW1lcyAqZmlsZV9kYXRhOworKyAgICB7CisrICAgICAgc3Ry dWN0IGNsZWFudXAgKmNsZWFudXA7CisrICAgICAgaHRhYl90IHZpc2l0ZWRfZm91bmQsIHZpc2l0 ZWRfbm90X2ZvdW5kOworIAorLQlwZXJfY3UtPnYucXVpY2stPm1hcmsgPSAwOworKyAgICAgIHZp c2l0ZWRfZm91bmQgPSBodGFiX2NyZWF0ZV9hbGxvYyAoMTAsCisrCQkJCQkgaHRhYl9oYXNoX3Bv aW50ZXIsIGh0YWJfZXFfcG9pbnRlciwKKysJCQkJCSBOVUxMLCB4Y2FsbG9jLCB4ZnJlZSk7Cisr ICAgICAgY2xlYW51cCA9IG1ha2VfY2xlYW51cF9odGFiX2RlbGV0ZSAodmlzaXRlZF9mb3VuZCk7 CisrICAgICAgdmlzaXRlZF9ub3RfZm91bmQgPSBodGFiX2NyZWF0ZV9hbGxvYyAoMTAsCisrCQkJ CQkgICAgIGh0YWJfaGFzaF9wb2ludGVyLCBodGFiX2VxX3BvaW50ZXIsCisrCQkJCQkgICAgIE5V TEwsIHhjYWxsb2MsIHhmcmVlKTsKKysgICAgICBtYWtlX2NsZWFudXBfaHRhYl9kZWxldGUgKHZp c2l0ZWRfbm90X2ZvdW5kKTsKKyAKKy0JLyogV2Ugb25seSBuZWVkIHRvIGxvb2sgYXQgc3ltdGFi cyBub3QgYWxyZWFkeSBleHBhbmRlZC4gICovCistCWlmIChwZXJfY3UtPnYucXVpY2stPnN5bXRh YikKKy0JICBjb250aW51ZTsKKysgICAgICBmb3IgKGkgPSAwOyBpIDwgKGR3YXJmMl9wZXJfb2Jq ZmlsZS0+bl9jb21wX3VuaXRzCisrCQkgICAgICAgKyBkd2FyZjJfcGVyX29iamZpbGUtPm5fdHlw ZV91bml0cyk7ICsraSkKKysJeworKwkgIGludCBqOworKwkgIHN0cnVjdCBkd2FyZjJfcGVyX2N1 X2RhdGEgKnBlcl9jdSA9IGR3Ml9nZXRfY3UgKGkpOworKwkgIHN0cnVjdCBxdWlja19maWxlX25h bWVzICpmaWxlX2RhdGE7CisrCSAgdm9pZCAqKnNsb3Q7CisgCistCWZpbGVfZGF0YSA9IGR3Ml9n ZXRfZmlsZV9uYW1lcyAob2JqZmlsZSwgcGVyX2N1KTsKKy0JaWYgKGZpbGVfZGF0YSA9PSBOVUxM KQorLQkgIGNvbnRpbnVlOworKwkgIHBlcl9jdS0+di5xdWljay0+bWFyayA9IDA7CisgCistCWZv ciAoaiA9IDA7IGogPCBmaWxlX2RhdGEtPm51bV9maWxlX25hbWVzOyArK2opCistCSAgeworLQkg ICAgaWYgKGZpbGVfbWF0Y2hlciAoZmlsZV9kYXRhLT5maWxlX25hbWVzW2pdLCBkYXRhKSkKKy0J ICAgICAgeworLQkJcGVyX2N1LT52LnF1aWNrLT5tYXJrID0gMTsKKy0JCWJyZWFrOworLQkgICAg ICB9CistCSAgfQorLSAgICAgIH0KKysJICAvKiBXZSBvbmx5IG5lZWQgdG8gbG9vayBhdCBzeW10 YWJzIG5vdCBhbHJlYWR5IGV4cGFuZGVkLiAgKi8KKysJICBpZiAocGVyX2N1LT52LnF1aWNrLT5z eW10YWIpCisrCSAgICBjb250aW51ZTsKKysKKysJICBmaWxlX2RhdGEgPSBkdzJfZ2V0X2ZpbGVf bmFtZXMgKG9iamZpbGUsIHBlcl9jdSk7CisrCSAgaWYgKGZpbGVfZGF0YSA9PSBOVUxMKQorKwkg ICAgY29udGludWU7CisrCisrCSAgaWYgKGh0YWJfZmluZCAodmlzaXRlZF9ub3RfZm91bmQsIGZp bGVfZGF0YSkgIT0gTlVMTCkKKysJICAgIGNvbnRpbnVlOworKwkgIGVsc2UgaWYgKGh0YWJfZmlu ZCAodmlzaXRlZF9mb3VuZCwgZmlsZV9kYXRhKSAhPSBOVUxMKQorKwkgICAgeworKwkgICAgICBw ZXJfY3UtPnYucXVpY2stPm1hcmsgPSAxOworKwkgICAgICBjb250aW51ZTsKKysJICAgIH0KKysK KysJICBmb3IgKGogPSAwOyBqIDwgZmlsZV9kYXRhLT5udW1fZmlsZV9uYW1lczsgKytqKQorKwkg ICAgeworKwkgICAgICBpZiAoZmlsZV9tYXRjaGVyIChmaWxlX2RhdGEtPmZpbGVfbmFtZXNbal0s IGRhdGEpKQorKwkJeworKwkJICBwZXJfY3UtPnYucXVpY2stPm1hcmsgPSAxOworKwkJICBicmVh azsKKysJCX0KKysJICAgIH0KKysKKysJICBzbG90ID0gaHRhYl9maW5kX3Nsb3QgKHBlcl9jdS0+ di5xdWljay0+bWFyaworKwkJCQkgPyB2aXNpdGVkX2ZvdW5kCisrCQkJCSA6IHZpc2l0ZWRfbm90 X2ZvdW5kLAorKwkJCQkgZmlsZV9kYXRhLCBJTlNFUlQpOworKwkgICpzbG90ID0gZmlsZV9kYXRh OworKwl9CisrCisrICAgICAgZG9fY2xlYW51cHMgKGNsZWFudXApOworKyAgICB9CisgCisgICBm b3IgKGl0ZXIgPSAwOyBpdGVyIDwgaW5kZXgtPnN5bWJvbF90YWJsZV9zbG90czsgKytpdGVyKQor ICAgICB7CitAQCAtMjc4NywxNSArMjgxOCwzNSBAQAorIAkJCSAgdm9pZCAqZGF0YSwgaW50IG5l ZWRfZnVsbG5hbWUpCisgeworICAgaW50IGk7CisrICBzdHJ1Y3QgY2xlYW51cCAqY2xlYW51cDsK KysgIGh0YWJfdCB2aXNpdGVkID0gaHRhYl9jcmVhdGVfYWxsb2MgKDEwLCBodGFiX2hhc2hfcG9p bnRlciwgaHRhYl9lcV9wb2ludGVyLAorKwkJCQkgICAgICBOVUxMLCB4Y2FsbG9jLCB4ZnJlZSk7 CisgCisrICBjbGVhbnVwID0gbWFrZV9jbGVhbnVwX2h0YWJfZGVsZXRlICh2aXNpdGVkKTsKKyAg IGR3Ml9zZXR1cCAob2JqZmlsZSk7CisgCisrICAvKiBXZSBjYW4gaWdub3JlIGZpbGUgbmFtZXMg Y29taW5nIGZyb20gYWxyZWFkeS1leHBhbmRlZCBDVXMuICAqLworKyAgZm9yIChpID0gMDsgaSA8 IChkd2FyZjJfcGVyX29iamZpbGUtPm5fY29tcF91bml0cworKwkJICAgKyBkd2FyZjJfcGVyX29i amZpbGUtPm5fdHlwZV91bml0cyk7ICsraSkKKysgICAgeworKyAgICAgIHN0cnVjdCBkd2FyZjJf cGVyX2N1X2RhdGEgKnBlcl9jdSA9IGR3Ml9nZXRfY3UgKGkpOworKworKyAgICAgIGlmIChwZXJf Y3UtPnYucXVpY2stPnN5bXRhYikKKysJeworKwkgIHZvaWQgKipzbG90ID0gaHRhYl9maW5kX3Ns b3QgKHZpc2l0ZWQsIHBlcl9jdS0+di5xdWljay0+ZmlsZV9uYW1lcywKKysJCQkJCUlOU0VSVCk7 CisrCisrCSAgKnNsb3QgPSBwZXJfY3UtPnYucXVpY2stPmZpbGVfbmFtZXM7CisrCX0KKysgICAg fQorKworICAgZm9yIChpID0gMDsgaSA8IChkd2FyZjJfcGVyX29iamZpbGUtPm5fY29tcF91bml0 cworIAkJICAgKyBkd2FyZjJfcGVyX29iamZpbGUtPm5fdHlwZV91bml0cyk7ICsraSkKKyAgICAg eworICAgICAgIGludCBqOworICAgICAgIHN0cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEgKnBlcl9j dSA9IGR3Ml9nZXRfY3UgKGkpOworICAgICAgIHN0cnVjdCBxdWlja19maWxlX25hbWVzICpmaWxl X2RhdGE7CisrICAgICAgdm9pZCAqKnNsb3Q7CisgCisgICAgICAgLyogV2Ugb25seSBuZWVkIHRv IGxvb2sgYXQgc3ltdGFicyBub3QgYWxyZWFkeSBleHBhbmRlZC4gICovCisgICAgICAgaWYgKHBl cl9jdS0+di5xdWljay0+c3ltdGFiKQorQEAgLTI4MDUsNiArMjg1NiwxNCBAQAorICAgICAgIGlm IChmaWxlX2RhdGEgPT0gTlVMTCkKKyAJY29udGludWU7CisgCisrICAgICAgc2xvdCA9IGh0YWJf ZmluZF9zbG90ICh2aXNpdGVkLCBmaWxlX2RhdGEsIElOU0VSVCk7CisrICAgICAgaWYgKCpzbG90 KQorKwl7CisrCSAgLyogQWxyZWFkeSB2aXNpdGVkLiAgKi8KKysJICBjb250aW51ZTsKKysJfQor KyAgICAgICpzbG90ID0gZmlsZV9kYXRhOworKworICAgICAgIGZvciAoaiA9IDA7IGogPCBmaWxl X2RhdGEtPm51bV9maWxlX25hbWVzOyArK2opCisgCXsKKyAJICBjb25zdCBjaGFyICp0aGlzX3Jl YWxfbmFtZTsKK0BAIC0yODE2LDYgKzI4NzUsOCBAQAorIAkgICgqZnVuKSAoZmlsZV9kYXRhLT5m aWxlX25hbWVzW2pdLCB0aGlzX3JlYWxfbmFtZSwgZGF0YSk7CisgCX0KKyAgICAgfQorKworKyAg ZG9fY2xlYW51cHMgKGNsZWFudXApOworIH0KKyAKKyBzdGF0aWMgaW50CgpkaWZmIC0tZ2l0IGEv Z2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCA1NDVjY2MyLi41YzYwYWY0IDEwMDY0NAotLS0gYS9n ZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMzMsNyArMzMsNyBAQCBWZXJzaW9uOiA3LjQuNTAu JXtzbmFwfQogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBhIGxlYWRpbmcgcmVzZXJ2 ZWQgbnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlzIG5vdCBhIHBhcnQgb2Yg YG5hbWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21wYXRpYmxlIGZvciB0aGUg dGVzdGluZy4KLVJlbGVhc2U6IDM0JXs/ZGlzdH0KK1JlbGVhc2U6IDM1JXs/ZGlzdH0KIAogTGlj ZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFuZCBHUEx2MisgYW5kIEdQ THYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2MisgYW5kIEJTRCBhbmQgUHVi bGljIERvbWFpbgogR3JvdXA6IERldmVsb3BtZW50L0RlYnVnZ2VycwpAQCAtMTMzOSw2ICsxMzM5 LDkgQEAgZmkKICVlbmRpZiAjIDAleyE/ZWw1OjF9IHx8ICIle190YXJnZXRfY3B1fSIgPT0gIm5v YXJjaCIKIAogJWNoYW5nZWxvZworKiBGcmkgTWFyIDMwIDIwMTIgSmFuIEtyYXRvY2h2aWwgPGph bi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy40LjUwLjIwMTIwMTIwLTM1LmZjMTcKKy0gRml4 IHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb25zIHdpdGggLmdkYl9pbmRleCAoVG9tIFRyb21leSwgQlog ODA1Mjc0KS4KKwogKiBGcmkgTWFyIDMwIDIwMTIgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2No dmlsQHJlZGhhdC5jb20+IC0gNy40LjUwLjIwMTIwMTIwLTM0LmZjMTcKIC0gRml4dXAgJXtfZGF0 YWRpcn0vZ2RiIHRpbWVzdGFtcHMgZm9yIG11bHRpbGliIGNvbmZsaWN0cyBvbiBSSEVMcy4KIAo=