pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Sergey Shinderuk <s.shinderuk@postgrespro.ru>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Thomas Munro <thomas.munro@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Subject: Re: pg_preadv() and pg_pwritev()
Date: Fri, 15 Jan 2021 04:12:01 +0300
Message-ID: <7e2b4313-0ebb-7959-82f6-48acf88dad11@postgrespro.ru> (raw)
In-Reply-To: <1418166.1610647514@sss.pgh.pa.us>
References: <CA+hUKGJA+u-220VONeoREBXJ9P3S94Y7J+kqCnTYmahvZJwM=g@mail.gmail.com>
	<341497.1608420857@sss.pgh.pa.us>
	<CA+hUKG+7UHOH2VGRwvJZ=vXUH9pRA-Tp3gP9EHgtjwzjyfOpWg@mail.gmail.com>
	<20201220224040.evr5pduibvm6dze5@alap3.anarazel.de>
	<CA+hUKG+TCoareSYcAu05yaMh9eUck6Hd8FQZt5VEvotNs3YOMQ@mail.gmail.com>
	<CA+hUKGJ8Ww_fjzUzthdxUF6W3JQ3r=a1hWX7Fcfq9uEndZ_+GQ@mail.gmail.com>
	<CA+hUKGL9XFxM0ZO8ZADYJepSmjywknhnDkKSEttfmn2j9fg0BQ@mail.gmail.com>
	<ed3b8e5d-0da8-6ebd-fd1c-e0ac80a4b204@postgrespro.ru>
	<CA+hUKG+L573j4=XWv6S+r-687Yxn0FyXhtObH9_P-Nu_atL2pQ@mail.gmail.com>
	<448b3cb5-0ba0-6dc5-63c7-789e4eebc40b@postgrespro.ru>
	<1283127.1610554395@sss.pgh.pa.us>
	<1286060.1610558607@sss.pgh.pa.us>
	<1297389.1610562046@sss.pgh.pa.us>
	<1341608.1610580122@sss.pgh.pa.us>
	<c2e08e38-e4bd-780d-62df-4a33b537b75e@postgrespro.ru>
	<d90658e6-490e-db57-cd64-98868abe79cd@postgrespro.ru>
	<1410650.1610638974@sss.pgh.pa.us>
	<b2586af5-866f-8290-f068-046fbd1a01b8@postgrespro.ru>
	<1418166.1610647514@sss.pgh.pa.us>

On 14.01.2021 21:05, Tom Lane wrote:
> After considerable playing around, I'm guessing that the reason
> -no_weak_imports doesn't help is that it rejects calls that are
> marked as weak references on the *calling* side.  Since AC_CHECK_FUNCS
> doesn't bother to #include the relevant header file, the compiler
> doesn't know that preadv() ought to be marked as a weak reference.
> Then, when the test program gets linked against the stub libc that's
> provided by the SDK, there is a version of preadv() there so no link
> failure occurs.  (There are way more moving parts in this weak-reference
> thing than I'd realized.)
> 

Oh, that's interesting. I've just played with it a bit and it looks 
exactly as you say.

> Another thing I've been realizing while poking at this is that we
> might not need to set -isysroot explicitly at all, which would then
> lead to the compiler using its default sysroot automatically.
> In some experimentation, it seems like what we need PG_SYSROOT for
> is just for configure to be able to find tclConfig.sh and the Perl
> header files.  So at this point I'm tempted to try ripping that
> out altogether.  If you remove the lines in src/template/darwin
> that inject PG_SYSROOT into CPPFLAGS and LDFLAGS, do things
> work for you?

Yes, it works fine.





view thread (39+ messages)  latest in thread

Message-ID: <7e2b4313-0ebb-7959-82f6-48acf88dad11@postgrespro.ru>
Permalink:  ../7e2b4313-0ebb-7959-82f6-48acf88dad11@postgrespro.ru/
Also on:    postgresql.org/message-id/7e2b4313-0ebb-7959-82f6-48acf88dad11@postgrespro.ru

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: s.shinderuk@postgrespro.ru, tgl@sss.pgh.pa.us, thomas.munro@gmail.com
  Subject: Re: pg_preadv() and pg_pwritev()
  In-Reply-To: <7e2b4313-0ebb-7959-82f6-48acf88dad11@postgrespro.ru>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox