Reminder: Removal of WITHOUT_ARM_EABI

Ronald Klop ronald-freebsd8 at klop.yi.org
Mon Sep 9 10:38:53 UTC 2013


On Sat, 07 Sep 2013 16:11:59 +0200, Andrew Turner <andrew at fubar.geek.nz>  
wrote:

> On Thu, 05 Sep 2013 21:15:58 -0600
> Ian Lepore <ian at FreeBSD.org> wrote:
>
>> On Thu, 2013-09-05 at 12:59 +0200, Ronald Klop wrote:
>> > On Fri, 30 Aug 2013 14:04:52 +0200, Ronald Klop
>> > <ronald-freebsd8 at klop.yi.org> wrote:
>> >
>> > >
>> > > Oh wow, for some lucky reason I add rc_info="YES" to rc.conf and
>> > > when I rebooted it did an fsck of all filesystems and it booted
>> > > into multiuser. I am now logged in and see the same as Ian. Top
>> > > does not work. Df hangs. Etc.
>> > > I see I don't have debugging symbols compiled in the userland so
>> > > I need to rebuild to make gdb happy.
>> > >
>> > > Ronald.
>> >
>> > I have some new data. I compiled world with debug symbols and
>> > succeeded to boot correctly again (it works if fsck needs to kick
>> > in). root@:~ # gdb ps
>> > GNU gdb 6.1.1 [FreeBSD]
>> > Copyright 2004 Free Software Foundation, Inc.
>> > GDB is free software, covered by the GNU General Public License,
>> > and you are
>> > welcome to change it and/or distribute copies of it under certain
>> > conditions.
>> > Type "show copying" to see the conditions.
>> > There is absolutely no warranty for GDB.  Type "show warranty" for
>> > details. This GDB was configured as "arm-marcel-freebsd"...
>> > (gdb) run axu
>> > Starting program: /bin/ps axu
>> >
>> >
>> > ^C
>> > Program received signal SIGINT, Interrupt.
>> > 0x201cc108 in __mult_D2A (a=<value optimized out>, b=<value
>> > optimized out>)
>> > at /usr/obj/arm.arm/usr/src/lib/libc/gdtoa_misc.c:311
>> > 311     /usr/obj/arm.arm/usr/src/lib/libc/gdtoa_misc.c: No such
>> > file or director                                          y.
>> > in /usr/obj/arm.arm/usr/src/lib/libc/gdtoa_misc.c Current
>> > language:  auto; currently minimal (gdb) bt
>> > #0  0x201cc108 in __mult_D2A (a=<value optimized out>, b=<value
>> > optimized
>> > out>)
>> >      at /usr/obj/arm.arm/usr/src/lib/libc/gdtoa_misc.c:311
>> > #1  0x201cc2d8 in __pow5mult_D2A (b=<value optimized out>,
>> >      k=<value optimized out>)
>> >      at /usr/obj/arm.arm/usr/src/lib/libc/gdtoa_misc.c:409
>> > #2  0x201c2b68 in __dtoa (d0=<value optimized out>,
>> >      mode=<value optimized out>, ndigits=1, sign=<value optimized
>> > out>, rve=<value optimized out>)
>> >      at /usr/obj/arm.arm/usr/src/lib/libc/gdtoa_dtoa.c:533
>> > #3  0x201b8c70 in __vfprintf (fp=0xbfffe238, locale=0x201ec620,
>> >      fmt0=0xeec8 "%.1f", ap={__ap = 0xbfffe378})
>> >      at /usr/src/lib/libc/stdio/vfprintf.c:713
>> > #4  0x2015a064 in vasprintf_l (str=0xbfffe378, locale=0x201ec620,
>> >      fmt=0xeec8 "%.1f") at /usr/src/lib/libc/stdio/vasprintf.c:59
>> > #5  0x2015a130 in vasprintf (str=0xbfffe378, fmt=0xeec8 "%.1f")
>> >      at /usr/src/lib/libc/stdio/vasprintf.c:73
>> > #6  0x20158748 in asprintf (s=<value optimized out>,
>> >      fmt=0x20a26338
>> > "ºRXºÃè\037\227ã\231aõZu\020ïé\031ýË\220\001ùêÆÛ©iM\001¼µîJͱ
>> > ÏÆÃ©Ó.Ð\017$)öä\005ãeZX±.Z&\004 \005×\005")
>> >      at /usr/src/lib/libc/stdio/asprintf.c:52
>> > #7  0x0000b924 in pmem (k=<value optimized out>, ve=<value
>> > optimized out>) at /usr/src/bin/ps/print.c:669
>> > #8  0x0000d014 in $a () at /usr/src/bin/ps/ps.c:1134
>> > #9  0x0000d014 in $a () at /usr/src/bin/ps/ps.c:1134
>> >
>> > Is it possible this gives an endless loop on armv5?
>>
>> This is good info, thanks.  We've been digging into it a bit more on
>> irc.  One thing I determined that I'll mention so it saves you some
>> grief... you were lucky to get that backtrace, because of all the
>> "value optimized out" stuff.  If you build the library with -O0 to
>> prevent that, the backtrace will contain floating point numbers.
>> Then because gdb uses the libc code we're trying to debug to format
>> floating point numbers, gdb locks up.
>
> The issue causing the endless loop is that the layout of double
> precision floating-point values appears to have changed. I have just
> committed r255361 which should fix the issue.
>
> Andrew

Thank you. Booting works now.

Ronald.


More information about the freebsd-arm mailing list