Hello, On AIX, we were no longer able to debug a simple program: (gdb) start Temporary breakpoint 1 at 0x10041548: file task_switch.adb, line 7. Starting program: /[...]/task_switch zsh: 675900 illegal hardware instruction (core dumped) /[...]/gdb task_switch This is because we were using an global target_ops to store the target underneath the AIX thread layer, and this global wasn't really as well initiatialized as you'd think. That was a good opportunity for getting rid of it. As I was working on this, I wondered why the aix_thread_kill was needed at all. The only think that this method does extra is preserving the inferior ptid. I don't see why this is necessary. I did a little bit of testing and found nothing wrong with removing it, so I removed it, at least for now. 2009-03-15 Joel Brobecker Modernize the aix-thread later by getting rid of the base_target global. This brings back to life the AIX port which was otherwise crashing all the time. * aix-thread.c (base_target): Delete. (pd_enable): Do not set base_target. (aix_thread_attach): Use find_target_beneath instead of base_target. (aix_thread_detach, aix_thread_resume, aix_thread_wait) (aix_thread_fetch_registers, aix_thread_store_registers), (aix_thread_xfer_partial, aix_thread_mourn_inferior) (aix_thread_thread_alive, aix_thread_pid_to_str): Likewise. (aix_thread_kill): Delete. Does not seem necessary. (init_aix_thread_ops): Do not set aix_thread_ops.to_kill. Tested on powerpc-aix. Checked in. The only regression left that I'm seeing, now, is with core files. Looking into it... -- Joel