Skip to content
Permalink
Browse files
Fix AIX compulation (break addr resolution)
Revert c92c161, casting to void*
cannot fool gcc. The AIX address resolution was broken anyway, so
just avoid the problem and make it compile well.
  • Loading branch information
grooverdan committed Oct 27, 2022
1 parent 79dc398 commit 18a0f0c
Showing 1 changed file with 9 additions and 1 deletion.
@@ -319,12 +319,20 @@ int my_addr_resolve(void *ptr, my_addr_loc *loc)
/* Save result for future comparisons. */
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
for the base program. This is depending on if the compilation is
done with PIE or not.
*/
addr_offset= (void*) info.dli_fbase;
addr_offset= info.dli_fbase;
#endif
#ifndef __PIE__
if (strcmp(info.dli_fname, my_progname) == 0 &&
addr_resolve((void*) my_addr_resolve, loc) == 0 &&

0 comments on commit 18a0f0c

Please sign in to comment.