Commit Graph

90 Commits

Author SHA1 Message Date
dim
fe6d24a2c1 Minimize the number of files compiled for clang only (e.g. when neither
WITH_CLANG_EXTRAS nor WITH_LLDB is in effect).
2015-09-06 22:02:13 +00:00
dim
f5e45b5422 Update llvm/clang to r242221. 2015-08-12 18:31:11 +00:00
dim
91db3ac96d Merge ^/head r285153 through r285283. 2015-07-08 18:43:55 +00:00
emaste
7259ef9e7d lldb: use .PATH to find man page instead of symlinking it
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2015-07-07 18:46:41 +00:00
dim
706271a799 Update llvm/clang to r241361. 2015-07-05 22:34:42 +00:00
emaste
cea4c16751 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)
2015-07-04 01:02:43 +00:00
dim
3aff6c77e3 Update llvm/clang build glue. 2015-06-23 18:46:29 +00:00
dim
e109f99dcb Merge ^/head r284188 through r284643. 2015-06-20 19:34:50 +00:00
sjg
852129abd1 new depends 2015-06-16 23:37:19 +00:00
bapt
9efdecaac9 Convert to LIBADD 2015-06-15 21:20:52 +00:00
sjg
008d7c831f Add META_MODE support.
Off by default, build behaves normally.
WITH_META_MODE we get auto objdir creation, the ability to
start build from anywhere in the tree.

Still need to add real targets under targets/ to build packages.

Differential Revision:       D2796
Reviewed by: brooks imp
2015-06-13 19:20:56 +00:00
dim
238df27d05 Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r239412.
2015-06-10 19:12:52 +00:00
sjg
75a137820d dirdeps.mk now sets DEP_RELDIR 2015-06-08 23:35:17 +00:00
dim
8f5245e1de Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.
2015-05-30 15:39:49 +00:00
sjg
65145fa4c8 Merge sync of head 2015-05-27 01:19:58 +00:00
dim
c660843b7a Add the llvm-cov and llvm-profdata tools, when WITH_CLANG_EXTRAS is
defined.  These help with processing coverage and profile data.
2015-04-03 19:43:39 +00:00
dim
f57aa367a2 Regenerated llvm/clang manpages. 2015-03-14 19:22:15 +00:00
dim
9377b5ad0f Merge llvm 3.6.0rc3 from ^/vendor/llvm/dist, merge clang 3.6.0rc3 from
^/vendor/clang/dist, resolve conflicts, and update patches README.
2015-02-14 14:13:00 +00:00
emaste
0a0889c380 Update FreeBSD LLDB build for 3.6 update
Sponsored by:	DARPA, AFRL
2015-02-08 17:26:41 +00:00
dim
2defe6edea Update llvm and clang library and binary Makefiles for 3.6.0 rc1. 2015-01-26 18:48:27 +00:00
dim
5b61f6ef01 Add the llvm-symbolizer tool, which enables the sanitizers to report
more complete debugging information.  This tools is only enabled when
WITH_CLANG_EXTRAS is on.

Submitted by:	Dan McGregor <danismostlikely@gmail.com>
2015-01-10 22:22:42 +00:00
dim
c206193393 Remove a few redundant DPADD/LDADD pairs in llvm utilities. 2015-01-10 22:11:49 +00:00
dim
8bf84181c0 Regenerate the manpages for the additional llvm/clang tools. This
contains only very minor updates.
2015-01-10 21:44:31 +00:00
dim
17b7ef10fd 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
2015-01-07 19:06:27 +00:00
emaste
b377ea8ffc Update build for LLDB snapshot at upstream rev 216948
Sponsored by:	DARPA, AFRL
2014-11-26 17:40:03 +00:00
dim
b2b2b31f7d Update llvm and clang binary Makefiles. 2014-11-24 19:47:59 +00:00
bapt
284b8976e3 Regenerate the manpage in mdoc(7) format using pod2mdoc
Now mandoc can render the manpage properly
2014-11-23 22:16:43 +00:00
sjg
b137080f19 Merge from head@274682 2014-11-19 01:07:58 +00:00
ngie
59d7f5e155 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
2014-08-26 09:10:28 +00:00
bdrewery
b619f0c747 Revert r267233 for now. PIE support needs to be reworked.
1. 50+% of NO_PIE use is fixed by adding -fPIC to INTERNALLIB and other
   build-only utility libraries.
2. Another 40% is fixed by generating _pic.a variants of various libraries.
3. Some of the NO_PIE use is a bit absurd as it is disabling PIE (and ASLR)
   where it never would work anyhow, such as csu or loader. This suggests
   there may be better ways of adding support to the tree. Many of these
   cases can be fixed such that -fPIE will work but there is really no
   reason to have it in those cases.
4. Some of the uses are working around hacks done to some Makefiles that are
   really building libraries but have been using bsd.prog.mk because the code
   is cleaner. Had they been using bsd.lib.mk then NO_PIE would not have
   been needed.

We likely do want to enable PIE by default (opt-out) for non-tree consumers
(such as ports). For in-tree though we probably want to only enable PIE
(opt-in) for common attack targets such as remote service daemons and setuid
utilities. This is also a great performance compromise since ASLR is expected
to reduce performance. As such it does not make sense to enable it in all
utilities such as ls(1) that have little benefit to having it enabled.

Reported by:	kib
2014-08-19 15:04:32 +00:00
sjg
d7cd1d425c Merge head from 7/28 2014-08-19 06:50:54 +00:00
brooks
ea5a037d1f Replace all uses of libncurses and libtermcap with their wide character
variants.  This allows usable file system images (i.e. those with both a
shell and an editor) to be created with only one copy of the curses library.

Exp-run:	antoine
PR:		189842
Discussed with:	bapt
Sponsored by:	DARPA, AFRL
2014-07-17 18:24:34 +00:00
bdrewery
989e2c6000 In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE.
This is currently an opt-in build flag. Once ASLR support is ready and stable
it should changed to opt-out and be enabled by default along with ASLR.

Each application Makefile uses opt-out to ensure that ASLR will be enabled by
default in new directories when the system is compiled with PIE/ASLR. [2]

Mark known build failures as NO_PIE for now.

The only known runtime failure was rtld.

[1] http://www.bsdcan.org/2014/schedule/events/452.en.html
Submitted by:		Shawn Webb <lattera@gmail.com>
Discussed between:	des@ and Shawn Webb [2]
2014-06-08 17:29:31 +00:00
sjg
ec700dd3ab Pay attention to MK_SHARED_TOOLCHAIN 2014-05-16 15:02:12 +00:00
sjg
5860f0d106 Updated dependencies 2014-05-16 14:09:51 +00:00
sjg
398922a680 Updated depends 2014-05-10 21:53:07 +00:00
imp
e6fca569b6 Eliminate EARLY_BUILD flag. It is redundant and means MK_CLANG_FULL=no
and MK_LLDB=no, so set those explicitly (now that we can do
that). Simplify tests for these variables as well, since we know they
will always be defined regardless of the phase of the build.
2014-05-10 16:38:03 +00:00
sjg
ed3fc70bf5 Merge from head 2014-05-08 23:54:15 +00:00
imp
2118f42afd Use src.opts.mk in preference to bsd.own.mk except where we need stuff
from the latter.
2014-05-06 04:22:01 +00:00
sjg
5e568154a0 Merge head 2014-04-28 07:50:45 +00:00
imp
c39e6fc2c9 NO_MAN= has been deprecated in favor of MAN= for some time, go ahead
and finish the job. ncurses is now the only Makefile in the tree that
uses it since it wasn't a simple mechanical change, and will be
addressed in a future commit.
2014-04-13 05:21:56 +00:00
dim
3c44b46e49 Enable parallel building for gnu/usr.bin and usr.bin/clang too.
MFC after:	2 weeks
X-MFC-With:	r263778
2014-03-27 20:15:33 +00:00
dim
d848195b89 Apply fix for lldb not linking after the sparc backend import.
Reported by:	se
Pointy hat to:	dim
2014-03-01 16:07:17 +00:00
dim
09b56e694e Merge from head up to r262536. 2014-02-26 22:26:40 +00:00
dim
fed0da0559 Add Makefile glue to build the Sparc backend libraries and link them
into the clang executable.
2014-02-20 22:22:39 +00:00
emaste
503d40919d Update LLDB bmake build for r262187
Sponsored by:	DARPA, AFRL
2014-02-18 20:25:02 +00:00
emaste
810005931a 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
2014-02-17 18:50:03 +00:00
dim
a8b6bed223 Upgrade our copy of llvm/clang to 3.4 release. This version supports
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
2014-02-16 19:44:07 +00:00
dim
e55c003490 Enable llvm's integrated assembler for PowerPC, since it should now be
good enough for typical usage.

Requested by:	rdivacky
MFC after:	1 week
2013-12-16 18:45:21 +00:00
sjg
7fcd33c1fa Merge head@256284 2013-10-13 02:35:19 +00:00