This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

About hidden & local symbols


   Hi,

I came across a library `libexiv2.so'(www.exiv2.org) which has some hidden 
symbols in it. But the `Version symbol' entries for those hidden symbols 
are shown as - 1 *global* - by `eu-readelf -sV'. Now if symbol is hidden

  - shouldn't the highest(15'th) bit of the corresponding `Version symbol'
    entry be set? And if so, then it could not possibly equate to 1,
    right?

The other thing I wanted to confirm was,

  - a binary(say tcpdump) is linked to a library(libpcap) which does not
    use Symbol Versioning and does not have `Version definition' section
    in it. In such a case,

      $ `eu-readelf -sV tcpdump'

    shows an output wherein, `Version symbol' entries for symbols
    defined in libpacp are shown as: 0 *local* . Which means the symbol
    is defined in the same object and is not accessible outside of the
    same, right?

So could I infer that

  - `Version symbol' entries are greater than 1 if and only if the
    concerned library(or DSO) uses symbol versioning.

  - And if so, there is no way of knowing if a *local* symbol is defined in
    the same object/binary or is resolved from a library while running?


Thank you.
--
Regards
   - Prasad

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]