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