Skip to content
  • sheaf's avatar
    545ff490
    Hadrian: merge archives even in stage 0 · 545ff490
    sheaf authored and Marge Bot's avatar Marge Bot committed
    We now always merge .a archives when ar supports -L.
    This change is necessary in order to bootstrap GHC using GHC 9.4
    on Windows, as nested archives aren't supported.
    Not doing so triggered bug #21990 when trying to use the Win32
    package, with errors such as:
    
      Not a x86_64 PE+ file.
      Unknown COFF 4 type in getHeaderInfo.
    
      ld.lld: error: undefined symbol: Win32zm2zi12zi0zi0_SystemziWin32ziConsoleziCtrlHandler_withConsoleCtrlHandler1_info
    
    We have to be careful about which ar is meant: in stage 0, the check
    should be done on the system ar (system-ar in system.config).
    545ff490
    Hadrian: merge archives even in stage 0
    sheaf authored and Marge Bot's avatar Marge Bot committed
    We now always merge .a archives when ar supports -L.
    This change is necessary in order to bootstrap GHC using GHC 9.4
    on Windows, as nested archives aren't supported.
    Not doing so triggered bug #21990 when trying to use the Win32
    package, with errors such as:
    
      Not a x86_64 PE+ file.
      Unknown COFF 4 type in getHeaderInfo.
    
      ld.lld: error: undefined symbol: Win32zm2zi12zi0zi0_SystemziWin32ziConsoleziCtrlHandler_withConsoleCtrlHandler1_info
    
    We have to be careful about which ar is meant: in stage 0, the check
    should be done on the system ar (system-ar in system.config).
Loading