PR/55512
Details
- Reviewers
keith - Group Reviewers
Restricted Project - Commits
- rG3cde6d83f86c: [nfc][lld-macho] Follow up fixes to bd9e46815d73e4236c207bad8b5c54e7188154d7
rGbd9e46815d73: [nfc][lld-macho] Fixed test from https://reviews.llvm.org/D125732
rGa997cdc3b798: [lld-macho] Temporarily disable test on windows
rG4c5b187f2c06: [lld-macho] Demangle symbol names in export-symbol error messages when…
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
lld/test/MachO/demangle.s | ||
---|---|---|
22 | super nit: missing space after : |
Seemed to fail on windows bot:
$ ":" "RUN: at line 12" $ "not" "ld64.lld" "-arch" "x86_64" "-platform_version" "macos" "11.0" "11.0" "-syslibroot" "C:/buildbot-root/llvm-clang-x86_64-sie-win/llvm-project/lld/test\MachO\Inputs\MacOSX.sdk" "-fatal_warnings" "-exported_symbol" "__ZTIN3foo3bar4MethE" "-exported_symbol" "__ZTSN3foo3bar4MethE" "C:\buildbot-root\llvm-clang-x86_64-sie-win\build\tools\lld\test\MachO\Output\demangle.s.tmp/export-symbols.o" "-o" "/dev/null" $ "c:\buildbot-root\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe" "--check-prefix=EXPORT" "C:\buildbot-root\llvm-clang-x86_64-sie-win\llvm-project\lld\test\MachO\demangle.s" $ ":" "RUN: at line 13" $ "not" "ld64.lld" "-arch" "x86_64" "-platform_version" "macos" "11.0" "11.0" "-syslibroot" "C:/buildbot-root/llvm-clang-x86_64-sie-win/llvm-project/lld/test\MachO\Inputs\MacOSX.sdk" "-fatal_warnings" "-demangle" "-exported_symbol" "__ZTIN3foo3bar4MethE" "-exported_symbol" "__ZTSN3foo3bar4MethE" "C:\buildbot-root\llvm-clang-x86_64-sie-win\build\tools\lld\test\MachO\Output\demangle.s.tmp/export-symbols.o" "-o" "/dev/null" $ "c:\buildbot-root\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe" "--check-prefix=DEMANGLE-EXPORT" "C:\buildbot-root\llvm-clang-x86_64-sie-win\llvm-project\lld\test\MachO\demangle.s" # command stderr: C:\buildbot-root\llvm-clang-x86_64-sie-win\llvm-project\lld\test\MachO\demangle.s:22:20: error: DEMANGLE-EXPORT: expected string not found in input # DEMANGLE-EXPORT: cannot export hidden symbol typeinfo for foo::bar::Meth ^ <stdin>:4:78: note: scanning from here ld64.lld: error: cannot export hidden symbol typeinfo name for foo::bar::Meth ^ <stdin>:5:101: note: possible intended match here >>> defined in C:\buildbot-root\llvm-clang-x86_64-sie-win\build\tools\lld\test\MachO\Output\demangle.s.tmp/export-symbols.o ^ Input file: <stdin> Check file: C:\buildbot-root\llvm-clang-x86_64-sie-win\llvm-project\lld\test\MachO\demangle.s -dump-input=help explains the following input dump.
Oh I see - the test is bad because it was expecting the error messages to be in a particular order. (it shouldn't because the export symbol list is processed concurrentlly)
Linker behavior, including error output order, should be deterministic. (This allows caching results etc)
So it's not the test that's bad, it's the code.
I'd advise reverting and fixing async.
I agree.
So it's not the test that's bad, it's the code.
I'd advise reverting and fixing async.
However the indeterminism isn't introduced by this patch. It's been there already (that is, the code that checks the list of exported symbols runs in parallel)
will look into how to fix the indeterminism there.
All this patch does is to change how the symbol names get printed, not when.
super nit: missing space after :