Commit 5664b63
committed
profile: ignore WayDyn in profileBuildTag for unified interface files
With -dynamic-too deprecated and all .hi/.o files unified, WayDyn no
longer affects the ABI of interface or object files. The profile build
tag (used for interface file compatibility checks in Iface/Binary.hs)
must not include the "dyn" component, otherwise we get:
mismatched interface file profile tag (wanted "dyn", got "")
This occurs when Cabal builds packages with --enable-shared (-dynamic)
using a stage2 compiler whose libraries were compiled without -dynamic.
The .hi files have tag "" but the reader expects "dyn".
By filtering WayDyn from the ways before computing waysBuildTag, both
the writing and reading sides produce consistent tags regardless of
whether -dynamic is passed. This follows the same pattern as the Finder
and Linker fixes (commits 59cc152, 8a64142).1 parent 67566ca commit 5664b63
1 file changed
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
53 | | - | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
0 commit comments