Go to file
Pavel Labath 67530e478b Don't emit apple accelerator tables on non-darwin targets
Summary:
Currently -glldb turns on emission of apple tables on all targets, but
lldb is only really capable of consuming them on darwin. Furthermore,
making lldb consume these tables is not straight-forward because of the
differences in how the debug info is distributed on darwin vs. elf
targets.

The darwin debug model assumes that the debug info (along with
accelerator tables) will either remain in the .o files or it will be
linked into a dsym bundle by a linker that knows how to merge these
tables. In the elf world, all present linkers will simply concatenate
these accelerator tables into the shared object. Since the tables are
not self-terminating, this renders the tables unusable, as the debugger
cannot pry the individual tables apart anymore.

It might theoretically be possible to make the tables work with split
dwarf, as that is somewhat similar to the apple .o model, but
unfortunately right now the combination of -glldb and -gsplit-dwarf
produces broken object files.

Until these issues are resolved there is no point in emitting the apple
tables for these targets. At best, it wastes space; at worst, it breaks
compilation and prevents the user from getting other benefits of -glldb.

Reviewers: probinson, aprantl, dblaikie

Subscribers: emaste, dim, llvm-commits, JDevlieghere

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

llvm-svn: 322633
2018-01-17 11:52:13 +00:00
clang [CodeGen] Fix a crash on mangling multiversioned functions 2018-01-17 04:46:04 +00:00
clang-tools-extra [clang-tidy] implement check for goto 2018-01-17 10:27:41 +00:00
compiler-rt cfi: Add a blacklist entry for MSVC's std::get_temporary_buffer function. 2018-01-17 01:15:33 +00:00
debuginfo-tests [debuginfo-tests] Support moving debuginfo-tests to llvm/projects 2017-12-12 16:54:20 +00:00
libclc configure.py: Add gfx900 (Vega, Raven) 2017-11-27 11:14:06 +00:00
libcxx libcxx: Stop using private MSVC macros in the exception implementation. 2018-01-17 04:37:04 +00:00
libcxxabi Update version to 7.0.0svn 2018-01-03 15:42:34 +00:00
libunwind [PPC64] Added vector registers. 2018-01-16 20:54:10 +00:00
lld [ELF] - Stop mixing order of -defsym/-script commands. 2018-01-17 10:24:49 +00:00
lldb Remove the hardcoded macos deployment targets altogether 2018-01-17 00:22:27 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm Don't emit apple accelerator tables on non-darwin targets 2018-01-17 11:52:13 +00:00
openmp Partial revert of [OMPT] Rename ompt_mutex_impl_t to kmp_mutex_impl 2018-01-17 11:13:11 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [IslTools] dumpPw: Dump same structure pieces together. 2018-01-16 18:39:42 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.