> On May 22, 2017, at 3:48 PM, Krzysztof Czurylo <
krzyszto...@intel.com> wrote:
>
> Steve,
>
> Which symbols do you mean?
All of these are on Darwin.
First, jemalloc doesn't export memalign or aligned_alloc when built on Darwin, so I have to conditionally remove them from the .map file when compiling on Darwin.
In libvmmalloc.map, these symbols don't appear in the library:
__malloc_hook;
__realloc_hook;
__memalign_hook;
__free_hook;
Aside from __memalign_hook, this may be due to the functions being #ifdef'd and so not configured in the standard build.
In libpmemobj.map, libpmemobj is apparently missing these symbols:
pmemobj_direct;
pmemobj_oid;
pmemobj_tx_xadd_range_direct;
pmemobj_tx_xadd_range;
pmemobj_tx_xalloc;
I haven't had the time to go and check these libraries in the linux build to see if the symbols exist there. On Darwin, `nm` doesn't show them in the library, and trying to use the Darwin linker's `-exported_symbols_list` option to scope them as global (and everything omitted as local) causes the linker to barf.
It's possible that the libpmemobj symbols are missing due to my botching the merge from 1.0 to 1.2.2, or from my botching the original 1.0 port. I didn't enable scoping on Darwin until this latest round of work on the makefiles.
Best regards,
-Steve