From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32266 invoked by alias); 1 Jun 2003 03:38:18 -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 32257 invoked from network); 1 Jun 2003 03:38:18 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 1 Jun 2003 03:38:18 -0000 Received: from int-mx2.corp.redhat.com (nat-pool-rdu-dmz.redhat.com [172.16.52.200] (may be forged)) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id h513cHH14378 for ; Sat, 31 May 2003 23:38:18 -0400 Received: from potter.sfbay.redhat.com (potter.sfbay.redhat.com [172.16.27.15]) by int-mx2.corp.redhat.com (8.11.6/8.11.6) with ESMTP id h513cGT16257; Sat, 31 May 2003 23:38:16 -0400 Received: from dot.sfbay.redhat.com (dot.sfbay.redhat.com [172.16.24.7]) by potter.sfbay.redhat.com (8.11.6/8.11.6) with ESMTP id h513cG015471; Sat, 31 May 2003 20:38:16 -0700 Received: (from rth@localhost) by dot.sfbay.redhat.com (8.11.6/8.11.6) id h513aLt12151; Sat, 31 May 2003 20:36:21 -0700 X-Authentication-Warning: dot.sfbay.redhat.com: rth set sender to rth@redhat.com using -f Date: Sun, 01 Jun 2003 03:38:00 -0000 From: Richard Henderson To: kettenis@gnu.org, gdb-patches@sources.redhat.com Subject: dwarf2-frame clobbers memory Message-ID: <20030601033621.GA12145@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.4i X-SW-Source: 2003-06/txt/msg00001.txt.bz2 At the following traceback, memmove is overwriting the "help" command, which results in a segv on the next command. Is this enough to track down the problem? Target is alpha-linux. r~ Watchpoint 4: *$16 Old value = 0x1202a70ff "help" New value = 0x0 0x00000200001d7e0c in memmove () from /lib/libc.so.6.1 (top-gdb) where #0 0x00000200001d7e0c in memmove () from /lib/libc.so.6.1 #1 0x00000001201e1a64 in execute_cfa_program ( insn_ptr=0x1204359d0 " Ï< \001", insn_end=0x10000001b
, next_frame=0x18, fs=0x2) at ../../../src-binu/gdb/dwarf2-frame.c:298 #2 0x00000001201e1a64 in execute_cfa_program ( insn_ptr=0x1203ff670 "D\f\017\020", insn_end=0x1203ff678 "", next_frame=0x1203ba450, fs=0x1204359d0) at ../../../src-binu/gdb/dwarf2-frame.c:298 #3 0x00000001201e25ac in dwarf2_frame_cache (next_frame=0x1203ba450, this_cache=0x1203ba508) at ../../../src-binu/gdb/dwarf2-frame.c:518 #4 0x00000001201e2838 in dwarf2_frame_this_id (next_frame=0x1203ba450, this_cache=0x1203ba508, this_id=0x1203ba540) at ../../../src-binu/gdb/dwarf2-frame.c:567 #5 0x0000000120162928 in get_frame_id (fi=0x1203ba4e8) at ../../../src-binu/gdb/frame.c:243 #6 0x0000000120162db4 in frame_find_by_id (id= {stack_addr = 4831835808, code_addr = 4831839664}) at ../../../src-binu/gdb/frame.c:349 #7 0x00000001200be258 in restore_selected_frame (args=0x120468ec0) at ../../../src-binu/gdb/infrun.c:3623 #8 0x00000001201567fc in do_catch_errors (uiout=0x1203c40b0, data=0x11fffe280) at ../../../src-binu/gdb/top.c:492 #9 0x0000000120156598 in catcher (func=0x1201567c0 , func_uiout=0x1203c40b0, func_args=0x11fffe280, func_val=0x11fffe274, func_caught=0x11fffe278, errstring=0x1202ba8a3 "Unable to restore previously selected frame:\n", mask=2) at ../../../src-binu/gdb/top.c:424 #10 0x0000000120156888 in catch_errors ( func=0x1200be220 , func_args=0x120468ec0, errstring=0x1202ba8a3 "Unable to restore previously selected frame:\n", mask=2) at ../../../src-binu/gdb/top.c:504 #11 0x00000001200be490 in restore_inferior_status (inf_status=0x120468e50) at ../../../src-binu/gdb/infrun.c:3681 #12 0x00000001200be50c in do_restore_inferior_status_cleanup (sts=0x120468e50) at ../../../src-binu/gdb/infrun.c:3697 #13 0x000000012015adc0 in do_my_cleanups (pmy_chain=0x120373d10, old_chain=0x12041b380) at ../../../src-binu/gdb/utils.c:323 #14 0x000000012015ac10 in do_cleanups (old_chain=0x0) at ../../../src-binu/gdb/utils.c:288 #15 0x00000001200b2e6c in call_function_by_hand (function=0x120495670, nargs=2, args=0x11fffe4f8) at ../../../src-binu/gdb/infcall.c:1006 #16 0x000000012007b418 in evaluate_subexp_standard (expect_type=0x0, exp=0x120468b00, pos=0x11fffe8b8, noside=EVAL_NORMAL) at ../../../src-binu/gdb/eval.c:1221 #17 0x000000012007793c in evaluate_subexp (expect_type=0x0, exp=0x1203cf3a0, pos=0x1c, noside=EVAL_NORMAL) at ../../../src-binu/gdb/eval.c:73 #18 0x0000000120077d1c in evaluate_expression (exp=0x120468b00) at ../../../src-binu/gdb/eval.c:162