On Friday, November 15, 2019 at 6:48:51 AM UTC+8, ce...@tuta.io wrote:
>
> Hello, 
> recently, in my play, I ran afoul of the Machinekit-HAL symbol visibility 
> mechanism, where the RTAPI symbols must be post-processed in the output ELF 
> by comparing sections and deleting symbols not defined as an EXPORT_SYMBOL 
> and also the explicit denial of rtapi_app being linked as a 
> -export-dynamic. 
>
> (Point: I presume that the userspace RT threads focus is design feature of 
> Machinekit. Not something which happened in the passing.) 
> I plus/minus do get why the symbol isolation is needed. But why was this 
> form used over own linker namespaces with run-time exported symbols to few 
> important functions? 
>

This is actually a relic of the days of kernel threads and integrating with 
Linux KBUILD.  Hopefully that's enough of a clue to track down your 
problem, since I've forgotten almost everything else about it.


And how to best "export" few symbols from rtapi_app to other modules given 
> that rtapi_app cannot export any symbols? The best thing I came up with is 
> to create shared library which will be linked both by rtapi_app and given 
> module, given the fact that all live in one linker namespace. 
>
>
 
Well, `rtapi_app` CAN export symbols, those marked with `EXPORT_SYMBOL`.  
To export a few symbols, that's the "best way" because it exists, it works, 
and other developers are familiar with it.  Why won't it work in your use 
case?

    John

-- 
website: http://www.machinekit.io blog: http://blog.machinekit.io github: 
https://github.com/machinekit
--- 
You received this message because you are subscribed to the Google Groups 
"Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to machinekit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/machinekit/e288af89-f67b-40c7-b435-d30406959b15%40googlegroups.com.

Reply via email to