Re: Annoying build warnings from latest Apple toolchain

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Annoying build warnings from latest Apple toolchain
Date: 2023-09-29 02:53:09
Message-ID: 1139834.1695955989@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andres Freund <andres(at)anarazel(dot)de> writes:
> On 2023-09-28 19:20:27 -0700, Andres Freund wrote:
>> Thus the easiest fix looks to be to use this:
>> - export_fmt = '-exported_symbols_list=(at)0@'
>> + export_fmt = '-Wl,-exported_symbols_list,@0@'
>> I don't have anything older than Ventura to check though.

I don't have meson installed on my surviving Catalina box, but
I tried the equivalent thing in the Makefile universe:

diff --git a/src/Makefile.shlib b/src/Makefile.shlib
index f94d59d1c5..f2ed222cc7 100644
--- a/src/Makefile.shlib
+++ b/src/Makefile.shlib
@@ -136,7 +136,7 @@ ifeq ($(PORTNAME), darwin)
BUILD.exports = $(AWK) '/^[^\#]/ {printf "_%s\n",$$1}' $< >$@
exports_file = $(SHLIB_EXPORTS:%.txt=%.list)
ifneq (,$(exports_file))
- exported_symbols_list = -exported_symbols_list $(exports_file)
+ exported_symbols_list = -Wl,-exported_symbols_list,$(exports_file)
endif
endif

That builds and produces correctly-symbol-trimmed shlibs, so I'd
say it's fine. (Perhaps we should apply the above to HEAD
alongside the meson.build fix, to get more test coverage?)

> Attached is the above change and a commit to change CI over to Sonoma. Not
> sure when we should switch, but it seems useful to include for testing
> purposes at the very least.

No opinion on when to switch CI. Sonoma is surely pretty bleeding edge
yet.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2023-09-29 03:05:59 Re: Memory consumed by child SpecialJoinInfo in partitionwise join planning
Previous Message Andrei Lepikhov 2023-09-29 02:52:47 Re: Add the ability to limit the amount of memory that can be allocated to backends.