Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
LGTM, with nits.
lld/test/MachO/fat-arch.s | ||
---|---|---|
11 | Add more context the the diagnostics, probably error: It is also a convention to not capitalize the diagnostics, see clang, ld.lld and binutils/LLVM binary utilities' output. |
lld/MachO/InputFiles.cpp | ||
---|---|---|
90 | We may wanna add some bounds checking here to handle malformed fat files, e.g. if nfat_arch is an absurdly large value and we go over bounds. Idk if yaml2obj is capable of generating a malformed fat file of that sort, but we should at least have some checks. |
lld/test/MachO/fat-arch.s | ||
---|---|---|
11 | I believe ld64 treats this scenario as a warning, not an error. I wouldn't mind us treating this as an error (at least until we get more experience with the new linker and whether that's reasonable behavior), because in my experience, a mistake like this usually leads to undefined symbols in your link anyway, and it's less confusing if you get an error about the issue right away. |
address comments
lld/test/MachO/fat-arch.s | ||
---|---|---|
11 |
lld/Common/ErrorHandler.h always prints out ANSI color markers around its warning: and error: prefixes. We could use regexes to ignore the colors I guess but it's kind of ugly... I'll make it an error. |
I realize I'd neglected to add llvm-lipo as a test dependency. Just fixed that, but I've added it as a dependency for all lld test suites (including ELF and COFF); not sure if it's possible to add it for just check-lld-macho.
lld/test/MachO/invalid-fat-narch.s | ||
---|---|---|
8 | You may omit --- and ... |
lld/test/MachO/fat-arch.s | ||
---|---|---|
11 | No. Color code sequences are not emitted when stderr is connected to a regular file/pipe instead of a pty. |
lld/test/MachO/fat-arch.s | ||
---|---|---|
11 | I agree that's the way it *should* work but I don't think that has been implemented... just from a glance at ErrorHandler.cpp anyway. It is definitely still producing the color markers when I run it under llvm-lit locally though | |
lld/test/MachO/invalid-fat-narch.s | ||
8 | ah thanks, wasn't too familiar with YAML syntax |
lld/test/MachO/fat-arch.s | ||
---|---|---|
11 | Most test/ELF/* error/warning tests include error: or warning: . |
lld/test/MachO/fat-arch.s | ||
---|---|---|
11 | Aha, we weren't setting up the error logger properly in lld-macho's Driver.cpp. I'll put up a diff to fix that. Thanks! |
We may wanna add some bounds checking here to handle malformed fat files, e.g. if nfat_arch is an absurdly large value and we go over bounds. Idk if yaml2obj is capable of generating a malformed fat file of that sort, but we should at least have some checks.