NetBSD Problem Report #49445
From martin@duskware.de Wed Dec 3 08:27:13 2014
Return-Path: <martin@duskware.de>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
by mollari.NetBSD.org (Postfix) with ESMTPS id F1070A5B2E
for <gnats-bugs@gnats.NetBSD.org>; Wed, 3 Dec 2014 08:27:12 +0000 (UTC)
From: martin@NetBSD.org
Reply-To: martin@NetBSD.org
To: gnats-bugs@NetBSD.org
Subject: gdb can't "run" programs on BE8 arm
X-Send-Pr-Version: 3.95
>Number: 49445
>Category: toolchain
>Synopsis: gdb can't "run" programs on BE8 arm
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: martin
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Dec 03 08:30:00 +0000 2014
>Closed-Date: Fri Dec 19 08:28:26 +0000 2014
>Last-Modified: Fri Dec 19 08:28:26 +0000 2014
>Originator: Martin Husemann
>Release: NetBSD 7.99.2
>Organization:
The NetBSD Foundation, Inc.
>Environment:
System: NetBSD space-truckin.duskware.de 7.99.2 NetBSD 7.99.2 (CUBIETRUCK) #117: Tue Dec 2 14:49:39 CET 2014 martin@night-owl.duskware.de:/usr/src/sys/arch/evbarm/compile/CUBIETRUCK evbarm
Architecture: earmv7hfeb
Machine: evbarm
>Description:
Debugging live processes on ARM BE8 machines via gdb's "run" command does
not work. Attaching to live processes via gdb -p however works.
>How-To-Repeat:
cc -Wall -O0 -g hello.c
gdb ./a.out
(gdb) run
Starting program: /tmp/a.out
Program received signal SIGSEGV, Segmentation fault.
_rtld_objlist_clear (list=0x0) at /usr/src/libexec/ld.elf_so/rtld.c:1504
1504 while (!SIMPLEQ_EMPTY(list)) {
(gdb) bt
#0 _rtld_objlist_clear (list=0x0) at /usr/src/libexec/ld.elf_so/rtld.c:1504
#1 0x400255e0 in _rtld (sp=<optimized out>, relocbase=<optimized out>)
at /usr/src/libexec/ld.elf_so/rtld.c:750
(gdb) x/16i $pc
=> 0x400221f8 <_rtld_objlist_clear+12>: ldr r3, [r0]
0x400221fc <_rtld_objlist_clear+16>: mov r4, r0
0x40022200 <_rtld_objlist_clear+20>: cmp r3, #0
0x40022204 <_rtld_objlist_clear+24>: ldmeq sp, {r3, r4, r11, sp, pc}
0x40022208 <_rtld_objlist_clear+28>: mov r0, r3
0x4002220c <_rtld_objlist_clear+32>: ldr r3, [r3]
0x40022210 <_rtld_objlist_clear+36>: cmp r3, #0
0x40022214 <_rtld_objlist_clear+40>: streq r4, [r4, #4]
0x40022218 <_rtld_objlist_clear+44>: str r3, [r4]
0x4002221c <_rtld_objlist_clear+48>: bl 0x400276c4 <xfree>
(gdb) info reg
r0 0x0 0
r1 0x0 0
r2 0x0 0
r3 0x0 0
r4 0x7fffcc60 2147470432
r5 0x1 1
r6 0x40048008 1074036744
r7 0x0 0
r8 0x7fffcca0 2147470496
r9 0x20a34 133684
r10 0x0 0
r11 0x7fffcc2c 2147470380
r12 0x7fffcc30 2147470384
sp 0x7fffcc18 0x7fffcc18
lr 0x400255e0 1073894880
pc 0x400221f8 0x400221f8 <_rtld_objlist_clear+12>
cpsr 0x400d0210 1074594320
>Fix:
n/a
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: lib-bug-people->martin
Responsible-Changed-By: martin@NetBSD.org
Responsible-Changed-When: Fri, 12 Dec 2014 20:24:00 +0000
Responsible-Changed-Why:
I've analyzed it
From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/49445 CVS commit: src/external/gpl3/gdb/dist/gdb
Date: Fri, 12 Dec 2014 20:25:35 +0000
Module Name: src
Committed By: martin
Date: Fri Dec 12 20:25:35 UTC 2014
Modified Files:
src/external/gpl3/gdb/dist/gdb: armnbsd-tdep.c
Log Message:
Fix byte order selection for breakpoints: on arm the byte order for code
might differ from the generic BFD endianess.
Fixes PR toolchain/49445.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.3 -r1.2 src/external/gpl3/gdb/dist/gdb/armnbsd-tdep.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: open->pending-pullups
State-Changed-By: martin@NetBSD.org
State-Changed-When: Fri, 12 Dec 2014 20:31:36 +0000
State-Changed-Why:
Fixed in head, will request pullup
From: "SAITOH Masanobu" <msaitoh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/49445 CVS commit: [netbsd-7] src/external/gpl3/gdb/dist/gdb
Date: Tue, 16 Dec 2014 16:18:21 +0000
Module Name: src
Committed By: msaitoh
Date: Tue Dec 16 16:18:21 UTC 2014
Modified Files:
src/external/gpl3/gdb/dist/gdb [netbsd-7]: armnbsd-tdep.c
Log Message:
Pull up following revision(s) (requested by martin in ticket #315):
external/gpl3/gdb/dist/gdb/armnbsd-tdep.c: revision 1.2
Fix byte order selection for breakpoints: on arm the byte order for code
might differ from the generic BFD endianess.
Fixes PR toolchain/49445.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.3 -r1.1.1.3.2.1 \
src/external/gpl3/gdb/dist/gdb/armnbsd-tdep.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: pending-pullups->closed
State-Changed-By: msaitoh@NetBSD.org
State-Changed-When: Fri, 19 Dec 2014 08:28:26 +0000
State-Changed-Why:
Pulled up to netbsd-7.
Thanks.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.