Hi,

When I started adding the registry support for pSOS skin I first looked at
the vxworks implementation.
Then I implemented similar functionality in a similar manner for pSOS. So I
make use of the registry code. These changes work fine.

However when adding some more changes where I wanted to make use of the
"fuse_file_info->fh" data field I first noticed an issue.
The fh data field is only supported in Fuse 2.5 and beyond. As we use Fuse
2.9.2 this should work but it did not.
I first suspected the FUSE_USE_VERSION but this is (as you mention also)
already defined at 26 for copperplate.

To be sure that I did not do something wrong in my adjusted code, I just
reverted my changes and build xenomai-forge as is with registry enabled.
Even then when running a pSOS test application it seems to be using the
fuse_main_real_compat22() function (I added some debug strings in the Fuse
code).

So I am a rather clueless now about what is causing this issue.

I found a topic about a similar issue (not with Xenomai) on the internet
where they assume linking issues (Binutils?) of the symbolic versioning.
(
http://sourceforge.net/mailarchive/forum.php?thread_name=9e0cf0bf0711211110l5ab3cd0bpfcd624fde8efb928%40mail.gmail.com&forum_name=fuse-devel
)
Not sure if the issues are related....

Regards,
Kim





2013/10/8 Philippe Gerum <r...@xenomai.org>

> On 10/08/2013 10:54 AM, Ronny Meeus wrote:
>
>> On Tue, Oct 1, 2013 at 12:13 PM, K. De Mey <kim.de...@gmail.com> wrote:
>>
>>  Hello everybody,
>>>
>>> We use xenomai-forge for a project. I however came across a problem when
>>> adding the "--enabled-registry" option.
>>> It seems that the FUSE functions (for example fuse_main()) that are being
>>> used are the compat functions of version 2.2 (fuse_main_real_compat22()).
>>> I found this strange as I have FUSE_USE_VERSION defined at 26.
>>>
>>> I suspect it has something to do with the symbol versioning in FUSE.
>>> I believe so as when I change the version 22 ".symver" mapping in FUSE to
>>> use the newer compat functions then that works. (or removing all the
>>> symver
>>> completely works also)
>>> This is obviously not the way to make it work, however I don't know how
>>> to
>>> do it properly.
>>> I know this might be a FUSE issue and not necessary a Xenomai issue but I
>>> can't seem to get it working.
>>> I must say I know little to nothing of symbol versioning.
>>>
>>> As test I also created a stand alone FUSE application (no Xenomai
>>> involved)
>>> and then it does use the functions of the latest version.
>>> So to be sure, I would like to know if there is something more in Xenomai
>>> that sets the "compat" version of FUSE to 2.2? Am I missing something
>>> ...?
>>>
>>> By the way, the actual version of FUSE that we use is 2.9.2 and the
>>> version
>>> of Xenomai-forge is also quite recent.
>>>
>>> I hope my question is a clear enough, else I can of course add more
>>> information.
>>>
>>> Thanks!
>>>
>>> Regards,
>>> Kim
>>> ______________________________**_________________
>>> Xenomai mailing list
>>> Xenomai@xenomai.org
>>> http://www.xenomai.org/**mailman/listinfo/xenomai<http://www.xenomai.org/mailman/listinfo/xenomai>
>>>
>>>
>> Hello guys,
>>
>> any feedback on the questions above?
>>
>> Kim is working on the introduction of the full registry support for the
>> pSOS skin in forge.
>> I think this is a major step to improve the debugability of applications
>> using this skin.
>>
>>
> Mentioning that you wanted to work on the registry support for a real-time
> API gives the information which triggers an answer, since I could not
> figure out how I could help Xenomai-wise, beyond the fact that we do set
> FUSE_USE_VERSION appropriately and it does not seem to work for you
> although it should.
>
> However, we set this definition only for building copperplate and the
> registry daemon, since there is no reason to call any fuse library services
> outside of this scope. So, if you intend to provide the registry support
> for pSOS, please use the abstract registry infrastructure exposed by the
> copperplate library (see vxworks for a -terse- example). If you think it's
> not sufficient, then please submit some improvements to the abstract
> interface, but don't call fuse services directly from the emulator code.
>
> I suspect the latter is the reason why you have the legacy fuse interface
> referred to by your additional code to the pSOS emulator, since the pSOS
> makefile does not (and should not) define FUSE_USE_VERSION.
>
> --
> Philippe.
>
_______________________________________________
Xenomai mailing list
Xenomai@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to