[FFmpeg-devel] Visibility implementation

Måns Rullgård mans
Sat Oct 18 12:57:17 CEST 2008


Diego Biurrun <diego at biurrun.de> writes:

> On Thu, Jul 31, 2008 at 08:03:50PM +0300, Uoti Urpala wrote:
>> On Wed, 2008-07-30 at 05:45 +0300, Uoti Urpala wrote:
>> > The attached patch adds visibility information for lots of symbols in
>> 
>> I created a new version that adds visibility information for most
>> libavcodec symbols. This time I split the patch into two parts. The
>> first one has the repeated changes per internal header marking them as
>> such. The second adds visibility information for some of the symbols
>> that are not static but not declared in any header either, adds
>> exceptions for some symbols which are declared in libavcodec headers but
>> used outside it (mainly in libavformat), and defines the macros used.
>
> Here is a new version of those patches, updated for HEAD.  Uoti, maybe
> you can doublecheck nothing is missing...
>
> diff --git a/libavutil/internal.h b/libavutil/internal.h
> index cc62d3b..6ed5c31 100644
> --- a/libavutil/internal.h
> +++ b/libavutil/internal.h
> @@ -50,6 +50,12 @@
>  #endif
>  #endif
>  
> +#define START_HIDDEN_VISIBILITY_SECTION _Pragma("GCC visibility push(hidden)")
> +#define END_VISIBILITY_SECTION          _Pragma("GCC visibility pop")
> +
> +#define HIDDEN             __attribute__((visibility("hidden")))
> +#define EXTERNALLY_VISIBLE __attribute__((visibility("default")))
> +

These should be under appropriate ifdefs.  The names are awfully long
too.

-- 
M?ns Rullg?rd
mans at mansr.com




More information about the ffmpeg-devel mailing list