18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25
26 // Implementation of LoadedLibraries and friends
27
28 // Ultimately this just uses loadquery()
29 // See:
30 // http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp
31 // ?topic=/com.ibm.aix.basetechref/doc/basetrf1/loadquery.htm
32
33 #ifndef __STDC_FORMAT_MACROS
34 #define __STDC_FORMAT_MACROS
35 #endif
36
37 #include "loadlib_aix.hpp"
38 // for CritSect
39 #include "misc_aix.hpp"
40 #include "porting_aix.hpp"
41 #include "utilities/debug.hpp"
42 #include "utilities/ostream.hpp"
43
44 // For loadquery()
45 #include <sys/ldr.h>
46
47 // Use raw malloc instead of os::malloc - this code gets used for error reporting.
48
49 // A class to "intern" eternal strings.
50 // TODO: similar coding exists in AIX version of dladdr and potentially elsewhere: consolidate!
51 class StringList {
52
53 char** _list;
54 int _cap;
55 int _num;
56
57 // Enlarge list. If oom, leave old list intact and return false.
58 bool enlarge() {
|
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25
26 // Implementation of LoadedLibraries and friends
27
28 // Ultimately this just uses loadquery()
29 // See:
30 // http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp
31 // ?topic=/com.ibm.aix.basetechref/doc/basetrf1/loadquery.htm
32
33 #ifndef __STDC_FORMAT_MACROS
34 #define __STDC_FORMAT_MACROS
35 #endif
36
37 #include "loadlib_aix.hpp"
38 #include "misc_aix.hpp"
39 #include "porting_aix.hpp"
40 #include "utilities/debug.hpp"
41 #include "utilities/ostream.hpp"
42
43 // For loadquery()
44 #include <sys/ldr.h>
45
46 // Use raw malloc instead of os::malloc - this code gets used for error reporting.
47
48 // A class to "intern" eternal strings.
49 // TODO: similar coding exists in AIX version of dladdr and potentially elsewhere: consolidate!
50 class StringList {
51
52 char** _list;
53 int _cap;
54 int _num;
55
56 // Enlarge list. If oom, leave old list intact and return false.
57 bool enlarge() {
|