我们正在尝试将代码从HPX移植到AIX,但在运行exe时获得核心转储。
它在某个未知函数ptrgl_64.\u ptrgl中失败。

> ptrgl_64._ptrgl() at 0x900000084da0e48
> dfile_Proc(o_record =
> 0x0000000400000004, fileType =
> "^O\377\377\377\377\377TH^O\377\377\377\377\377TQ^O\377\377\377\377\377Ta^O\377\377\377\377\377T}",
> dist_dest = (nil), indicator = '\0',
> i_acCounters = (nil)), line 621 in
> "DISTfile.c" main(i_argc = 4, i_argv =
> 0x0fffffffffff34e8), line 66 in
> "main_EXEC.c"

你知道这个问题吗??
提前谢谢。

最佳答案

这称为指针粘合,用于通过PowerPC上的指针调用函数。因为指针可以指向另一个模块/共享对象中的函数,所以需要使用指针粘胶为该模块设置正确的RTOC和环境指针,然后跳到函数入口点。如果函数指针无效,那么它很可能会在指针粘附中崩溃,因为指针实际上是在那里被解引用的。
如果您对全部细节感兴趣,请参阅PowerPC Compiler Writer's Guide的第A.3.3节。

关于c - 进程在aix上的ptrgl_64._ptrgl函数中失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1335715/

10-11 04:05