Skip to content

Commit d1321de

Browse files
committed
Map missing symbols to 0xDEADBEEF.
1 parent 4e9820c commit d1321de

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

overlays/bootstrap.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,7 @@ in {
301301
++ final.lib.optional (versionAtLeast "9.6.3" && versionLessThan "9.10" && final.stdenv.targetPlatform.isAndroid) ./patches/ghc/ghc-9.6-iog.patch
302302
++ final.lib.optional (versionAtLeast "9.6" && versionLessThan "9.12" && final.stdenv.targetPlatform.is32bit) ./patches/ghc/ghc-9.6-genapply-cross-arch.patch
303303
++ final.lib.optional (versionAtLeast "9.6" && versionLessThan "9.9" && final.stdenv.targetPlatform.isAndroid) ./patches/ghc/ghc-9.6-debug-secno.patch
304+
++ final.lib.optional (versionAtLeast "9.6" && versionLessThan "9.9" && final.stdenv.targetPlatform.isAndroid && final.stdenv.targetPlatform.is32bit) ./patches/ghc/ghc-9.6-missing-symbols-deadbeef.patch
304305
;
305306
in ({
306307
ghc865 = final.callPackage ../compiler/ghc (traceWarnOld "8.6" {
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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 {

0 commit comments

Comments
 (0)