File tree Expand file tree Collapse file tree 2 files changed +27
-1
lines changed Expand file tree Collapse file tree 2 files changed +27
-1
lines changed Original file line number Diff line number Diff line change 280
280
# Allow loading static external plugins into cross compilers
281
281
++ final . lib . optional ( versionAtLeast "9.6.1" && versionLessThan "9.10" && ( final . stdenv . targetPlatform != final . stdenv . hostPlatform ) ) ./patches/ghc/5c80a27488acfe3610ddfcb99a1e961002e386d0.patch
282
282
++ 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
284
284
;
285
285
in ( {
286
286
ghc865 = final . callPackage ../compiler/ghc ( traceWarnOld "8.6" {
Original file line number Diff line number Diff line change
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()) {
You can’t perform that action at this time.
0 commit comments