1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/utils
Petr Hosek a19a164c99 [libcxxabi] Don't use -fvisibility-global-new-delete-hidden when not defining them
When builing the hermetic static library, the compiler switch
-fvisibility-global-new-delete-hidden is necessary to get the new and
delete operator definitions made correctly. However, when those
definitions are not included in the library, then this switch does harm.
With lld (though not all linkers) setting STV_HIDDEN on SHN_UNDEF
symbols makes it an error to leave them undefined or defined via dynamic
linking that should generate PLTs for -shared linking (lld makes this a
hard error even without -z defs). Though leaving the symbols undefined
would usually work in practice if the linker were to allow it (and the
user didn't pass -z defs), this actually indicates a real problem that
could bite some target configurations more subtly at runtime. For
example, x86-32 ELF -fpic code generation uses hidden visibility on
declarations in the caller's scope as a signal that the call will never
be resolved to a PLT entry and so doesn't have to meet the special ABI
requirements for PLT calls (setting %ebx). Since these functions might
actually be resolved to PLT entries at link time (we don't know what the
user is linking in when the hermetic library doesn't provide all the
symbols itself), it's not safe for the compiler to treat their
declarations at call sites as having hidden visibility.

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

llvm-svn: 360004
2019-05-06 01:25:31 +00:00
..
benchmark Silence CMP0048 warning in the benchmark utility library 2018-12-14 00:17:12 +00:00
bugpoint
count Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
crosstool
docker [build] Rename clang-headers to clang-resource-headers 2019-03-04 21:19:53 +00:00
emacs IR: Add immarg attribute 2019-03-12 21:02:54 +00:00
FileCheck [FileCheck] Fix FileCheck.cpp compilation on Solaris 2019-04-02 18:38:23 +00:00
fpcmp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
gdb-scripts Python compat - iterator protocol 2019-01-03 15:43:14 +00:00
git
git-svn Make the git-llvm script work on older git versions that don't support git rev-parse --git-common-dir. 2019-05-03 22:03:29 +00:00
gn [libcxxabi] Don't use -fvisibility-global-new-delete-hidden when not defining them 2019-05-06 01:25:31 +00:00
jedit
kate [TableGen] Introduce !listsplat 'binary' operator 2019-04-10 18:26:36 +00:00
KillTheDoctor Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
lint Python compat - print statement 2019-01-03 14:11:33 +00:00
lit [lit][tests][AIX] Update expected form of diagnostic messages; use not to normalize non-zero exit values 2019-05-01 15:47:16 +00:00
llvm-build Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-lit [lit] llvm-lit.in: specify file encoding to UTF-8 2019-01-14 20:02:11 +00:00
LLVMVisualizers Fix visualization of intrusive reference counted objects in MSVC. 2019-01-09 18:59:56 +00:00
Misc
not Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PerfectShuffle Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
release merge-request.sh: Update 8.0 metabug for 8.0.1 2019-03-25 17:01:29 +00:00
Reviewing Python compat - iteritems() vs. items() 2019-01-03 14:12:23 +00:00
sanitizers Add a ubsan blacklist entry for libstdc++ 8.0.1. 2018-11-21 23:04:39 +00:00
TableGen [TableGen] Fix null pointer dereferencing. 2019-04-29 17:41:27 +00:00
Target/ARM Python compat - print statement 2019-01-03 14:11:33 +00:00
testgen
textmate
unittest Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
UpdateTestChecks [UpdateTestChecks] Allow Lbegin_func without a leading period 2019-04-29 20:25:56 +00:00
valgrind
vim Line wrap README file 2019-03-14 21:09:14 +00:00
vscode Adding VSCode syntax colorizer to utils (generated from textmate colorizer). 2017-05-09 17:13:37 +00:00
yaml-bench Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
abtest.py utils/abtest: Refactor and add bisection method 2018-09-07 17:08:44 +00:00
bisect
bisect-skip-count Document bisect-skip-count 2018-10-22 14:04:13 +00:00
bugpoint_gisel_reducer.py Add a utility to reduce GlobalISel tests 2018-01-23 19:47:10 +00:00
check-each-file
clang-parse-diagnostics-file
codegen-diff
collect_and_build_with_pgo.py [utils] collect_and_build_with_pgo.py: revert part already fixed in rL345461 2018-10-27 23:10:09 +00:00
countloc.sh Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
create_ladder_graph.py Pythran compat - range vs. xrange 2019-01-03 14:11:58 +00:00
demangle_tree.py Python compat - print statement 2019-01-03 14:11:33 +00:00
DSAclean.py Python compat - print statement 2019-01-03 14:11:33 +00:00
DSAextract.py Python compat - print statement 2019-01-03 14:11:33 +00:00
extract_symbols.py Fix some user facing typos 2018-03-17 17:30:08 +00:00
extract_vplan.py Python compat - print statement 2019-01-03 14:11:33 +00:00
findmisopt
findoptdiff
findsym.pl
GenLibDeps.pl
GetRepositoryPath
GetSourceVersion
getsrcs.sh Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
indirect_calls.py Python compat - print statement 2019-01-03 14:11:33 +00:00
lldbDataFormatters.py [utils] Add a lldb data formatter for llvm::SmallString. 2019-04-25 00:03:02 +00:00
llvm-compilers-check Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-gisel-cov.py Python compat - print statement 2019-01-03 14:11:33 +00:00
llvm-native-gxx
llvm.grm
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvmdo Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvmgrep Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
prepare-code-coverage-artifact.py [Coverage] Apply filtered paths to summary 2018-10-11 04:00:51 +00:00
schedcover.py Python compat - map/filter 2019-01-03 14:12:30 +00:00
shuffle_fuzz.py Pythran compat - range vs. xrange 2019-01-03 14:11:58 +00:00
shuffle_select_fuzz_tester.py Python compat - print statement 2019-01-03 14:11:33 +00:00
sort_includes.py
unicode-case-fold.py Python compat - urllib 2019-01-03 14:12:44 +00:00
update_analyze_test_checks.py Add wildcard support to all update_*_test_checks.py scripts (PR37500) 2019-03-05 10:44:37 +00:00
update_cc_test_checks.py Fix LLVM IR check lines in utils/update_cc_test_checks.py 2018-03-14 17:47:07 +00:00
update_llc_test_checks.py Add wildcard support to all update_*_test_checks.py scripts (PR37500) 2019-03-05 10:44:37 +00:00
update_mca_test_checks.py [utils] Fix update scripts output when run on python3. 2019-01-30 16:15:59 +00:00
update_mir_test_checks.py Add wildcard support to all update_*_test_checks.py scripts (PR37500) 2019-03-05 10:44:37 +00:00
update_test_checks.py Add wildcard support to all update_*_test_checks.py scripts (PR37500) 2019-03-05 10:44:37 +00:00
UpdateCMakeLists.pl
wciia.py Python compat - print statement 2019-01-03 14:11:33 +00:00