Clarify what part of the NDK sets the soname.
It's the build systems, not the toolchain itself. Bug: https://github.com/android/ndk/issues/1865 Test: treehugger Change-Id: I74b35498e32c798683fd39e7369f87ff6cc2de38
This commit is contained in:
parent
66542d6b97
commit
8aa1deb96c
1 changed files with 8 additions and 8 deletions
|
@ -107,7 +107,7 @@ feature >= Android M but still works on older releases.)
|
|||
## Correct soname/path handling (Available in API level >= 23)
|
||||
|
||||
The dynamic linker now understands the difference
|
||||
between a library’s soname and its path (public bug
|
||||
between a library’s soname and its path (public bug
|
||||
https://code.google.com/p/android/issues/detail?id=6670). API level 23
|
||||
is the first release where search by soname is implemented. Earlier
|
||||
releases would assume that the basename of the library was the soname,
|
||||
|
@ -326,12 +326,12 @@ libraries as the location may change from device to device.
|
|||
|
||||
## Missing SONAME (Enforced for API level >= 23)
|
||||
|
||||
Each ELF shared object (“native library”) must have a SONAME (Shared
|
||||
Object Name) attribute. The NDK toolchain adds this attribute by default,
|
||||
so its absence indicates either a misconfigured alternative toolchain
|
||||
or a misconfiguration in your build system. A missing SONAME may lead
|
||||
to runtime issues such as the wrong library being loaded: the filename
|
||||
is used instead when this attribute is missing.
|
||||
Each ELF shared object (“native library”) must have a SONAME
|
||||
(Shared Object Name) attribute. The NDK build systems add this
|
||||
attribute by default, so its absence (or an incorrect soname) indicates
|
||||
a misconfiguration in your build system. A missing SONAME may lead to
|
||||
runtime issues such as the wrong library being loaded: the filename is
|
||||
used instead when this attribute is missing.
|
||||
|
||||
```
|
||||
$ readelf --dynamic libWithSoName.so | grep SONAME
|
||||
|
@ -346,7 +346,7 @@ the library you were expecting.
|
|||
*Resolution*: the current NDK generates the correct SONAME by
|
||||
default. Ensure you're using the current NDK and that you haven't
|
||||
configured your build system to generate incorrect SONAME entries (using
|
||||
the -soname linker option).
|
||||
the `-soname` linker option).
|
||||
|
||||
## `__register_atfork` (Available in API level >= 23)
|
||||
|
||||
|
|
Loading…
Reference in a new issue