Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2 |
|
#
d8170990 |
| 25-May-2018 |
zrj <rimvydas.jasinskas@gmail.com> |
buildworld: Add support to skip toolchain if requested.
These two new features are mainly aimed at developers, to speed up their rebuilds on development branches. Often there are no changes that wou
buildworld: Add support to skip toolchain if requested.
These two new features are mainly aimed at developers, to speed up their rebuilds on development branches. Often there are no changes that would influence the toolchain components in any way. So it is reasonable to skip rebuild of certain parts (mostly to avoid building c++ sources).
Previously we were rebuilding both main and alternative compilers twice during buildworld for a full bootstrap that allowed us to avoid certain breakages and not to keep adding lots of backwards compatibility hacks.
The new additions: * -DNO_CROSSTOOLS - skip compiler and binutils bootstrap; * -DNO_TOOLCHAINS - do not build compilers/binutils for installworld.
Both features are aimed for testing DESTDIR targets. Decision to activate any of these features is left to the user's own discretion based on reviewing the commits to the git repository or local clone.
The NO_CROSSTOOLS feature is implemented by installing the shell script wrappers that add a sysroot and patch the specs. Idea is not to disturb in any way the Makefile.inc1 or objformat logic at this moment. Since all the main toolchain tools are installed as shell scripts this has a nice bonus for quick hooks/probes and other hacky/pretty stuff without disturbing the rest of the buildworld. You can even add your favorite static analyser tool, just don't forget to change default include path to /usr/obj/../world_x86_64/usr/include for it.
The objformat changes for sysroot would only make sense when we make a port for another architecture. None of the new features are considered to be guessTM enabled automatically at this moment. To be sure that nothing has changed since previous buildworld from other changes in the source tree one would have to compile and hex-diff the final products. Keep in mind that libraries coming with the compilers will be rebuilt even with both knobs passed. This should help catching most of the issues before installworld step and not on the next {build,quick}world.
Both knobs are not documented in make.conf(5) on purpose. It is highly advised *not* adding any of these knobs into make.conf, sooner or later you will forget it and *will* get yourself in world recovery situation: a) world backup machinery (unless you had NO_BACKUP=true in make.conf); b) perform manual bootstrap to fix up the breakage; c) restore from H1/H2 snapshots (toolchain components are located in /usr/libexec/* and /usr/lib/${CCVER}/ directories); d) clean overwrite by mounting from other system (like usb img stick).
Features should work with quickworld too. To put things in perspective here is a little chart of the cleaned fresh 'make -jX buildworld' times impact on few setups:
netbook: hw.model: Intel(R) Core(TM) i3 CPU U380 @ 1.33GHz compiler: gcc50 as cc(1) (4gb usb stick for /, ironlake cpu) make -j3 buildworld [-DNO_CROSSTOOLS] [-DNO_TOOLCHAIN]
min:sec | STANDARD | NO_C | NO_T | NO_C/NO_T | ---------------------------------------------------------------- gcc50 | 73:56 | 59:57 | 54:11 | 39:38 | gcc47 (host+world)| N/I | N/I | N/I | 37:51 | ----------------------------------------------------------------
laptop setup: hw.model: Intel(R) Core(TM) i7-4712MQ CPU @ 2.30GHz compiler: gcc50 as cc(1) (default) make -j9 buildworld [-DNO_CROSSTOOLS] [-DNO_TOOLCHAIN]
min:sec | STANDARD | NO_C | NO_T | NO_C/NO_T | ---------------------------------------------------------------- gcc50 | 17:06 | 13:57 | 12:58 | 09:42 | gcc50 gcc47 (def) | 20:18 | 16:03 | 14:58 | 10:37 | gcc50 gcc80 | 24:24 | 18:06 | 17:31 | 11:23 | gcc50 gcc47 gcc80 | 27:47 | 20:17 | 19:23 | 12:00 | ----------------------------------------------------------------
blade setup: dual hw.model: Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz compiler: gcc80 as cc(1) (soon gcc80 will replace gcc50 in master) make -j32 buildworld [-DNO_CROSSTOOLS] [-DNO_TOOLCHAIN]
min:sec | STANDARD | NO_C | NO_T | NO_C/NO_T | ---------------------------------------------------------------- gcc80 | 06:58 | 05:19 | 05:33 | 03:51 | gcc80 gcc47 (def*)| 08:03 | 06:06 | 06:02 | 04:05 | gcc80 gcc50 | 08:23 | 06:12 | 06:19 | 04:08 | gcc80 gcc47 gcc50 | 09:24 | 06:59 | 06:51 | 04:21 | ----------------------------------------------------------------
show more ...
|
Revision tags: v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0 |
|
#
c33252af |
| 05-Oct-2013 |
John Marino <draco@marino.st> |
gdb(1), kgdb(1): Makefile framework updates for version 7.6.1
The updates for gdb(1) were straight-forwards and mainly consisted of header updates although the gnu internal library is new, as well a
gdb(1), kgdb(1): Makefile framework updates for version 7.6.1
The updates for gdb(1) were straight-forwards and mainly consisted of header updates although the gnu internal library is new, as well as a new function for libiberty. The main work was getting kgdb(1) to work with libgdb. As is typically, a lot of internal changes occurred withing gdb that rendered kgdb broken (and unbuildable). After much angst, kgdb works with gdb 7.6.1.
show more ...
|
Revision tags: v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3 |
|
#
8f0e742e |
| 15-May-2012 |
John Marino <draco@marino.st> |
gdb: Fix gdb -tui mode
The gdbtui (aka gdb -tui) mode has been nonfunctional for a long time due to the replacement of readline with libedit. After speaking with Cristos Zoulas, it was confirmed th
gdb: Fix gdb -tui mode
The gdbtui (aka gdb -tui) mode has been nonfunctional for a long time due to the replacement of readline with libedit. After speaking with Cristos Zoulas, it was confirmed that libedit can't support gdbtui now and is not envisioned to support it in the future.
The tui mode is fixed by building the readline library internally and linking against that instead of libedit.
The README files were updated to reflected additional imported sources for readline and the removal of libedit-caused local modications to tui-io.c file.
show more ...
|
Revision tags: v3.0.2, v3.0.1, v3.1.0, v3.0.0 |
|
#
86d7f5d3 |
| 26-Nov-2011 |
John Marino <draco@marino.st> |
Initial import of binutils 2.22 on the new vendor branch
Future versions of binutils will also reside on this branch rather than continuing to create new binutils branches for each new version.
|
Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0 |
|
#
f17ea84b |
| 19-Oct-2009 |
Simon Schubert <corecode@dragonflybsd.org> |
gdb: update build infrastructure for gdb-7
|
Revision tags: v2.5.1, v2.4.1, v2.5.0, v2.4.0, v2.3.2, v2.3.1, v2.2.1, v2.2.0, v2.3.0, v2.1.1, v2.0.1 |
|
#
0c3d4888 |
| 14-Jan-2008 |
Simon Schubert <corecode@dragonflybsd.org> |
Switch to gdb-6.7.1
|
#
8b6a428f |
| 07-Mar-2006 |
Simon Schubert <corecode@dragonflybsd.org> |
Switch to building a libgdb and both gdb and kgdb.
Gdb -k doesn't work anymore and was replaced by kgdb, which was imported in large parts from FreeBSD.
Add a kernel variable indicating with thread
Switch to building a libgdb and both gdb and kgdb.
Gdb -k doesn't work anymore and was replaced by kgdb, which was imported in large parts from FreeBSD.
Add a kernel variable indicating with thread is dumping.
show more ...
|
#
b6fca148 |
| 23-Oct-2004 |
Joerg Sonnenberger <joerg@dragonflybsd.org> |
Build framework for GDB 6.2.1.
|