Martin Storsjö
Martin Storsjö
Yes, I've considered looking into PGO. The main obstacles are, as you already mentioned, extra build time (which could be an issue, or could be acceptable), but secondly, the fact...
> It could be quite tricky. Not sure about PGO profile interoperability between Windows and Linux. However, according to my tests, PGO profiles between Linux and macOS were not compatible...
Yep, exactly. The cases where the profile won't match, is of course for trivial bits with platform specific code (like `llvm/lib/Support/{Windows,Unix}`). But another potential case can be for types that...
The reason for this is that the convention within mingw environments (the same goes for GCC) is that the type info for a dllexported class isn't exported as a symbol...
Well, I don't really know the PDB internals at all, neither do I know dbghelp.dll, so I don't really have much to add at this point. I'd suggest filing a...
> Seems like reusing `.def` files created for `link.exe` isn't viable option because Binutils LD doesn't understand them. That's surprising - which aspect of them doesn't binutils ld support? As...
Three things come to mind: * Would it work better if you gave the file a `.def` suffix? * Not sure if GNU ld might have an issue with the...
Works fine for me in a minimal testcase: ```sh $ cat test.c void a(void) {} void b(void) {} void c(void) {} $ cat test.def EXPORTS a b $ x86_64-w64-mingw32-gcc -c...
> Update on this topic: > I copied MSVC code for generating the script (modulo `LIBRARY` section) in [rust-lang/rust#70852](https://github.com/rust-lang/rust/pull/70852) and it causes regressions: > > * DLLs have additional dependencies:...
> Those results are the same with ld.bfd and LLD. Though I mostly test ld.bfd since import libs are not always generated yet so using LLD requires a lot manual...