Commits on Source (9)
-
Previously the overflow check for the IMAGE_REL_AMD64_ADDR32NB relocation failed to account for the signed nature of the value. Specifically, the overflow check was: uint64_t v; v = S + A; if (v >> 32) { ... } However, `v` ultimately needs to fit into 32-bits as a signed value. Consequently, values `v > 2^31` in fact overflow yet this is not caught by the existing overflow check. Here we rewrite the overflow check to rather ensure that `INT32_MIN <= v <= INT32_MAX`. There is now quite a bit of repetition between the `IMAGE_REL_AMD64_REL32` and `IMAGE_REL_AMD64_ADDR32` cases but I am leaving fixing this for future work. This bug was first noticed by @awson. Fixes #15808.
d445cf05 -
4c407f6e
-
Co-authored-by:
Sven Tennie <sven.tennie@gmail.com> Co-authored-by:
Matthew Pickering <matthewtpickering@gmail.com> Co-authored-by:
Ben Gamari <bgamari.foss@gmail.com>
7814cd5b -
This got fixed sometime recently; not worth it trying to figure out which commit.
fa344d33 -
Ben Gamari authored
This changes the "ticky" modifier to enable dumping of final STG as this is generally needed to make sense of the ticky profiles.
31fe9a73 -
Ben Gamari authored
This extends Hadrian's notion of "flavour", as described in #18942.
c34f9e5a -
Ben Gamari authored
Note that this also slightly changes the semantics of these flavours as we only use LLVM for >= stage1 builds.
20af5712 -
Ben Gamari authored759fb39e
Showing
- hadrian/src/Flavour.hs 75 additions, 1 deletionhadrian/src/Flavour.hs
- hadrian/src/Settings.hs 3 additions, 5 deletionshadrian/src/Settings.hs
- hadrian/src/Settings/Flavours/Llvm.hs 2 additions, 6 deletionshadrian/src/Settings/Flavours/Llvm.hs
- includes/rts/storage/Closures.h 5 additions, 0 deletionsincludes/rts/storage/Closures.h
- includes/rts/storage/Heap.h 9 additions, 0 deletionsincludes/rts/storage/Heap.h
- includes/rts/storage/TSO.h 14 additions, 2 deletionsincludes/rts/storage/TSO.h
- libraries/base/GHC/Exts.hs 1 addition, 1 deletionlibraries/base/GHC/Exts.hs
- libraries/ghc-heap/GHC/Exts/Heap.hs 112 additions, 65 deletionslibraries/ghc-heap/GHC/Exts/Heap.hs
- rts/Heap.c 23 additions, 18 deletionsrts/Heap.c
- rts/linker/PEi386.c 6 additions, 4 deletionsrts/linker/PEi386.c
- testsuite/tests/typecheck/should_compile/T17186.hs 17 additions, 0 deletionstestsuite/tests/typecheck/should_compile/T17186.hs
- testsuite/tests/typecheck/should_compile/all.T 1 addition, 1 deletiontestsuite/tests/typecheck/should_compile/all.T