Hi all,

while working on support for OpenShmem in our next Score-P measurement [1] release, we noticed that the liboshmem.so library from Open MPI does not mark the symbols as weak as one would expect. Here is an output of liboshmem.so on my 64bit ubuntu system. Lets try shmem_init:

$ readelf -W --dyn-syms  liboshmem.so.1.0.0 |grep 'shmem_init$'
  1098: 000000000001dac2   141 FUNC    GLOBAL DEFAULT   11 shmem_init
1228: 000000000001c73a 236 FUNC GLOBAL DEFAULT 11 oshmem_shmem_init

Oh, no pshmem_init. Maybe missing, but its legacy anyway. Lets try shmem_broadcast:

$ readelf -W --dyn-syms  liboshmem.so.1.0.0 |grep 'shmem_broadcast$'
   555: 000000000002769a    92 FUNC    GLOBAL DEFAULT   11 pshmem_broadcast
   577: 000000000001ed82    92 FUNC    GLOBAL DEFAULT   11 shmem_broadcast

Ok, we see the pshmem_broadcast and the shmem_broadcast symbol, but the latter is not WEAK. Btw, this function is not in the standard. Thus (finally) take a symbol from the standard:

$ readelf -W --dyn-syms  liboshmem.so.1.0.0 |grep 'shmem_barrier$'
511: 000000000001d47e 24 FUNC GLOBAL DEFAULT 11 oshmem_shmem_barrier
   525: 000000000001f250   217 FUNC    GLOBAL DEFAULT   11 shmem_barrier
  1099: 0000000000027b68   217 FUNC    GLOBAL DEFAULT   11 pshmem_barrier

Again, no WEAK for shmem_barrier.

For reference, the output for MPI_Init:

$ readelf -W --dyn-syms  libmpi.so.1.4.0 |grep 'MPI_Init$'
  1383: 00000000000841ff   484 FUNC    WEAK   DEFAULT   11 MPI_Init
  2051: 00000000000841ff   484 FUNC    GLOBAL DEFAULT   11 PMPI_Init

HTH,
Bert

[1] http://www.vi-hps.org/projects/score-p

--
Dipl.-Inf. Bert Wesarg
wiss. Mitarbeiter

Technische Universität Dresden
Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH)
01062 Dresden
Tel.: +49 (351) 463-42451
Fax: +49 (351) 463-37773
E-Mail: bert.wes...@tu-dresden.de

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to