From 63dcc380266e80411e37bdb72fd6e0fad8c94072 Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Thu, 13 Jan 1994 18:44:06 +0000 Subject: Add search to target vector (#if 0'd until after 4.12): * target.h (to_search, target_search): Add. * gdbcore.h, core.c (generic_search): Add. * remote.c (remote_search): Add. * a29k-tdep.c (init_frame_info): Use target_search to find traceback tag. --- gdb/a29k-tdep.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'gdb/a29k-tdep.c') diff --git a/gdb/a29k-tdep.c b/gdb/a29k-tdep.c index a34b189..7d02b8b 100644 --- a/gdb/a29k-tdep.c +++ b/gdb/a29k-tdep.c @@ -418,10 +418,20 @@ init_frame_info (innermost_frame, fci) /* Search backward to find the trace-back tag. However, do not trace back beyond the start of the text segment (just as a sanity check to avoid going into never-never land). */ +#if 1 while (p >= text_start && ((insn = read_memory_integer (p, 4)) & TAGWORD_ZERO_MASK) != 0) p -= 4; - +#else /* 0 */ + char pat[4] = {0, 0, 0, 0}; + char mask[4]; + char insn_raw[4]; + store_unsigned_integer (mask, 4, TAGWORD_ZERO_MASK); + /* Enable this once target_search is enabled and tested. */ + target_search (4, pat, mask, p, -4, text_start, p+1, &p, &insn_raw); + insn = extract_unsigned_integer (insn_raw, 4); +#endif /* 0 */ + if (p < text_start) { /* Couldn't find the trace-back tag. -- cgit v1.1