summaryrefslogtreecommitdiffstats
path: root/gnu
Commit message (Collapse)AuthorAgeFilesLines
* Fix LDADD/DPADD that should be LIBADD.bdrewery2015-12-0418-37/+54
| | | | Sponsored by: EMC / Isilon Storage Division
* Don't override LIB*DIR variables from src.libnames.mk.bdrewery2015-12-011-3/+3
| | | | | | | | In some cases switch to the LIB*SRCDIR value. These recently were defined in r291327 and r291619. Sponsored by: EMC / Isilon Storage Division
* META MODE: Update dependencies with 'the-lot' and add missing directories.bdrewery2015-12-015-7/+15
| | | | | | | | | | | | | | 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
* Update dependencies after r291406 added libelf to libkvm.bdrewery2015-12-011-0/+1
| | | | | | | | Unfortunately filemon/meta mode tracks all indirect dependencies here since ld(1) is reading libelf when linking in libkvm. Churn would be reduced if this was able to be limited to direct dependencies. Sponsored by: EMC / Isilon Storage Division
* Fix a double-semicolon typo in my libkvm changes.jhb2015-11-301-1/+1
| | | | Submitted by: jmallett
* Add support to libkvm for reading vmcores from other architectures.jhb2015-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
* Use LIBEXECDIR for /usr/libexec.bdrewery2015-11-262-2/+2
| | | | | MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* Replace DPSRCS that work fine in SRCS.bdrewery2015-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
* META MODE: Don't create .meta files when symlinking sources into the obj ↵bdrewery2015-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
* META MODE: Prefer INSTALL=tools/install.sh to lessen the need for xinstall.host.bdrewery2015-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
* Fix ld not respecting --sysroot.bdrewery2015-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
* Include "system.h" for isdir() prototype.rodrigc2015-11-041-0/+1
| | | | | Submitted by: bofh Differential Revision: https://reviews.freebsd.org/D2711
* Use PCB/LR from PCB rather from stack on armv7-gdbzbb2015-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
* Remove disconnected xditview.bdrewery2015-10-211-34/+0
|
* Avoid warning race with creating 'ldscripts' directory during build.bdrewery2015-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
* Add more SUBDIR_PARALLEL.bdrewery2015-10-155-3/+23
| | | | | MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division
* Remove directories disconnected since r169718.bdrewery2015-10-152-32/+0
| | | | | MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* Refactor the test/ Makefiles after recent changes to bsd.test.mk (r289158) andngie2015-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
* Updated dependssjg2015-10-071-0/+1
|
* Replace most of the beforeinstall: hack with FILES mechanism.bdrewery2015-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
* When XSAVE support was added on amd64, the FPU save area was movedjhb2015-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
* Remove redundant .NOPATH.bdrewery2015-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
* Fix subdir -j build after r287983 by adding missing dependencies.bdrewery2015-09-255-0/+5
| | | | Sponsored by: EMC / Isilon Storage Division
* Fix emulation ldscripts not being installed since r131832.bdrewery2015-09-251-1/+1
| | | | | | | For example, 32bit scripts on 64bit host. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
* META_MODE: Remove DEP_MACHINE from Makefile.depend files.bdrewery2015-09-255-10/+0
| | | | | | This has not been needed since r246865 in projects/bmake. Sponsored by: EMC / Isilon Storage Division
* META_MODE: Remove DEP_RELDIR from Makefile.depend files.bdrewery2015-09-2517-34/+0
| | | | | | This has not been needed since r284171 in projects/bmake. Sponsored by: EMC / Isilon Storage Division
* Add missing CLEANFILES.bdrewery2015-09-241-0/+2
| | | | | MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* Fix installation of 32bit libraries after r288074.bdrewery2015-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
* Use SHAREOWN/SHAREMODE/SHAREGRP rather than LIB* as these are plain ASCIIbdrewery2015-09-211-3/+0
| | | | | | | | scripts that the linker can load rather than binary library objects. Effectively no change. Suggested by: hrs
* Replace realinstall: and META_MODE staging hacks with FILES mechanism.bdrewery2015-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
* Replace afterinstall: hack with FILES mechanism.bdrewery2015-09-191-4/+6
| | | | Sponsored by: EMC / Isilon Storage Division
* Replace beforeinstall: handling with FILES.bdrewery2015-09-181-4/+2
| | | | | | This actually fixes some cases to respect LIBRARIES_ONLY. Sponsored by: EMC / Isilon Storage Division
* Remove .WAIT hacks and put in specific dependencies.imp2015-08-281-2/+5
|
* Add another .WAIT since sometimes we lose the race.imp2015-08-281-0/+1
|
* Drop a .WAIT into the list. Items later in the list than this dependimp2015-08-261-0/+6
| | | | on items earlier. Enable parallel builds.
* Roll WITHOUT_ELFTOOLCHAIN_TOOLS into WITHOUT_TOOLCHAINemaste2015-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
* Remove old GNU Binutils tools now provided by ELF Tool Chainemaste2015-08-0524-2336/+0
| | | | | | Reviewed by: bapt, brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3238
* Allow ELF Tool Chain elfcopy to be installed as objcopyemaste2015-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
* Replace GNU RCS ident with a BSD license identbapt2015-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
* - Record dependencies of gdb/gdbtui/kgdb on binutils/lib{bfd,iberty,opcodes},marius2015-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
* Use single instance of the identical INKERNEL() and PMC_IN_KERNEL()kib2015-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
* new dependssjg2015-06-164-0/+5
|
* Hook extra libs to _LIBS so bsd.lib.mk can do its thingsjg2015-06-161-2/+3
| | | | | Differential Revision: D2843 Reviewed by: imp
* Revert r284417 it is not necessary anymorebapt2015-06-152-2/+2
|
* Enforce overwritting SHLIBDIRbapt2015-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
* Avoid circular dependency with nmsjg2015-06-141-0/+3
|
* Add META_MODE support.sjg2015-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
| * dirdeps.mk now sets DEP_RELDIRsjg2015-06-0891-182/+0
| |
| * Merge sync of headsjg2015-05-2790-5752/+307
| |\
| * | all is MAIN targetsjg2014-11-301-0/+2
| | |
OpenPOWER on IntegriCloud