History log of /freebsd-current/usr.bin/clang/lldb/Makefile
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# bdd1243d 14-Apr-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16-init-18548-gb0daacf58f41.

PR: 271047
MFC after: 1 month


# 4dc3b1fa 29-Mar-2023 Dimitry Andric <dim@FreeBSD.org>

Revert "Ensure .inc files are regenerated when llvm/clang tblgen binaries 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

# d8ed7fa3 29-Mar-2023 Dimitry Andric <dim@FreeBSD.org>

Revert "Rework {clang,lldb,llvm}-tblgen invocations to add --write-if-changed"

This reverts commit 8f391d9098083044793ff036dff8c96930fb1553. There are
still a bunch of problems, and apparently ${.ALLSRC} does not work as I
expected.

Fixes: 8f391d909808

# 8f391d90 29-Mar-2023 Dimitry Andric <dim@FreeBSD.org>

Rework {clang,lldb,llvm}-tblgen invocations to add --write-if-changed

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

# ab80f0b2 25-Feb-2023 Dimitry Andric <dim@FreeBSD.org>

Ensure .inc files are regenerated when llvm/clang tblgen binaries change

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

# 04eeddc0 27-Jan-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-17616-g024a1fab5c35

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-17616-g024a1fab5c35.

PR: 261742
MFC after: 2 weeks


# fe6060f1 22-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5

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


# cbc83e37 22-Sep-2021 Baptiste Daroussin <bapt@FreeBSD.org>

ncurses: chase dependency changes in the source tree

Differential Revision: https://reviews.freebsd.org/D32098

# 652a9748 03-Apr-2020 Ed Maste <emaste@FreeBSD.org>

lldb: build and enable lua script bindings

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24266

# f46f1d28 27-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

Update build glue for lldb (MK_LLDB=yes). Also update lldb's generated
Config.h, disable a few more parts in the code we don't use, and add a
pre-generated man page.

# 0b57cec5 20-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Move all sources from the llvm project into contrib/llvm-project.

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.

# a32f82c2 26-Aug-2019 Dimitry Andric <dim@FreeBSD.org>

Update build glue for a build of clang plus lldb (enabled via MK_LLDB).

# 6e3f21a2 22-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Update lldb build glue to make MK_LLDB=yes work.

# 8930262b 28-Nov-2016 Dimitry Andric <dim@FreeBSD.org>

Fix packaging for clang, lldb and lld 3.9.0

During the upgrade of clang/llvm etc to 3.9.0 in r309124, the PACKAGE
directive in the usr.bin/clang/*.mk files got dropped accidentally.

Restore it, with a few minor changes and additions:
* Correct license in clang.ucl to NCSA
* Add PACKAGE=clang for clang and most of the "ll" tools
* Put lldb in its own package
* Put lld in its own package

Reviewed by: gjb, jmallett
X-MFC-With: 309124
Differential Revision: https://reviews.freebsd.org/D8666

# 084b3adb 04-Sep-2016 Dimitry Andric <dim@FreeBSD.org>

Some further micro-optimizations for the libllvm and lldb build.

# 01d8757d 27-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Centralize where LLVM_SRCS, CLANG_SRCS and LLDB_SRCS are defined.

# e1cd7682 27-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Use SRCTOP and OBJTOP throughout the llvm/clang/lldb build.

# 986e05bc 26-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Completely revamp the way llvm, clang and lldb are built.

* 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.

# 9228435a 20-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for lldb. Also comment out parts of the
initialization and termination code which reference plugins and
components that we don't use.

# 7f38eb34 15-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r293850 through r294089.


# c455b924 14-Jan-2016 Andrew Turner <andrew@FreeBSD.org>

Set -mlong-calls where needed to get a static clang and lldb 3.8.0
linking. These are too large for a branch instruction to branch from an
earlier point in the code to somewhere later.

This will also allow these to be build with Thumb-2 when we get this
infrastructure.

Reviewed by: dim
Differential Revision: https://reviews.freebsd.org/D4855

# dbc595b2 06-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Some additional llvm tools need libz. While here, consistently use
LIBADD+=.

# 0a97e597 03-Jan-2016 Ed Maste <emaste@FreeBSD.org>

Update build infrastructure for LLDB 3.8

# ffa548ae 31-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Next part of updating llvm/clang build glue: getting the
WITH_CLANG_EXTRAS tools built.

# 1ef7db0f 09-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Use LIBADD for pthread.

Sponsored by: EMC / Isilon Storage Division

# 635b2e1e 08-Jul-2015 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r285153 through r285283.


# 0b0796a3 07-Jul-2015 Ed Maste <emaste@FreeBSD.org>

lldb: use .PATH to find man page instead of symlinking it

MFC after: 1 week
Sponsored by: The FreeBSD Foundation

# 1c3bbb01 03-Jul-2015 Ed Maste <emaste@FreeBSD.org>

Update LLDB snapshot to upstream r241361

Notable upstream commits (upstream revision in parens):

- Add a JSON producer to LLDB (228636)
- Don't crash on bad DWARF expression (228729)
- Add support of DWARFv3 DW_OP_form_tls_address (231342)
- Assembly profiler for MIPS64 (232619)
- Handle FreeBSD/arm64 core files (233273)
- Read/Write register for MIPS64 (233685)
- Rework LLDB system initialization (233758)
- SysV ABI for aarch64 (236098)
- MIPS software single stepping (236696)
- FreeBSD/arm live debugging support (237303)
- Assembly profiler for mips32 (237420)
- Parse function name from DWARF DW_AT_abstract_origin (238307)
- Improve LLDB prompt handling (238313)
- Add real time signals support to FreeBSDSignals (238316)
- Fix race in IOHandlerProcessSTDIO (238423)
- MIPS64 Branch instruction emulation for SW single stepping (238820)
- Improve OSType initialization in elf object file's arch_spec (239148)
- Emulation of MIPS64 floating-point branch instructions (239996)
- ABI Plugin for MIPS32 (239997)
- ABI Plugin for MIPS64 (240123)
- MIPS32 branch emulation and single stepping (240373)
- Improve instruction emulation based stack unwinding on ARM (240533)
- Add branch emulation to aarch64 instruction emulator (240769)


# d9c8ae62 15-Jun-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Convert to LIBADD

# 44f7b0dc 14-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Merge llvm 3.6.0rc3 from ^/vendor/llvm/dist, merge clang 3.6.0rc3 from
^/vendor/clang/dist, resolve conflicts, and update patches README.


# 9d984acf 08-Feb-2015 Ed Maste <emaste@FreeBSD.org>

Update FreeBSD LLDB build for 3.6 update

Sponsored by: DARPA, AFRL

# 47a80b92 07-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Add the AArch64 llvm backend to the build to allow for early testing and
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

# 1a559761 26-Nov-2014 Ed Maste <emaste@FreeBSD.org>

Update build for LLDB snapshot at upstream rev 216948

Sponsored by: DARPA, AFRL

# e5516195 26-Aug-2014 Enji Cooper <ngie@FreeBSD.org>

Convert LIBCURSES to LIBNCURSES to fix "make checkdpadd"

Also, add a missing LIBPANEL dependency for lldb

Approved by: rpaulo (mentor)
Suggested by: brooks
MFC after: 5 days
Phabric: D675 (as part of a larger diff)
PR: 192762

# 21efc33e 01-Mar-2014 Dimitry Andric <dim@FreeBSD.org>

Apply fix for lldb not linking after the sparc backend import.

Reported by: se
Pointy hat to: dim

# 5eef691b 18-Feb-2014 Ed Maste <emaste@FreeBSD.org>

Update LLDB bmake build for r262187

Sponsored by: DARPA, AFRL

# adacc072 17-Feb-2014 Ed Maste <emaste@FreeBSD.org>

Update lldb for clang/llvm 3.4 import

This commit largely restores the lldb source to the upstream r196259
snapshot with the addition of threaded inferior support and a few bug
fixes.

Specific upstream lldb revisions restored include:
SVN git
181387 779e6ac
181703 7bef4e2
182099 b31044e
182650 f2dcf35
182683 0d91b80
183862 15c1774
183929 99447a6
184177 0b2934b
184948 4dc3761
184954 007e7bc
186990 eebd175

Sponsored by: DARPA, AFRL

# 840f0971 16-Dec-2013 Dimitry Andric <dim@FreeBSD.org>

Enable llvm's integrated assembler for PowerPC, since it should now be
good enough for typical usage.

Requested by: rdivacky
MFC after: 1 week

# e8f1392d 19-Sep-2013 Ed Maste <emaste@FreeBSD.org>

Add LLDB bmake infrastructure

This connects LLDB to the build, but it is disabled by default. Add
WITH_LLDB= to src.conf to build it.

Note that LLDB requires a C++11 compiler so is disabled on platforms
using GCC.

Approved by: re (gjb)
Sponsored by: DARPA, AFRL

# 4dc3b1fa 29-Mar-2023 Dimitry Andric <dim@FreeBSD.org>

Revert "Ensure .inc files are regenerated when llvm/clang tblgen binaries 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


# d8ed7fa3 29-Mar-2023 Dimitry Andric <dim@FreeBSD.org>

Revert "Rework {clang,lldb,llvm}-tblgen invocations to add --write-if-changed"

This reverts commit 8f391d9098083044793ff036dff8c96930fb1553. There are
still a bunch of problems, and apparently ${.ALLSRC} does not work as I
expected.

Fixes: 8f391d909808


# 8f391d90 29-Mar-2023 Dimitry Andric <dim@FreeBSD.org>

Rework {clang,lldb,llvm}-tblgen invocations to add --write-if-changed

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


# ab80f0b2 25-Feb-2023 Dimitry Andric <dim@FreeBSD.org>

Ensure .inc files are regenerated when llvm/clang tblgen binaries change

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


# 04eeddc0 27-Jan-2022 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-14-init-17616-g024a1fab5c35

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-14-init-17616-g024a1fab5c35.

PR: 261742
MFC after: 2 weeks


# fe6060f1 22-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5

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


# cbc83e37 22-Sep-2021 Baptiste Daroussin <bapt@FreeBSD.org>

ncurses: chase dependency changes in the source tree

Differential Revision: https://reviews.freebsd.org/D32098

# 652a9748 03-Apr-2020 Ed Maste <emaste@FreeBSD.org>

lldb: build and enable lua script bindings

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24266

# f46f1d28 27-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

Update build glue for lldb (MK_LLDB=yes). Also update lldb's generated
Config.h, disable a few more parts in the code we don't use, and add a
pre-generated man page.

# 0b57cec5 20-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Move all sources from the llvm project into contrib/llvm-project.

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.

# a32f82c2 26-Aug-2019 Dimitry Andric <dim@FreeBSD.org>

Update build glue for a build of clang plus lldb (enabled via MK_LLDB).

# 6e3f21a2 22-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Update lldb build glue to make MK_LLDB=yes work.

# 8930262b 28-Nov-2016 Dimitry Andric <dim@FreeBSD.org>

Fix packaging for clang, lldb and lld 3.9.0

During the upgrade of clang/llvm etc to 3.9.0 in r309124, the PACKAGE
directive in the usr.bin/clang/*.mk files got dropped accidentally.

Restore it, with a few minor changes and additions:
* Correct license in clang.ucl to NCSA
* Add PACKAGE=clang for clang and most of the "ll" tools
* Put lldb in its own package
* Put lld in its own package

Reviewed by: gjb, jmallett
X-MFC-With: 309124
Differential Revision: https://reviews.freebsd.org/D8666

# 084b3adb 04-Sep-2016 Dimitry Andric <dim@FreeBSD.org>

Some further micro-optimizations for the libllvm and lldb build.

# 01d8757d 27-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Centralize where LLVM_SRCS, CLANG_SRCS and LLDB_SRCS are defined.

# e1cd7682 27-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Use SRCTOP and OBJTOP throughout the llvm/clang/lldb build.

# 986e05bc 26-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Completely revamp the way llvm, clang and lldb are built.

* 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.

# 9228435a 20-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for lldb. Also comment out parts of the
initialization and termination code which reference plugins and
components that we don't use.

# 7f38eb34 15-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r293850 through r294089.


# c455b924 14-Jan-2016 Andrew Turner <andrew@FreeBSD.org>

Set -mlong-calls where needed to get a static clang and lldb 3.8.0
linking. These are too large for a branch instruction to branch from an
earlier point in the code to somewhere later.

This will also allow these to be build with Thumb-2 when we get this
infrastructure.

Reviewed by: dim
Differential Revision: https://reviews.freebsd.org/D4855

# dbc595b2 06-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Some additional llvm tools need libz. While here, consistently use
LIBADD+=.

# 0a97e597 03-Jan-2016 Ed Maste <emaste@FreeBSD.org>

Update build infrastructure for LLDB 3.8

# ffa548ae 31-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Next part of updating llvm/clang build glue: getting the
WITH_CLANG_EXTRAS tools built.

# 1ef7db0f 09-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Use LIBADD for pthread.

Sponsored by: EMC / Isilon Storage Division

# 635b2e1e 08-Jul-2015 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r285153 through r285283.


# 0b0796a3 07-Jul-2015 Ed Maste <emaste@FreeBSD.org>

lldb: use .PATH to find man page instead of symlinking it

MFC after: 1 week
Sponsored by: The FreeBSD Foundation

# 1c3bbb01 03-Jul-2015 Ed Maste <emaste@FreeBSD.org>

Update LLDB snapshot to upstream r241361

Notable upstream commits (upstream revision in parens):

- Add a JSON producer to LLDB (228636)
- Don't crash on bad DWARF expression (228729)
- Add support of DWARFv3 DW_OP_form_tls_address (231342)
- Assembly profiler for MIPS64 (232619)
- Handle FreeBSD/arm64 core files (233273)
- Read/Write register for MIPS64 (233685)
- Rework LLDB system initialization (233758)
- SysV ABI for aarch64 (236098)
- MIPS software single stepping (236696)
- FreeBSD/arm live debugging support (237303)
- Assembly profiler for mips32 (237420)
- Parse function name from DWARF DW_AT_abstract_origin (238307)
- Improve LLDB prompt handling (238313)
- Add real time signals support to FreeBSDSignals (238316)
- Fix race in IOHandlerProcessSTDIO (238423)
- MIPS64 Branch instruction emulation for SW single stepping (238820)
- Improve OSType initialization in elf object file's arch_spec (239148)
- Emulation of MIPS64 floating-point branch instructions (239996)
- ABI Plugin for MIPS32 (239997)
- ABI Plugin for MIPS64 (240123)
- MIPS32 branch emulation and single stepping (240373)
- Improve instruction emulation based stack unwinding on ARM (240533)
- Add branch emulation to aarch64 instruction emulator (240769)


# d9c8ae62 15-Jun-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Convert to LIBADD

# 44f7b0dc 14-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Merge llvm 3.6.0rc3 from ^/vendor/llvm/dist, merge clang 3.6.0rc3 from
^/vendor/clang/dist, resolve conflicts, and update patches README.


# 9d984acf 08-Feb-2015 Ed Maste <emaste@FreeBSD.org>

Update FreeBSD LLDB build for 3.6 update

Sponsored by: DARPA, AFRL

# 47a80b92 07-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Add the AArch64 llvm backend to the build to allow for early testing and
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

# 1a559761 26-Nov-2014 Ed Maste <emaste@FreeBSD.org>

Update build for LLDB snapshot at upstream rev 216948

Sponsored by: DARPA, AFRL

# e5516195 26-Aug-2014 Enji Cooper <ngie@FreeBSD.org>

Convert LIBCURSES to LIBNCURSES to fix "make checkdpadd"

Also, add a missing LIBPANEL dependency for lldb

Approved by: rpaulo (mentor)
Suggested by: brooks
MFC after: 5 days
Phabric: D675 (as part of a larger diff)
PR: 192762

# 21efc33e 01-Mar-2014 Dimitry Andric <dim@FreeBSD.org>

Apply fix for lldb not linking after the sparc backend import.

Reported by: se
Pointy hat to: dim

# 5eef691b 18-Feb-2014 Ed Maste <emaste@FreeBSD.org>

Update LLDB bmake build for r262187

Sponsored by: DARPA, AFRL

# adacc072 17-Feb-2014 Ed Maste <emaste@FreeBSD.org>

Update lldb for clang/llvm 3.4 import

This commit largely restores the lldb source to the upstream r196259
snapshot with the addition of threaded inferior support and a few bug
fixes.

Specific upstream lldb revisions restored include:
SVN git
181387 779e6ac
181703 7bef4e2
182099 b31044e
182650 f2dcf35
182683 0d91b80
183862 15c1774
183929 99447a6
184177 0b2934b
184948 4dc3761
184954 007e7bc
186990 eebd175

Sponsored by: DARPA, AFRL

# 840f0971 16-Dec-2013 Dimitry Andric <dim@FreeBSD.org>

Enable llvm's integrated assembler for PowerPC, since it should now be
good enough for typical usage.

Requested by: rdivacky
MFC after: 1 week

# e8f1392d 19-Sep-2013 Ed Maste <emaste@FreeBSD.org>

Add LLDB bmake infrastructure

This connects LLDB to the build, but it is disabled by default. Add
WITH_LLDB= to src.conf to build it.

Note that LLDB requires a C++11 compiler so is disabled on platforms
using GCC.

Approved by: re (gjb)
Sponsored by: DARPA, AFRL

# fe6060f1 22-Aug-2021 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5

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


# cbc83e37 22-Sep-2021 Baptiste Daroussin <bapt@FreeBSD.org>

ncurses: chase dependency changes in the source tree

Differential Revision: https://reviews.freebsd.org/D32098

# 652a9748 03-Apr-2020 Ed Maste <emaste@FreeBSD.org>

lldb: build and enable lua script bindings

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24266

# f46f1d28 27-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

Update build glue for lldb (MK_LLDB=yes). Also update lldb's generated
Config.h, disable a few more parts in the code we don't use, and add a
pre-generated man page.

# 0b57cec5 20-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Move all sources from the llvm project into contrib/llvm-project.

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.

# a32f82c2 26-Aug-2019 Dimitry Andric <dim@FreeBSD.org>

Update build glue for a build of clang plus lldb (enabled via MK_LLDB).

# 6e3f21a2 22-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Update lldb build glue to make MK_LLDB=yes work.

# 8930262b 28-Nov-2016 Dimitry Andric <dim@FreeBSD.org>

Fix packaging for clang, lldb and lld 3.9.0

During the upgrade of clang/llvm etc to 3.9.0 in r309124, the PACKAGE
directive in the usr.bin/clang/*.mk files got dropped accidentally.

Restore it, with a few minor changes and additions:
* Correct license in clang.ucl to NCSA
* Add PACKAGE=clang for clang and most of the "ll" tools
* Put lldb in its own package
* Put lld in its own package

Reviewed by: gjb, jmallett
X-MFC-With: 309124
Differential Revision: https://reviews.freebsd.org/D8666

# 084b3adb 04-Sep-2016 Dimitry Andric <dim@FreeBSD.org>

Some further micro-optimizations for the libllvm and lldb build.

# 01d8757d 27-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Centralize where LLVM_SRCS, CLANG_SRCS and LLDB_SRCS are defined.

# e1cd7682 27-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Use SRCTOP and OBJTOP throughout the llvm/clang/lldb build.

# 986e05bc 26-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Completely revamp the way llvm, clang and lldb are built.

* 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.

# 9228435a 20-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for lldb. Also comment out parts of the
initialization and termination code which reference plugins and
components that we don't use.

# 7f38eb34 15-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r293850 through r294089.


# c455b924 14-Jan-2016 Andrew Turner <andrew@FreeBSD.org>

Set -mlong-calls where needed to get a static clang and lldb 3.8.0
linking. These are too large for a branch instruction to branch from an
earlier point in the code to somewhere later.

This will also allow these to be build with Thumb-2 when we get this
infrastructure.

Reviewed by: dim
Differential Revision: https://reviews.freebsd.org/D4855

# dbc595b2 06-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Some additional llvm tools need libz. While here, consistently use
LIBADD+=.

# 0a97e597 03-Jan-2016 Ed Maste <emaste@FreeBSD.org>

Update build infrastructure for LLDB 3.8

# ffa548ae 31-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Next part of updating llvm/clang build glue: getting the
WITH_CLANG_EXTRAS tools built.

# 1ef7db0f 09-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Use LIBADD for pthread.

Sponsored by: EMC / Isilon Storage Division

# 635b2e1e 08-Jul-2015 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r285153 through r285283.


# 0b0796a3 07-Jul-2015 Ed Maste <emaste@FreeBSD.org>

lldb: use .PATH to find man page instead of symlinking it

MFC after: 1 week
Sponsored by: The FreeBSD Foundation

# 1c3bbb01 03-Jul-2015 Ed Maste <emaste@FreeBSD.org>

Update LLDB snapshot to upstream r241361

Notable upstream commits (upstream revision in parens):

- Add a JSON producer to LLDB (228636)
- Don't crash on bad DWARF expression (228729)
- Add support of DWARFv3 DW_OP_form_tls_address (231342)
- Assembly profiler for MIPS64 (232619)
- Handle FreeBSD/arm64 core files (233273)
- Read/Write register for MIPS64 (233685)
- Rework LLDB system initialization (233758)
- SysV ABI for aarch64 (236098)
- MIPS software single stepping (236696)
- FreeBSD/arm live debugging support (237303)
- Assembly profiler for mips32 (237420)
- Parse function name from DWARF DW_AT_abstract_origin (238307)
- Improve LLDB prompt handling (238313)
- Add real time signals support to FreeBSDSignals (238316)
- Fix race in IOHandlerProcessSTDIO (238423)
- MIPS64 Branch instruction emulation for SW single stepping (238820)
- Improve OSType initialization in elf object file's arch_spec (239148)
- Emulation of MIPS64 floating-point branch instructions (239996)
- ABI Plugin for MIPS32 (239997)
- ABI Plugin for MIPS64 (240123)
- MIPS32 branch emulation and single stepping (240373)
- Improve instruction emulation based stack unwinding on ARM (240533)
- Add branch emulation to aarch64 instruction emulator (240769)


# d9c8ae62 15-Jun-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Convert to LIBADD

# 44f7b0dc 14-Feb-2015 Dimitry Andric <dim@FreeBSD.org>

Merge llvm 3.6.0rc3 from ^/vendor/llvm/dist, merge clang 3.6.0rc3 from
^/vendor/clang/dist, resolve conflicts, and update patches README.


# 9d984acf 08-Feb-2015 Ed Maste <emaste@FreeBSD.org>

Update FreeBSD LLDB build for 3.6 update

Sponsored by: DARPA, AFRL

# 47a80b92 07-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Add the AArch64 llvm backend to the build to allow for early testing and
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

# 1a559761 26-Nov-2014 Ed Maste <emaste@FreeBSD.org>

Update build for LLDB snapshot at upstream rev 216948

Sponsored by: DARPA, AFRL

# e5516195 26-Aug-2014 Enji Cooper <ngie@FreeBSD.org>

Convert LIBCURSES to LIBNCURSES to fix "make checkdpadd"

Also, add a missing LIBPANEL dependency for lldb

Approved by: rpaulo (mentor)
Suggested by: brooks
MFC after: 5 days
Phabric: D675 (as part of a larger diff)
PR: 192762

# 21efc33e 01-Mar-2014 Dimitry Andric <dim@FreeBSD.org>

Apply fix for lldb not linking after the sparc backend import.

Reported by: se
Pointy hat to: dim

# 5eef691b 18-Feb-2014 Ed Maste <emaste@FreeBSD.org>

Update LLDB bmake build for r262187

Sponsored by: DARPA, AFRL

# adacc072 17-Feb-2014 Ed Maste <emaste@FreeBSD.org>

Update lldb for clang/llvm 3.4 import

This commit largely restores the lldb source to the upstream r196259
snapshot with the addition of threaded inferior support and a few bug
fixes.

Specific upstream lldb revisions restored include:
SVN git
181387 779e6ac
181703 7bef4e2
182099 b31044e
182650 f2dcf35
182683 0d91b80
183862 15c1774
183929 99447a6
184177 0b2934b
184948 4dc3761
184954 007e7bc
186990 eebd175

Sponsored by: DARPA, AFRL

# 840f0971 16-Dec-2013 Dimitry Andric <dim@FreeBSD.org>

Enable llvm's integrated assembler for PowerPC, since it should now be
good enough for typical usage.

Requested by: rdivacky
MFC after: 1 week

# e8f1392d 19-Sep-2013 Ed Maste <emaste@FreeBSD.org>

Add LLDB bmake infrastructure

This connects LLDB to the build, but it is disabled by default. Add
WITH_LLDB= to src.conf to build it.

Note that LLDB requires a C++11 compiler so is disabled on platforms
using GCC.

Approved by: re (gjb)
Sponsored by: DARPA, AFRL

# cbc83e37 22-Sep-2021 Baptiste Daroussin <bapt@FreeBSD.org>

ncurses: chase dependency changes in the source tree

Differential Revision: https://reviews.freebsd.org/D32098


# 652a9748 03-Apr-2020 Ed Maste <emaste@FreeBSD.org>

lldb: build and enable lua script bindings

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D24266


# f46f1d28 27-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

Update build glue for lldb (MK_LLDB=yes). Also update lldb's generated
Config.h, disable a few more parts in the code we don't use, and add a
pre-generated man page.


# 0b57cec5 20-Dec-2019 Dimitry Andric <dim@FreeBSD.org>

Move all sources from the llvm project into contrib/llvm-project.

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.


# a32f82c2 26-Aug-2019 Dimitry Andric <dim@FreeBSD.org>

Update build glue for a build of clang plus lldb (enabled via MK_LLDB).


# 6e3f21a2 22-Jan-2019 Dimitry Andric <dim@FreeBSD.org>

Update lldb build glue to make MK_LLDB=yes work.


# 8930262b 28-Nov-2016 Dimitry Andric <dim@FreeBSD.org>

Fix packaging for clang, lldb and lld 3.9.0

During the upgrade of clang/llvm etc to 3.9.0 in r309124, the PACKAGE
directive in the usr.bin/clang/*.mk files got dropped accidentally.

Restore it, with a few minor changes and additions:
* Correct license in clang.ucl to NCSA
* Add PACKAGE=clang for clang and most of the "ll" tools
* Put lldb in its own package
* Put lld in its own package

Reviewed by: gjb, jmallett
X-MFC-With: 309124
Differential Revision: https://reviews.freebsd.org/D8666


# 084b3adb 04-Sep-2016 Dimitry Andric <dim@FreeBSD.org>

Some further micro-optimizations for the libllvm and lldb build.


# 01d8757d 27-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Centralize where LLVM_SRCS, CLANG_SRCS and LLDB_SRCS are defined.


# e1cd7682 27-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Use SRCTOP and OBJTOP throughout the llvm/clang/lldb build.


# 986e05bc 26-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Completely revamp the way llvm, clang and lldb are built.

* 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.


# 9228435a 20-Aug-2016 Dimitry Andric <dim@FreeBSD.org>

Update build glue for lldb. Also comment out parts of the
initialization and termination code which reference plugins and
components that we don't use.


# c455b924 14-Jan-2016 Andrew Turner <andrew@FreeBSD.org>

Set -mlong-calls where needed to get a static clang and lldb 3.8.0
linking. These are too large for a branch instruction to branch from an
earlier point in the code to somewhere later.

This will also allow these to be build with Thumb-2 when we get this
infrastructure.

Reviewed by: dim
Differential Revision: https://reviews.freebsd.org/D4855


# dbc595b2 06-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Some additional llvm tools need libz. While here, consistently use
LIBADD+=.


# 0a97e597 03-Jan-2016 Ed Maste <emaste@FreeBSD.org>

Update build infrastructure for LLDB 3.8


# ffa548ae 31-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Next part of updating llvm/clang build glue: getting the
WITH_CLANG_EXTRAS tools built.


# 1ef7db0f 09-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Use LIBADD for pthread.

Sponsored by: EMC / Isilon Storage Division


# 0b0796a3 07-Jul-2015 Ed Maste <emaste@FreeBSD.org>

lldb: use .PATH to find man page instead of symlinking it

MFC after: 1 week
Sponsored by: The FreeBSD Foundation


# d9c8ae62 15-Jun-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Convert to LIBADD


# 9d984acf 08-Feb-2015 Ed Maste <emaste@FreeBSD.org>

Update FreeBSD LLDB build for 3.6 update

Sponsored by: DARPA, AFRL


# 47a80b92 07-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Add the AArch64 llvm backend to the build to allow for early testing and
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


# 1a559761 26-Nov-2014 Ed Maste <emaste@FreeBSD.org>

Update build for LLDB snapshot at upstream rev 216948

Sponsored by: DARPA, AFRL


# e5516195 26-Aug-2014 Enji Cooper <ngie@FreeBSD.org>

Convert LIBCURSES to LIBNCURSES to fix "make checkdpadd"

Also, add a missing LIBPANEL dependency for lldb

Approved by: rpaulo (mentor)
Suggested by: brooks
MFC after: 5 days
Phabric: D675 (as part of a larger diff)
PR: 192762


# 21efc33e 01-Mar-2014 Dimitry Andric <dim@FreeBSD.org>

Apply fix for lldb not linking after the sparc backend import.

Reported by: se
Pointy hat to: dim


# 5eef691b 18-Feb-2014 Ed Maste <emaste@FreeBSD.org>

Update LLDB bmake build for r262187

Sponsored by: DARPA, AFRL


# adacc072 17-Feb-2014 Ed Maste <emaste@FreeBSD.org>

Update lldb for clang/llvm 3.4 import

This commit largely restores the lldb source to the upstream r196259
snapshot with the addition of threaded inferior support and a few bug
fixes.

Specific upstream lldb revisions restored include:
SVN git
181387 779e6ac
181703 7bef4e2
182099 b31044e
182650 f2dcf35
182683 0d91b80
183862 15c1774
183929 99447a6
184177 0b2934b
184948 4dc3761
184954 007e7bc
186990 eebd175

Sponsored by: DARPA, AFRL


# 840f0971 16-Dec-2013 Dimitry Andric <dim@FreeBSD.org>

Enable llvm's integrated assembler for PowerPC, since it should now be
good enough for typical usage.

Requested by: rdivacky
MFC after: 1 week


# e8f1392d 19-Sep-2013 Ed Maste <emaste@FreeBSD.org>

Add LLDB bmake infrastructure

This connects LLDB to the build, but it is disabled by default. Add
WITH_LLDB= to src.conf to build it.

Note that LLDB requires a C++11 compiler so is disabled on platforms
using GCC.

Approved by: re (gjb)
Sponsored by: DARPA, AFRL