mirror of
https://github.com/MariaDB/server.git
synced 2025-07-25 15:08:40 +00:00
Fix AIX compulation (break addr resolution)
Revert c92c161585
, casting to void*
cannot fool gcc. The AIX address resolution was broken anyway, so
just avoid the problem and make it compile well.
This commit is contained in:
@ -319,12 +319,20 @@ int my_addr_resolve(void *ptr, my_addr_loc *loc)
|
|||||||
/* Save result for future comparisons. */
|
/* Save result for future comparisons. */
|
||||||
strnmov(addr2line_binary, info.dli_fname, sizeof(addr2line_binary));
|
strnmov(addr2line_binary, info.dli_fname, sizeof(addr2line_binary));
|
||||||
|
|
||||||
|
#ifdef _AIX
|
||||||
|
/*
|
||||||
|
info.dli_fbase is a char on AIX and casting it doesn't fool gcc.
|
||||||
|
leave backtracing broken on AIX until a real solution can be found.
|
||||||
|
*/
|
||||||
|
addr_offset= NULL;
|
||||||
|
#else
|
||||||
/*
|
/*
|
||||||
Check if we should use info.dli_fbase as an offset or not
|
Check if we should use info.dli_fbase as an offset or not
|
||||||
for the base program. This is depending on if the compilation is
|
for the base program. This is depending on if the compilation is
|
||||||
done with PIE or not.
|
done with PIE or not.
|
||||||
*/
|
*/
|
||||||
addr_offset= (void*) info.dli_fbase;
|
addr_offset= info.dli_fbase;
|
||||||
|
#endif
|
||||||
#ifndef __PIE__
|
#ifndef __PIE__
|
||||||
if (strcmp(info.dli_fname, my_progname) == 0 &&
|
if (strcmp(info.dli_fname, my_progname) == 0 &&
|
||||||
addr_resolve((void*) my_addr_resolve, loc) == 0 &&
|
addr_resolve((void*) my_addr_resolve, loc) == 0 &&
|
||||||
|
Reference in New Issue
Block a user