diff options
author | Ian Lynagh <igloo@earth.li> | 2012-05-02 17:00:56 +0100 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2012-05-02 17:00:56 +0100 |
commit | 3a8c7c8ee122a7704645aabc226c79a9477a7394 (patch) | |
tree | d317c8d1b47ef9e0a902ec1cc6fc4404f4d9cd58 | |
parent | 18b4ad9afeba5a0e9a8858ff13ee4554a3c8d024 (diff) | |
download | haskell-3a8c7c8ee122a7704645aabc226c79a9477a7394.tar.gz |
More Win64 ghci fixes
-rw-r--r-- | rts/Linker.c | 161 | ||||
-rw-r--r-- | rts/package.conf.in | 1 |
2 files changed, 162 insertions, 0 deletions
diff --git a/rts/Linker.c b/rts/Linker.c index 4e65713138..229d45bd0d 100644 --- a/rts/Linker.c +++ b/rts/Linker.c @@ -580,12 +580,173 @@ typedef struct _RtsSymbolVal { RTS_WIN64_ONLY(SymI_HasProto(strchr)) \ RTS_WIN64_ONLY(SymI_HasProto(strtol)) \ RTS_WIN64_ONLY(SymI_HasProto(strerror)) \ + RTS_WIN64_ONLY(SymI_HasProto(memchr)) \ + RTS_WIN64_ONLY(SymI_HasProto(memcmp)) \ + RTS_WIN64_ONLY(SymI_HasProto(wcscpy)) \ + RTS_WIN64_ONLY(SymI_HasProto(wcslen)) \ RTS_WIN64_ONLY(SymI_HasProto(_lseeki64)) \ + RTS_WIN64_ONLY(SymI_HasProto(_wchmod)) \ RTS_WIN64_ONLY(SymI_HasProto(closesocket)) \ RTS_WIN64_ONLY(SymI_HasProto(send)) \ RTS_WIN64_ONLY(SymI_HasProto(recv)) \ RTS_WIN64_ONLY(SymI_HasProto(bsearch)) \ RTS_WIN64_ONLY(SymI_HasProto(CommandLineToArgvW)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreateBitmap)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreateBitmapIndirect)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreateCompatibleBitmap)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreateDIBPatternBrushPt)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreateDIBitmap)) \ + RTS_WIN64_ONLY(SymI_HasProto(SetBitmapDimensionEx)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetBitmapDimensionEx)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetStockObject)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetObjectW)) \ + RTS_WIN64_ONLY(SymI_HasProto(DeleteObject)) \ + RTS_WIN64_ONLY(SymI_HasProto(SetDIBits)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetDIBits)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreateSolidBrush)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreateHatchBrush)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreatePatternBrush)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreateFontW)) \ + RTS_WIN64_ONLY(SymI_HasProto(AngleArc)) \ + RTS_WIN64_ONLY(SymI_HasProto(Arc)) \ + RTS_WIN64_ONLY(SymI_HasProto(ArcTo)) \ + RTS_WIN64_ONLY(SymI_HasProto(BeginPath)) \ + RTS_WIN64_ONLY(SymI_HasProto(BitBlt)) \ + RTS_WIN64_ONLY(SymI_HasProto(CancelDC)) \ + RTS_WIN64_ONLY(SymI_HasProto(Chord)) \ + RTS_WIN64_ONLY(SymI_HasProto(CloseFigure)) \ + RTS_WIN64_ONLY(SymI_HasProto(CombineRgn)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreateCompatibleDC)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreateEllipticRgn)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreateEllipticRgnIndirect)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreatePen)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreatePolygonRgn)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreateRectRgn)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreateRectRgnIndirect)) \ + RTS_WIN64_ONLY(SymI_HasProto(CreateRoundRectRgn)) \ + RTS_WIN64_ONLY(SymI_HasProto(DeleteDC)) \ + RTS_WIN64_ONLY(SymI_HasProto(Ellipse)) \ + RTS_WIN64_ONLY(SymI_HasProto(EndPath)) \ + RTS_WIN64_ONLY(SymI_HasProto(EqualRgn)) \ + RTS_WIN64_ONLY(SymI_HasProto(ExtSelectClipRgn)) \ + RTS_WIN64_ONLY(SymI_HasProto(FillPath)) \ + RTS_WIN64_ONLY(SymI_HasProto(FillRgn)) \ + RTS_WIN64_ONLY(SymI_HasProto(FlattenPath)) \ + RTS_WIN64_ONLY(SymI_HasProto(FrameRgn)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetArcDirection)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetBkColor)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetBkMode)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetBrushOrgEx)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetCurrentObject)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetDCOrgEx)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetGraphicsMode)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetMiterLimit)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetPolyFillMode)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetRgnBox)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetStretchBltMode)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetTextAlign)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetTextCharacterExtra)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetTextColor)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetTextExtentPoint32W)) \ + RTS_WIN64_ONLY(SymI_HasProto(InvertRgn)) \ + RTS_WIN64_ONLY(SymI_HasProto(LineTo)) \ + RTS_WIN64_ONLY(SymI_HasProto(MaskBlt)) \ + RTS_WIN64_ONLY(SymI_HasProto(MoveToEx)) \ + RTS_WIN64_ONLY(SymI_HasProto(OffsetRgn)) \ + RTS_WIN64_ONLY(SymI_HasProto(PaintRgn)) \ + RTS_WIN64_ONLY(SymI_HasProto(PathToRegion)) \ + RTS_WIN64_ONLY(SymI_HasProto(Pie)) \ + RTS_WIN64_ONLY(SymI_HasProto(PlgBlt)) \ + RTS_WIN64_ONLY(SymI_HasProto(PolyBezier)) \ + RTS_WIN64_ONLY(SymI_HasProto(PolyBezierTo)) \ + RTS_WIN64_ONLY(SymI_HasProto(Polygon)) \ + RTS_WIN64_ONLY(SymI_HasProto(Polyline)) \ + RTS_WIN64_ONLY(SymI_HasProto(PolylineTo)) \ + RTS_WIN64_ONLY(SymI_HasProto(PtInRegion)) \ + RTS_WIN64_ONLY(SymI_HasProto(Rectangle)) \ + RTS_WIN64_ONLY(SymI_HasProto(RectInRegion)) \ + RTS_WIN64_ONLY(SymI_HasProto(RestoreDC)) \ + RTS_WIN64_ONLY(SymI_HasProto(RoundRect)) \ + RTS_WIN64_ONLY(SymI_HasProto(SaveDC)) \ + RTS_WIN64_ONLY(SymI_HasProto(SelectClipPath)) \ + RTS_WIN64_ONLY(SymI_HasProto(SelectClipRgn)) \ + RTS_WIN64_ONLY(SymI_HasProto(SelectObject)) \ + RTS_WIN64_ONLY(SymI_HasProto(SelectPalette)) \ + RTS_WIN64_ONLY(SymI_HasProto(SetArcDirection)) \ + RTS_WIN64_ONLY(SymI_HasProto(SetBkColor)) \ + RTS_WIN64_ONLY(SymI_HasProto(SetBkMode)) \ + RTS_WIN64_ONLY(SymI_HasProto(SetBrushOrgEx)) \ + RTS_WIN64_ONLY(SymI_HasProto(SetGraphicsMode)) \ + RTS_WIN64_ONLY(SymI_HasProto(SetMiterLimit)) \ + RTS_WIN64_ONLY(SymI_HasProto(SetPolyFillMode)) \ + RTS_WIN64_ONLY(SymI_HasProto(SetStretchBltMode)) \ + RTS_WIN64_ONLY(SymI_HasProto(SetTextAlign)) \ + RTS_WIN64_ONLY(SymI_HasProto(SetTextCharacterExtra)) \ + RTS_WIN64_ONLY(SymI_HasProto(SetTextColor)) \ + RTS_WIN64_ONLY(SymI_HasProto(StretchBlt)) \ + RTS_WIN64_ONLY(SymI_HasProto(StrokeAndFillPath)) \ + RTS_WIN64_ONLY(SymI_HasProto(StrokePath)) \ + RTS_WIN64_ONLY(SymI_HasProto(TextOutW)) \ + RTS_WIN64_ONLY(SymI_HasProto(timeGetTime)) \ + RTS_WIN64_ONLY(SymI_HasProto(WidenPath)) \ + RTS_WIN64_ONLY(SymI_HasProto(GetFileSecurityW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegCloseKey)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegConnectRegistryW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegCreateKeyExW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegCreateKeyW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegDeleteKeyW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegDeleteValueW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegEnumKeyW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegEnumValueW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegFlushKey)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegLoadKeyW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegNotifyChangeKeyValue)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegOpenKeyExW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegOpenKeyW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegQueryInfoKeyW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegQueryValueExW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegQueryValueW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegReplaceKeyW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegRestoreKeyW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegSaveKeyW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegSetValueExW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegSetValueW)) \ + RTS_WIN64_ONLY(SymI_HasProto(RegUnLoadKeyW)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(SHGetFolderPathW)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_SetWindowLongPtrW)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_GetWindowLongPtrW)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_MenuItemFromPoint)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_ChildWindowFromPoint)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_ChildWindowFromPointEx)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_DeleteObject)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_UnmapViewOfFile)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_CloseHandle)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_FreeLibrary)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_GetMessageW)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_TranslateMessage)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_DispatchMessageW)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_DefWindowProcW)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_GetDIBits)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_GlobalAlloc)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_GlobalFree)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_CreateFileW)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_WriteFile)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_CreateCompatibleBitmap)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_SelectObject)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_Polygon)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_FormatMessageW)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp__localtime64)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp__tzname)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp__timezone)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_CreatePipe)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_SetHandleInformation)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_GetStdHandle)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_GetCurrentProcess)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_DuplicateHandle)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_CreateProcessW)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_TerminateProcess)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp__open_osfhandle)) \ + RTS_WIN64_ONLY(SymI_NeedsProto(__imp_GetExitCodeProcess)) \ RTS_MINGW_GETTIMEOFDAY_SYM \ SymI_NeedsProto(closedir) diff --git a/rts/package.conf.in b/rts/package.conf.in index 130130227d..4d659f8a0f 100644 --- a/rts/package.conf.in +++ b/rts/package.conf.in @@ -35,6 +35,7 @@ extra-libraries: #endif #ifdef mingw32_HOST_OS ,"wsock32" /* for the linker */ + ,"gdi32" /* for the linker */ #endif #if defined(DEBUG) && defined(HAVE_LIBBFD) ,"bfd", "iberty" /* for debugging */ |