Re: One issue during kernel porting on coldfire m5441x: dl_main: Assertion `_rtld_local._dl_rtld_map.l_libname' failed!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, Max

Thanks for your information.


It is quite strange that the run-time linker is invoked for a
statically linked busybox -- maybe this is the problem?
This is not the problem, because I setup udevd daemon before busybox
when boot up. when I disable udevd and use static dev files, there will
no error information.
That means staitic binary is OK to run, but if I run dynamic binary,
it's failed and prints log: Inconsistency detected by ld.so: rtld.c:
1215: dl_main: Assertion `_rtld_local._dl_rtld_map.l_libname' failed!

I suggest you take a look at <glibc_src>/elf/rtld.c and trace how the
control gets there.
I use glibc-2.5 and check elf/rtld.c 1215 line, the code is as follows:

1206   if (! GL(dl_rtld_map).l_libname && GL(dl_rtld_map).l_name)
1207     {
1208       /* We were invoked directly, so the program might not have a
1209          PT_INTERP.  */
1210       _dl_rtld_libname.name = GL(dl_rtld_map).l_name;
1211       /* _dl_rtld_libname.next = NULL;  Already zero.  */
1212       GL(dl_rtld_map).l_libname =  &_dl_rtld_libname;
1213     }
1214   else
1215     assert (GL(dl_rtld_map).l_libname); /* How else did we get
here?  */


So I guess GL(dl_rtld_map).l_libname is not NUL and throws an
exception.  The reason is still tracing...

Best Regards,
Lanttor




------------------------------------------------------------------------
*From:* Maxim Kuvyrkov <maxim@xxxxxxxxxxxxxxxx>
*Sent:* 02/21/2010 10:57:00 PM +0800
*To:* Lanttor <lanttor.guo@xxxxxxxxxxxxx>
*CC:* Greg Ungerer <gerg@xxxxxxxxxxxx>, linux-m68k@xxxxxxxxxxxxxxx
*Subject:* One issue during kernel porting on coldfire m5441x: dl_main:
Assertion `_rtld_local._dl_rtld_map.l_libname' failed!

On 2/21/10 12:02 PM, Lanttor wrote:
Hi,

I met one interesting issue during I porting 2.6.29 kernel on ColdFire
paltform (v4 core, mcf5441x).

I could boot up the kernel with initramfs, but the kernel message below
displays some error information,
which line I colored red. initramfs image only includes busybox static
binary.
...
Inconsistency detected by ld.so: rtld.c: 1215: dl_main: Assertion
`_rtld_local._dl_rtld_map.l_libname' failed!
Inconsistency detected by ld.so: rtld.c: 1215: dl_main: Assertion
`_rtld_local._dl_rtld_map.l_libname' failed!

The error is an assertion failure in GLIBC's runtime linker, it is not
a kernel issue.  It is quite strange that the run-time linker is
invoked for a statically linked busybox -- maybe this is the problem? 
I suggest you take a look at <glibc_src>/elf/rtld.c and trace how the
control gets there.

Regards,

--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux