From: Bruno Haible <bruno@clisp.org>
To: Corwin Brust <corwin@bru.st>, Emacs-devel@gnu.org
Cc: Po Lu <luangruo@yahoo.com>, Paul Eggert <eggert@cs.ucla.edu>
Subject: Re: Windows port binaries
Date: Tue, 15 Aug 2023 21:57:47 +0200 [thread overview]
Message-ID: <3861918.kkAUEy7oZ9@nimes> (raw)
In-Reply-To: <CAJf-WoRR7fccEpxxqJz-Tc3DyAPOny1gKWsj1syzhjPAq9fHYw@mail.gmail.com>
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
next prev parent reply other threads:[~2023-08-15 19:57 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4536176.VaOIPsP7d9@nimes>
2023-08-13 2:49 ` boot-time: straighten code Paul Eggert
2023-08-13 3:26 ` Po Lu
2023-08-13 6:35 ` Paul Eggert
2023-08-13 13:45 ` Bruno Haible
2023-08-13 14:16 ` Bruno Haible
2023-08-13 14:36 ` Bruno Haible
2023-08-13 23:44 ` Po Lu
2023-08-13 23:59 ` Bruno Haible
2023-08-14 1:07 ` Po Lu
2023-08-14 2:14 ` Corwin Brust
2023-08-15 19:57 ` Bruno Haible [this message]
2023-08-16 6:45 ` Windows port binaries Po Lu
2023-08-16 11:36 ` Eli Zaretskii
2023-08-17 14:01 ` Bruno Haible
2023-08-17 14:14 ` Eli Zaretskii
2023-08-14 8:02 ` boot-time: straighten code Andreas Schwab
2023-08-14 9:15 ` Bruno Haible
2023-08-14 9:20 ` Andreas Schwab
2023-08-14 10:19 ` Bruno Haible
2023-08-14 10:33 ` Andreas Schwab
2023-08-14 13:51 ` Bruno Haible
2023-08-15 23:03 ` Paul Eggert
2023-08-15 21:12 ` Bruno Haible
2023-08-16 10:13 ` Bruno Haible
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3861918.kkAUEy7oZ9@nimes \
--to=bruno@clisp.org \
--cc=Emacs-devel@gnu.org \
--cc=corwin@bru.st \
--cc=eggert@cs.ucla.edu \
--cc=luangruo@yahoo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.