critical impact:
dlopen - default behavior differs (CrCh191)
Problem description
The dlopen function gains access to an executable object file.
If neither RTLD_GLOBAL nor RTLD_LOCAL are specified on HP-UX, the default is RTLD_LOCAL, whereas on Tru64 UNIX the default is RTLD_GLOBAL.
On Tru64 UNIX, dlopen is in libc.so; on HP-UX,
the function is in libdl.so.
When you specify RTLD_GLOBAL, the object's symbols are made available for the relocation processing of any other object. In addition, symbol lookup using dlopen(0, mode) and an associated dlsym function allows objects loaded with this mode to be searched.
When you specify RTLD_LOCAL, the object's symbols are not made available for the relocation processing of any other object.
Identifiers
 dlopen |
|
|
|
|
|
See also
Solution description
Review your code. If you are relying on the default behavior, make changes to accommodate this change before moving to HP-UX.
See also
Problem summary
| classifications |
source types |
OS release |
severity |
type |
| UN |
C, C++ |
any HP-UX 11i version |
critical |
changed |
|