llvm-defaults

"llvm-defaults" is a collection of tools and libraries that provide a complete development environment for LLVM-based projects on Debian systems.

LLVM is a collection of modular and reusable compiler and toolchain technologies. llvm-defaults is a tool that simplifies the installation and management of LLVM packages on Debian-based Linux distributions. It provides a meta-package that depends on the appropriate version of LLVM and its associated libraries and tools. By using llvm-defaults, users can easily install and maintain LLVM packages, including Clang, a popular C++ compiler, and other development tools that rely on LLVM. The tool also ensures that the correct dependencies are installed and that upgrades are smooth and error-free. LLVM and llvm-defaults are widely used in the development of operating systems, programming languages, and other software that require efficient and reliable compilation and optimization.

Packages and Binaries:

clang

Clang project is a C, C++, Objective C and Objective C++ front-end for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC).

Clang implements all of the ISO C++ 1998, 11 and 14 standards and also provides most of the support of C++17.

This is a dependency package providing the default clang compiler.

Installed size: 19 KB How to install: sudo apt install clang

Dependencies:
  • clang-14

asan_symbolize

:~# asan_symbolize -h
usage: asan_symbolize [-h] [-d] [-c CROSS_COMPILE] [-l LOGFILE]
                      [--force-system-symbolizer] [--log-dest LOG_DEST]
                      [--log-level {debug,info,warning,error,critical}]
                      [-p PLUGINS [PLUGINS ...]] [--module-map MODULE_MAP]
                      [--skip-uuid-validation] [-s SYSROOT]
                      [path_to_cut ...]

ASan symbolization script

positional arguments:
  path_to_cut           pattern to be cut from the result file path

options:
  -h, --help            show this help message and exit
  -d, --demangle        demangle function names
  -c CROSS_COMPILE      set prefix for binutils
  -l LOGFILE, --logfile LOGFILE
                        set log file name to parse, default is stdin
  --force-system-symbolizer
                        don't use llvm-symbolizer
  --log-dest LOG_DEST   Destination path for script logging (default stderr).
  --log-level {debug,info,warning,error,critical}
                        Log level for script (default: info).
  -p PLUGINS [PLUGINS ...], --plugins PLUGINS [PLUGINS ...]
                        Load plug-in
  --module-map MODULE_MAP
                        Path to text file containing module mapoutput. See
                        print_module_map ASan option.
  --skip-uuid-validation
                        Skips validating UUID of modules using otool.
  -s SYSROOT            set path to sysroot for sanitized binaries

Example of use:
  asan_symbolize.py -c "$HOME/opt/cross/bin/arm-linux-gnueabi-" -s "$HOME/SymbolFiles" < asan.log

PLUGINS

This script provides a way for external plug-ins to hook into the behaviour of
various parts of this script (see `--plugins`). This is useful for situations
where it is necessary to handle site-specific quirks (e.g. binaries with debug
symbols only accessible via a remote service) without having to modify the
script itself.

clang

The Clang C, C++, and Objective-C compiler


clang++


clang-format

Clang-format is both a library and a stand-alone tool with the goal of automatically reformatting C++ sources files according to configurable style guides. To do so, clang-format uses Clang’s Lexer to transform an input file into a token stream and then changes all the whitespace around those tokens. The goal is for clang-format to both serve both as a user tool (ideally with powerful IDE integrations) and part of other refactoring tools, e.g. to do a reformatting of all the lines changed during a renaming.

This is a dependency package providing the clang format tool.

Installed size: 28 KB How to install: sudo apt install clang-format

Dependencies:
  • clang-format-14

clang-format

Manual page for clang-format 14


clang-format-diff

Manual page for clang-format-diff.py 14


git-clang-format


clang-tidy

Provide an extensible framework for diagnosing and fixing typical programming errors, like style violations, interface misuse, or bugs that can be deduced via static analysis. clang-tidy is modular and provides a convenient interface for writing new checks.

clang-tidy replaces clang-modernize

This is a dependency package providing the clang tidy tool.

Installed size: 20 KB How to install: sudo apt install clang-tidy

Dependencies:
  • clang-tidy-14

clang-tidy

Manual page for clang-tidy 14


clang-tidy-diff


run-clang-tidy


clang-tools

Clang project is a C, C++, Objective C and Objective C++ front-end for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC).

Clang implements all of the ISO C++ 1998, 11 and 14 standards and also provides most of the support of C++17.

This is a dependency package providing the clang tools package.

Installed size: 26 KB How to install: sudo apt install clang-tools

Dependencies:
  • clang-tools-14

c-index-test


clang-apply-replacements

Manual page for clang-apply-replacements 14


clang-check

Manual page for clang-check 14


clang-query

Manual page for clang-query 14


sancov

Manual page for sancov 14


scan-build

Clang static analyzer


scan-view

Manual page for scan-view 14


clangd

clangd understands your C++ code and adds smart features to your editor:

  • code completion

  • compile errors

  • go-to-definition

  • and more.

clangd is a language server that implements the Language Server Protocol; it can work with many editors through a plugin.

This is a dependency package providing clangd.

Installed size: 15 KB How to install: sudo apt install clangd

Dependencies:
  • clangd-14

clangd

Manual page for clangd 14


libc++-dev

libc++ is another implementation of the C++ standard library

Features and Goals

  • Correctness as defined by the C++ standards.

  • Fast execution.

  • Minimal memory use.

  • Fast compile times.

  • ABI compatibility with gcc’s libstdc++ for some low-level features such as exception objects, rtti and memory allocation.

  • Extensive unit tests.

This is a dependency package providing the default LLVM C++ Standard library development files.

Installed size: 10 KB How to install: sudo apt install libc++-dev

Dependencies:
  • libc++-14-dev


libc++-dev-wasm32

libc++ is another implementation of the C++ standard library

Features and Goals

  • Correctness as defined by the C++ standards.

  • Fast execution.

  • Minimal memory use.

  • Fast compile times.

  • ABI compatibility with gcc’s libstdc++ for some low-level features such as exception objects, rtti and memory allocation.

  • Extensive unit tests.

This is a dependency package providing the default 32-bit WebAssembly System Interface.

Installed size: 10 KB How to install: sudo apt install libc++-dev-wasm32

Dependencies:
  • libc++-14-dev-wasm32


libc++1

libc++ is another implementation of the C++ standard library.

Features and Goals

  • Correctness as defined by the C++ standards.

  • Fast execution.

  • Minimal memory use.

  • Fast compile times.

  • ABI compatibility with gcc’s libstdc++ for some low-level features such as exception objects, rtti and memory allocation.

  • Extensive unit tests.

This is a dependency package providing the default LLVM C++ Standard library.

Installed size: 10 KB How to install: sudo apt install libc++1

Dependencies:
  • libc++1-14


libc++abi-dev

libc++abi is another implementation of low level support for a standard C++ library.

Features and Goals

  • Correctness as defined by the C++ standards.

  • Provide a portable sublayer to ease the porting of libc++

This is a dependency package providing low level support to dev LLVM C++ Standard library.

Installed size: 13 KB How to install: sudo apt install libc++abi-dev

Dependencies:
  • libc++abi-14-dev


libc++abi1

libc++abi is another implementation of low level support for a standard C++ library.

Features and Goals

  • Correctness as defined by the C++ standards.

  • Provide a portable sublayer to ease the porting of libc++

This is a dependency package providing low level support to LLVM C++ Standard library.

Installed size: 10 KB How to install: sudo apt install libc++abi1

Dependencies:
  • libc++abi1-14


libclang-cpp-dev

Clang project is a C, C++, Objective C and Objective C++ front-end for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC).

Clang implements all of the ISO C++ 1998, 11 and 14 standards and also provides most of the support of C++17.

This is a dependency package providing the default Clang C++ library.

Installed size: 10 KB How to install: sudo apt install libclang-cpp-dev

Dependencies:
  • libclang-cpp14-dev


libclang-dev

Clang project is a C, C++, Objective C and Objective C++ front-end for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC).

Clang implements all of the ISO C++ 1998, 11 and 14 standards and also provides most of the support of C++17.

This is a dependency package providing the default libclang libraries and headers.

Installed size: 10 KB How to install: sudo apt install libclang-dev

Dependencies:
  • libclang-14-dev


libclang-rt-dev

This package provides various libraries:

  • builtins - Simple libraries that provide implementation of the low-level target-specific hooks required by code generation and other runtime components.

  • sanitizer runtimes - AddressSanitizer, ThreadSanitizer, UndefinedBehaviorSanitizer, MemorySanitizer, LeakSanitizer DataFlowSanitizer, etc

  • profile - Library which is used to collect coverage information.

This is a dependency package providing the default compiler-rt libraries and headers.

Installed size: 10 KB How to install: sudo apt install libclang-rt-dev

Dependencies:
  • libclang-rt-14-dev


libclang-rt-dev-wasm32

Provides the compiler-rt builtins for WebAssembly 32 bits

This is a dependency package providing the default libclang wasm32 library.

Installed size: 10 KB How to install: sudo apt install libclang-rt-dev-wasm32

Dependencies:
  • libclang-rt-14-dev-wasm32


libclang-rt-dev-wasm64

Provides the compiler-rt builtins for WebAssembly 64 bits

This is a dependency package providing the default libclang wasm64 library.

Installed size: 10 KB How to install: sudo apt install libclang-rt-dev-wasm64

Dependencies:
  • libclang-rt-14-dev-wasm64


libclang1

Clang project is a C, C++, Objective C and Objective C++ front-end for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC).

Clang implements all of the ISO C++ 1998, 11 and 14 standards and also provides most of the support of C++17.

This is a dependency package providing the default clang libraries.

The C Interface to Clang provides a relatively small API that exposes facilities for parsing source code into an abstract syntax tree (AST), loading already-parsed ASTs, traversing the AST, associating physical source locations with elements within the AST, and other facilities that support Clang-based development tools.

Installed size: 10 KB How to install: sudo apt install libclang1

Dependencies:
  • libclang1-14


liblld-dev

LLD is a new, high-performance linker. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project.

This is a dependency package providing the default liblld-dev package.

Installed size: 12 KB How to install: sudo apt install liblld-dev

Dependencies:
  • liblld-14-dev


liblldb-dev

LLDB is a next generation, high-performance debugger. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler.

This package provides the header files to build extension over lldb.

Installed size: 14 KB How to install: sudo apt install liblldb-dev

Dependencies:
  • liblldb-14-dev


libllvm-ocaml-dev

The Low-Level Virtual Machine (LLVM) is a collection of libraries and tools that make it easy to build compilers, optimizers, Just-In-Time code generators, and many other compiler-related programs.

This is a dependency package providing the default bindings for OCaml.

Installed size: 15 KB How to install: sudo apt install libllvm-ocaml-dev

Dependencies:
  • libllvm-14-ocaml-dev

  • llvm-runtime


libomp-dev

The runtime is the part of the OpenMP implementation that your code is linked against, and that manages the multiple threads in an OpenMP program while it is executing.

This is a dependency package providing the default LLVM OpenMP dev package.

Installed size: 10 KB How to install: sudo apt install libomp-dev

Dependencies:
  • libomp-14-dev


libomp5

The runtime is the part of the OpenMP implementation that your code is linked against, and that manages the multiple threads in an OpenMP program while it is executing.

This is a dependency package providing the default LLVM OpenMP runtime.

Installed size: 10 KB How to install: sudo apt install libomp5

Dependencies:
  • libomp5-14


lld

LLD is a new, high-performance linker. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project.

This is a dependency package providing the lld linker.

Installed size: 19 KB How to install: sudo apt install lld

Dependencies:
  • lld-14

ld.lld

ELF linker from the LLVM project


lld

ELF linker from the LLVM project


lld-link


wasm-ld


lldb

LLDB is a next generation, high-performance debugger. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler.

This is a dependency package providing the default version of lldb.

Installed size: 17 KB How to install: sudo apt install lldb

Dependencies:
  • lldb-14

lldb

Manual page for lldb 14


lldb-argdumper


lldb-server


llvm

The Low-Level Virtual Machine (LLVM) is a collection of libraries and tools that make it easy to build compilers, optimizers, Just-In-Time code generators, and many other compiler-related programs.

This is a dependency package providing the default llvm package.

Installed size: 109 KB How to install: sudo apt install llvm

Dependencies:
  • llvm-14

  • llvm-runtime

bugpoint

Automatic test case reduction tool


dsymutil

Manipulate archived DWARF debug symbol files


llc

LLVM static compiler


llvm-PerfectShuffle


llvm-addr2line

A drop-in replacement for addr2line


llvm-ar

LLVM archiver


llvm-as

LLVM assembler


llvm-bcanalyzer

LLVM bitcode analyzer


llvm-c-test


llvm-cat


llvm-cfi-verify


llvm-config

Print LLVM compilation options


llvm-cov

Emit coverage information


llvm-cvtres


llvm-cxxdump


llvm-cxxfilt

LLVM symbol name demangler


llvm-diff

LLVM structural ‘diff’


llvm-dis

LLVM disassembler


llvm-dlltool


llvm-dwarfdump

Manual page for llvm-dwarfdump 14


llvm-dwp


llvm-exegesis

LLVM Machine Instruction Benchmark


Extract a function from an LLVM module


llvm-lib

LLVM lib.exe compatible library tool


llvm-link

LLVM bitcode linker


llvm-lto


llvm-lto2


llvm-mc

Manual page for llvm-mc 14


llvm-mca

LLVM Machine Code Analyzer



llvm-mt


llvm-nm

List LLVM bitcode and object file’s symbol table


llvm-objcopy

Object copying and editing tool


llvm-objdump

Manual page for llvm-objdump 14


llvm-opt-report


llvm-pdbutil

PDB File forensics and diagnostics


llvm-profdata

Profile data tool


llvm-ranlib

Manual page for llvm-ranlib 14


llvm-rc


llvm-readelf

GNU-style LLVM Object Reader


llvm-readobj

LLVM Object Reader


llvm-reduce


llvm-rtdyld

Manual page for llvm-rtdyld 14


llvm-size

Manual page for llvm-size 14


llvm-split


llvm-stress

Generate random .ll files


llvm-strings

Print strings


llvm-strip

Object stripping tool


llvm-symbolizer

Convert addresses into source code locations


llvm-tblgen

Target Description to C++ Code for LLVM


llvm-undname


llvm-xray


obj2yaml


opt

LLVM optimizer


sanstats


verify-uselistorder


yaml2obj


llvm-dev

The Low-Level Virtual Machine (LLVM) is a collection of libraries and tools that make it easy to build compilers, optimizers, Just-In-Time code generators, and many other compiler-related programs.

This is a dependency package providing the default libraries and headers.

Installed size: 25 KB How to install: sudo apt install llvm-dev

Dependencies:
  • llvm

  • llvm-14-dev

  • llvm-runtime


llvm-runtime

The Low-Level Virtual Machine (LLVM) is a collection of libraries and tools that make it easy to build compilers, optimizers, Just-In-Time code generators, and many other compiler-related programs.

This is a dependency package providing the default bytecode interpreter.

Installed size: 15 KB How to install: sudo apt install llvm-runtime

Dependencies:
  • llvm-14-runtime

lli

Manual page for lli 14


python3-clang

Clang project is a C, C++, Objective C and Objective C++ front-end based on the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC).

Clang implements all of the ISO C++ 1998, 11 and 14 standards and also provides most of the support of C++17.

This is a dependency package providing the Python binding to Clang.

Installed size: 13 KB How to install: sudo apt install python3-clang

Dependencies:
  • python3-clang-14


python3-lldb

LLDB is a next generation, high-performance debugger. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler.

This is a dependency package providing the Python binding to lldb.

Installed size: 13 KB How to install: sudo apt install python3-lldb

Dependencies:
  • python3-lldb-14


Updated on: 2023-Mar-08


Last updated

Was this helpful?