void
set_gdbarch_from_file (bfd *abfd)
{
struct gdbarch_info info;
struct gdbarch *gdbarch;
gdbarch_info_init (&info);
info.abfd = abfd;
info.target_desc = target_current_description ();
gdbarch = gdbarch_find_by_info (info);
if (gdbarch == NULL)
error (_("Architecture of file not recognized."));
deprecated_current_gdbarch_select_hack (gdbarch);
}
Это фактический рассматриваемый код GDB (gdb / arch-utils.c: 530-544).
Информация, переданная указателю gdbarch, кажется неверной. Это вызвано тем, что gdb_find_by_info возвращает указатель NULL, а также причиной того, что find_arch_by_info (gdb / gdbarch.c: 3656) возвращает указатель NULL.
Это в основном означает то, что говорится: GDB не может определить архитектуру файла. Похоже, что это общая проблема для xlc, даже в последних версиях GDB.
XLC и gdb, насколько я помню и понимаю, не очень хороши, когда дело доходит до условий совместимости (поддержка AIX минимальна), вы можете попробовать использовать Gnu C Compiler . Вы можете посмотреть в источниках GDB для ОЧЕНЬ конкретной информации (которую я не могу вам дать).
Здесь является ссылкой на особенности gcc-AIX.