< prev index next >
src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 32,45 ****
--- 32,55 ----
// 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,108 ****
--- 109,122 ----
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,126 ****
--- 135,144 ----
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 >