dynamic linker in RTEMS 5 ?
Chris Johns
chrisj at rtems.org
Tue Dec 19 21:47:08 UTC 2017
On 19/12/2017 23:44, Goetz Pfeiffer wrote:
> at the Helmholtz-Zentrum Berlin we control an electron storage ring facility
> with the EPICS controlsystem framework.
>
> We have about 20 mvme2100 VME CPU boards which run RTEMS 4.9 with
> cexp and GeSys.
This sounds like a nice system.
> We would like to use RTEMS 5 but cexp is not compatible with this version.
>
> We are looking for the following features in RTEMS 5:
>
> * dynamic loading of object files
> * dynamic linking of objects
> * calling functions on the command line (optional)
>
> With cexp and RTEMS 4.9, dynamic loading works like this in the startup script:
>
> cexpModuleLoad("Com.obj")
> cexpModuleLoad("ca.obj")
> cexpModuleLoad("dbStaticIoc.obj")
> cexpModuleLoad("registryIoc.obj")
> cexpModuleLoad("dbIoc.obj")
> ...
The cexp C parser and caller is not present. I also suspect other alternatives
such as another language like lua would not help because your existing scripts
would need to change as well as the related documentation.
> Is it possible to implement a dynamic linker in RTEMS 5 ? It seems that
> dynamic loading with dl_open(), dl_sym() and dl_close() is already
> implemented.
Dynamic loading is present. I am not across all the features cexp provides so I
cannot be 100% certain there is a complete match. For example the dlopen API
currently does not search archives to automatically pull in dependences. I
avoided this when I first implemented libdl and I now think this feature should
be added.
> In another mail it was suggested to adapt cexp for RTEMS 5 but it seems
> that this product is too hard to maintain and too hardware dependent.
This is understandable.
> We think that it would make RTEMS even more attractive, if it would
> incorporate a dynamic loader.
Do you mean bringing cexp into RTEMS and making it use the libdl loader?
Any work to help ease EPICS integration and maintenance is a good thing.
> It would be a great alternative to vxWorks.
I suspect there are other users with this issue. It would be good to have an
easy upgrade path to RTEMS 5.
Chris
More information about the users
mailing list