RFA: ia64 portion of libunwind patch
J. Johnston
jjohnstn@redhat.com
Fri Nov 14 00:26:00 GMT 2003
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 <jjohnstn@redhat.com>
* 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 <jjohnstn@redhat.com>
>
> * 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
>>
>>
>>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: xfer_partial.patch2
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20031114/48b240c4/attachment.ksh>
More information about the Gdb-patches
mailing list