We need more review for that patch.
From one side it's good changes and logically it's right to make api
visible and other functions not visible by default. From other point of
view I can
not find any other libs which do exactly the same thing. So it's not
clear what we can break with that changes, if we can.
Maxim.
On 04/15/16 16:09, Bill Fischofer wrote:
On Fri, Apr 15, 2016 at 6:39 AM, Savolainen, Petri (Nokia - FI/Espoo)
<petri.savolai...@nokia.com <mailto:petri.savolai...@nokia.com>> wrote:
> -----Original Message-----
> From: EXT Anders Roxell [mailto:anders.rox...@linaro.org
<mailto:anders.rox...@linaro.org>]
> Sent: Friday, April 15, 2016 2:24 PM
> To: Savolainen, Petri (Nokia - FI/Espoo)
<petri.savolai...@nokia.com <mailto:petri.savolai...@nokia.com>>
> Cc: EXT Mike Holmes <mike.hol...@linaro.org
<mailto:mike.hol...@linaro.org>>; Maxim Uvarov
> <maxim.uva...@linaro.org <mailto:maxim.uva...@linaro.org>>;
lng-odp <lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>>
> Subject: Re: [lng-odp] [API-NEXT PATCHv4] api: make only the API
visible
>
> On 15 April 2016 at 13:02, Savolainen, Petri (Nokia - FI/Espoo)
> <petri.savolai...@nokia.com <mailto:petri.savolai...@nokia.com>>
wrote:
> > Agree, that it gets ugly (for interface specification
readability), if
> GCC
> > pragmas are added into spec header files. Wouldn’t it work the
same way
> if
> > the pragmas are defined where the spec file is included.
Namely e.g.
> here
> > for the barrier:
>
> I guess it would work, haven't tried. That means that all the
> implementations
> have to add this into their files.
> If we what we have in this patch implementations gets it for "free".
>
> Cheers,
> Anders
>
Since all implementations may not support binary compatible libs
or even GCC. I think it belong to implementation and those may
solve it in different ways. So, I don't think that "get for free"
is as important here as a clean set API spec files.
These changes enable but do not force ABI mode and they work for both
GCC and clang. Enabling ABI mode involves compiling with
-fvisibility=hidden. When you do that then all symbols are hidden by
default and the result is only the ODP APIs are exposed, due to these
pragmas.
This is exactly what we want. If an implementation wishes to expose
symbols other than those that are part of the ODP API then it can
simply follow this override model for those symbols.
-Petri
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org <mailto:lng-odp@lists.linaro.org>
https://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp