Re: BUG #18610: llvm error: __aarch64_swp4_acq_rel which could not be resolved
От | Thomas Munro |
---|---|
Тема | Re: BUG #18610: llvm error: __aarch64_swp4_acq_rel which could not be resolved |
Дата | |
Msg-id | CA+hUKGKwzv9bbDD2c=Ugv62PVinVUopxRgL8pKxyiBPHsrgWog@mail.gmail.com обсуждение исходный текст |
Ответ на | BUG #18610: llvm error: __aarch64_swp4_acq_rel which could not be resolved (PG Bug reporting form <noreply@postgresql.org>) |
Ответы |
Re: BUG #18610: llvm error: __aarch64_swp4_acq_rel which could not be resolved
|
Список | pgsql-bugs |
On Wed, Sep 11, 2024 at 7:58 PM PG Bug reporting form <noreply@postgresql.org> wrote: > FATAL: fatal llvm error: Program used external function > '__aarch64_swp4_acq_rel' which could not be resolved! Hmm, I think it is inlining spinlock code from pg_last_wal_receive_lsn()'s call to GetWalRcvFlushRecPtr(), and then failing to find fallbacks for pre-ARMv8.1 systems that didn't have the LSE atomic instructions. I wonder if there could be some mismatch in the default -march for parts of your toolchain, so that it doesn't link the library that has that stuff, but then the clang that built walreceiverfuncs.bc expects it to be found. I wonder if it goes away if you add "-mno-outline-atomics" or "-march=armv8.1-a" or "-march=armv8-a+lse" to BITCODE_CXXFLAGS (not saying that's a fix, just trying to understand what's happening...). Assuming you're using GCC, maybe "gcc -Q --help=target | grep march" could show what Ubuntu 24 has set as the baseline, and "clang -### -c -x c /dev/null" might show what clang is selecting... just ideas, I'm not sure, I don't have such a system, I just noticed a few distros cranking up the baseline instruction sets recently...
В списке pgsql-bugs по дате отправления: