Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Ulrich Weigand <weigand@i1.informatik.uni-erlangen.de>
To: drow@false.org (Daniel Jacobowitz)
Cc: weigand@i1.informatik.uni-erlangen.de (Ulrich Weigand),
	gdb-patches@sources.redhat.com
Subject: Re: [PATCH] Fix frame ID comparison problem on s390
Date: Mon, 24 May 2004 13:45:00 -0000	[thread overview]
Message-ID: <200405241345.PAA26969@faui1d.informatik.uni-erlangen.de> (raw)
In-Reply-To: <20040520141707.GB12221@nevyn.them.org>

Daniel Jacobowitz wrote:

> Rather than cheat in the backend - most other backends will probably
> have the same issue - I'd like to know what's actually using the code
> wildcard.

I have no idea -- maybe this is obsolete by now?

The following patch simply removes the wild card feature, and it works
for s390 without test suite regressions (and fixes the signull failure
as well).

I've tried to look at the other platforms, but they appear not to be
using the wild card feature either ...

OK?

Bye,
Ulrich


ChangeLog:

	* frame.c (frame_id_eq): Do not treat zero code addr as wild card.
	* frame.h (frame_id_build, frame_id_build_special): Update comment.

Index: gdb/frame.c
===================================================================
RCS file: /cvs/src/src/gdb/frame.c,v
retrieving revision 1.181
diff -c -p -r1.181 frame.c
*** gdb/frame.c	8 May 2004 19:03:04 -0000	1.181
--- gdb/frame.c	24 May 2004 13:14:02 -0000
*************** frame_id_eq (struct frame_id l, struct f
*** 306,314 ****
    else if (l.stack_addr != r.stack_addr)
      /* If .stack addresses are different, the frames are different.  */
      eq = 0;
-   else if (l.code_addr == 0 || r.code_addr == 0)
-     /* A zero code addr is a wild card, always succeed.  */
-     eq = 1;
    else if (l.code_addr != r.code_addr)
      /* If .code addresses are different, the frames are different.  */
      eq = 0;
--- 306,311 ----
Index: gdb/frame.h
===================================================================
RCS file: /cvs/src/src/gdb/frame.h,v
retrieving revision 1.133
diff -c -p -r1.133 frame.h
*** gdb/frame.h	7 May 2004 23:19:14 -0000	1.133
--- gdb/frame.h	24 May 2004 13:14:02 -0000
*************** extern const struct frame_id null_frame_
*** 135,152 ****
  
  /* Construct a frame ID.  The first parameter is the frame's constant
     stack address (typically the outer-bound), and the second the
!    frame's constant code address (typically the entry point) (or zero,
!    to indicate a wild card).  The special identifier address is
!    defaulted to zero.  */
  extern struct frame_id frame_id_build (CORE_ADDR stack_addr,
  				       CORE_ADDR code_addr);
  
  /* Construct a special frame ID.  The first parameter is the frame's constant
     stack address (typically the outer-bound), the second is the
!    frame's constant code address (typically the entry point) (or zero,
!    to indicate a wild card), and the third parameter is the frame's
!    special identifier address (or zero to indicate a wild card or 
!    unused default).  */
  extern struct frame_id frame_id_build_special (CORE_ADDR stack_addr,
  					       CORE_ADDR code_addr,
  					       CORE_ADDR special_addr);
--- 135,150 ----
  
  /* Construct a frame ID.  The first parameter is the frame's constant
     stack address (typically the outer-bound), and the second the
!    frame's constant code address (typically the entry point).
!    The special identifier address is defaulted to zero.  */
  extern struct frame_id frame_id_build (CORE_ADDR stack_addr,
  				       CORE_ADDR code_addr);
  
  /* Construct a special frame ID.  The first parameter is the frame's constant
     stack address (typically the outer-bound), the second is the
!    frame's constant code address (typically the entry point),
!    and the third parameter is the frame's special identifier address 
!    (or zero to indicate a wild card or unused default).  */
  extern struct frame_id frame_id_build_special (CORE_ADDR stack_addr,
  					       CORE_ADDR code_addr,
  					       CORE_ADDR special_addr);


-- 
  Dr. Ulrich Weigand
  weigand@informatik.uni-erlangen.de


  reply	other threads:[~2004-05-24 13:45 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-20 13:31 Ulrich Weigand
2004-05-20 14:17 ` Daniel Jacobowitz
2004-05-24 13:45   ` Ulrich Weigand [this message]
2004-05-24 18:52     ` Andrew Cagney
2004-06-09 14:12       ` Ulrich Weigand
2004-06-09 14:55         ` Andrew Cagney
2004-06-16 13:48           ` Ulrich Weigand
2004-06-16 17:33             ` Andrew Cagney
2004-06-27 20:48               ` Ulrich Weigand
2004-06-27 21:48                 ` Daniel Jacobowitz
2004-06-27 22:35                   ` Ulrich Weigand
2004-06-27 22:59                   ` Andreas Schwab
2004-06-27 23:11                     ` Daniel Jacobowitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200405241345.PAA26969@faui1d.informatik.uni-erlangen.de \
    --to=weigand@i1.informatik.uni-erlangen.de \
    --cc=drow@false.org \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox