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 |