summaryrefslogtreecommitdiffstats
path: root/targets
Commit message (Collapse)AuthorAgeFilesLines
* MFC r309124:dim2016-12-261-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upgrade our copies of clang, llvm, lldb, compiler-rt and libc++ to 3.9.0 release, and add lld 3.9.0. Also completely revamp the build system for clang, llvm, lldb and their related tools. Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11 support to build; see UPDATING for more information. Release notes for llvm, clang and lld are available here: <http://llvm.org/releases/3.9.0/docs/ReleaseNotes.html> <http://llvm.org/releases/3.9.0/tools/clang/docs/ReleaseNotes.html> <http://llvm.org/releases/3.9.0/tools/lld/docs/ReleaseNotes.html> Thanks to Ed Maste, Bryan Drewery, Andrew Turner, Antoine Brodin and Jan Beich for their help. Relnotes: yes MFC r309147: Pull in r282174 from upstream llvm trunk (by Krzysztof Parzyszek): [PPC] Set SP after loading data from stack frame, if no red zone is present Follow-up to r280705: Make sure that the SP is only restored after all data is loaded from the stack frame, if there is no red zone. This completes the fix for https://llvm.org/bugs/show_bug.cgi?id=26519. Differential Revision: https://reviews.llvm.org/D24466 Reported by: Mark Millard PR: 214433 MFC r309149: Pull in r283060 from upstream llvm trunk (by Hal Finkel): [PowerPC] Refactor soft-float support, and enable PPC64 soft float This change enables soft-float for PowerPC64, and also makes soft-float disable all vector instruction sets for both 32-bit and 64-bit modes. This latter part is necessary because the PPC backend canonicalizes many Altivec vector types to floating-point types, and so soft-float breaks scalarization support for many operations. Both for embedded targets and for operating-system kernels desiring soft-float support, it seems reasonable that disabling hardware floating-point also disables vector instructions (embedded targets without hardware floating point support are unlikely to have Altivec, etc. and operating system kernels desiring not to use floating-point registers to lower syscall cost are unlikely to want to use vector registers either). If someone needs this to work, we'll need to change the fact that we promote many Altivec operations to act on v4f32. To make it possible to disable Altivec when soft-float is enabled, hardware floating-point support needs to be expressed as a positive feature, like the others, and not a negative feature, because target features cannot have dependencies on the disabling of some other feature. So +soft-float has now become -hard-float. Fixes PR26970. Pull in r283061 from upstream clang trunk (by Hal Finkel): [PowerPC] Enable soft-float for PPC64, and +soft-float -> -hard-float Enable soft-float support on PPC64, as the backend now supports it. Also, the backend now uses -hard-float instead of +soft-float, so set the target features accordingly. Fixes PR26970. Reported by: Mark Millard PR: 214433 MFC r309212: Add a few missed clang 3.9.0 files to OptionalObsoleteFiles. MFC r309262: 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 Differential Revision: https://reviews.freebsd.org/D8666 MFC r309656: During the bootstrap phase, when building the minimal llvm library on PowerPC, add lib/Support/Atomic.cpp. This is needed because upstream llvm revision r271821 disabled the use of std::call_once, which causes some fallback functions from Atomic.cpp to be used instead. Reported by: Mark Millard PR: 214902 MFC r309835: Tentatively apply https://reviews.llvm.org/D18730 to work around gcc PR 70528 (bogus error: constructor required before non-static data member). This should fix buildworld with the external gcc package. Reported by: https://jenkins.freebsd.org/job/FreeBSD_HEAD_amd64_gcc/ MFC r310194: Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ to 3.9.1 release. Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11 support to build; see UPDATING for more information. Release notes for llvm, clang and lld will be available here: <http://releases.llvm.org/3.9.1/docs/ReleaseNotes.html> <http://releases.llvm.org/3.9.1/tools/clang/docs/ReleaseNotes.html> <http://releases.llvm.org/3.9.1/tools/lld/docs/ReleaseNotes.html> Relnotes: yes
* MFC r306261:kib2016-09-301-0/+1
| | | | | | | Add proccontrol(1). MFC r306281 (by bdrewery): DIRDEPS_BUILD: Connect new directories.
* Add clang-format under WITH_CLANG_EXTRAS.bdrewery2016-06-171-0/+1
| | | | | | | Reviewed by: dim Approved by: re (gjb) Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D6856
* DIRDEPS_BUILD: Fix bootstrap-tools not handling CCACHE_DIR properly.bdrewery2016-06-051-0/+3
| | | | | | | CCACHE_DIR needs to be resolved to its full path before processing legacy.meta or meta mode may see the change to the stats file. Sponsored by: EMC / Isilon Storage Division
* DIRDEPS_BUILD: Connect new directories and update dependencies.bdrewery2016-06-034-0/+22
| | | | Sponsored by: EMC / Isilon Storage Division
* DIRDEPS_BUILD: Fix and hookup rescue/rescue to the build.bdrewery2016-05-261-0/+1
| | | | Sponsored by: EMC / Isilon Storage Division
* DIRDEPS_BUILD: Build the kernel in the same place as buildkernel would.bdrewery2016-05-261-1/+1
| | | | Sponsored by: EMC / Isilon Storage Division
* WITH_META_MODE: Move the kernel support to kern.pre.mk.bdrewery2016-05-261-3/+1
| | | | | | | This allows using META_MODE directly from the kernel build directory. This also allows removing a hack from the DIRDEPS_BUILD kernel target. Sponsored by: EMC / Isilon Storage Division
* targets/Makefile: fix a typo (derrived -> derived).avos2016-05-181-1/+1
|
* Simplify building libpam and fix libpam.a not containing the modules since ↵bdrewery2016-04-141-0/+1
| | | | | | | | | | | | | | | | r284345. The change in r284345 moved the creation of openpam_static_modules.o to lib/libpam/static_modules but never managed to get them into libpam.a. Move this logic to lib/libpam/static_libpam and have it create a static library for libpam.a The main lib/libpam/libpam will only create a shared library. No redundancy in compilation or installation exists in this solution. This avoids requiring a pass with -D_NO_LIBPAM_SO_YET. Sponsored by: EMC / Isilon Storage Division
* hosttools: Trim unneeded directories.bdrewery2016-03-311-8/+1
| | | | | | | | These should only be build tools that are in various Makefile.depend as host dependencies. Anything toolchain related is handled by toolchain and bootstrap-tools currently. Sponsored by: EMC / Isilon Storage Division
* show-valid-targets: Indent each target 2 spaces.bdrewery2016-03-301-2/+2
| | | | Sponsored by: EMC / Isilon Storage Division
* show-valid-targets: Organize all targets by the all_machine_list.bdrewery2016-03-301-9/+13
| | | | Sponsored by: EMC / Isilon Storage Division
* Move hosttools to Makefile.depend.host so it shows under host targets in ↵bdrewery2016-03-302-36/+38
| | | | | | show-valid-targets. Sponsored by: EMC / Isilon Storage Division
* show-valid-targets: Show host targets and also order all of the targets.bdrewery2016-03-301-2/+11
| | | | Sponsored by: EMC / Isilon Storage Division
* DIRDEPS_BUILD: Update dependencies.bdrewery2016-03-211-0/+1
| | | | Sponsored by: EMC / Isilon Storage Division
* META_MODE: Simplify the META_COOKIE handling to use .USE/.USEBEFORE.bdrewery2016-03-113-8/+4
| | | | | | | Extend it to other cases of meta mode cookies so they get the proper rm cookie behavior when a .meta file detects it needs to rebuild and fails. Sponsored by: EMC / Isilon Storage Division
* DIRDEPS_BUILD: Fix staging of share/sendmail and share/examples.bdrewery2016-03-111-0/+1
| | | | Sponsored by: EMC / Isilon Storage Division
* DIRDEPS_BUILD: Connect MK_TESTS.bdrewery2016-03-093-0/+346
| | | | Sponsored by: EMC / Isilon Storage Division
* DIRDEPS_BUILD: Update clang dependencies after r296417.bdrewery2016-03-082-3/+2
| | | | Sponsored by: EMC / Isilon Storage Division
* DIRDEPS_BUILD: Connect ofed.bdrewery2016-03-042-0/+38
| | | | Sponsored by: EMC / Isilon Storage Division
* Update dependencies.bdrewery2016-02-262-2/+5
| | | | Sponsored by: EMC / Isilon Storage Division
* Follow-up r295991: Only allow 'make destroy*' to include bsd.obj.mk.bdrewery2016-02-261-0/+2
| | | | Sponsored by: EMC / Isilon Storage Division
* Convert casperd(8) daemon to the libcasper.oshogbo2016-02-253-10/+11
| | | | | | | | | | | | | | | | | | | | After calling the cap_init(3) function Casper will fork from it's original process, using pdfork(2). Forking from a process has a lot of advantages: 1. We have the same cwd as the original process. 2. The same uid, gid and groups. 3. The same MAC labels. 4. The same descriptor table. 5. The same routing table. 6. The same umask. 7. The same cpuset(1). From now services are also in form of libraries. We also removed libcapsicum at all and converts existing program using Casper to new architecture. Discussed with: pjd, jonathan, ed, drysdale@google.com, emaste Partially reviewed by: drysdale@google.com, bdrewery Approved by: pjd (mentor) Differential Revision: https://reviews.freebsd.org/D4277
* DIRDEPS_BUILD: Allow destroy-(arch|host|stage) from top-level.bdrewery2016-02-241-0/+3
| | | | Sponsored by: EMC / Isilon Storage Division
* DIRDEPS_BUILD: Allow 'make destroy*' to work from top-level.bdrewery2016-02-241-0/+1
| | | | Sponsored by: EMC / Isilon Storage Division
* FAST_DEPEND: Skip 'make depend' for buildworld and kernel since it is ↵bdrewery2016-02-241-1/+0
| | | | | | auto-ran now. Sponsored by: EMC / Isilon Storage Division
* DIRDEPS_BUILD: Add some missing build dependencies for kerberos5.bdrewery2016-02-241-0/+11
| | | | Sponsored by: EMC / Isilon Storage Division
* Obsolete mkulzma(8) and geom_uncompress(4), their functionalitysobomax2016-02-241-1/+0
| | | | | | is now provided by mkuzip(8) and geom_uzip(4) respectively. MFC after: 1 month
* DIRDEPS_BUILD: Hookup CLANG_EXTRAS.bdrewery2016-02-161-0/+28
| | | | Sponsored by: EMC / Isilon Storage Division
* DIRDEPS_BUILD: Update dependencies.bdrewery2016-02-161-0/+2
| | | | Sponsored by: EMC / Isilon Storage Division
* Restore kgzldr on i386 onlyemaste2016-02-081-0/+1
| | | | | | | | | | | | I previously disconnected kgzdr based on a misunderstanding. I'd still like to transition to supporting only the loader(8)-based boot path for handling compressed kernels, but that can follow the standard deprecation procedure. This reverts r291113. Requested by: dteske
* Add in DIRDEPS_BUILD support.bdrewery2016-01-071-0/+1
| | | | Sponsored by: EMC / Isilon Storage Division
* local.meta.sys.mk already defines TARGET_ARCHES_armbdrewery2015-12-081-2/+0
|
* Garbage collect removed directories.bdrewery2015-12-071-2/+0
| | | | Sponsored by: EMC / Isilon Storage Division
* rescue/rescue does not yet build in meta mode.bdrewery2015-12-031-1/+0
|
* DIRDEPS_BUILD: Connect usr.sbin/camddbdrewery2015-12-031-0/+1
| | | | Sponsored by: EMC / Isilon Storage Division
* META MODE: Connect MK_NAND directories.bdrewery2015-12-022-0/+13
| | | | Sponsored by: EMC / Isilon Storage Division
* Fully connect cddl/usr.sbin/plockstat.bdrewery2015-12-021-0/+1
| | | | | | | | There seems to be no reason to keep this so private. Also add missing optional MK_CDDL files. Sponsored by: EMC / Isilon Storage Division
* META MODE: Update dependencies with 'the-lot' and add missing directories.bdrewery2015-12-017-39/+239
| | | | | | | | | | | | | | This is not properly respecting WITHOUT or ARCH dependencies in target/. Doing so requires a massive effort to rework targets/ to do so. A better approach will be to either include the SUBDIR Makefiles directly and map to DIRDEPS or just dynamically lookup the SUBDIR. These lose the benefit of having a userland/lib, userland/libexec, etc, though and results in a massive package. The current implementation of targets/ is very unmaintainable. Currently rescue/rescue and sys/modules are still not connected. Sponsored by: EMC / Isilon Storage Division
* META MODE: Fix userland/cddl.bdrewery2015-12-011-7/+4
| | | | | | | MK_CTF controls whether ctfmerge is ran against the binaries, not whether CTF tools should be built. Sponsored by: EMC / Isilon Storage Division
* META MODE: Rework [bootstrapped] tools PATH support.bdrewery2015-12-011-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Support more of the toolchain from TOOLSDIR. - This also improves 'make bootstrap-tools' to pass, for example, AS=/usr/bin/as to Makefile.inc1, which will tell cross-tools to use external toolchain support and avoid building things we won't be using in the build. - Always set the PATH to contain the staged TOOLSDIR directories when not building the bootstrap targets. The previous version was only setting this at MAKE.LEVEL==0 and if the TOOLSDIR existed. Both of these prevented using staged tools that were built during the build though as DIRDEPS with .host dependencies, such as the fix for needing usr.bin/localedef.host in r291311. This is not a common tool so we must build and use it during the build, and need to be prepared to change PATH as soon as it appears. This should also fix the issue of host dependencies disappearing from Makefile.depend and then reappearing due to the start of the fresh build not having the directory yet, resulting in the tools that were built not actually being used. - Only use LEGACY_TOOLS while building in Makefile.inc1. After r291317 and r291546 there is no need to add LEGACY_TOOLS into the PATH for the pseudo/targets/toolchain build. - Because the pseudo/targets/toolchain will now build its own [clang-]tblgen, the special logic in clang.build.mk is no longer needed. - LEGACY_TOOLS is no longer used outside of targets/pseudo/bootstrap-tools so is no longer passed into the environment in its build. Sponsored by: EMC / Isilon Storage Division
* META MODE: For bootstrap-tools, don't let Makefile.inc1 build any of thebdrewery2015-12-011-1/+3
| | | | | | | | | | toolchain. This change prevents building of [clang-]tblgen, which is unneeded due to already being a host dependency where needed for targets/pseudo/toolchain. Sponsored by: EMC / Isilon Storage Division
* META MODE: Fix bootstrap-tools after r291349.bdrewery2015-11-301-2/+5
| | | | | | | | | Now that OBJTOP is assumed to be proper, it needs to be overridden for the bootstrap-tools phase to ensure it is not kept as the top-level OBJTOP. Otherwise the libraries were not found during the bootstrap-tools phase. Sponsored by: EMC / Isilon Storage Division
* META MODE: Fix 'make bootstrap-tools'.bdrewery2015-11-252-28/+10
| | | | | | | | | | | | | | | The main problem was bitrot after elftoolchain being swapped in for the GNU toolchain. This also reworks how the list of 'host allowed' libraries is determined to only allow INTERNALLIBs, which is needed for libelftc to come in. For usr.bin/readelf use the same hack, as libelf and libdward, to bring in the needed sys/ headers for host builds. This has not yet been a problem due to readelf not being built as a host tool in buildworld. This is possible in the meta build though when building the toolchain. Sponsored by: EMC / Isilon Storage Division
* META MODE: Add more hosttools needed pre-universe.bdrewery2015-11-251-0/+2
| | | | Sponsored by: EMC / Isilon Storage Division
* META MODE: Need to include the LEGACY_TOOLS directories into PATH.bdrewery2015-11-251-1/+2
| | | | | | | | This is just as Makefile.inc1 does it for these phases. Otherwise some of the build tools are not found and used properly, such as 'make-roken' in the kerberos5 build on older releases. Sponsored by: EMC / Isilon Storage Division
* META MODE: Fix 'make the-lot' with recent locale changesbdrewery2015-11-252-0/+2
| | | | Sponsored by: EMC / Isilon Storage Division
* META MODE: Avoid creating TESTS directories for bootstrap.bdrewery2015-11-251-1/+1
| | | | Sponsored by: EMC / Isilon Storage Division
* META MODE: Don't override DESTDIR to the default when building the toolchain.bdrewery2015-11-251-1/+1
| | | | | | | | | | | | For this case, the normal META MODE staging logic should be used. The BSARGS having DESTDIR= is due to Makefile.inc1 overriding DESTDIR to something when appropriate. For the toolchain stage META MODE is in charge of it, not Makefile.inc1. At least include/, if staging it to the host stagedir, was impacted from this. Staging of include.host is not yet done. Sponsored by: EMC / Isilon Storage Division
OpenPOWER on IntegriCloud