#
1.12 |
|
01-Apr-2024 |
riastradh |
elftoolchain: Be consistent about which ELF header files we use.
1. For tools that use elftoolchain: always use elftoolchain's elfdefinitions.h. Don't even think about looking at the host's sys/exec_elf.h, which makes no sense and should never happen.
(ELF tools that don't use elftoolchain, like m68k-elf2coff, continue to use nbincludes/sys/exec_elf.h. But no more nbincludes hacks in elftoolchain.)
2. For kernel components (solaris, zfs, dtrace): always use sys/exec_elf.h, even in Solaris components via sys/elf.h. elfdefinitions.h is not wired up in the kernel build at all.
3. For most userland components that involve libelf: use elfdefinitions.h via libelf header files (libelf.h, gelf.h).
libdtrace in particular requires _all_ R_* reloc type definitions, but sys/exec_elf.h brings in only the _current machine's_ R_* reloc type definitions. (While here: Use uintptr_t instead of Elf_Addr for pointer-to-integer cast, since Elf_Addr is MD and provided only by sys/exec_elf.h, not by elfdefinitions.h.)
And most userland components using libelf don't rely on any properties of the current machine from sys/exec_elf.h, so they can use libelf's elfdefinition.h.
Exceptions:
- dtrace drti.c relies on link.h -> link_elf.h -> sys/exec_elf.h, but it also relies on sys/dtrace.h -> sys/elf.h -> elfdefinitions.h like other userland components using sys/elf.h.
- kdump-ioctl.c uses sys/exec_elf.h directly and sys/dtrace.h -> sys/elf.h -> elfdefinitions like other userland components using sys/elf.h.
- t_ptrace_wait.c (via t_ptrace_core_wait.h) uses libelf to parse core files, but relies on sys/exec_elf.h for struct netbsd_elfcore_procinfo.
None of these exceptions needs all R_* reloc type definitions, so as a workaround, we can just suppress libelf's elfdefinitions.h by defining _SYS_ELFDEFINITIONS_H_ and use sys/exec_elf.h in these exceptions.
And undo the whole BUILTIN_ELF_HEADERS mistake. This was:
- half bogus workarounds for missing build_install dependencies in tools/Makefile, which are no longer missing now, and - half futile attempt to use src/sys/sys/exec_elf.h via nbincludes in tools involving libelf instead of libelf's elfdefinitions.h, which collides.
Longer-term, we may wish to unify sys/exec_elf.h and libelf's elfdefinitions.h, so we don't have to play these games.
But at least now the games are limited to three .c files (one of which is generated by Makefile.ioctl-c), rather than haphazardly applied tree-wide by monstrous kludges in widely used .h files with broken hackarounds to get the tools build lurching to completion.
|
Revision tags: netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
#
1.11 |
|
18-Apr-2022 |
jkoshy |
Update 'tools/ctf{merge,convert}' to use the new build locations for 'libelf' and 'libdwarf'.
|
Revision tags: netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502
|
#
1.10 |
|
01-May-2018 |
christos |
Create a new bsd.hostinit.mk file and put the build definitions for all host programs there; make all Makefiles that use bsd.hostprog.mk include it. Namely turn off MKREPRO and don't make lint, man pages, info files etc. Remove the Makefile.inc files that contained these same settings, and remove the settings from Makefile.host
|
#
1.9 |
|
01-May-2018 |
christos |
Centralize NOMAN handling.
|
#
1.8 |
|
01-May-2018 |
christos |
PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might not support the necessary options. This is done thusly:
1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that use it and don't include bsd.own.mk. 2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc first. This will also allow us to control other tools options from a single location if we need to.
XXX: pullup-8
|
Revision tags: pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.7 |
|
27-Jan-2016 |
christos |
branches: 1.7.8; 1.7.14; use HOST_CFLAGS for -pthread
|
#
1.6 |
|
27-Jan-2016 |
christos |
use -pthread for more portability
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
|
#
1.5 |
|
09-Mar-2014 |
christos |
switch to the new libelf and libdwarf
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
|
#
1.4 |
|
27-Jan-2013 |
riastradh |
Set NOMAN before including <bsd.own.mk> to really fix PR 47500.
(Hi, christos.)
|
#
1.3 |
|
24-Jan-2013 |
christos |
Pr/47500: Henning Petersen: Don't install man pages for tools
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
#
1.2 |
|
19-Jun-2010 |
riz |
branches: 1.2.6; 1.2.12; Rename Makefile.disklabel to Makefile.nbincludes, as this file has been used by more than disklabel for years. New name suggestion from mrg@ .
|
#
1.1 |
|
24-Feb-2010 |
darran |
DTrace: add CTF tools to the toolchain (not built yet).
|
#
1.11 |
|
18-Apr-2022 |
jkoshy |
Update 'tools/ctf{merge,convert}' to use the new build locations for 'libelf' and 'libdwarf'.
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502
|
#
1.10 |
|
01-May-2018 |
christos |
Create a new bsd.hostinit.mk file and put the build definitions for all host programs there; make all Makefiles that use bsd.hostprog.mk include it. Namely turn off MKREPRO and don't make lint, man pages, info files etc. Remove the Makefile.inc files that contained these same settings, and remove the settings from Makefile.host
|
#
1.9 |
|
01-May-2018 |
christos |
Centralize NOMAN handling.
|
#
1.8 |
|
01-May-2018 |
christos |
PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might not support the necessary options. This is done thusly:
1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that use it and don't include bsd.own.mk. 2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc first. This will also allow us to control other tools options from a single location if we need to.
XXX: pullup-8
|
Revision tags: pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.7 |
|
27-Jan-2016 |
christos |
branches: 1.7.8; 1.7.14; use HOST_CFLAGS for -pthread
|
#
1.6 |
|
27-Jan-2016 |
christos |
use -pthread for more portability
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
|
#
1.5 |
|
09-Mar-2014 |
christos |
switch to the new libelf and libdwarf
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
|
#
1.4 |
|
27-Jan-2013 |
riastradh |
Set NOMAN before including <bsd.own.mk> to really fix PR 47500.
(Hi, christos.)
|
#
1.3 |
|
24-Jan-2013 |
christos |
Pr/47500: Henning Petersen: Don't install man pages for tools
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
#
1.2 |
|
19-Jun-2010 |
riz |
branches: 1.2.6; 1.2.12; Rename Makefile.disklabel to Makefile.nbincludes, as this file has been used by more than disklabel for years. New name suggestion from mrg@ .
|
#
1.1 |
|
24-Feb-2010 |
darran |
DTrace: add CTF tools to the toolchain (not built yet).
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502
|
#
1.10 |
|
01-May-2018 |
christos |
Create a new bsd.hostinit.mk file and put the build definitions for all host programs there; make all Makefiles that use bsd.hostprog.mk include it. Namely turn off MKREPRO and don't make lint, man pages, info files etc. Remove the Makefile.inc files that contained these same settings, and remove the settings from Makefile.host
|
#
1.9 |
|
01-May-2018 |
christos |
Centralize NOMAN handling.
|
#
1.8 |
|
01-May-2018 |
christos |
PR/53238: Robert Elz: Disable MKREPRO in tools; the host compiler might not support the necessary options. This is done thusly:
1. Set MKREPRO=no in Makefile.host. This handles all the Makefiles that use it and don't include bsd.own.mk. 2. Create Makefile.inc and set MKREPRO=no in it. Change the Makefiles that include bsd.own.mk, to include bsd.init.mk which includes Makefile.inc first. This will also allow us to control other tools options from a single location if we need to.
XXX: pullup-8
|
Revision tags: pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.7 |
|
27-Jan-2016 |
christos |
branches: 1.7.8; 1.7.14; use HOST_CFLAGS for -pthread
|
#
1.6 |
|
27-Jan-2016 |
christos |
use -pthread for more portability
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
|
#
1.5 |
|
09-Mar-2014 |
christos |
switch to the new libelf and libdwarf
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
|
#
1.4 |
|
27-Jan-2013 |
riastradh |
Set NOMAN before including <bsd.own.mk> to really fix PR 47500.
(Hi, christos.)
|
#
1.3 |
|
24-Jan-2013 |
christos |
Pr/47500: Henning Petersen: Don't install man pages for tools
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
#
1.2 |
|
19-Jun-2010 |
riz |
branches: 1.2.6; 1.2.12; Rename Makefile.disklabel to Makefile.nbincludes, as this file has been used by more than disklabel for years. New name suggestion from mrg@ .
|
#
1.1 |
|
24-Feb-2010 |
darran |
DTrace: add CTF tools to the toolchain (not built yet).
|
Revision tags: pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.7 |
|
27-Jan-2016 |
christos |
use HOST_CFLAGS for -pthread
|
#
1.6 |
|
27-Jan-2016 |
christos |
use -pthread for more portability
|
Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 tls-maxphys-base
|
#
1.5 |
|
09-Mar-2014 |
christos |
switch to the new libelf and libdwarf
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
|
#
1.4 |
|
27-Jan-2013 |
riastradh |
Set NOMAN before including <bsd.own.mk> to really fix PR 47500.
(Hi, christos.)
|
#
1.3 |
|
24-Jan-2013 |
christos |
Pr/47500: Henning Petersen: Don't install man pages for tools
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
|
#
1.2 |
|
19-Jun-2010 |
riz |
branches: 1.2.6; 1.2.12; Rename Makefile.disklabel to Makefile.nbincludes, as this file has been used by more than disklabel for years. New name suggestion from mrg@ .
|
#
1.1 |
|
24-Feb-2010 |
darran |
DTrace: add CTF tools to the toolchain (not built yet).
|