From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3247 invoked by alias); 27 Jun 2011 14:04:43 -0000 Received: (qmail 3239 invoked by uid 22791); 27 Jun 2011 14:04:42 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,TW_QE,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-wy0-f169.google.com (HELO mail-wy0-f169.google.com) (74.125.82.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 27 Jun 2011 14:04:25 +0000 Received: by wyg36 with SMTP id 36so3932008wyg.0 for ; Mon, 27 Jun 2011 07:04:24 -0700 (PDT) Received: by 10.227.209.131 with SMTP id gg3mr5638002wbb.79.1309183464259; Mon, 27 Jun 2011 07:04:24 -0700 (PDT) Received: from [163.242.202.188] ([91.213.169.4]) by mx.google.com with ESMTPS id d19sm4117407wbh.8.2011.06.27.07.04.22 (version=SSLv3 cipher=OTHER); Mon, 27 Jun 2011 07:04:23 -0700 (PDT) Message-ID: <4E088DE1.2060809@gmail.com> Date: Mon, 27 Jun 2011 14:04:00 -0000 From: Dmitry Eremin-Solenikov User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110606 Iceowl/1.0b2 Icedove/3.1.10 MIME-Version: 1.0 To: gdb@sourceware.org CC: Russell King - ARM Linux , linux-arm-kernel@lists.infradead.org, Eric Miao Subject: Re: Problem with GDB when debugging IRQ handlers References: <20110627125306.GA30646@doriath.ww600.siemens.net> <20110627132735.GE16103@n2100.arm.linux.org.uk> In-Reply-To: <20110627132735.GE16103@n2100.arm.linux.org.uk> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2011-06/txt/msg00146.txt.bz2 Hello, On 27.06.2011 17:27, Russell King - ARM Linux wrote: > On Mon, Jun 27, 2011 at 04:53:06PM +0400, Dmitry Eremin-Solenikov wrote: >> I've got into a problem when trying to debug irq handlers on PXA (in >> qemu). backtrace is really strange from my POV (a target is just a qemu >> running a bit modified 3.0-rc2 kernel): > ... >> Breakpoint 1, handle_level_irq (irq=42, desc=0xc3e06000) at kernel/irq/chip.c:329 >> 329 mask_ack_irq(desc); >> (gdb) bt >> #0 handle_level_irq (irq=42, desc=0xc3e06000) at kernel/irq/chip.c:329 >> #1 0xc0085f64 in generic_handle_irq_desc (irq=42) at include/linux/irqdesc.h:111 >> #2 generic_handle_irq (irq=42) at kernel/irq/irqdesc.c:304 >> #3 0xc0033060 in asm_do_IRQ (irq=42, regs=) at arch/arm/kernel/irq.c:90 >> #4 0xc0033b50 in __irq_svc () at arch/arm/kernel/entry-armv.S:202 >> #5 0xc0033b50 in __irq_svc () at arch/arm/kernel/entry-armv.S:202 >> #6 0xc0033b50 in __irq_svc () at arch/arm/kernel/entry-armv.S:202 >> #7 0xc0033b50 in __irq_svc () at arch/arm/kernel/entry-armv.S:202 >> #8 0xc0033b50 in __irq_svc () at arch/arm/kernel/entry-armv.S:202 >> #9 0xc0033b50 in __irq_svc () at arch/arm/kernel/entry-armv.S:202 >> #10 0xc0033b50 in __irq_svc () at arch/arm/kernel/entry-armv.S:202 >> #11 0xc0033b50 in __irq_svc () at arch/arm/kernel/entry-armv.S:202 >> #12 0xc0033b50 in __irq_svc () at arch/arm/kernel/entry-armv.S:202 >> >> ... and so on it continues ad infinitum. Is it the expected behaviour? >> Because I'm pretty much sure that this isn't a desired behaviour. > > My guess is that gdb is trying to unwind using the unwind information. > However, I don't think we actually give the assembler the full information > to be able to unwind this. I've no idea how to solve this as I'm no > expert at the debug info. > > We _really_ _do_ want to unwind through this so that we can see the > parent kernel context information in backtraces - and the fact that > the kernel itself can unwind through these means we can't tell the > unwinder not to. > > So, no idea. I think you need someone who knows debug info to sort > this one out. Adding gdb ML to cc in the hope to get any assistance. -- With best wishes Dmitry