summaryrefslogtreecommitdiffstats
path: root/libcxx/lib/abi/x86_64-unknown-linux-gnu.v1.abilist
Commit message (Collapse)AuthorAgeFilesLines
* Fixup ABI lists on Linux after adding <filesystem> to the dylib.Eric Fiselier2019-03-191-0/+71
| | | | llvm-svn: 356503
* Remove exception throwing debug mode handler support.Eric Fiselier2019-03-181-14/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The reason libc++ implemented a throwing debug mode handler was for ease of testing. Specifically, I thought that if a debug violation aborted, we could only test one violation per file. This made it impossible to test debug mode. Which throwing behavior we could test more! However, the throwing approach didn't work either, since there are debug violations underneath noexcept functions. This lead to the introduction of `_NOEXCEPT_DEBUG`, which was only noexcept when debug mode was off. Having thought more and having grown wiser, `_NOEXCEPT_DEBUG` was a horrible decision. It was viral, it didn't cover all the cases it needed to, and it was observable to the user -- at worst changing the behavior of their program. This patch removes the throwing debug handler, and rewrites the debug tests using 'fork-ing' style death tests. Reviewers: mclow.lists, ldionne, thomasanderson Reviewed By: ldionne Subscribers: christof, arphaman, libcxx-commits, #libc Differential Revision: https://reviews.llvm.org/D59166 llvm-svn: 356417
* Fix -fsanitize=vptr badness in <__debug>Eric Fiselier2019-03-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Summary: This patch fixes a lifetime bug when inserting a new container into the debug database. It is diagnosed by UBSAN when debug mode is enabled. This patch corrects how nodes are constructed during insertion. The fix requires unconditionally breaking the debug mode ABI. Users should not expect ABI stability from debug mode. Reviewers: ldionne, serge-sans-paille, EricWF Reviewed By: EricWF Subscribers: mclow.lists, christof, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D58011 llvm-svn: 355367
* Format sym_extract.py output to minimize diff output.Eric Fiselier2019-02-101-1861/+1861
| | | | | | | | Different versions of python print dictionaries in different orders. This can mess up diffs when updating ABI lists. This patch uses pprint.pformat to print the dicts to get a consistent ordering. llvm-svn: 353634
* [libcxx] Make sure we can build with -fvisibility=hidden on LinuxLouis Dionne2018-11-211-22/+0
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This commit marks a few functions as hidden and removes them from the ABI list on Linux such that libc++ can be built with -fvisibility=hidden. The functions marked as hidden by this patch were exported from the shared object only because they were implicitly instantiated function templates. It is safe to stop exporting those symbols from the shared object because nobody could actually depend on them: implicit instantiations are not taken from shared objects. The symbols removed in this commit are basically the same that had been removed in https://reviews.llvm.org/D53868, but that patch had to be reverted because it broke the build (because the functions were not marked as hidden like this patch does). Reviewers: EricWF, mclow.lists Subscribers: christof, jkorous, dexonsmith, libcxx-commits Differential Revision: https://reviews.llvm.org/D54639 llvm-svn: 347395
* Revert "Build with -fvisibility=hidden"Eric Fiselier2018-10-301-1861/+1883
| | | | | | | I messed it up somewhere and now the tests aren't linking. Reverting while I investigate. llvm-svn: 345667
* Build with -fvisibility=hiddenEric Fiselier2018-10-301-1883/+1861
| | | | | | | | | | | | | | | | | | | | | Summary: This change changes the build to use -fvisibility=hidden The exports this patch removes are symbols that should have never been exported by the dylib in the first place, and should all be symbols which the linker won't de-duplicate across SO boundaries, making them safe to remove. After this change, we should be able to apply `_LIBCPP_HIDDEN` to the versioning namespace without changing the export lists. Reviewers: ldionne, mclow.lists Reviewed By: ldionne Subscribers: smeenai, mgorny, libcxx-commits Differential Revision: https://reviews.llvm.org/D53868 llvm-svn: 345664
* [libc++] Make sure we can build libc++ with -fvisibility=hiddenLouis Dionne2018-10-251-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: When building with -fvisibility=hidden, some symbols do not get exported from libc++.dylib. This means that some entities are not explicitly given default visibility in the source code, and that we rely on the fact -fvisibility=default is the default. This commit explicitly gives default visibility to those symbols to avoid being dependent on the command line flags used. The commit also remove symbols from the dylib -- those symbols do not actually need to be exported from the dylib and this should not be an ABI break. Finally, in the future, we may want to mark the whole std:: namespace as having hidden visibility (to switch from opt-out to opt-in), in which case the changes done in this commit will be required. Reviewers: EricWF Subscribers: mgorny, christof, dexonsmith, libcxx-commits Differential Revision: https://reviews.llvm.org/D52662 llvm-svn: 345260
* [libc++] Fix build failures after merging <charconv>Zhihao Yuan2018-08-011-0/+2
| | | | | | | | | | | | | | Summary: - fix a stupid unit test typo - add <charconv> symbols to Linux abilist Reviewers: EricWF Subscribers: christof, ldionne, cfe-commits Differential Revision: https://reviews.llvm.org/D50130 llvm-svn: 338486
* [libc++] Allow running ABI list tests with different ABI versionsLouis Dionne2018-07-191-0/+1883
Summary: Currently, the ABI list test only works for ABI version 1. This commit allows running the ABI list test with ABI version 2. It also adds an ABI list file for ABI v2 on Mac OS X. Reviewers: EricWF Subscribers: mgorny, christof, dexonsmith, llvm-commits, mclow.lists Differential Revision: https://reviews.llvm.org/D49509 llvm-svn: 337477
OpenPOWER on IntegriCloud