>
> The assertion fails only if both l_libname and l_name are NULL.
Thanks Andreas, you're right.

Now I have resolved this issue: I need set the value to %rambar1
register in the head.S file.
This register is the configure register for SRAM. Although I not use
SRAM memory, but it
seems I need configure this register, otherwise I will meet the issue
before.

I'm not sure why this fix will affect run time loader. I guess the
toolchain may do some registers' check.

Best Regards,
Lanttor




------------------------------------------------------------------------
*From:* Andreas Schwab <[email protected]>
*Sent:* 02/23/2010 3:23:28 AM +0800
*To:* Lanttor <[email protected]>
*CC:* Maxim Kuvyrkov <[email protected]>, Greg Ungerer
<[email protected]>, [email protected]
*Subject:* One issue during kernel porting on coldfire m5441x: dl_main:
Assertion `_rtld_local._dl_rtld_map.l_libname' failed!

> Lanttor <[email protected]> writes:
>
>   
>> 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...
>>     
>
> The assertion fails only if both l_libname and l_name are NULL.
>
> Andreas.
>
>   
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to