From: Nathan Bossart Date: Wed, 29 Apr 2026 17:25:09 +0000 (-0500) Subject: Suppress "has no symbols" linker warnings on macOS. X-Git-Tag: REL_18_4~40 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f00cccb798707ad851ff9afbd0bec005c0f08d6b;p=thirdparty%2Fpostgresql.git Suppress "has no symbols" linker warnings on macOS. After a recent macOS update, building Postgres produces warnings that look like this: ranlib: warning: 'libpgport_shlib.a(pg_cpu_x86.c.o)' has no symbols ranlib: warning: 'libpgport_shlib.a(pg_popcount_x86.c.o)' has no symbols To fix, add a dummy symbol to files that may otherwise have none. Per project policy, this is a candidate for back-patching into out-of-support branches: it suppresses annoying compiler warnings but changes no behavior. Reported-by: Zhang Mingli Reviewed-by: John Naylor Reviewed-by: Tom Lane Discussion: https://postgr.es/m/229aaaf3-f529-44ed-8e50-00cb6909af21%40Spark Backpatch-through: 13 --- diff --git a/src/port/pg_popcount_aarch64.c b/src/port/pg_popcount_aarch64.c index 0b6b86de4d0..0c93e2e625e 100644 --- a/src/port/pg_popcount_aarch64.c +++ b/src/port/pg_popcount_aarch64.c @@ -478,4 +478,10 @@ pg_popcount_masked_neon(const char *buf, int bytes, bits8 mask) return popcnt; } -#endif /* POPCNT_AARCH64 */ +#else /* POPCNT_AARCH64 */ + +/* prevent linker complaints about empty module */ +extern int pg_popcount_aarch64_dummy_variable; +int pg_popcount_aarch64_dummy_variable = 0; + +#endif /* ! POPCNT_AARCH64 */ diff --git a/src/port/pg_popcount_avx512.c b/src/port/pg_popcount_avx512.c index 80c0aee3e73..896bc7473b2 100644 --- a/src/port/pg_popcount_avx512.c +++ b/src/port/pg_popcount_avx512.c @@ -220,4 +220,11 @@ pg_popcount_masked_avx512(const char *buf, int bytes, bits8 mask) } #endif /* TRY_POPCNT_X86_64 */ -#endif /* USE_AVX512_POPCNT_WITH_RUNTIME_CHECK */ + +#else /* USE_AVX512_POPCNT_WITH_RUNTIME_CHECK */ + +/* prevent linker complaints about empty module */ +extern int pg_popcount_avx512_dummy_variable; +int pg_popcount_avx512_dummy_variable = 0; + +#endif /* ! USE_AVX512_POPCNT_WITH_RUNTIME_CHECK */