Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Declare RTS-private prototypes with __attribute__((visibility("hidden"))) | Simon Marlow | 2009-08-05 | 1 | -1/+1 |
| | | | | | | | | | | This has no effect with static libraries, but when the RTS is in a shared library it does two things: - it prevents the function from being exposed by the shared library - internal calls to the function can use the faster non-PLT calls, because the function cannot be overriden at link time. | ||||
* | Keep C main separate from rts lib and link it in for standalone progs | Duncan Coutts | 2009-05-15 | 1 | -0/+18 |
Previously the object code for the C main function lived in the rts lib, however this is a problem when the rts is built as a shared lib. With Windows DLLs it always causes problems while on ELF systems it's a problem when the user decides to use their own C main function rather than a Haskell Main.main. So instead we now put main in it's own tiny little static lib libHSrtsmain.a which we install next to the rts libs. Whenever ghc links a program (without -no-hs-main) then it also links in -lHSrtsmain. For consistency we always do it this way now rather than trying to do it differently for static vs shared libraries. |