Re: Strip -mmacosx-version-min options from plperl build - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Strip -mmacosx-version-min options from plperl build
Date
Msg-id 20220825221325.ribntcagils2fltx@awork3.anarazel.de
Whole thread Raw
In response to Re: Strip -mmacosx-version-min options from plperl build  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: Strip -mmacosx-version-min options from plperl build
List pgsql-hackers
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?

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: Strip -mmacosx-version-min options from plperl build
Next
From: Thomas Munro
Date:
Subject: Re: Cleaning up historical portability baggage