8224958: add os::dll_load calls to event log

Reviewed-by: dholmes, mdoerr, stuefe
This commit is contained in:
Matthias Baesken 2019-06-05 16:53:52 +02:00
parent 189345db4a
commit 0bf2650bb1
5 changed files with 59 additions and 21 deletions

View file

@ -1265,13 +1265,21 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
#else
void * result= ::dlopen(filename, RTLD_LAZY);
if (result != NULL) {
Events::log(NULL, "Loaded shared library %s", filename);
// Successful loading
return result;
}
// Read system error message into ebuf
::strncpy(ebuf, ::dlerror(), ebuflen-1);
ebuf[ebuflen-1]='\0';
const char* error_report = ::dlerror();
if (error_report == NULL) {
error_report = "dlerror returned no error description";
}
if (ebuf != NULL && ebuflen > 0) {
// Read system error message into ebuf
::strncpy(ebuf, error_report, ebuflen-1);
ebuf[ebuflen-1]='\0';
}
Events::log(NULL, "Loading shared library %s failed, %s", filename, error_report);
return NULL;
#endif // STATIC_BUILD
@ -1283,16 +1291,24 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
#else
void * result= ::dlopen(filename, RTLD_LAZY);
if (result != NULL) {
Events::log(NULL, "Loaded shared library %s", filename);
// Successful loading
return result;
}
Elf32_Ehdr elf_head;
// Read system error message into ebuf
// It may or may not be overwritten below
::strncpy(ebuf, ::dlerror(), ebuflen-1);
ebuf[ebuflen-1]='\0';
const char* const error_report = ::dlerror();
if (error_report == NULL) {
error_report = "dlerror returned no error description";
}
if (ebuf != NULL && ebuflen > 0) {
// Read system error message into ebuf
::strncpy(ebuf, error_report, ebuflen-1);
ebuf[ebuflen-1]='\0';
}
Events::log(NULL, "Loading shared library %s failed, %s", filename, error_report);
int diag_msg_max_length=ebuflen-strlen(ebuf);
char* diag_msg_buf=ebuf+strlen(ebuf);