[Git][ghc/ghc][wip/supersven/ghc-master-riscv-ncg] 2 commits: Fix regression in RISCV64 RTS linker

Sven Tennie (@supersven) gitlab at gitlab.haskell.org
Thu Sep 5 07:31:54 UTC 2024



Sven Tennie pushed to branch wip/supersven/ghc-master-riscv-ncg at Glasgow Haskell Compiler / GHC


Commits:
f208f182 by Sven Tennie at 2024-09-05T07:25:26+00:00
Fix regression in RISCV64 RTS linker

The check was non-sense.

- - - - -
22fc1a09 by Sven Tennie at 2024-09-05T07:31:36+00:00
Adjust test timings for small machines

The reference was a Lichee Pi 4a RISCV64 machine.

- - - - -


3 changed files:

- rts/linker/elf_reloc_riscv64.c
- testsuite/tests/concurrent/should_run/async001.hs
- testsuite/tests/concurrent/should_run/conc024.hs


Changes:

=====================================
rts/linker/elf_reloc_riscv64.c
=====================================
@@ -118,7 +118,7 @@ int32_t decodeAddendRISCV64(Section *section STG_UNUSED,
 
 // Make sure that V can be represented as an N bit signed integer.
 void checkInt(inst_t *loc, int32_t v, int n) {
-  if (v != signExtend32(v, n)) {
+  if (!isInt(n, v)) {
     barf("Relocation at 0x%x is out of range. value: 0x%x (%d), "
                "sign-extended value: 0x%x (%d), max bits 0x%x (%d)\n",
                *loc, v, v, signExtend32(v, n), signExtend32(v, n), n, n);


=====================================
testsuite/tests/concurrent/should_run/async001.hs
=====================================
@@ -9,11 +9,11 @@ import System.IO.Unsafe
 
 main = do
   let x = unsafePerformIO $
-             (do threadDelay 1000000; return 42)
+             (do threadDelay 3000000; return 42)
              `onException` return ()
 
   t <- forkIO $ do evaluate x; return ()
-  threadDelay 2000
+  threadDelay 6000
   killThread t
 
   print x `E.catch` \e -> putStrLn ("main caught: " ++ show (e::SomeException))


=====================================
testsuite/tests/concurrent/should_run/conc024.hs
=====================================
@@ -11,5 +11,5 @@ main = do
   id <- myThreadId
   forkIO (catch (do m <- newEmptyMVar; takeMVar m)
                 (\e -> throwTo id (e::SomeException)))
-  catch (do yield; performGC; threadDelay 1000000)
+  catch (do yield; performGC; threadDelay 2000000)
         (\e -> print (e::SomeException))



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/26c79cfa3cee3cf0651f91b7b75d00268e985e91...22fc1a09dda3e9373f83c16a05d4a72636ae65e4

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/26c79cfa3cee3cf0651f91b7b75d00268e985e91...22fc1a09dda3e9373f83c16a05d4a72636ae65e4
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20240905/1cede57e/attachment-0001.html>


More information about the ghc-commits mailing list