emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Windows port binaries


From: Bruno Haible
Subject: Re: Windows port binaries
Date: Tue, 15 Aug 2023 21:57:47 +0200

Corwin Brust wrote:
> In case it helps others to assist with testing, for the moment I am
> aggressively rebuilding the Windows port also, from (not quite every)
> commit to emacs-29 or master, posting to:
> 
>   https://corwin.bru.st/emacs-29
>   https://corwin.bru.st/emacs-30

Thanks. I tried to use the
https://corwin.bru.st/emacs-30/emacs-30-latest-no-deps.zip
binary from today, but they don't work for me (on Windows 10), because
they rely on two DLLs which are not contained in the 'bin' directory:
  - libgmp-10.dll
  - libwinpthread-1.dll

Find below the output of "dumpbin.exe /imports emacs.exe".

Additionally, I find it strange:

  1) Why are the imports from libgmp all prefixed with '__'? That's
     a bit unusual.

  2) emacs/nt/mingw-cfg.site contains this comment:
       # We don't want to check for these functions
       # because they are implemented in libwinpthread.
     corresponding to this ChangeLog entry:

       2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>

               Avoid run-time dependency on libwinpthread DLL on MS-Windows

               * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
               (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to 
not
               present, so that MinGW64 builds don't depend on libwinpthread.
               (Bug#22959)

     However, the binaries rely on nanosleep() from libwinpthread.
     Is it intended or unintended?
     If it is unintended, does it come from Gnulib? In this case, I'll gladly
     help to do anything needed in Gnulib to help avoid this import.

Bruno

==================== dumpbin /imports ==============================
Microsoft (R) COFF/PE Dumper Version 14.00.24210.0
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file emacs.exe

File Type: EXECUTABLE IMAGE

  Section contains the following imports:

    ADVAPI32.dll
             400810540 Import Address Table
             40080F140 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                         407 AdjustTokenPrivileges
                         4A9 CryptAcquireContextA
                         4BA CryptGenRandom
                         563 GetUserNameA
                         596 LookupPrivilegeValueA
                         643 RegCloseKey
                         664 RegEnumValueA
                         673 RegOpenKeyExA
                         680 RegQueryValueExA

    COMCTL32.dll
             400810590 Import Address Table
             40080F190 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                          68 InitCommonControls

    comdlg32.dll
             4008105A0 Import Address Table
             40080F1A0 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                           3 ChooseFontA
                           5 CommDlgExtendedError
                           A GetOpenFileNameA
                           B GetOpenFileNameW

    GDI32.dll
             4008105C8 Import Address Table
             40080F1C8 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                          14 BitBlt
                          23 CombineRgn
                          2A CreateBitmap
                          31 CreateCompatibleBitmap
                          32 CreateCompatibleDC
                          33 CreateDCA
                          38 CreateDIBSection
                          41 CreateFontIndirectA
                          4E CreatePalette
                          50 CreatePen
                          54 CreateRectRgn
                          55 CreateRectRgnIndirect
                          5B CreateSolidBrush
                         181 DeleteDC
                         184 DeleteObject
                         1C4 EnumFontFamiliesExA
                         1CD EqualRgn
                         1D7 ExtTextOutA
                         1D8 ExtTextOutW
                         270 GetClipBox
                         271 GetClipRgn
                         275 GetCurrentObject
                         27D GetDeviceCaps
                         28B GetFontData
                         2AD GetObjectA
                         2B6 GetPixel
                         2D0 GetTextExtentPoint32A
                         2D1 GetTextExtentPoint32W
                         2D5 GetTextFaceA
                         2D8 GetTextMetricsA
                         2EB LineTo
                         2FF MoveToEx
                         30B PatBlt
                         321 RealizePalette
                         324 Rectangle
                         32E RestoreDC
                         335 SaveDC
                         364 SelectClipRgn
                         366 SelectObject
                         367 SelectPalette
                         36D SetBkColor
                         36E SetBkMode
                         371 SetBrushOrgEx
                         391 SetStretchBltMode
                         393 SetTextAlign
                         395 SetTextColor
                         3A2 StretchBlt
                         3A9 TranslateCharsetInfo

    libgmp-10.dll
             400810750 Import Address Table
             40080F350 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                          3D __gmp_set_memory_functions
                         1F8 __gmpn_popcount
                         2DC __gmpz_add
                         2DD __gmpz_add_ui
                         2DE __gmpz_addmul
                         2DF __gmpz_addmul_ui
                         2E0 __gmpz_and
                         2E5 __gmpz_cdiv_q
                         2EE __gmpz_clear
                         2F1 __gmpz_cmp
                         2F2 __gmpz_cmp_d
                         2F4 __gmpz_cmp_ui
                         2F5 __gmpz_cmpabs
                         2F8 __gmpz_com
                         2FD __gmpz_divexact
                         304 __gmpz_export
                         306 __gmpz_fdiv_q
                         307 __gmpz_fdiv_q_2exp
                         308 __gmpz_fdiv_q_ui
                         309 __gmpz_fdiv_qr
                         30B __gmpz_fdiv_r
                         317 __gmpz_gcd
                         31A __gmpz_get_d
                         31D __gmpz_get_str
                         321 __gmpz_import
                         322 __gmpz_init
                         328 __gmpz_init_set_ui
                         32E __gmpz_ior
                         335 __gmpz_limbs_finish
                         337 __gmpz_limbs_read
                         338 __gmpz_limbs_write
                         33F __gmpz_mul
                         340 __gmpz_mul_2exp
                         342 __gmpz_mul_ui
                         34C __gmpz_pow_ui
                         358 __gmpz_roinit_n
                         35D __gmpz_scan1
                         35E __gmpz_set
                         35F __gmpz_set_d
                         362 __gmpz_set_si
                         363 __gmpz_set_str
                         364 __gmpz_set_ui
                         368 __gmpz_sizeinbase
                         36C __gmpz_sub
                         36D __gmpz_sub_ui
                         36E __gmpz_submul
                         370 __gmpz_swap
                         371 __gmpz_tdiv_q
                         374 __gmpz_tdiv_qr
                         376 __gmpz_tdiv_r
                         379 __gmpz_tdiv_ui
                         37C __gmpz_ui_pow_ui
                         380 __gmpz_xor

    KERNEL32.dll
             400810900 Import Address Table
             40080F500 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                          29 BackupWrite
                          6B Beep
                          78 CancelIo
                          8D CloseHandle
                          9E CompareFileTime
                          A2 CompareStringW
                          B1 CopyFileA
                          B6 CopyFileW
                          C5 CreateEventA
                          CC CreateFileA
                          CD CreateFileMappingA
                          D4 CreateFileW
                          EA CreateProcessA
                          FC CreateThread
                         111 DebugBreak
                         11B DeleteCriticalSection
                         12B DeviceIoControl
                         12C DisableThreadLibraryCalls
                         139 DuplicateHandle
                         13F EnterCriticalSection
                         15A EnumSystemCodePagesA
                         161 EnumSystemLocalesA
                         171 ExpandEnvironmentStringsA
                         17B FillConsoleOutputAttribute
                         17C FillConsoleOutputCharacterA
                         185 FindClose
                         189 FindFirstFileA
                         190 FindFirstFileW
                         19A FindNextFileA
                         19C FindNextFileW
                         1AE FlushConsoleInputBuffer
                         1B6 FormatMessageA
                         1BB FreeLibrary
                         1C1 GenerateConsoleCtrlEvent
                         1C2 GetACP
                         1D2 GetCPInfo
                         1E5 GetCommState
                         1E6 GetCommTimeouts
                         1E7 GetCommandLineA
                         1ED GetComputerNameA
                         1FB GetConsoleCP
                         201 GetConsoleCursorInfo
                         20D GetConsoleMode
                         211 GetConsoleOutputCP
                         213 GetConsoleScreenBufferInfo
                         217 GetConsoleTitleW
                         221 GetCurrentDirectoryA
                         222 GetCurrentDirectoryW
                         228 GetCurrentProcess
                         229 GetCurrentProcessId
                         22C GetCurrentThread
                         22D GetCurrentThreadId
                         239 GetDiskFreeSpaceA
                         23C GetDiskFreeSpaceW
                         241 GetDriveTypeA
                         24C GetEnvironmentVariableA
                         250 GetExitCodeProcess
                         251 GetExitCodeThread
                         256 GetFileAttributesA
                         25B GetFileAttributesW
                         25D GetFileInformationByHandle
                         261 GetFileSize
                         264 GetFileType
                         26C GetFullPathNameA
                         26F GetFullPathNameW
                         276 GetLastError
                         279 GetLocaleInfoA
                         289 GetModuleFileNameA
                         28A GetModuleFileNameW
                         28B GetModuleHandleA
                         298 GetNamedPipeInfo
                         2AD GetNumberOfConsoleInputEvents
                         2AF GetOEMCP
                         2B0 GetOverlappedResult
                         2C6 GetProcAddress
                         2CC GetProcessHeap
                         2E0 GetProfileStringA
                         2E4 GetShortPathNameA
                         2E5 GetShortPathNameW
                         2E7 GetStartupInfoA
                         2EA GetStdHandle
                         2F3 GetSystemDefaultLCID
                         2FB GetSystemInfo
                         2FC GetSystemPowerStatus
                         301 GetSystemTimeAsFileTime
                         317 GetThreadLocale
                         31F GetTickCount
                         32C GetUserDefaultLCID
                         333 GetVersion
                         334 GetVersionExA
                         336 GetVolumeInformationA
                         338 GetVolumeInformationW
                         347 GlobalAlloc
                         34E GlobalFree
                         351 GlobalHandle
                         352 GlobalLock
                         359 GlobalUnlock
                         35F HeapAlloc
                         361 HeapCreate
                         365 HeapFree
                         369 HeapReAlloc
                         37C InitializeCriticalSection
                         397 IsDBCSLeadByteEx
                         3A5 IsValidCodePage
                         3A7 IsValidLocale
                         3D8 LeaveCriticalSection
                         3DC LoadLibraryA
                         3DF LoadLibraryW
                         3EA LocalFree
                         3FB MapViewOfFile
                         3FC MapViewOfFileEx
                         40C MultiByteToWideChar
                         42D OpenProcess
                         436 OutputDebugStringA
                         440 PeekNamedPipe
                         45B PulseEvent
                         45C PurgeComm
                         475 QueueUserAPC
                         481 RaiseException
                         486 ReadConsoleInputA
                         489 ReadConsoleInputW
                         491 ReadDirectoryChangesW
                         492 ReadFile
                         495 ReadProcessMemory
                         4BE ResetEvent
                         4C5 ResumeThread
                         4D7 ScrollConsoleScreenBufferA
                         4E3 SetCommState
                         4E4 SetCommTimeouts
                         4EA SetConsoleActiveScreenBuffer
                         4EB SetConsoleCP
                         4ED SetConsoleCtrlHandler
                         4EF SetConsoleCursorInfo
                         4F1 SetConsoleCursorPosition
                         4FD SetConsoleMode
                         502 SetConsoleOutputCP
                         505 SetConsoleScreenBufferSize
                         508 SetConsoleTitleW
                         509 SetConsoleWindowInfo
                         514 SetEndOfFile
                         519 SetErrorMode
                         51A SetEvent
                         51F SetFileAttributesA
                         522 SetFileAttributesW
                         527 SetFilePointer
                         52B SetFileTime
                         536 SetLastError
                         53F SetNamedPipeHandleState
                         540 SetPriorityClass
                         54E SetStdHandle
                         560 SetThreadLocale
                         562 SetThreadPriority
                         572 SetUnhandledExceptionFilter
                         582 Sleep
                         58A SuspendThread
                         58D SystemTimeToFileTime
                         591 TerminateProcess
                         592 TerminateThread
                         5A5 TlsGetValue
                         5B6 UnmapViewOfFile
                         5CE VirtualAlloc
                         5D1 VirtualFree
                         5D4 VirtualProtect
                         5D6 VirtualQuery
                         5DD WaitForMultipleObjects
                         5DF WaitForSingleObject
                         5E0 WaitForSingleObjectEx
                         60B WideCharToMultiByte
                         615 WriteConsoleInputA
                         618 WriteConsoleInputW
                         61B WriteConsoleOutputCharacterA
                         61F WriteFile
                         642 lstrcmpiA
                         64C lstrlenW

    MPR.dll
             400810E78 Import Address Table
             40080FA78 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                           E WNetAddConnection2A
                           F WNetAddConnection2W
                          19 WNetCloseEnum
                          24 WNetEnumResourceA
                          25 WNetEnumResourceW
                          48 WNetOpenEnumA
                          49 WNetOpenEnumW

    msvcrt.dll
             400810EB8 Import Address Table
             40080FAB8 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                          38 __C_specific_handler
                          40 ___lc_codepage_func
                          43 ___mb_cur_max_func
                          52 __getmainargs
                          53 __initenv
                          54 __iob_func
                          62 __set_app_type
                          64 __setusermatherr
                          74 _acmdln
                          7C _amsg_exit
                          89 _beginthread
                          8E _cexit
                          91 _chdir
                          97 _chmod
                          9B _close
                          9D _commit
                          9E _commode
                          A7 _chdir
                          AA _creat
                          B0 _ctime64
                          BF _difftime64
                          C1 _dup
                          C2 _dup2
                          C9 _environ
                          CB _errno
                          FB _exit
                          DE _fdopen
                          E8 _fileno
                          FF _fmode
                         11C _futime64
                         127 _get_osfhandle
                         135 _getmbcp
                         136 _getpid
                         13E _gmtime64
                         14B _initterm
                         153 _hypot
                         150 _isatty
                         1BA _localtime64
                         1BB _lock
                         1C6 _lseeki64
                         1ED _mbschr
                         1FF _mbsinc
                         203 _mbslwr
                         227 _mbsncpy
                         22B _mbsnextc
                         239 _mbspbrk
                         23B _mbsrchr
                         258 _memccpy
                         25D _mkdir
                         261 _mktime64
                         267 _onexit
                         269 _open
                         26A _open_osfhandle
                         271 _pipe
                         27A _putenv
                         281 _read
                         284 _rmdir
                         29E _setjmp
                         2A2 _setmode
                         2A6 _snprintf
                         2C0 _spawnlp
                         2DA _stricmp
                         2D8 _strdup
                         2E4 _strlwr
                         2F1 _strnicmp
                         313 _sys_errlist
                         314 _sys_nerr
                         319 _time64
                         324 _tzname
                         325 _tzset
                         32F _umask
                         333 _unlink
                         334 _unlock
                         373 _wchdir
                         374 _wchmod
                         376 _wcreat
                         3C7 _wgetenv
                         3CF _wmkdir
                         3D1 _wopen
                         3DE _wrename
                         3E0 _write
                         3E1 _wrmdir
                         406 _wunlink
                         41F abort
                         41D acos
                         410 asin
                         412 atan
                         417 atof
                         418 atoi
                         421 calloc
                         424 clearerr
                         426 clock
                         42E exit
                         432 fclose
                         433 feof
                         434 ferror
                         435 fflush
                         437 fgetpos
                         439 fgets
                         442 fprintf
                         444 fputc
                         445 fputs
                         448 fread
                         449 free
                         451 fseek
                         456 fwrite
                         45A getc
                         45B getchar
                         45C getenv
                         464 isalpha
                         469 islower
                         46C isspace
                         46D isupper
                         47B isxdigit
                         47F localeconv
                         482 log10
                         485 longjmp
                         486 malloc
                         48C memchr
                         48D memcmp
                         48E memcpy
                         48F memmove
                         490 memset
                         49A putc
                         49B putchar
                         49F qsort
                         4A1 raise
                         4A3 realloc
                         4A2 rand
                         4A6 rename
                         4AC setlocale
                         4AD setvbuf
                         4AE signal
                         4B7 srand
                         4BB strcat
                         4BD strchr
                         4BE strcmp
                         4C0 strcpy
                         4C3 strerror
                         4C4 strftime
                         4C5 strlen
                         4C6 strncat
                         4C8 strncmp
                         4C9 strncpy
                         4CB strpbrk
                         4CC strrchr
                         4CD strspn
                         4CE strstr
                         4D1 strtok
                         4D3 strtol
                         4D4 strtoul
                         4DD tan
                         4E5 tolower
                         4E6 toupper
                         4E9 ungetc
                         4EC vfprintf
                         4FC wcscat
                         501 wcscpy
                         505 wcslen
                         509 wcsncpy

    ole32.dll
             4008113C0 Import Address Table
             40080FFC0 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                          1E CoCreateGuid
                          55 CoInitialize
                          85 CoUninitialize
                         1FA StringFromGUID2

    libwinpthread-1.dll
             4008113E8 Import Address Table
             40080FFE8 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                          10 nanosleep

    SHELL32.dll
             4008113F8 Import Address Table
             40080FFF8 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                          20 DragAcceptFiles
                          21 DragFinish
                          23 DragQueryFileA
                          25 DragQueryFileW
                          26 DragQueryPoint
                          BD SHFileOperationA
                          BE SHFileOperationW
                         152 ShellExecuteExA
                         153 ShellExecuteExW
                         160 Shell_NotifyIconW

    USER32.dll
             400811450 Import Address Table
             400810050 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                           1 ActivateKeyboardLayout
                           3 AdjustWindowRect
                           B AppendMenuA
                           F AttachThreadInput
                          10 BeginDeferWindowPos
                          11 BeginPaint
                          13 BringWindowToTop
                          1F CallNextHookEx
                          31 CharLowerW
                          32 CharNextA
                          33 CharNextExA
                          35 CharPrevA
                          48 ChildWindowFromPoint
                          4C ClientToScreen
                          4E CloseClipboard
                          5E CreateCaret
                          70 CreateMenu
                          71 CreatePopupMenu
                          73 CreateWindowExA
                          A4 DefWindowProcA
                          A5 DefWindowProcW
                          A6 DeferWindowPos
                          A8 DeleteMenu
                          AB DestroyCaret
                          AE DestroyIcon
                          AF DestroyMenu
                          B1 DestroyWindow
                          B9 DispatchMessageA
                          BA DispatchMessageW
                          DB DrawTextW
                          E6 EmptyClipboard
                          EC EnableWindow
                          ED EndDeferWindowPos
                          F1 EndPaint
                          F5 EnumClipboardFormats
                         107 EnumWindows
                         10D FillRect
                         10E FindWindowA
                         111 FindWindowW
                         112 FlashWindow
                         114 FrameRect
                         11E GetAsyncKeyState
                         12D GetClassNameA
                         130 GetClientRect
                         133 GetClipboardData
                         134 GetClipboardFormatNameA
                         13E GetCursorPos
                         13F GetDC
                         142 GetDesktopWindow
                         147 GetDlgItem
                         14B GetDoubleClickTime
                         14F GetFocus
                         150 GetForegroundWindow
                         15E GetKeyNameTextA
                         160 GetKeyState
                         161 GetKeyboardLayout
                         162 GetKeyboardLayoutList
                         165 GetKeyboardState
                         16E GetMenu
                         16F GetMenuBarInfo
                         174 GetMenuItemCount
                         17C GetMessageA
                         17F GetMessageTime
                         180 GetMessageW
                         187 GetParent
                         1AF GetScrollInfo
                         1B8 GetSystemMetrics
                         1C1 GetTopWindow
                         1C4 GetUpdateRect
                         1CB GetWindow
                         1D0 GetWindowDC
                         1D4 GetWindowInfo
                         1D5 GetWindowLongA
                         1DD GetWindowPlacement
                         1DE GetWindowRect
                         1E6 GetWindowThreadProcessId
                         1EB HideCaret
                         20A InvalidateRect
                         238 KillTimer
                         241 LoadIconA
                         243 LoadImageA
                         244 LoadImageW
                         25C MapVirtualKeyA
                         260 MapWindowPoints
                         264 MessageBeep
                         265 MessageBoxA
                         273 MsgWaitForMultipleObjects
                         27D OpenClipboard
                         28A PeekMessageA
                         28B PeekMessageW
                         28E PostMessageA
                         291 PostThreadMessageA
                         2B8 RegisterClassA
                         2BB RegisterClassW
                         2C4 RegisterHotKey
                         2D6 RegisterWindowMessageA
                         2D8 ReleaseCapture
                         2D9 ReleaseDC
                         2E3 ScreenToClient
                         2E7 ScrollWindowEx
                         2EC SendInput
                         2ED SendMessageA
                         2F0 SendMessageTimeoutA
                         2F2 SendMessageW
                         2F6 SetCapture
                         2F8 SetCaretPos
                         2FE SetClipboardData
                         302 SetCursor
                         304 SetCursorPos
                         30E SetFocus
                         30F SetForegroundWindow
                         313 SetKeyboardState
                         31B SetMenu
                         325 SetParent
                         331 SetRectEmpty
                         332 SetScrollInfo
                         340 SetTimer
                         34B SetWindowLongA
                         34F SetWindowPlacement
                         350 SetWindowPos
                         354 SetWindowTextA
                         355 SetWindowTextW
                         358 SetWindowsHookExA
                         35B ShowCaret
                         35C ShowCursor
                         361 ShowWindow
                         36F SystemParametersInfoA
                         371 SystemParametersInfoW
                         376 ToAscii
                         378 ToUnicode
                         37B TrackPopupMenu
                         381 TranslateMessage
                         385 UnhookWindowsHookEx
                         386 UnionRect
                         38D UnregisterHotKey
                         3AB VkKeyScanW
                         3B8 WindowFromPoint
                         3BC keybd_event

    USP10.dll
             4008118A8 Import Address Table
             4008104A8 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                           7 ScriptFreeCache
                           8 ScriptGetCMap
                           E ScriptGetGlyphABCWidth
                          12 ScriptItemize
                          16 ScriptPlace
                          1A ScriptShape

    WINMM.dll
             4008118E0 Import Address Table
             4008104E0 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                          3B mciGetErrorStringA
                          41 mciSendStringA
                          42 mciSendStringW
                          BB waveOutGetErrorTextA
                          C2 waveOutGetVolume
                          CB waveOutSetVolume

    WINSPOOL.DRV
             400811918 Import Address Table
             400810518 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                          1E ClosePrinter
                          81 GetPrinterA
                          8E GetPrinterW
                          96 OpenPrinterA

  Summary

        1000 .CRT
       9B000 .bss
      476000 .data
        7000 .debug_abbrev
        1000 .debug_aranges
        4000 .debug_frame
       1F000 .debug_info
        F000 .debug_line
        6000 .debug_line_str
       13000 .debug_loclists
        1000 .debug_rnglists
        1000 .debug_str
        6000 .idata
        F000 .pdata
       3B000 .rdata
        4000 .reloc
       5C000 .rsrc
       23000 .subrs
      280000 .text
        1000 .tls
       10000 .xdata






reply via email to

[Prev in Thread] Current Thread [Next in Thread]