diff options
| author | Tulio Magno Quites Machado Filho <tuliom@redhat.com> | 2023-11-24 09:17:21 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-24 09:17:21 -0300 |
| commit | cf1bde33423da5eb9b7dc95daac4aada3167de3c (patch) | |
| tree | 68ce5ea455446f6c971b173654cfcbdabfb39728 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | a4ee55fe6ea088f55bf44236bd05f6a847a3de6c (diff) | |
[clang] Fix sorting module headers (#73146)
Struct Module::Header is not a POD type. As such, qsort() and
llvm::array_pod_sort() must not be used to sort it. This became an issue
with the new implementation of qsort() in glibc 2.39 that is not
guaranteed to be a stable sort, causing Headers to be re-ordered and
corrupted.
Replace the usage of llvm::array_pod_sort() with std::stable_sort() in
order to fix this issue. The signature of compareModuleHeaders() has to
be modified.
Fixes #73145.
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
