Changes between Version 1 and Version 2 of DynamicLinking


Ignore:
Timestamp:
Dec 11, 2006 12:45:18 PM (8 years ago)
Author:
wolfgang
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DynamicLinking

    v1 v2  
    3333== x86 and powerpc32 ELF/Linux TODO == 
    3434 
    35 The NCG works. There are a few situations (floating-point constants, ?CmmSwitch) where the x86 NCG doesn't generate truly position-independent code yet, but dynamic linking will still work. 
    36  
    37 Support for `-fPIC` in the mangler is buggy on PowerPC and nonexistent on x86. Due to the strange way that dynamic linking is implemented, it will be very hard to generate position-dependent code that correctly links to (Haskell code in) dynamic libraries without the NCG. 
     35The NCG works. Support for `-fPIC` in the mangler is buggy on PowerPC and nonexistent on x86. Due to the strange way that dynamic linking is implemented, it will be very hard to generate position-dependent code that correctly links to (Haskell code in) dynamic libraries without the NCG. 
    3836 
    3937As the RTS can't currently be compiled with the NCG (a volunteer opportunity!), the RTS has to be compiled as position dependent code. 
     
    4442 
    4543When building a DLL, you have to specify which libraries it depends on; the build system will need to support this. There is a lot of code for building DLLs in the Makefiles, but it probably no longer works and needs to be merged with the new shared library building support. 
     44 
     45Also, since the last time that DLLs worked with GHC on Windows, the GNU linker has gained a new feature. It can now "auto-import" data from shared libraries, making all the windows-specific hacks unnecessary. However, auto-imported data will prevent all sharing of code between processes, every page of code with a reference to data will get written to at load time. 
    4646 
    4747== Darwin TODO ==