From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11868 invoked by alias); 22 Apr 2002 23:29:45 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 11855 invoked from network); 22 Apr 2002 23:29:43 -0000 Received: from unknown (HELO cygnus.com) (205.180.83.203) by sources.redhat.com with SMTP; 22 Apr 2002 23:29:43 -0000 Received: from reddwarf.sfbay.redhat.com (reddwarf.sfbay.redhat.com [172.16.24.50]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id QAA08623; Mon, 22 Apr 2002 16:29:41 -0700 (PDT) Received: (from msnyder@localhost) by reddwarf.sfbay.redhat.com (8.11.2/8.11.2) id g3MNHkN10830; Mon, 22 Apr 2002 16:17:46 -0700 Date: Mon, 22 Apr 2002 16:29:00 -0000 From: Michael Snyder Message-Id: <200204222317.g3MNHkN10830@reddwarf.sfbay.redhat.com> To: gdb-patches@sources.redhat.com Subject: [RFA] arm_skip_prologue: recognize "str r(0123), [r11, #-nn]" Cc: cagney@redhat.com, rearnsha@arm.com X-SW-Source: 2002-04/txt/msg00815.txt.bz2 GCC sometimes generates these stores as discrete instructions. 2002-04-22 Michael Snyder * arm-tdep.c (arm_skip_prologue): Recognize str r(0123), [r11, #-nn]. Index: arm-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/arm-tdep.c,v retrieving revision 1.51 diff -p -r1.51 arm-tdep.c *** arm-tdep.c 22 Apr 2002 23:22:04 -0000 1.51 --- arm-tdep.c 22 Apr 2002 23:27:36 -0000 *************** arm_skip_prologue (CORE_ADDR pc) *** 485,491 **** } if ((inst & 0xfffff000) == 0xe24cb000) /* sub fp, ip, #nn */ ! skip_pc += 4; return skip_pc; } --- 485,500 ---- } if ((inst & 0xfffff000) == 0xe24cb000) /* sub fp, ip, #nn */ ! { ! skip_pc += 4; ! inst = read_memory_integer (skip_pc, 4); ! } ! ! while ((inst & 0xffffcfc0) == 0xe50b0000) /* str r(0123), [r11, #-nn] */ ! { ! skip_pc += 4; ! inst = read_memory_integer (skip_pc, 4); ! } return skip_pc; }