RTL_ENTRY_POINT value and dlsym error number set problem

박형식 hspark at satreci.com
Mon Aug 18 07:50:27 UTC 2014


Hi~

 

When link application, I pass entry symbol for application(ex. rtems-ld -e
app_main). But in “rtems_rap_load()” function, Call dlsym() function like
this. 

ini = dlsym (app->handle, RTL_ENTRY_POINT);

fini = dlsym (app->handle, RTL_ENTRY_POINT);

 

and RTL_ENTRY_POINT is defined like this.

#if (RTL_GLUE(__USER_LABEL_PREFIX__, 1) == RTL_GLUE(_, 1))

  #define RTL_ENTRY_POINT "_rtems"

#else

  #define RTL_ENTRY_POINT "rtems"

#endif

 

Why pass entry symbol of application when application link?

 

And second,

If can’t find entry point symbol when rap loading, any error is not set. 

In rtems_rap_load function,

init = dlsym (app->handle, RTL_ENTRY_POINT);

    if (!init)

    {

      rtems_rap_get_rtl_error ();

      rtems_rap_app_free (app);

      rtems_rap_unlock ();

      return false;

    }

 

When failed search RTL_ENTRY_POINT, any error is not set. But call
rtems_rap_get_rtl_error().

 

Please check this problem. 

 

Thank you for your answer!

 

Regards,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20140818/0a72ba61/attachment-0001.html>


More information about the users mailing list