Open Bug 357055 Opened 18 years ago Updated 2 years ago

Use dlopen on HP-UX

Categories

(NSPR :: NSPR, defect)

HP
HP-UX
defect

Tracking

(Not tracked)

People

(Reporter: wtc, Unassigned)

References

Details

Right now PR_LoadLibrary uses shl_load to load shared libraries on HP-UX. We always pass the DYNAMIC_PATH flag to shl_load, and we link our programs with the +s linker option. I found that our programs search for the shared library in the directories specified by the environment variable SHLIB_PATH, but not LD_LIBRARY_PATH. Since HP-UX B.11.11 and later have dlopen, and dlopen searches the directories specified by both LD_LIBRARY_PATH and SHLIB_PATH, perhaps we should use dlopen instead of shl_load. I seem to remember that dlopen and LD_LIBRARY_PATH only work in 64-bit mode or are only supported for IPF (Itanium). Is there still such a restriction? Can dlopen load a shared library with the .sl suffix? If it's a good idea to use dlopen, what should be the minimum HP-UX version to use it on? B.11.00, B.11.11, or B.11.23?
Support for shl_load library management routines may be discontinued in a future IPF/PA-64 HP-UX release. You are encouraged to migrate to the dlopen family of routines for shared library management if you use the IPF/PA-64 mode linker toolset. Do not mix use of the shl_load and dlopen APIs. The dlopen family of shared library management routines is available for the IPF and PA-64 linker. The following routines are also supported by the PA-32 linker: dlopen dlclose dlsym dlerror dladdr dlopen should load the .sl library.
Target Milestone: --- → 4.7
QA Contact: wtchang → nspr

The bug assignee is inactive on Bugzilla, so the assignee is being reset.

Assignee: wtc → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.