[cfe-dev] add new option -fnovisibility for clang

James Y Knight via cfe-dev cfe-dev at lists.llvm.org
Thu Sep 10 15:29:45 PDT 2020


But *why* does AIX want to ignore visibility restrictions encoded via
attribute? Especially by default?

On Thu, Sep 10, 2020 at 10:04 AM digger lin via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> Hi All,
>
>   In IBM compiler Xlclang , there is option -fnovisibiilty. The option is
> description as
>
> https://www.ibm.com/support/knowledgecenter/SSGH3R_16.1.0/com.ibm.xlcpp161.aix.doc/compiler_ref/opt_visibility.html
>
>
>   we need to add the option -fnovisibiilty for clang in the IBM AIX OS(and
> the option is enabled by default in AIX OS).
>   I will implement the option in the other OS platform.(but the option is
> disabled by default in other OS).
>
>   For example, the file test.c
>
>  bash-4.2$ test.c
>  __attribute__((visibility ("protected"))) int b;
>
>  1 In AIX OS:
>
>  1.1 Compiled with
>
> *  clang -fnovisibility    -target powerpc-unknown-aix  -emit-llvm  -S
> test.c*
>  or
>   *clang -target powerpc-unknown-aix  -emit-llvm  -S test.c * ( the
> -fnovisibility is *enabled* by default in AIX OS)
>
>  Generate IR as :
>
>   *@b = global i32 0, align 4*
>
>  1.2 Compiled with
>   (If have "-fnovisibility  -fvisibility=*" at the same time.  the compile
> will ignore the -fnovisibility).
>
>   *clang -fnovisibility  -fvisibility=default   -target
> powerpc-unknown-aix   -emit-llvm  -S test.c*
>
> Or
>
>   *clang -fvisibility=default   -target powerpc-unknown-aix   -emit-llvm
>  -S test.c*
>
>   Generate IR as :
>   *@b = protected global i32 0, align 4*
>
>  2. In Other OS(not AIX)
>    2.1* clang -fnovisibility    -target powerpc-unknown-linux  -emit-llvm
>  -S test.c*
>
>     Generate IR as :
>     *@b = global i32 0, align 4*
>
>   2.2
>    * clang -target powerpc-unknown-linux  -emit-llvm  -S test.c* ( the
> -fnovisibility is *disabled *by default in not AIX OS)
>   Or
>     (if have "-fnovisibility  -fvisibility=*" at the same time.  the
> compile will ignore the -fnovisibility).
>     *clang -fnovisibility  -fvisibility=default   -target
> powerpc-unknown-linux   -emit-llvm  -S test.c*
>   Or
>     *clang -fvisibility=default   -target powerpc-unknown-linux
> -emit-llvm  -S test.c*
>
>    Generate IR as :
>     *@b = protected global i32 0, align 4 *
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20200910/b53a396a/attachment-0001.html>


More information about the cfe-dev mailing list