I have just added a new patch which accounts for Andrew's latest xfer_partial changes. Ok to commit? -- Jeff J. 2003-11-13 Jeff Johnston * config/ia64/nm-linux.h (NATIVE_XFER_UNWIND_TABLE): New macro to set up the ia64 linux native target method for getting the kernel unwind table. * ia64-linux-nat.c (ia64_linux_xfer_unwind_table): New function. * inftarg.c (child_xfer_partial): Enable section of code to handle TARGET_OBJECT_UNWIND_TABLE. * target.h (target_object): Add new TARGET_OBJECT_UNWIND_TABLE macro. J. Johnston wrote: > I have chosen the first option to implement the syscall. I have > included a patch here regarding this mechanism. > > Ok to commit? > > -- Jeff J. > > 2003-11-04 Jeff Johnston > > * config/ia64/nm-linux.h (CHILD_TO_XFER_PARTIAL): New macro to set > up the ia64 linux native target to_xfer_partial method. > (ia64_linux_xfer_partial): New prototype. > * ia64-linux-nat.c (ia64_linux_xfer_partial): New function. > * inftarg.c (init_child_ops)[CHILD_TO_XFER_PARTIAL]: Set up xfer > partial method if one provided via macro. > * target.c (init_dummy_target): Initialize to_xfer_partial to default. > * target.h (target_object): Add new TARGET_OBJECT_UNWIND_TABLE enum. > > > Andrew Cagney wrote: > >>> Nothing which involves a syscall is acceptable in a tdep file. That's >>> what the t means - target support. >> >> >> >> ("tdep" mysteriously means "architecture vector support". That "t" >> really no longer makes sense :-() >> >> Yes, architecture vector shouldn't be directly making syscalls. >> Instead the architecture specific code should use the target vector to >> obtain this system information. Here I think the best option is to >> add another TARGET_OBJECT_xxxx variant and then use the target_read() >> method to pull in the data. >> >> As for the native target side, ia64-linux-nat should export something >> like ia64_linux_child_read_partial that performs the syscall. The >> tricky [er messy] part is wiring it into child_ops, I see there are >> lots of choices :-( >> >> - define a nm-*.c macro and have that enable the assignment (ex >> #define NATIVE_TO_READ_PARTIAL ia64_linux_child?) (ref KILL_INFERIOR) >> >> - have a callback set the to_read_partial method in child_ops >> (exec_set_find_memory_regions) >> >> - modify all the targets so that each implements the new method >> >> - others? >> >> Is this information available via /proc? In a core file? >> >> Andrew >> >> PS: Note this pending patch. Dependant on the timing you or I may >> need to tweak the name. >> http://sources.redhat.com/ml/gdb-patches/2003-10/msg00795.html >> >> >>