Yeah, if it's just an int, it should be OK. The only difference between: void foo( const char *bar ) { std::cout << bar << std::endl; } and int foo( const char *bar ) { std::cout << bar << std::endl; return 1; } is extra: 967: b8 01 00 00 00 mov $0x1,%eax before: 96c: c9 leaveq 96d: c3 retq Since you don't put anything on the stack you're good to go. Cheers, Lukasz On 11/26/2014 02:21 PM, Elvin Alin Sindrilaru wrote: > > Hi all, > > I used the abi-compatibility-checker provided by RedHat and I attached the results. > And as far as RedHat is concerned the two libraries are compatible when changing the return type from void to int ... so this should be good enough for EPEL, I guess ... > > Cheers, > Elvin > > ________________________________________ > From: Lukasz Janyst > Sent: 26 November 2014 10:42 > To: Elvin Alin Sindrilaru; [log in to unmask] > Subject: Re: FW: Question on OFS interface > > In C++, the return code is not a part of function's signature, > therefore, in principle, it may be changed. Especially if it's from void > to non-void, because all the "legacy" callers did not expect anything to > be returned, so changing nothing to something should not matter. > However, after some googling, people seem to see some callstack > corruptions that may be related to this kind of change, so I would try > it first on all supported platforms. > > Cheers, > Lukasz > > On 11/26/2014 10:34 AM, Elvin Alin Sindrilaru wrote: >> >> Forwarding this also to XRootD-dev mailing list. >> >> Cheers, >> Elvin >> >> ------------------------------------------------------------------------ >> *From:* Elvin Alin Sindrilaru >> *Sent:* 26 November 2014 10:06 >> *To:* Andrew Hanushevsky >> *Subject:* RE: Question on OFS interface >> >> >> Hi Andy, >> >> I talked with Lukasz about the ABI change and he said that the return >> type of a function is not part of the signature as far as EPEL is >> concerned - moreover since it was void it was ignored by the clients ... >> >> So, if it doesn't have any negative impact could you change its return >> type and also take it into consideration when calling it i.e. fail the >> loading if an error value is returned such as in XrdXrootdConfig.cc. >> >> Thanks, >> Elvin >> >> ------------------------------------------------------------------------ >> *From:* Andrew Hanushevsky [[log in to unmask]] >> *Sent:* 25 November 2014 22:41 >> *To:* Elvin Alin Sindrilaru >> *Subject:* Re: Question on OFS interface >> >> Hi Elvin, >> >> What is the purpose of XrdOfs::Config_Cluster method? I understand that >> one can pass an oss implementation but from what I see, it is not used >> anywhere in the XRootD code ... Is this intended for plugin developers >> to use? >>>>> Legacy code. We had a method where the cmsd could forward oss-type requests to the xrootd so it needed a pointer to that plug-in. We removed that capability because, frankly, it didn’t really work all that well, especially when the xrootd was busy. You are of course, looking at private code >> so anything that you think you can depend on you really can’t. I doubt >> it will be removed but it usually is set to zero. >> Another one would be whether it would be possible to have the >> XrdSfsFileSystem::EnvInfo method return an int or a boolean instead of >> void - to signal any possible errors while using/setting any internal >> state based on the new info provided? >> >>>Ah, unfortunately that likely not possible because that changes a >> public interface – something we are not allowed to do (or we get kicked >> out of EPEL). You can ask Lukasz if changing a return type from void to >> non-void constitutes a real change in EPEL land (I’d say no but EPEL may >> have other rules). >> Andy >> >> ------------------------------------------------------------------------ >> >> Use REPLY-ALL to reply to list >> >> To unsubscribe from the XROOTD-DEV list, click the following link: >> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1 >> > > > ######################################################################## > Use REPLY-ALL to reply to list > > To unsubscribe from the XROOTD-DEV list, click the following link: > https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1 > ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-DEV list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1