Admin message

Due to a large amount of spam we do not allow new users to create repositories, they are "external" users. If you are a new user and want to create a repository, for example for forking GHC, open a new issue on ghc/ghc using the "get-verified" issue template

Support linking with --as-needed for Linux shared libraries
## Summary I received a "complaint" in a Fedora Package [review](https://bugzilla.redhat.com/show_bug.cgi?id=2162872) that ghc overlinks shlibs: > Actually, the library is overlinked, in the sense that it is directly linked > with libraries that supply no symbols it needs. You can verify this by > running "ldd -u /usr/lib64/ghc-9.2.6/lib/libHSconstraints-0.13.4-InOzZ0BhTs66yu6vYmTru-ghc9.2.6.so". > This suggests it was linked without -Wl,--as-needed. Then again, > this seems to be true of every other Haskell shared library. Perhaps > -Wl,--as-needed is not used when linking Haskell libraries? > Sorry if I am asking stupid questions. I know very little about the ghc toolchain. > > Interestingly, the libraries in /usr/lib64/ghc-9.2.6/lib do not have the > GNU_RELRO program header, meaning they were linked without -Wl,-z,relro, but > the libraries in the x86_64-linux-ghc-9.2.6 subdirectory do have that header. ## Steps to reproduce ``` $ ldd -u ghc-9.4.4-x86_64-unknown-linux/lib/x86_64-linux-ghc-9.4.4/libHSbytestring-0.11.3.1-ghc9.4.4.so Unused direct dependencies: /var/home/petersen/Downloads/ghc-9.4.4-x86_64-unknown-linux/lib/x86_64-linux-ghc-9.4.4/./libHSpretty-1.1.3.6-ghc9.4.4.so /var/home/petersen/Downloads/ghc-9.4.4-x86_64-unknown-linux/lib/x86_64-linux-ghc-9.4.4/./libHSghc-boot-th-9.4.4-ghc9.4.4.so /var/home/petersen/Downloads/ghc-9.4.4-x86_64-unknown-linux/lib/x86_64-linux-ghc-9.4.4/./libHSdeepseq-1.4.8.0-ghc9.4.4.so /var/home/petersen/Downloads/ghc-9.4.4-x86_64-unknown-linux/lib/x86_64-linux-ghc-9.4.4/./libHSarray-0.5.4.0-ghc9.4.4.so /lib64/libgmp.so.10 ``` * Operating System: Fedora Linux * System Architecture: x86_64
issue