[oe] systemd on armv4t

Martin Jansa martin.jansa at gmail.com
Thu Nov 22 22:30:29 UTC 2012


On Thu, Nov 22, 2012 at 01:20:33PM +0100, Martin Jansa wrote:
> On Fri, Nov 09, 2012 at 12:20:14PM +0100, Martin Jansa wrote:
> > On Wed, Nov 07, 2012 at 09:18:04PM +0000, Phil Blundell wrote:
> > > On Wed, 2012-11-07 at 21:53 +0100, Martin Jansa wrote:
> > > > Core was generated by `/sbin/init splash'.
> > > > Program terminated with signal 4, Illegal instruction.
> > > > #0  0x40110a00 in raise () from /lib/libpthread.so.0
> > > > (gdb)
> > > > (gdb) bt
> > > > #0  0x40110a00 in raise () from /lib/libpthread.so.0
> > > > #1  0x000118de in ?? ()
> > > > #2  0x000118de in ?? ()
> > > 
> > > That backtrace (and the disassembly) doesn't tell you much about the
> > > real location of the fault since it just shows systemd re-throwing a
> > > signal that it caught.  If you compile with -fasynchronous-unwind-tables
> > > then you might get a better backtrace; otherwise, you can hack main.c to
> > > stop it catching SIGILL in the first place.  Or turn on user fault
> > > debugging in the kernel.
> > 
> 
> I have more info on this one.
> 

I'm sorry, something wasn't cleaned enough between builds and it's
probably some other commit, bisecting continues now with carefully
dropped sstate-cache between builds.

Cheers,

> The problem is caused by:
> commit 9591c93c20af236fdc1a99b548435b6df75af497
> Author: Khem Raj <raj.khem at gmail.com>
> Date:   Wed Aug 15 23:09:00 2012 -0700
> 
>     eglibc-2.16: Remove build dependency on libgcc_s and libgcc_eh
> 
>     This patch backports two patches from glibc trunk essentially
>     dropping the requirements to have libgcc_s and libgcc_eh
>     this will simplify the toolchain bootstrap sequence.
> 
>     Signed-off-by: Khem Raj <raj.khem at gmail.com>
> 
> And it happens in runtime when *kernel* is built with toolchain having this patch included.
> 
> Just booting uImage built with eglibc without this patch makes systemd working fine again.
> 
> Problem is that I cannot revert just this one patch in master 
> because it depends on lot of other toolchain changes since then,
> but uImage built with oe-core just before this patch and with this 
> patch makes the difference.
> 
> CCing Khem as he added this patch and I really need some help with this one.
> 
> I'll upload workdirs from both builds later, now I'm rebuilding it, 
> because it was cleaned between buils.
> 
> Cheers,
> 
> > Thanks, now I have better backtrace:
> > Core was generated by `/sbin/init splash'.
> > Program terminated with signal 4, Illegal instruction.
> > #0  0x400d3a00 in raise (sig=sig at entry=4) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:45
> > 45                                  sig);
> > (gdb) bt
> > #0  0x400d3a00 in raise (sig=sig at entry=4) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:45
> > #1  0x0001183e in crash (sig=4) at src/core/main.c:135
> > #2  <signal handler called>
> > #3  0x40062d44 in __sync_add_and_fetch_4 (ptr=0xbc710, val=1)
> >     at /OE/shr-core/tmp-eglibc/work-shared/gcc-4.7.2-r13/gcc-4.7.2/libgcc/config/arm/linux-atomic.c:128
> > #4  0x4005e8bc in _dbus_atomic_inc (atomic=atomic at entry=0xbc710) at dbus-sysdeps-unix.c:2440
> > #5  0x40056560 in _dbus_server_init_base (server=server at entry=0xbc710, vtable=<optimized out>, address=address at entry=0xbe81a7e0) at dbus-server.c:118
> > #6  0x40056fbc in _dbus_server_new_for_socket (fds=fds at entry=0xbe81a7dc, n_fds=n_fds at entry=1, address=address at entry=0xbe81a7e0,
> >     noncefile=noncefile at entry=0x0) at dbus-server-socket.c:320
> > #7  0x40057404 in _dbus_server_new_for_domain_socket (path=path at entry=0xbc678 "/run/systemd/private", abstract=abstract at entry=0,
> >     error=error at entry=0xbe81a890) at dbus-server-unix.c:276
> > #8  0x400575ea in _dbus_server_listen_platform_specific (entry=<optimized out>, server_p=0xbe81a874, error=0xbe81a890) at dbus-server-unix.c:134
> > #9  0x400568a0 in dbus_server_listen (address=0x6d9d4 "unix:path=/run/systemd/private", error=0xbe81a8e8) at dbus-server.c:585
> > #10 0x00033ec2 in bus_init_private (m=0xbc340) at src/core/dbus.c:1076
> > #11 bus_init (m=m at entry=0xbc340, try_bus_connect=try_bus_connect at entry=false) at src/core/dbus.c:1147
> > #12 0x00014eb2 in manager_new (running_as=running_as at entry=SYSTEMD_SYSTEM, _m=_m at entry=0xbe81aa54) at src/core/manager.c:305
> > #13 0x0000fbb8 in main (argc=2, argv=0xbe81af04) at src/core/main.c:1612
> > (gdb) disass 0x40062d44
> > Dump of assembler code for function __sync_add_and_fetch_4:
> >    0x40062d2c <+0>:     push    {r4, r5, r6, lr}
> >    0x40062d2e <+2>:     adds    r5, r0, #0
> >    0x40062d30 <+4>:     adds    r6, r1, #0
> >    0x40062d32 <+6>:     ldr     r0, [r5, #0]
> >    0x40062d34 <+8>:     adds    r2, r5, #0
> >    0x40062d36 <+10>:    adds    r4, r0, r6
> >    0x40062d38 <+12>:    adds    r1, r4, #0
> >    0x40062d3a <+14>:    ldr     r3, [pc, #16]   ; (0x40062d4c <__sync_add_and_fetch_4+32>)
> >    0x40062d3c <+16>:    bl      0x40063404
> >    0x40062d40 <+20>:    cmp     r0, #0
> >    0x40062d42 <+22>:    bne.n   0x40062d32 <__sync_add_and_fetch_4+6>
> >    0x40062d44 <+24>:    adds    r0, r4, #0
> >    0x40062d46 <+26>:    pop     {r4, r5, r6}
> >    0x40062d48 <+28>:    pop     {r1}
> >    0x40062d4a <+30>:    bx      r1
> >    0x40062d4c <+32>:    lsrs    r0, r0, #31
> >    0x40062d4e <+34>:    vsli.32 <illegal reg q13.5>, q8, #31
> > End of assembler dump.
> > 
> > Cheers,
> > 
> > -- 
> > Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
> 
> 
> 
> -- 
> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com



-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20121122/7e202b27/attachment-0002.sig>


More information about the Openembedded-devel mailing list