< prev index next >
src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h
Print this page
@@ -32,14 +32,24 @@
// data structures in this file mimic those of Solaris 8.0 - libproc's Pcontrol.h
#define BUF_SIZE (PATH_MAX + NAME_MAX + 1)
+// .eh_frame data
+typedef struct eh_frame_info {
+ uintptr_t library_base_addr;
+ uintptr_t v_addr;
+ unsigned char* data;
+} eh_frame_info;
+
// list of shared objects
typedef struct lib_info {
char name[BUF_SIZE];
uintptr_t base;
+ uintptr_t exec_start;
+ uintptr_t exec_end;
+ eh_frame_info eh_frame;
struct symtab* symtab;
int fd; // file descriptor for lib
struct lib_info* next;
} lib_info;
@@ -99,10 +109,14 @@
int num_threads;
thread_info* threads; // head of thread list
struct core_data* core; // data only used for core dumps, NULL for process
};
+#ifdef __cplusplus
+extern "C" {
+#endif
+
int pathmap_open(const char* name);
void print_debug(const char* format,...);
void print_error(const char* format,...);
bool is_debug();
@@ -121,6 +135,10 @@
thread_info* add_thread_info(struct ps_prochandle* ph, lwpid_t lwp_id);
// a test for ELF signature without using libelf
bool is_elf_file(int fd);
+#ifdef __cplusplus
+}
+#endif
+
#endif //_LIBPROC_IMPL_H_
< prev index next >