Re: Strip -mmacosx-version-min options from plperl build
Andrew Dunstan <andrew@dunslane.net>
From: Andrew Dunstan <andrew@dunslane.net>
To: Andres Freund <andres@anarazel.de>
Cc: Tom Lane <tgl@sss.pgh.pa.us>,
Peter Eisentraut <peter.eisentraut@enterprisedb.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-08-26T14:04:35Z
Lists: pgsql-hackers
On 2022-08-25 Th 18:13, Andres Freund wrote:
> Hi,
>
> On 2022-08-25 18:04:34 -0400, Andrew Dunstan wrote:
>> On 2022-08-25 Th 17:47, Andres Freund wrote:
>>>> $ egrep '_PG_init|Pg_magic_func' plperl.i
>>>> extern __attribute__((visibility("default"))) void _PG_init(void);
>>>> extern __attribute__((visibility("default"))) const Pg_magic_struct
>>>> *Pg_magic_func(void); const Pg_magic_struct * Pg_magic_func(void) {
>>>> static const Pg_magic_struct Pg_magic_data = { sizeof(Pg_magic_struct),
>>>> 160000 / 100, 100, 32, 64,
>>>> _PG_init(void)
>>> Could you show objdump -t of the library? Perhaps once with the flags as now,
>>> and once relinking with the "old" flags that we're now omitting?
>>
>> current:
>>
>>
>> $ objdump -t plperl.dll | egrep '_PG_init|Pg_magic_func'
>> [103](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000040a0
>> Pg_magic_func
>> [105](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000040b0 _PG_init
>>
>>
>> from July 11th build:
>>
>>
>> $ objdump -t plperl.dll | egrep '_PG_init|Pg_magic_func'
>> [101](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000040d0
>> Pg_magic_func
>> [103](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000040e0 _PG_init
> Thanks.
>
> So it looks like it's not the symbol not being exported. I wonder if the image
> base thing is somehow the problem? Sounds like it should just be an efficiency
> difference, by avoiding some relocations, not a functional difference.
>
> Can you try adding just that to the flags for building and whether that then
> allows a LOAD 'plperl' to succeed?
>
Adding what?
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com
Commits
-
mingw: Define PGDLLEXPORT as __declspec (dllexport) as done for msvc
- 0e497eadb1f4 16.0 landed
-
Fix PL/Perl build on Cygwin
- 1c3aa54502dd 16.0 landed
-
Remove further unwanted linker flags from perl_embed_ldflags
- b4e936859dc4 16.0 landed