aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/clang/llvm-nm
Commit message (Collapse)AuthorAgeFilesLines
* Move toolchain utils to -toolchain packageLexi Winter2025-07-281-0/+1
| | | | | | | | | | | Move LLVM ar, nm, and size. Also move elftoolchain strings, which should have already been there. The remaining LLVM utilities (including strings) stay in -clang for now since they're links to other executables. Reviewed by: des, dim Differential Revision: https://reviews.freebsd.org/D51583
* Remove residual blank line at start of MakefileWarner Losh2024-07-151-1/+0
| | | | | | | This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
* Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967Dimitry Andric2024-04-061-0/+2
| | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967. PR: 276104 MFC after: 1 month
* Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51Dimitry Andric2023-12-082-2/+17
| | | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, the last commit before the upstream release/17.x branch was created. PR: 273753 MFC after: 1 month
* Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-162-2/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* Move LIBADD lines from usr.bin/clang/*/Makefile one level upDimitry Andric2023-07-231-2/+0
| | | | | | | | | Some utilities under usr.bin/clang were only linked to libz, while most others were linked to libz and libzstd. Make this consistent, and remove repetition, by moving these LIBADD lines to usr.bin/clang/clang.prog.mk and usr.bin/clang/clang.prog.mk. MFC after: 3 days
* Merge llvm-project release/16.x llvmorg-16.0.4-0-gae42196bc493Dimitry Andric2023-06-221-22/+67
| | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16.0.4-0-gae42196bc493 (aka 16.0.4 release). PR: 271047 MFC after: 1 month
* Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41Dimitry Andric2023-06-221-0/+2
| | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-16-init-18548-gb0daacf58f41. PR: 271047 MFC after: 1 month
* llvm: fix some llvm-* tool links when WITH_LLVM_BINUTILS is setEd Maste2023-04-211-2/+2
| | | | | | | | | | | | | | | A few Makefiles overrode LINKS and MLINKS when WITH_LLVM_BINUTILS was set, which caused some llvm- prefixed tools to disappear. One such case was llvm-ranlib, which some ports invoke explicitly. Use += when adding to LINKS and MLINKS under WITH_LLVM_BINUTILS. PR: 270955, 270956, 270959 Submitted by: jbeich Reviewed by: arichardson Fixes: 021385aba562 ("Add WITH_LLVM_BINUTILS to install LLVM binuti...") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39747
* Revert "Ensure .inc files are regenerated when llvm/clang tblgen binaries ↵Dimitry Andric2023-03-291-2/+0
| | | | | | | | | | | | change" This reverts commit ab80f0b21fbb9c44d40e6f7a99090188f4ed2f71. The intent of this change was to avoid possible compilation errors when certain .inc files were not regenerated, but the method turns out to cause way more rebuilds than anticipated. Another method will have to be found, and in the mean time, WITH_CLEAN is the solution that always works. Fixes: ab80f0b21fbb
* Revert "Rework {clang,lldb,llvm}-tblgen invocations to add --write-if-changed"Dimitry Andric2023-03-291-4/+7
| | | | | | | | This reverts commit 8f391d9098083044793ff036dff8c96930fb1553. There are still a bunch of problems, and apparently ${.ALLSRC} does not work as I expected. Fixes: 8f391d909808
* Rework {clang,lldb,llvm}-tblgen invocations to add --write-if-changedDimitry Andric2023-03-291-7/+4
| | | | | | | | | | | | | This flag ensures that the tblgen tools do not actually touch the produced .inc file, if there are no changes to the contents. In turn, this may prevent a number of rebuilds of files that include such .inc files, saving build time. While here, ensure that the shell invocations to locate the used tblgen binary do not show unnecessary error messages. Reported by: des MFC after: 1 week
* Ensure .inc files are regenerated when llvm/clang tblgen binaries changeDimitry Andric2023-02-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | When doing a fully incremental build (with WITHOUT_CLEAN enabled), from a commit before llvm 15 was merged (3264f6b88fce), to a commit after that, a number of .inc files were not regenerated. This could lead to unexpected compilation errors when these .inc files were included from llvm-project sources, similar to: In file included from /usr/src/contrib/llvm-project/clang/lib/CodeGen/CGBuiltin.cpp:8268: /usr/obj/usr/src/amd64.amd64/lib/clang/libclang/clang/Basic/arm_mve_builtin_cg.inc:279:18: error: no matching constructor for initialization of 'clang::CodeGen::Address' Address Val2 = Address(Val1, CharUnits::fromQuantity(2)); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Work around this by making the .inc files dependent on the tblgen binary used for generating them. E.g., we can relatively safely assume that if the binary gets updated, the .inc files must also be updated. (Although this is not 100% optimal, the gain by complicating things even more is probaby not worth the effort.) MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D38770
* Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5Dimitry Andric2021-11-131-0/+16
| | | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-13-init-16847-g88e66fa60ae5, the last commit before the upstream release/13.x branch was created. PR: 258209 MFC after: 2 weeks
* Add WITH_LLVM_BINUTILS to install LLVM binutils instead of ElftoolchainAlex Richardson2021-09-061-0/+7
| | | | | | | | | | | | | | | | | | | When WITH_LLVM_BINUTILS is set, we will install the LLVM binutils as ar/ranlib/nm/objcopy/etc. instead of the elftoolchain ones. Having the LLVM binutils instead of the elftoolchain ones allows us to use features such as LTO that depend on binutils that understand LLVM IR. Another benefit will be an improved user-experience when compiling with AddressSanitizer, since ASAN does not symbolize backtraces correctly if addr2line is elftoolchain addr2line instead of llvm-symbolizer. See https://lists.freebsd.org/archives/freebsd-toolchain/2021-July/000062.html for more details. This is currently off by default but will be turned on by default at some point in the near future. Reviewed By: emaste Differential Revision: https://reviews.freebsd.org/D31060
* Merge llvm-project 12.0.0 releaseDimitry Andric2021-06-131-5/+10
| | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-12.0.0-0-gd28af7c654d8, a.k.a. 12.0.0 release. PR: 255570 MFC after: 6 weeks
* Regenerate ReStructuredText based manpages for llvm-project tools:Dimitry Andric2020-06-271-51/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bugpoint.1 * clang.1 * llc.1 * lldb.1 * lli.1 * llvm-ar.1 * llvm-as.1 * llvm-bcanalyzer.1 * llvm-cov.1 * llvm-diff.1 * llvm-dis.1 * llvm-dwarfdump.1 * llvm-extract.1 * llvm-link.1 * llvm-mca.1 * llvm-nm.1 * llvm-pdbutil.1 * llvm-profdata.1 * llvm-symbolizer.1 * llvm-tblgen.1 * opt.1 Add newly generated manpages for: * llvm-addr2line.1 (this is an alias of llvm-symbolizer) * llvm-cxxfilt.1 * llvm-objcopy.1 * llvm-ranlib.1 (this is an alias of llvm-ar) Note that llvm-objdump.1 is an exception, as upstream has both a plain .1 file, and a .rst variant. These will have to be reconciled upstream first. MFC after: 3 days Notes: svn path=/head/; revision=362679
* Move all sources from the llvm project into contrib/llvm-project.Dimitry Andric2019-12-201-1/+1
| | | | | | | | | | | | | This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next. Notes: svn path=/head/; revision=355940
* Update llvm tool manpages, and llvm-mca.1.Dimitry Andric2018-08-021-2/+7
| | | | Notes: svn path=/projects/clang700-import/; revision=337162
* Regenerate llvm tools manpages, and add one for llvm-pbdutil.Dimitry Andric2017-12-241-7/+10
| | | | Notes: svn path=/projects/clang600-import/; revision=327147
* DIRDEPS_BUILD: Update dependencies.Bryan Drewery2017-10-311-1/+0
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325188
* DIRDEPS_BUILD: Connect the new clang build.Bryan Drewery2016-09-011-0/+25
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/projects/clang390-import/; revision=305239
* Completely revamp the way llvm, clang and lldb are built.Dimitry Andric2016-08-262-122/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Bootstrap llvm-tblgen and clang-tblgen with a minimal llvm static library, that has no other dependencies. * Roll up all separate llvm libraries into one big static libllvm. * Similar for all separate clang and lldb static libraries. * For all these libraries, generate their .inc files only once. * Link all llvm tools (including extra) against the big libllvm. * Link clang and clang-format against the big libllvm and libclang. * Link lldb against the big libllvm, libclang and liblldb. N.B.: This is work in progress, some details may still be missing. It also heavily depends on bsd.*.mk's support for SRCS and DPSRCS with relative pathnames, which apparently does not always work as expected. For building llvm, clang and lldb though, it seems to work just fine. The main idea behind this restructuring is maintainability and build peformance. The previous large number of very small libraries, each with their own generated files and dependencies was slow to traverse and hard to understand. Possible future improvements: * Only build certain targets, e.g. for most regular users having just one target will be fine. This will shave off some build time. * Building the big llvm, clang and lldb libraries as shared (private) libraries. * Adding other components from the LLVM project, such as lld. Notes: svn path=/projects/clang390-import/; revision=304867
* Update build glue for clang and the llvm/clang extras.Dimitry Andric2016-08-191-42/+19
| | | | Notes: svn path=/projects/clang390-import/; revision=304486
* DIRDEPS_BUILD: Update clang dependencies after r296417.Bryan Drewery2016-03-081-7/+8
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=296550
* Regenerate llvm and clang manpages.Dimitry Andric2016-03-031-6/+6
| | | | Notes: svn path=/projects/clang380-import/; revision=296368
* Merge ^/head r295601 through r295844.Dimitry Andric2016-02-211-0/+79
|\ | | | | | | Notes: svn path=/projects/clang380-import/; revision=295845
| * DIRDEPS_BUILD: Hookup CLANG_EXTRAS.Bryan Drewery2016-02-161-0/+79
| | | | | | | | | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=295681
* | Some additional llvm tools need libz. While here, consistently useDimitry Andric2016-01-061-1/+1
| | | | | | | | | | | | | | LIBADD+=. Notes: svn path=/projects/clang380-import/; revision=293279
* | Next part of updating llvm/clang build glue: getting theDimitry Andric2015-12-311-8/+10
|/ | | | | | | WITH_CLANG_EXTRAS tools built. Notes: svn path=/projects/clang380-import/; revision=292990
* Fix LDADD/DPADD that should be LIBADD.Bryan Drewery2015-12-041-3/+2
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291738
* Update llvm/clang to r242221.Dimitry Andric2015-08-121-0/+1
| | | | Notes: svn path=/projects/clang-trunk/; revision=286684
* Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunkDimitry Andric2015-05-302-2/+2
| | | | | | | r238337. Notes: svn path=/projects/clang-trunk/; revision=283770
* Regenerated llvm/clang manpages.Dimitry Andric2015-03-141-1/+1
| | | | Notes: svn path=/projects/clang360-import/; revision=280001
* Update llvm and clang library and binary Makefiles for 3.6.0 rc1.Dimitry Andric2015-01-261-1/+3
| | | | Notes: svn path=/projects/clang360-import/; revision=277765
* Regenerate the manpages for the additional llvm/clang tools. ThisDimitry Andric2015-01-101-2/+2
| | | | | | | contains only very minor updates. Notes: svn path=/head/; revision=276915
* Add the AArch64 llvm backend to the build to allow for early testing andDimitry Andric2015-01-071-1/+8
| | | | | | | | | | | to ease any rework of how clang is built to take arm64 in to account. Submitted by: andrew Reviewed by: andrew, emaste Differential Revision: https://reviews.freebsd.org/D1446 Notes: svn path=/head/; revision=276783
* Update llvm and clang binary Makefiles.Dimitry Andric2014-11-241-1/+46
| | | | Notes: svn path=/projects/clang350-import/; revision=274974
* Upgrade our copy of llvm/clang to 3.4 release. This version supportsDimitry Andric2014-02-162-12/+11
| | | | | | | | | | | | | | | | | | | | all of the features in the current working draft of the upcoming C++ standard, provisionally named C++1y. The code generator's performance is greatly increased, and the loop auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The PowerPC backend has made several major improvements to code generation quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ backends have all seen major feature work. Release notes for llvm and clang can be found here: <http://llvm.org/releases/3.4/docs/ReleaseNotes.html> <http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html> MFC after: 1 month Notes: svn path=/head/; revision=261991
* Upgrade our copy of llvm/clang to trunk r178860, in preparation of theDimitry Andric2013-04-121-2/+2
| | | | | | | | | | | | upcoming 3.3 release (branching and freezing expected in a few weeks). Preliminary release notes can be found at the usual location: <http://llvm.org/docs/ReleaseNotes.html> An MFC is planned once the actual 3.3 release is finished. Notes: svn path=/head/; revision=249423
* Allow us to build clang for ARM EABI. Clang and llvm use theAndrew Turner2013-02-121-0/+2
| | | | | | | | | | arm-gnueabi-freebsd10.0 triple for EABI. Use this when we are on arm or armv6 and are building for EABI. Reviewed by: dim Notes: svn path=/head/; revision=246705
* Upgrade our copy of llvm/clang to trunk r162107. With thanks toDimitry Andric2012-08-201-202/+196
| | | | | | | Benjamin Kramer and Joerg Sonnenberger for their input and fixes. Notes: svn path=/head/; revision=239462
* Upgrade our copy of llvm/clang to trunk r154661, in preparation of theDimitry Andric2012-04-161-1/+1
| | | | | | | | | | upcoming 3.1 release (expected in a few weeks). Preliminary release notes can be found at: <http://llvm.org/docs/ReleaseNotes.html> MFC after: 2 weeks Notes: svn path=/head/; revision=234353
* Add a WITH_CLANG_EXTRAS option for src.conf(5), disabled by default,Dimitry Andric2012-02-052-0/+233
that builds the following additional llvm/clang tools: - bugpoint - llc - lli - llvm-ar - llvm-as - llvm-bcanalyzer - llvm-diff - llvm-dis - llvm-extract - llvm-ld - llvm-link - llvm-mc - llvm-nm - llvm-objdump - llvm-prof - llvm-ranlib - llvm-rtdyld - llvm-stub - macho-dump - opt These tools are mainly useful for people that want to manipulate llvm bitcode (.bc) and llvm assembly language (.ll) files, or want to tinker with llvm and clang themselves. MFC after: 2 weeks Notes: svn path=/head/; revision=231057