aboutsummaryrefslogtreecommitdiff
path: root/gnu
Commit message (Collapse)AuthorAgeFilesLines
* Add support to libkvm for reading vmcores from other architectures.John Baldwin2015-11-273-29/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add a kvaddr_type to represent kernel virtual addresses instead of unsigned long. - Add a struct kvm_nlist which is a stripped down version of struct nlist that uses kvaddr_t for n_value. - Add a kvm_native() routine that returns true if an open kvm descriptor is for a native kernel and memory image. - Add a kvm_open2() function similar to kvm_openfiles(). It drops the unused 'swapfile' argument and adds a new function pointer argument for a symbol resolving function. Native kernels still use _fdnlist() from libc to resolve symbols if a resolver function is not supplied, but cross kernels require a resolver. - Add a kvm_nlist2() function similar to kvm_nlist() except that it uses struct kvm_nlist instead of struct nlist. - Add a kvm_read2() function similar to kvm_read() except that it uses kvaddr_t instead of unsigned long for the kernel virtual address. - Add a new kvm_arch switch of routines needed by a vmcore backend. Each backend is responsible for implementing kvm_read2() for a given vmcore format. - Use libelf to read headers from ELF kernels and cores (except for powerpc cores). - Add internal helper routines for the common page offset hash table used by the minidump backends. - Port all of the existing kvm backends to implement a kvm_arch switch and to be cross-friendly by using private constants instead of ones that vary by platform (e.g. PAGE_SIZE). Static assertions are present when a given backend is compiled natively to ensure the private constants match the real ones. - Enable all of the existing vmcore backends on all platforms. This means that libkvm on any platform should be able to perform KVA translation and read data from a vmcore of any platform. Tested on: amd64, i386, sparc64 (marius) Differential Revision: https://reviews.freebsd.org/D3341 Notes: svn path=/head/; revision=291406
* Use LIBEXECDIR for /usr/libexec.Bryan Drewery2015-11-262-2/+2
| | | | | | | | MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291348
* Replace DPSRCS that work fine in SRCS.Bryan Drewery2015-11-251-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is so that 'make depend' is not a required build step in these files. DPSRCS is overall unneeded. DPSRCS already contains SRCS, so anything which can safely be in SRCS should be. DPSRCS is mostly just a way to generate files that should not be linked into the final PROG/LIB. For headers and grammars it is safe for them to be in SRCS since they will be excluded during linking and installation. The only remaining uses of DPSRCS are for generating .c or .o files that must be built before 'make depend' can run 'mkdep' on the SRCS c files list. A semi-proper example is in tests/sys/kern/acct/Makefile where a checked-in .c file has an #include on a generated .c file. The generated .c file should not be linked into the final PROG though since it is #include'd. The more proper way here is just to build/link it in though without DPSRCS. Another example is in sys/modules/linux/Makefile where a shell script runs to parse a DPSRCS .o file that should not be linked into the module. Beyond those, the need for DPSRCS is largely unneeded, redundant, and forces 'make depend' to be ran. Generally, these Makefiles should avoid the need for DPSRCS and define proper dependencies for their files as well. An example of an improper usage and why this matters is in usr.bin/netstat. nl_defs.h was only in DPSRCS and so was not generated during 'make all', but only during 'make depend'. The files including it lacked proper depenencies on it, which forced running 'make depend' to workaround that bug. The 'make depend' target should mostly be used for incremental build help, not to produce a working build. This specific example was broken in the meta build until r287905 since it does not run 'make depend'. The gnu/lib/libreadline/readline case is fine since bsd.lib.mk has 'OBJS: SRCS:M*.h' when there is no .depend file. Sponsored by: EMC / Isilon Storage Division MFC after: 1 week Notes: svn path=/head/; revision=291330
* META MODE: Don't create .meta files when symlinking sources into the obj ↵Bryan Drewery2015-11-255-9/+9
| | | | | | | | | | | | | | directory. Tracking these leads to situations where meta mode will consider the file to be out of date if /bin/sh or /bin/ln are newer than the source file. There's no reason for meta mode to do this as make is already handling the rebuild dependency fine. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291320
* META MODE: Prefer INSTALL=tools/install.sh to lessen the need for xinstall.host.Bryan Drewery2015-11-256-6/+0
| | | | | | | | | | | This both avoids some dependencies on xinstall.host and allows bootstrapping on older releases to work due to lack of at least 'install -l' support. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291307
* Fix ld not respecting --sysroot.Bryan Drewery2015-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | ld(1) uses the /usr/libdata/ldscripts when linking. These scripts add in the default search paths of /lib and /usr/lib via 'SEARCH_DIR("DIR")'. These need to be prefixed by '=' so that the --sysroot flag is respected. This is not a problem with buildworld since the TOOLS_PREFIX is baked into the cross-ld. However it is a problem when trying to use ld(1) with --sysroot anywhere else as it ends up still reading /lib and /usr/lib despite --sysroot. The default --sysroot (TARGET_SYSTEM_ROOT) is '/' for /usr/bin/ld. I found this while building with META MODE with uses only --sysroot with /usr/bin/ld, and found that libraries that I had not built in its sysroot directory were leaking in. This didn't happen with ports binutils either. This would also impact external compiler support. Reviewed by: bapt, brooks MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D4262 Notes: svn path=/head/; revision=291226
* Include "system.h" for isdir() prototype.Craig Rodrigues2015-11-041-0/+1
| | | | | | | | Submitted by: bofh Differential Revision: https://reviews.freebsd.org/D2711 Notes: svn path=/head/; revision=290350
* Use PCB/LR from PCB rather from stack on armv7-gdbZbigniew Bodek2015-10-301-7/+3
| | | | | | | | | | | | | | The kernel dump does not store these values on the stack. Use PCB structure to resolve PC and LR properly. Submitted by: Wojciech Macek <wma@semihalf.com> Reviewed by: jhb, kib Obtained from: Semihalf Sponsored by: Juniper Networks Inc. Differential Revision: https://reviews.freebsd.org/D4013 Notes: svn path=/head/; revision=290193
* Remove disconnected xditview.Bryan Drewery2015-10-211-34/+0
| | | | Notes: svn path=/head/; revision=289670
* Avoid warning race with creating 'ldscripts' directory during build.Bryan Drewery2015-10-161-2/+1
| | | | | | | | | | | | | | | | In r204548 the 'rm -f ldscripts' was added likely due to reading the conditional as 'else it is a file'. That seems unlikely though and the more likely case is just that the directory hasn't been created yet. Because this races with ,ssother scripts, use 'mkdir -p' which is a minimal modification vs upstream to avoid the warning of 'File exists' if another script creates it first. This could replace the 'test -d' as well but then it's more unneeded change to the upstream script. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=289410
* Add more SUBDIR_PARALLEL.Bryan Drewery2015-10-155-3/+23
| | | | | | | | MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=289393
* Remove directories disconnected since r169718.Bryan Drewery2015-10-152-32/+0
| | | | | | | | MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=289379
* Refactor the test/ Makefiles after recent changes to bsd.test.mk (r289158) andEnji Cooper2015-10-124-16/+7
| | | | | | | | | | | | | | | netbsd-tests.test.mk (r289151) - Eliminate explicit OBJTOP/SRCTOP setting - Convert all ad hoc NetBSD test integration over to netbsd-tests.test.mk - Remove unnecessary TESTSDIR setting - Use SRCTOP where possible for clarity MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Divison Notes: svn path=/head/; revision=289172
* Updated dependsSimon J. Gerraty2015-10-071-0/+1
| | | | Notes: svn path=/head/; revision=288968
* Replace most of the beforeinstall: hack with FILES mechanism.Bryan Drewery2015-09-304-26/+40
| | | | | | | | | | | | | | | | This now generates the files into the OBJDIR as needed. Some of the files are installed directly from the src directory. Files which are generated from the src directory are renamed to .in to generate them and avoid colliding with the checked-in file when CURDIR=OBJDIR. The remaining beforeinstall: handling still needs to be reworked as it does not work well with staging for packaging. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288429
* When XSAVE support was added on amd64, the FPU save area was movedJohn Baldwin2015-09-291-1/+0
| | | | | | | | | | | | | | | | | | | | | | out of 'struct pcb' and into a variable-sized region after the structure. The kgdb code currently only reads the pcb. It does not read in the FPU save area but instead passes stack garbage as the FPU's saved context. Fixing this would mean determining the proper size of the area and fetching it. However, this state is not saved for running CPUs in stoppcbs[], so the callback would also have to know to ignore those pcbs. Instead, just remove the call since it is of limited usefulness. It results in kgdb reporting the state of the FPU/SIMD registers in userland, not their current values in the kernel. In particular, it does not report the correct state for any code in the kernel which does use the FPU and would report incorrect values in that case. Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D3743 Notes: svn path=/head/; revision=288371
* Remove redundant .NOPATH.Bryan Drewery2015-09-263-6/+0
| | | | | | | | | All of these are already in CLEANFILES which is added to .NOPATH in bsd.obj.mk. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288267
* Fix subdir -j build after r287983 by adding missing dependencies.Bryan Drewery2015-09-255-0/+5
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288233
* Fix emulation ldscripts not being installed since r131832.Bryan Drewery2015-09-251-1/+1
| | | | | | | | | | For example, 32bit scripts on 64bit host. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288230
* META_MODE: Remove DEP_MACHINE from Makefile.depend files.Bryan Drewery2015-09-255-10/+0
| | | | | | | | | This has not been needed since r246865 in projects/bmake. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288228
* META_MODE: Remove DEP_RELDIR from Makefile.depend files.Bryan Drewery2015-09-2517-34/+0
| | | | | | | | | This has not been needed since r284171 in projects/bmake. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288226
* Add missing CLEANFILES.Bryan Drewery2015-09-241-0/+2
| | | | | | | | MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288199
* Fix installation of 32bit libraries after r288074.Bryan Drewery2015-09-211-0/+2
| | | | | | | | | | | | | | FILES is not used when LIBRARIES_ONLY is set, which is used to build and install the lib32 sysroot. All of the csu files do quality as "libraries" for this case so just undefine LIBRARIES_ONLY. This is still better than the previous realinstall handling as it does not hook into META_MODE properly. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288076
* Use SHAREOWN/SHAREMODE/SHAREGRP rather than LIB* as these are plain ASCIIBryan Drewery2015-09-211-3/+0
| | | | | | | | | | | scripts that the linker can load rather than binary library objects. Effectively no change. Suggested by: hrs Notes: svn path=/head/; revision=288075
* Replace realinstall: and META_MODE staging hacks with FILES mechanism.Bryan Drewery2015-09-211-14/+6
| | | | | | | | | | | | | This partially reverts r270170 for lib/csu/i386 while retaining the change for using bsd.lib.mk. These FILES groups could go into lib/csu/Makefile.inc but I've kept them in the Makefiles for clarity. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=288074
* Replace afterinstall: hack with FILES mechanism.Bryan Drewery2015-09-191-4/+6
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=287983
* Replace beforeinstall: handling with FILES.Bryan Drewery2015-09-181-4/+2
| | | | | | | | | This actually fixes some cases to respect LIBRARIES_ONLY. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=287980
* Remove .WAIT hacks and put in specific dependencies.Warner Losh2015-08-281-2/+5
| | | | Notes: svn path=/head/; revision=287262
* Add another .WAIT since sometimes we lose the race.Warner Losh2015-08-281-0/+1
| | | | Notes: svn path=/head/; revision=287241
* Drop a .WAIT into the list. Items later in the list than this dependWarner Losh2015-08-261-0/+6
| | | | | | | on items earlier. Enable parallel builds. Notes: svn path=/head/; revision=287150
* Roll WITHOUT_ELFTOOLCHAIN_TOOLS into WITHOUT_TOOLCHAINEd Maste2015-08-131-1/+1
| | | | | | | | | | | | | | The option was added only to ease the transition from GNU Binutils to ELF Tool Chain tools, and that process is now complete (for the viable replacements). Noting the removal in UPDATING is sufficient as we have not shipped a release with the option. Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3240 Notes: svn path=/head/; revision=286730
* Remove old GNU Binutils tools now provided by ELF Tool ChainEd Maste2015-08-0524-2336/+0
| | | | | | | | | Reviewed by: bapt, brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3238 Notes: svn path=/head/; revision=286332
* Allow ELF Tool Chain elfcopy to be installed as objcopyEd Maste2015-07-291-1/+4
| | | | | | | | | | | | | | | | ELF Tool Chain elfcopy is nearly a drop-in replacement for GNU objcopy, but does not currently support PE output which is needed for building x86 UEFI bits. Add a src.conf knob to allow installing it as objcopy and set it by default for aarch64 only, where we don't have a native binutils. Reviewed by: bapt Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D2887 Notes: svn path=/head/; revision=286030
* Replace GNU RCS ident with a BSD license identBaptiste Daroussin2015-07-265-480/+3
| | | | | | | | | | | | | | | | | | | | | | | Rationale: ident(1) is useful out of RCS, lot of scripts are using ident(1) and failing when base is built WITHOUT_RCS. This version is: - fully compatible with RCS 5.7 ident. - fully compatible with RCS 5.9 ident. - passes all ident test from GNU RCS 5.9 test suite This version has support for: svn extension for the Keyword id (double colon and # before last $) Différences with GNU RCS ident: - no long options as found in GNU RCS 5.9 (but not commented there). - '-V' reports nothing but has been added for compatibility. Differential Revision: https://reviews.freebsd.org/D3200 Reviewed by: pfg Notes: svn path=/head/; revision=285890
* - Record dependencies of gdb/gdbtui/kgdb on binutils/lib{bfd,iberty,opcodes},Marius Strobl2015-07-192-4/+7
| | | | | | | | | | | fixing parallel builds. - Don't build gdb/gdbtui/kgdb or libreadline when MK_BINUTILS is "no" for obvious reasons. MFC after: 3 days Notes: svn path=/head/; revision=285684
* Use single instance of the identical INKERNEL() and PMC_IN_KERNEL()Konstantin Belousov2015-07-021-3/+3
| | | | | | | | | | | | | | | | macros on amd64 and i386. Move the definition to machine/param.h. kgdb defines INKERNEL() too, the conflict is resolved by renaming kgdb version to PINKERNEL(). On i386, correct the lowest kernel address. After the shared page was introduced, USRSTACK no longer points to the last user address + 1 [*] Submitted by: Oliver Pinter [*] Sponsored by: The FreeBSD Foundation MFC after: 1 week Notes: svn path=/head/; revision=285041
* new dependsSimon J. Gerraty2015-06-164-0/+5
| | | | Notes: svn path=/head/; revision=284481
* Hook extra libs to _LIBS so bsd.lib.mk can do its thingSimon J. Gerraty2015-06-161-2/+3
| | | | | | | | Differential Revision: D2843 Reviewed by: imp Notes: svn path=/head/; revision=284480
* Revert r284417 it is not necessary anymoreBaptiste Daroussin2015-06-152-2/+2
| | | | Notes: svn path=/head/; revision=284421
* Enforce overwritting SHLIBDIRBaptiste Daroussin2015-06-152-2/+2
| | | | | | | | | | | | Since METAMODE has been added, sys.mk loads bsd.mkopt.mk which ends load loading bsd.own.mk which then defines SHLIBDIR before all the Makefile.inc everywhere. This makes /lib being populated again. Reported by: many Notes: svn path=/head/; revision=284417
* Avoid circular dependency with nmSimon J. Gerraty2015-06-141-0/+3
| | | | Notes: svn path=/head/; revision=284373
* Add META_MODE support.Simon J. Gerraty2015-06-13113-0/+4359
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=284345
| * dirdeps.mk now sets DEP_RELDIRSimon J. Gerraty2015-06-0891-182/+0
| | | | | | | | Notes: svn path=/projects/bmake/; revision=284172
| * Merge sync of headSimon J. Gerraty2015-05-2790-5752/+307
| |\ | | | | | | | | | Notes: svn path=/projects/bmake/; revision=283595
| * | all is MAIN targetSimon J. Gerraty2014-11-301-0/+2
| | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=275340
| * | Merge from head@274682Simon J. Gerraty2014-11-1953-102/+44
| |\ \ | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=274683
| * | | fixed depSimon J. Gerraty2014-11-191-1/+0
| | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=274682
| * | | Merge head from 7/28Simon J. Gerraty2014-08-19105-1314/+157
| |\ \ \ | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=270164
| * | | | Fix building libstdc++ with clangSimon J. Gerraty2014-05-162-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed by: theraven Notes: svn path=/projects/bmake/; revision=266221
| * | | | Updated dependenciesSimon J. Gerraty2014-05-1658-55/+10
| | | | | | | | | | | | | | | | | | | | Notes: svn path=/projects/bmake/; revision=266219