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

Reply via email to