Do not attempt to dlopen PIE objects, which was disallowed with glibc 2.30. https://gitlab.haskell.org/ghc/ghc/issues/17952 https://sourceware.org/bugzilla/show_bug.cgi?id=24323 Patch submitted upstream: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/2947 diff --git a/testsuite/tests/dynlibs/Makefile b/testsuite/tests/dynlibs/Makefile --- a/testsuite/tests/dynlibs/Makefile +++ b/testsuite/tests/dynlibs/Makefile @@ -60,6 +60,4 @@ T5373: .PHONY: T13702 T13702: '$(TEST_HC)' -v0 -dynamic -rdynamic -fPIC -pie T13702.hs - '$(TEST_HC)' -v0 -dynamic T13702a.hs - ./T13702 # first make sure executable itself works - ./T13702a # then try dynamically loading it as library + ./T13702 diff --git a/testsuite/tests/dynlibs/T13702.hs b/testsuite/tests/dynlibs/T13702.hs --- a/testsuite/tests/dynlibs/T13702.hs +++ b/testsuite/tests/dynlibs/T13702.hs @@ -2,8 +2,3 @@ main :: IO () main = putStrLn "hello world" - -foreign export ccall "hello" hello :: IO () - -hello :: IO () -hello = putStrLn "hello world again" diff --git a/testsuite/tests/dynlibs/T13702.stdout b/testsuite/tests/dynlibs/T13702.stdout --- a/testsuite/tests/dynlibs/T13702.stdout +++ b/testsuite/tests/dynlibs/T13702.stdout @@ -1,2 +1 @@ hello world -hello world again diff --git a/testsuite/tests/dynlibs/T13702a.hs b/testsuite/tests/dynlibs/T13702a.hs deleted file mode 100644 --- a/testsuite/tests/dynlibs/T13702a.hs +++ /dev/null @@ -1,12 +0,0 @@ -{-# LANGUAGE ForeignFunctionInterface #-} - -import Foreign -import System.Posix.DynamicLinker - -main :: IO () -main = do - dl <- dlopen "./T13702" [RTLD_NOW] - funptr <- dlsym dl "hello" :: IO (FunPtr (IO ())) - mkAction funptr - -foreign import ccall "dynamic" mkAction :: FunPtr (IO ()) -> IO () rep'>log msg
path: root/gnu/build/bootloader.scm
AgeCommit message (Expand)Author
2022-06-24image: Add support for 32bit UEFI....* gnu/bootloader/grub.scm (grub-efi32-bootloader): New variable. (install-grub-efi32): New variable. * gnu/build/bootloader.scm (install-efi): Add a 'targets' keyword argument. (install-efi-loader): Likewise. * gnu/build/image.scm (initialize-efi32-partition): New procedure. * gnu/packages/bootloaders.scm (grub-efi32): New variable. * gnu/system/image.scm (esp32-partition): New variable (efi32-disk-image): New variable. (efi32-raw-image-type): New variable. (system-disk-image)[partition-image]: Set '#:grub-efi32' when calling the partition initializer. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Denis 'GNUtoo' Carikli
2021-11-12build: bootloader: Add GPT support....* gnu/build/bootloader.scm (install-efi-loader): Add GPT support. Mathieu Othacehe