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:

NetBSD Home
NetBSD PR Database Search

(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.