[all-commits] [llvm/llvm-project] 387c3f: [compiler-rt] Build all alias in builtin as privat...

Steven Wu via All-commits all-commits at lists.llvm.org
Wed Feb 26 09:29:31 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 387c3f74fd8efdc0be464b0e1a8033cc1eeb739c
      https://github.com/llvm/llvm-project/commit/387c3f74fd8efdc0be464b0e1a8033cc1eeb739c
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2020-02-26 (Wed, 26 Feb 2020)

  Changed paths:
    M compiler-rt/lib/builtins/int_lib.h

  Log Message:
  -----------
  [compiler-rt] Build all alias in builtin as private external on Darwin

Summary:
For builtin compiler-rt, it is built with visibility hidden by default
to avoid the client exporting symbols from libclang static library. The
compiler option -fvisibility=hidden doesn't work on the aliases in c files
because they are created with inline assembly. On Darwin platform,
thoses aliases are exported by default if they are reference by the client.

Fix the issue by adding ".private_extern" to all the aliases if the
library is built with visibility hidden.

rdar://problem/58960296

Reviewers: dexonsmith, arphaman, delcypher, kledzik

Reviewed By: delcypher

Subscribers: dberris, jkorous, ributzka, #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D73577




More information about the All-commits mailing list