fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] SONAME Bump?


From: Pedro Lopez-Cabanillas
Subject: Re: [fluid-dev] SONAME Bump?
Date: Sat, 6 Aug 2011 14:13:40 +0200
User-agent: KMail/1.13.5 (Linux/2.6.34.10-0.2-desktop; KDE/4.4.4; i686; ; )

On Saturday 06 August 2011, David Henningsson wrote:
> As reported in ticket #98, FluidSynth 1.1.4 dropped one symbol. However, 
> this symbol (fluid_defsfont_get_sample) is not part of the public API, 
> so no programs should use it anyway.
>
> I don't know how much of a big deal this is, really. Can you help me 
> determine that, and the proper action for it?

It is a bug, and should be resolved. Not a big concern, because as you noticed 
it is not part of the public API.
 
> Is it something that alone calls for a new release (1.1.5) or can we 
> just update svn? What implications does bumping the SONAME have?

Changing the SONAME because this bug is too much a burden for everybody. My 
suggestion is to restore the removed symbol with a dummy function body, and 
release 1.1.5 
 
> IMO, the ideal would be if we could tell gcc to stop exporting all 
> symbols that are not part of the public API. Then we would get rid of 
> this problem altogether. Is that possible?

Yes, this is possible. But this is a task for the next major release, and of 
course it requires changing the SONAME anyway.

Technically, we need to take into account all platforms and compilers. For the 
GCC compiler, we have several tools:
* gcc arguments CFLAGS=-fvisibility=hidden 
        
http://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#index-fvisibility-2198
        Source changes. Either:
        * function attributes: 
http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html
                * dllimport and dllexport attributes for Windows platform (we 
already do this in the macro FLUIDSYNTH_API)
                * visibility attribute for ELF platforms
http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html#index-g_t_0040code_007bvisibility_007d-attribute-2547
        * visibility #pragma: 
http://gcc.gnu.org/onlinedocs/gcc/Visibility-Pragmas.html
* we can also include a linker version script as a complement
http://sca.uwaterloo.ca/coldfire/gcc-doc/docs/ld_25.html

Regards,
Pedro



reply via email to

[Prev in Thread] Current Thread [Next in Thread]