[PATCH] D69594: Warn when an output section name is longer than 8 characters
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 30 01:17:12 PDT 2019
mstorsjo added a comment.
> Microsoft's dumpbin tool cannot handle such PE files.
This had me quite surprised, as I'm sure it was able to handle them just fine.
By testing a few different versions of such tools I had lying around, I see that this worked just fine up to MSVC 2019 16.1, but in 16.2 it changed to error out with "LINK : fatal error LNK1328: missing string table". I'm a bit unsure about whether this really is intended behaviour, or just a bug.
This change in itself seems fine though.
As a heads up for slightly related matters, I'm considering implementing more options for controlling when and how the long section names are emitted (requested at https://github.com/mstorsjo/llvm-mingw/issues/56). GNU ld has options `--enable-long-section-names` and `--disable-long-section-names` (where I think disabled was the default in some ancient past, but enable is the default these days, and Rust build tooling includes the `--enable-long-section-names` flag, which lld/MinGW doesn't recognize yet). Haven't yet entirely decided on whether we should make those options override our current default logic (include long name if debug is enabled, except for runtime mapped sections like `.eh_frame` where libunwind needs to be able to locate the section name), or just make them override the defaults for non-runtime-mapped sections (like .debug_* and the rust metadata section).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69594/new/
https://reviews.llvm.org/D69594
More information about the llvm-commits
mailing list