This is an archive of the discontinued LLVM Phabricator instance.

[lld-macho] Use fixed chunk size for UUID
ClosedPublic

Authored by MaskRay on Jul 19 2023, 4:01 PM.

Details

Reviewers
int3
keith
Group Reviewers
Restricted Project
Commits
rG359f170f5f71: [lld-macho] Use fixed chunk size for UUID
Summary

Chunk size decided by the thread count makes the UUID less deterministic
(e.g. across machines with different core counts.)
Follow ELF and just use a fixed chunksize.

Fixes: https://github.com/llvm/llvm-project/issues/63961

Diff Detail

Event Timeline

MaskRay created this revision.Jul 19 2023, 4:01 PM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJul 19 2023, 4:01 PM
MaskRay requested review of this revision.Jul 19 2023, 4:01 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 19 2023, 4:01 PM
MaskRay abandoned this revision.Jul 19 2023, 4:02 PM

Didn't see D155733. abandoning

keith accepted this revision.Jul 19 2023, 4:58 PM
This revision is now accepted and ready to land.Jul 19 2023, 4:58 PM
MaskRay updated this revision to Diff 542255.Jul 19 2023, 5:24 PM
MaskRay edited the summary of this revision. (Show Details)

update description

This revision was landed with ongoing or failed builds.Jul 19 2023, 5:24 PM
This revision was automatically updated to reflect the committed changes.

FWIW, I think this may have broken the lld bot for Windows: https://lab.llvm.org/buildbot/#/builders/123/builds/20027

MaskRay added a comment.EditedJul 20 2023, 10:12 AM

FWIW, I think this may have broken the lld bot for Windows: https://lab.llvm.org/buildbot/#/builders/123/builds/20027

https://lab.llvm.org/buildbot/#/builders/123/builds/20027 is about lld/test/ELF/export-dynamic-symbol.s, which is last modified in 2021 by me. The ld.lld (lld/ELF) test is unrelated to lld-macho (lld/MachO).

Unfortunately I cannot spot anything with the information. Another Windows bot (that I check more frequently) http://45.33.8.238/ is happy with the test.
Dumping all output from llvm-objdump may help identify the root cause.

$ "c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\filecheck.exe" "--check-prefix=PLT1" "C:\b\slave\clang-x64-windows-msvc\llvm-project\lld\test\ELF\export-dynamic-symbol.s"
# command stderr:
C:\b\slave\clang-x64-windows-msvc\llvm-project\lld\test\ELF\export-dynamic-symbol.s:64:9: error: PLT1: expected string not found in input
# PLT1: <foo@plt>

FWIW, I think this may have broken the lld bot for Windows: https://lab.llvm.org/buildbot/#/builders/123/builds/20027

https://lab.llvm.org/buildbot/#/builders/123/builds/20027 is about lld/test/ELF/export-dynamic-symbol.s, which is last modified in 2021 by me. The ld.lld (lld/ELF) test is unrelated to lld-macho (lld/MachO).

Oh! Interesting coincidence then. There were a few changes on the blamelist for https://lab.llvm.org/buildbot/#/builders/123/builds/20027 and this was the only one for lld that changed something other than tests. I don't build lld myself, I just noticed the bot went down for the better part of a day and nobody was addressing it.

Unfortunately I cannot spot anything with the information. Another Windows bot (that I check more frequently) http://45.33.8.238/ is happy with the test.
Dumping all output from llvm-objdump may help identify the root cause.

$ "c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\filecheck.exe" "--check-prefix=PLT1" "C:\b\slave\clang-x64-windows-msvc\llvm-project\lld\test\ELF\export-dynamic-symbol.s"
# command stderr:
C:\b\slave\clang-x64-windows-msvc\llvm-project\lld\test\ELF\export-dynamic-symbol.s:64:9: error: PLT1: expected string not found in input
# PLT1: <foo@plt>

Hmm yeah, the arm64 bots are happy with the changes as well.