Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8670b9b

Browse files
committed
AIX: Fix missing libpq symbols by respecting SHLIB_EXPORTS.
We make each AIX shared library export all globals found in .o filesthat originate in the library. That doesn't include symbols acquired by-lpgcommon_shlib. That is good on average, but it became a problem forlibpq when commite6afa89 moved fiveofficial libpq API symbols into src/common. Fix this by implementingthe SHLIB_EXPORTS mechanism for AIX, so affected libraries export thesame symbols that they export on Linux. This reintroduces symbolspg_encoding_to_char, pg_utf_mblen, pg_char_to_encoding,pg_valid_server_encoding, and pg_valid_server_encoding_id. Back-patchto v13, where the aforementioned commit first appeared. While a minorrelease is usually the wrong time to add or remove symbol exports inlibpq or libecpg, we should expect users to want each documented symbol.Tony ReixDiscussion:https://postgr.es/m/PR3PR02MB6396742E2FC3E77D37A920BC86C79@PR3PR02MB6396.eurprd02.prod.outlook.com
1 parent0c6828f commit8670b9b

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

‎src/Makefile.shlib

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,11 @@ $(shlib): $(OBJS) | $(SHLIB_PREREQS)
329329
rm -f $(stlib)
330330
$(LINK.static) $(stlib) $^
331331
$(RANLIB) $(stlib)
332+
ifeq (,$(SHLIB_EXPORTS))
332333
$(MKLDEXPORT) $(stlib) $(shlib) >$(exports_file)
334+
else
335+
( echo '#! $(shlib)'; $(AWK) '/^[^#]/ {printf "%s\n",$$1}' $(SHLIB_EXPORTS) ) >$(exports_file)
336+
endif
333337
$(COMPILER) -o $(shlib) $(stlib) -Wl,-bE:$(exports_file) $(LDFLAGS) $(LDFLAGS_SL) $(SHLIB_LINK)
334338
rm -f $(stlib)
335339
$(AR) $(AROPT) $(stlib) $(shlib)

‎src/port/README

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@ applications.
2828
from libpgport are linked first. This avoids having applications
2929
dependent on symbols that are _used_ by libpq, but not intended to be
3030
exported by libpq. libpq's libpgport usage changes over time, so such a
31-
dependency is a problem. Windows, Linux, and macOS use an export list to
32-
control the symbols exported by libpq.
31+
dependency is a problem. Windows, Linux,AIX,and macOS use an export
32+
list tocontrol the symbols exported by libpq.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp