This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [PATCH] "tfind" across unavailable-stack frames.


> -----Original Message-----
> From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] On Behalf Of Pedro Alves
> Sent: Friday, December 13, 2013 6:50 PM


> +/* See frame.h.  */
> +
> +struct frame_id
> +frame_id_build_unavailable_stack (CORE_ADDR code_addr)
> +{
> +  struct frame_id id = null_frame_id;
> +
> +  id.stack_status = FID_STACK_UNAVAILABLE;
> +  id.code_addr = code_addr;
> +  id.code_addr_p = 1;
> +  return id;
> +}

For record-btrace, we would also need to allow special_addr.
I can also add another build function for this case.


>  struct frame_info;
> @@ -97,8 +115,8 @@ struct frame_id
>       function pointer register or stack pointer register.  They are
>       wrong.
> 
> -     This field is valid only if stack_addr_p is true.  Otherwise, this
> -     frame represents the null frame.  */
> +     This field is valid only if frame_id.stack_status is
> +     FID_STACK_VALID.  */
>    CORE_ADDR stack_addr;

Maybe the comment should say that this field must be zero unless
stack_status == FID_STACK_VALID.

Frame_id_eq would compare stack_addr if stack_status compares
equal.


Regards,
Markus.

Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]