Skip to content

Commit f852935

Browse files
committed
Add deadbeef patches
1 parent e2b5f0c commit f852935

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

overlays/bootstrap.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ in {
280280
# Allow loading static external plugins into cross compilers
281281
++ final.lib.optional (versionAtLeast "9.6.1" && versionLessThan"9.10" && (final.stdenv.targetPlatform != final.stdenv.hostPlatform)) ./patches/ghc/5c80a27488acfe3610ddfcb99a1e961002e386d0.patch
282282
++ final.lib.optional (versionAtLeast "9.6.1" && versionLessThan"9.10" && (final.stdenv.targetPlatform != final.stdenv.hostPlatform)) ./patches/ghc/f8beb54a1d5725bd0d8a4b0a909d1b41d742b50b.patch
283-
283+
++ final.lib.optional (versionAtLeast "9.6" && versionLessThan "9.9" && (final.stdenv.targetPlatform.isAndroid && final.stdenv.targetPlatform.is32bit || final.stdenv.targetPlatform.isMusl)) ./patches/ghc/ghc-9.6-missing-symbols-deadbeef.patch
284284
;
285285
in ({
286286
ghc865 = final.callPackage ../compiler/ghc (traceWarnOld "8.6" {
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
diff --git a/rts/linker/elf_got.c b/rts/linker/elf_got.c
2+
index 4d0c978..96a9d60 100644
3+
--- a/rts/linker/elf_got.c
4+
+++ b/rts/linker/elf_got.c
5+
@@ -99,7 +99,8 @@ fillGot(ObjectCode * oc) {
6+
} else {
7+
errorBelch("Failed to lookup symbol: %s\n",
8+
symbol->name);
9+
- return EXIT_FAILURE;
10+
+ // return EXIT_FAILURE;
11+
+ symbol->addr = 0xDEADBEEF;
12+
}
13+
}
14+
} else {
15+
diff --git a/rts/Linker.c b/rts/Linker.c
16+
index 2356818..727e845 100644
17+
--- a/rts/Linker.c
18+
+++ b/rts/Linker.c
19+
@@ -1088,6 +1088,7 @@ SymbolAddr* lookupSymbol( SymbolName* lbl )
20+
"See top entry above.\n", lbl);
21+
IF_DEBUG(linker, printLoadedObjects());
22+
fflush(stderr);
23+
+ r = 0xDEADBEEF;
24+
}
25+
26+
if (!runPendingInitializers()) {

0 commit comments

Comments
 (0)