And the mangled symbol is the same (as expected) in both cases: _Z3fooPKc ]==> c++filt _Z3fooPKc foo(char const*) Lukasz On 11/26/2014 02:56 PM, Lukasz Janyst wrote: > 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