mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +03:00
AIX: Fix missing libpq symbols by respecting SHLIB_EXPORTS.
We make each AIX shared library export all globals found in .o files
that originate in the library. That doesn't include symbols acquired by
-lpgcommon_shlib. That is good on average, but it became a problem for
libpq when commit e6afa8918c
moved five
official libpq API symbols into src/common. Fix this by implementing
the SHLIB_EXPORTS mechanism for AIX, so affected libraries export the
same symbols that they export on Linux. This reintroduces symbols
pg_encoding_to_char, pg_utf_mblen, pg_char_to_encoding,
pg_valid_server_encoding, and pg_valid_server_encoding_id. Back-patch
to v13, where the aforementioned commit first appeared. While a minor
release is usually the wrong time to add or remove symbol exports in
libpq or libecpg, we should expect users to want each documented symbol.
Tony Reix
Discussion: https://postgr.es/m/PR3PR02MB6396742E2FC3E77D37A920BC86C79@PR3PR02MB6396.eurprd02.prod.outlook.com
This commit is contained in:
@@ -28,5 +28,5 @@ applications.
|
||||
from libpgport are linked first. This avoids having applications
|
||||
dependent on symbols that are _used_ by libpq, but not intended to be
|
||||
exported by libpq. libpq's libpgport usage changes over time, so such a
|
||||
dependency is a problem. Windows, Linux, and macOS use an export list to
|
||||
control the symbols exported by libpq.
|
||||
dependency is a problem. Windows, Linux, AIX, and macOS use an export
|
||||
list to control the symbols exported by libpq.
|
||||
|
Reference in New Issue
Block a user