[Git][ghc/ghc][wip/ppc64-fix-T25155-T25240] 4 commits: gitlab: mention CLC in MR template

Peter Trommler (@trommler) gitlab at gitlab.haskell.org
Fri Nov 15 15:47:51 UTC 2024



Peter Trommler pushed to branch wip/ppc64-fix-T25155-T25240 at Glasgow Haskell Compiler / GHC


Commits:
1acb73bf by Andrew Lelechenko at 2024-11-15T06:10:47-05:00
gitlab: mention CLC in MR template

- - - - -
8f2e0832 by Ben Gamari at 2024-11-15T06:11:24-05:00
rts: Allow use of GNU-stack notes on FreeBSD

Previously we gated use of GNU-style non-executable stack notes to only
apply on Linux. However, these are also supported by FreeBSD, which also
uses ELF. Fix this.

Fixes #25475.

- - - - -
ffd4a8a7 by Peter Trommler at 2024-11-15T15:47:49+00:00
Fix requirements on T25240

T25240 doesn't need RTS linker, GHCi is sufficient and GHCi can also be
dynamically linked.

- - - - -
9c5112c9 by Peter Trommler at 2024-11-15T15:47:49+00:00
Fix requirements for T25155

Loading C objects requires RTS linker.

- - - - -


8 changed files:

- .gitlab/merge_request_templates/Default.md
- rts/StgCRunAsm.S
- rts/adjustor/NativeAmd64Asm.S
- rts/adjustor/NativeAmd64MingwAsm.S
- rts/adjustor/Nativei386Asm.S
- rts/configure.ac
- testsuite/tests/ghci/linking/T25240/all.T
- testsuite/tests/ghci/linking/all.T


Changes:

=====================================
.gitlab/merge_request_templates/Default.md
=====================================
@@ -7,7 +7,12 @@ expectations. Also please answer the following question in your MR description:*
 
 Please take a few moments to address the following points:
 
- * [ ] if your MR may break existing programs (e.g. touches `base` or causes the
+ * [ ] if your MR touches `base` (or touches parts of `ghc-internal` used
+   or re-exported by `base`) more substantially than just amending comments
+   or documentation, you likely need to raise a
+   [CLC proposal](https://github.com/haskell/core-libraries-committee#base-package)
+   before merging it.
+ * [ ] if your MR may break existing programs (e.g. causes the
    compiler to reject programs), please describe the expected breakage and add
    the ~"user-facing" label. This will run ghc/head.hackage> to characterise
    the effect of your change on Hackage.


=====================================
rts/StgCRunAsm.S
=====================================
@@ -497,6 +497,6 @@ StgReturn:
 #endif /* !USE_MINIINTERPRETER */
 
 /* mark stack as nonexecutable */
-#if defined(__linux__) && defined(__ELF__)
+#if defined(HAVE_GNU_NONEXEC_STACK)
 .section .note.GNU-stack,"", at progbits
 #endif


=====================================
rts/adjustor/NativeAmd64Asm.S
=====================================
@@ -113,6 +113,6 @@ complex_ccall_ret_code:
     ret
 
 /* mark stack as nonexecutable */
-#if defined(__linux__) && defined(__ELF__)
+#if defined(HAVE_GNU_NONEXEC_STACK)
 .section .note.GNU-stack,"", at progbits
 #endif


=====================================
rts/adjustor/NativeAmd64MingwAsm.S
=====================================
@@ -135,6 +135,6 @@ complex_ccall_ret_code:
     ret
 
 /* mark stack as nonexecutable */
-#if defined(__linux__) && defined(__ELF__)
+#if defined(HAVE_GNU_NONEXEC_STACK)
 .section .note.GNU-stack,"", at progbits
 #endif


=====================================
rts/adjustor/Nativei386Asm.S
=====================================
@@ -52,6 +52,6 @@ DECLARE_CSYM(ccall_adjustor)
     ret
 
 /* mark stack as nonexecutable */
-#if defined(__linux__) && defined(__ELF__)
+#if defined(HAVE_GNU_NONEXEC_STACK)
 .section .note.GNU-stack,"", at progbits
 #endif


=====================================
rts/configure.ac
=====================================
@@ -83,6 +83,10 @@ AS_IF([test x"${TargetHasSubsectionsViaSymbols}" = x"YES"],
   [AC_DEFINE([HAVE_SUBSECTIONS_VIA_SYMBOLS],[1],
     [Define to 1 if Apple-style dead-stripping is supported.])])
 
+GHC_GNU_NONEXEC_STACK
+AS_IF([test x"$TargetHasGnuNonexecStack" = x"YES"],
+  [AC_DEFINE([HAVE_GNU_NONEXEC_STACK], [1], [Define (to 1) if GNU-style non-executable stack note is supported])])
+
 dnl --------------------------------------------------
 dnl * Platform header file and syscall feature tests
 dnl ### checking the state of the local header files and syscalls ###


=====================================
testsuite/tests/ghci/linking/T25240/all.T
=====================================
@@ -1,3 +1,3 @@
 # skip on darwin because the leading underscores will make the test fail
-test('T25240', [when(leading_underscore(),skip), req_rts_linker, extra_files(['T25240a.hs'])],
+test('T25240', [when(leading_underscore(),skip), req_interp, extra_files(['T25240a.hs'])],
     makefile_test, ['T25240'])


=====================================
testsuite/tests/ghci/linking/all.T
=====================================
@@ -76,4 +76,4 @@ test('big-obj', [extra_files(['big-obj-c.c', 'big-obj.hs']),
                     unless(doing_ghci, skip), unless(opsys('mingw32'), skip)],
      makefile_test, ['big-obj'])
 
-test('T25155', [req_c, req_th, req_interp, extra_files(['T25155_iserv_main.c', 'T25155_iserv.hs', 'T25155_TH.hs'])], makefile_test, [])
+test('T25155', [req_c, req_th, req_interp, req_rts_linker, extra_files(['T25155_iserv_main.c', 'T25155_iserv.hs', 'T25155_TH.hs'])], makefile_test, [])



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/60868f41249eb4ab744ceeab0c5a61d6cc79061c...9c5112c99ef0a16ca8340ecabda02f8dc9a8f4ee

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/60868f41249eb4ab744ceeab0c5a61d6cc79061c...9c5112c99ef0a16ca8340ecabda02f8dc9a8f4ee
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/20241115/9628011e/attachment-0001.html>


More information about the ghc-commits mailing list