On Thu, Nov 20, 2025, at 7:08 PM, Thomas Munro wrote: > If you have an environment set up so it's easy to test, I would also > be very interested to know if my patch set[3] that nukes all this > stuff and includes <stdatomic.h> instead, which is green on > Windows/x86 CI, will just work™ there too. > > [3] > https://www.postgresql.org/message-id/flat/CA%2BhUKGKFvu3zyvv3aaj5hHs9VtWcjFAmisOwOc7aOZNc5AF3NA%40mail.gmail.com
Hello Thomas, I gave your stdatomic patchs a try, here's where it fell apart linking. [174/1996] Linking target src/interfaces/libpq/libpq.dll Creating library src/interfaces/libpq\libpq.lib [981/1996] Linking target src/interfaces/ecpg/pgtypeslib/libpgtypes.dll Creating library src\interfaces\ecpg\pgtypeslib\libpgtypes.lib [1235/1996] Linking target src/interfaces/ecpg/ecpglib/libecpg.dll Creating library src\interfaces\ecpg\ecpglib\libecpg.lib [1401/1996] Linking target src/backend/postgres.exe FAILED: [code=1120] src/backend/postgres.exe src/backend/postgres.pdb "link" @src/backend/postgres.exe.rsp Creating library src\backend\postgres.lib storage_lmgr_s_lock.c.obj : error LNK2019: unresolved external symbol _mm_pause referenced in function perform_spin_delay src\backend\postgres.exe : fatal error LNK1120: 1 unresolved externals [1410/1996] Compiling C object src/backend/snowball/dict_snowball.dll.p/libstemmer_stem_UTF_8_german.c.obj ninja: build stopped: subcommand failed. I used your v2 and the attached reduced set of Dave and my changes. I'll work on this next week if I find a bit of time, shouldn't be all that hard. I thought I'd update you before then. Also attached is my config script, I sent out my notes on a separate email. I forgot to provide the MSVC compiler/linker versions for posterity, they are: cl (msvc 19.50.35718 "Microsoft (R) C/C++ Optimizing Compiler Version 19.50.35718 for ARM64") link 14.50.35718.0 best. -greg
v20251123-0001-WIP-ARM64-MSVC-stdatomic.patch
Description: Binary data
ConfigMSVC.ps1
Description: Binary data
