NewCodeGen does not create enough SRT labels when using SplitObjs
When building HEAD I get the following error:
make -r --no-print-directory -f ghc.mk phase=final all
HC [stage 1] libraries/integer-gmp/dist-install/build/GHC/Integer/Type.o
/var/folders/ka/kaF7CETOGrynlpfcm3Ojdk++06g/-Tmp-/ghc91903_0/ghc91903_0.split__51.s:29:0:
non-relocatable subtraction expression, "_integerzmgmp_GHCziIntegerziType_S3Dk_srt" minus "_c3Co_info"
/var/folders/ka/kaF7CETOGrynlpfcm3Ojdk++06g/-Tmp-/ghc91903_0/ghc91903_0.split__51.s:29:0:
symbol: "_integerzmgmp_GHCziIntegerziType_S3Dk_srt" can't be undefined in a subtraction expression
/var/folders/ka/kaF7CETOGrynlpfcm3Ojdk++06g/-Tmp-/ghc91903_0/ghc91903_0.split__51.s:14:0:
non-relocatable subtraction expression, "_integerzmgmp_GHCziIntegerziType_S3Dk_srt" minus "_integerzmgmp_GHCziIntegerziType_negateInteger_info"
/var/folders/ka/kaF7CETOGrynlpfcm3Ojdk++06g/-Tmp-/ghc91903_0/ghc91903_0.split__51.s:14:0:
symbol: "_integerzmgmp_GHCziIntegerziType_S3Dk_srt" can't be undefined in a subtraction expression
make[1]: *** [libraries/integer-gmp/dist-install/build/GHC/Integer/Type.o] Error 1 make: *** [all] Error 2
Indeed, the symbol/label is not defined in the generated assembly (no .globl declaration)
When building with object splitting disabled ("SplitObjs = NO" in build.mk) the error does not occur.
Trac metadata
Trac field | Value |
---|---|
Version | 7.7 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |