From owner-freebsd-arm@freebsd.org Fri Oct 23 18:30:20 2015 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 86F57A1DF32 for ; Fri, 23 Oct 2015 18:30:20 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from pmta2.delivery6.ore.mailhop.org (pmta2.delivery6.ore.mailhop.org [54.200.129.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 63ACD99F for ; Fri, 23 Oct 2015 18:30:20 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from ilsoft.org (unknown [73.34.117.227]) by outbound2.ore.mailhop.org (Halon Mail Gateway) with ESMTPSA; Fri, 23 Oct 2015 18:30:35 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id t9NIUH0u021653; Fri, 23 Oct 2015 12:30:17 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <1445625017.91534.31.camel@freebsd.org> Subject: Re: CC core dumping with CLANG 3.7 on armv5 - DREAMPLUG From: Ian Lepore To: Mattia Rossi , Konstantin Belousov Cc: freebsd-arm Date: Fri, 23 Oct 2015 12:30:17 -0600 In-Reply-To: <5628D9F8.8040206@gmail.com> References: <5626144F.9060003@gmail.com> <5628873F.7050509@gmail.com> <20151022081551.GB2257@kib.kiev.ua> <5628B0B0.8040804@gmail.com> <20151022111407.GD2257@kib.kiev.ua> <5628D958.4060904@gmail.com> <5628D9F8.8040206@gmail.com> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.16.5 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Oct 2015 18:30:20 -0000 On Thu, 2015-10-22 at 14:43 +0200, Mattia Rossi wrote: > > Am 22.10.2015 um 14:40 schrieb Mattia Rossi: > > > > > > Am 22.10.2015 um 13:14 schrieb Konstantin Belousov: > > > On Thu, Oct 22, 2015 at 11:47:28AM +0200, Mattia Rossi wrote: > > > > > You may disassemble the instruction at the address, and print > > > > > the > > > > > content > > > > > of registers: > > > > > (gdb) disassemble *0x01eb0868-8,0x01eb0868+8 > > > > > (gdb) info registers > > > > > > > > > > If the cause of your issue is weird codegeneration on ARMv5, > > > > > it > > > > > might be > > > > > seen from the data above. On the other hand, this would not > > > > > help > > > > > if the > > > > > issue is algorithmic. I am afraid there is not much more to > > > > > suggest. > > > > (gdb) disassemble *0x01eb0868-8,0x01eb0868+8 > > > > No function contains specified address. > > > Apparently correct syntax is > > > disassemble 0x01eb0868-8 0x01eb0868+8 > > (gdb) bt > > #0 0x01eb0868 in ?? () > > (gdb) disassemble 0x01eb0868-8 0x01eb0868+8 > > Dump of assembler code from 0x1eb0860 to 0x1eb0870: > > 0x01eb0860: add r12, r12, #1 ; 0x1 > > 0x01eb0864: and r7, r0, r3 > > 0x01eb0868: ldr r1, [r10, r7, lsl #2] > > 0x01eb086c: cmp r1, #0 ; 0x0 > > End of assembler dump. > > (gdb) info registers > > r0 0x1e53b 124219 > > r1 0x6a 106 > > r2 0xc3c3c3c6 -1010580538 > > r3 0x5a5a5a59 1515870809 > > r4 0x3 3 > > r5 0x1fd9f83 33398659 > > r6 0x1e53b 124219 > > r7 0x4019 16409 > > r8 0x22a1708c 581005452 > > r9 0xffffffff -1 > > r10 0x5a5a5a5a 1515870810 > > r11 0xbfbfeb70 -1077941392 > > r12 0x1 1 > > sp 0xbfbfeb48 -1077941432 > > lr 0x8f5c 36700 > > pc 0x1eb0868 32180328 > > fps 0x0 0 > > cpsr 0x60000010 1610612752 > > (gdb) > > > > Still I can't tell anything from that :-/ - way too low level for > > me > Btw. I'm currently using a helloworld program for testing: > > root@dreamplug:~ # cat helloworld.c > /* Hello World program */ > > #include > > main() > { > printf("Hello World"); > > > } > I think the degenerate testcase for this is just typing 'cpp', and the first line of output when you do might be a clue... root@dpnand:/root # cpp error: no handler registered for module format 'raw' fatal error: error in backend: unknown module format cpp: error: clang frontend command failed with exit code 70 (use -v to see invocation) FreeBSD clang version 3.7.0 (tags/RELEASE_370/final 246257) 20150906 Target: arm--freebsd11.0-gnueabi Thread model: posix cpp: note: diagnostic msg: PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the crash backtrace, preprocessed source, and associated run script. cpp: note: diagnostic msg: Error generating preprocessed source(s) - ignoring input from stdin. cpp: note: diagnostic msg: Error generating preprocessed source(s) - no preprocessable inputs. With a quick glance at the code involved, that "no handler" message happens when it can't find the requested module type in a container of module handlers. But the default constructor for the container automatically adds the handler for 'raw' so not finding it seems insane. I don't know how to proceed from here in debugging. Unfortunately, we have no functional arm emulator (only armv6 and the problem doesn't happen there) so this has to be debugged on real hardware I guess. -- Ian