[Git][ghc/ghc][wip/mangoiv/ghc-9.12-bp] rts: add a few missing i386 relocations in the rts linker
Magnus pushed to branch wip/mangoiv/ghc-9.12-bp at Glasgow Haskell Compiler / GHC Commits: df48432e by Luite Stegeman at 2026-05-22T11:54:49+02:00 rts: add a few missing i386 relocations in the rts linker (cherry picked from commit 04d143c02e82e9ca03eb75849959d369d07fb81a) - - - - - 2 changed files: - rts/linker/Elf.c - testsuite/tests/th/all.T Changes: ===================================== rts/linker/Elf.c ===================================== @@ -1308,6 +1308,16 @@ do_Elf_Rel_relocations ( ObjectCode* oc, char* ehdrC, case COMPAT_R_386_NONE: break; case COMPAT_R_386_32: *pP = value; break; case COMPAT_R_386_PC32: *pP = value - P; break; + case COMPAT_R_386_PLT32: *pP = value - P; break; + case COMPAT_R_386_GOTOFF: *pP = value - (Elf_Addr)oc->info->got_start; break; + case COMPAT_R_386_GOTPC: *pP = (Elf_Addr)oc->info->got_start + A - P; break; + case COMPAT_R_386_GOT32: + case COMPAT_R_386_GOT32X: + CHECK(symbol); + CHECK(symbol->got_addr); + *pP = (Elf_Addr)symbol->got_addr + - (Elf_Addr)oc->info->got_start + A; + break; # endif # if defined(arm_HOST_ARCH) ===================================== testsuite/tests/th/all.T ===================================== @@ -626,7 +626,6 @@ test('T25209', normal, compile, ['-v0 -ddump-splices -dsuppress-uniques']) test('TH_MultilineStrings', normal, compile_and_run, ['']) test('T25252', [extra_files(['T25252B.hs', 'T25252_c.c']), - when(arch('i386'), expect_broken_for(25260,['ext-interp'])), req_th, req_c], compile_and_run, ['-fPIC T25252_c.c']) View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/df48432ec29980947c039311a78b537c... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/df48432ec29980947c039311a78b537c... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Magnus (@MangoIV)