summaryrefslogtreecommitdiffstats
path: root/gnu
Commit message (Collapse)AuthorAgeFilesLines
* Add an implementation of the RPCSEC_GSS authentication protocol for RPC. Thisdfr2008-08-061-0/+1
| | | | | | | | is based on an old implementation from the University of Michigan with lots of changes and fixes by me and the addition of a Solaris-compatible API. Sponsored by: Isilon Systems Reviewed by: alfred
* Unbreak the arm build, by spelling LIBSRCS correctly.cognet2008-08-021-1/+1
|
* Do not build fbsd-threads.c if we're building a cross-debugger.cognet2008-08-021-1/+4
| | | | MFC after: 3 days
* Merge gnu cpio 2.6 -> 2.8 changes. Unfortunately, we have massivepeter2008-07-102-48/+585
| | | | | | conflicts due to radically different approaches to security and bug fixes. In some cases I re-started from the vendor version and reimplemented our patches. Fortunately, this is not enabled by default in -current.
* Instead of using .POSIX:, use the cool looking "@:" rule.obrien2008-06-271-2/+4
| | | | Submitted by: ru
* Enable GCC stack protection (aka Propolice) for userland:ru2008-06-253-5/+3
| | | | | | | | | | | | | | | | | | | | | - It is opt-out for now so as to give it maximum testing, but it may be turned opt-in for stable branches depending on the consensus. You can turn it off with WITHOUT_SSP. - WITHOUT_SSP was previously used to disable the build of GNU libssp. It is harmless to steal the knob as SSP symbols have been provided by libc for a long time, GNU libssp should not have been much used. - SSP is disabled in a few corners such as system bootstrap programs (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves. - It should be safe to use -fstack-protector-all to build world, however libc will be automatically downgraded to -fstack-protector because it breaks rtld otherwise. - This option is unavailable on ia64. Enable GCC stack protection (aka Propolice) for kernel: - It is opt-out for now so as to give it maximum testing. - Do not compile your kernel with -fstack-protector-all, it won't work. Submitted by: Jeremie Le Hen <jeremie@le-hen.org>
* Catch up to recentish kgdb changes:jhb2008-06-181-1/+6
| | | | | | | | - Use ptid_get_pid() rather than ptid_get_tid() (part of the changes to let 'tid' work for remote kgdb). - Add a stub kgdb_trgt_new_objfile() hook. Silence from: obrien, mips@
* Install extra include files that were forgotten in original GCC 4.2.xkan2008-06-161-1/+15
| | | | | | | | import changes. PR: 124647 Submitted by: Vlad GALU MFC after: 2 days
* 1. Make the BSD version of cpio the default [1]dougb2008-06-162-4/+10
| | | | | | | | | | | | | | | | | a. The BSD version will be built and installed unless WITHOUT_BSD_CPIO is defined. b. The GNU version will not be built or installed unless WITH_GNU_CPIO is defined. If this is defined, the symlink in /usr/bin will be to the GNU version whether the BSD version is present or not. When these changes are MFCed the defaults should be flipped. 2. Add a knob to disable the building of GNU grep. This will make it easier for those that want to test the BSD version in the ports. Approved by: kientzle [1]
* Install GNU cpio as 'gcpio', symlink to 'cpio' unless WITH_BSDCPIO iskientzle2008-05-261-1/+9
| | | | defined.
* Add Juniper's copyright.obrien2008-05-201-0/+1
|
* MIPS arch target kgdb(1) support.obrien2008-05-201-0/+207
| | | | Obtained from: Juniper Networks.
* Add support for bzip2-compressed manpages.ru2008-05-141-1/+1
| | | | | | PR: bin/120730 Submitted by: ighighi AT gmail DOT com MFC after: 1 week
* Add an ability to run man(1) on local files (the argument shouldru2008-05-143-3/+35
| | | | | | | contain a `/' character); based on the submission in the PR. PR: bin/120730 MFC after: 1 week
* Trim unneeded header.jhb2008-05-091-1/+0
|
* Fix conflicts after heimdal-1.1 import and add build infrastructure. Importdfr2008-05-071-2/+2
| | | | all non-style changes made by heimdal to our own libgssapi.
* Go back to fondling FILE internals.jhb2008-05-051-1/+1
|
* Lower WARNS to avoid warning about type-punned casting.marcel2008-05-041-1/+1
|
* Unbreak build: gnu sort has been configured to grope inside structmarcel2008-05-031-1/+1
| | | | | | | __sFILE. It's opaque now, so add a function that returns the pending output bytes. Pointy hat: jhb
* Add MIPS to the list of "no TLS" architectures.gonzo2008-05-031-1/+1
| | | | Approved by: cognet (mentor)
* - Change how the vmcore target maps FreeBSD thread IDs to GDB ptids. Wejhb2008-05-018-47/+40
| | | | | | | | | | | | | | now only use the TID and ignore the PID and use pid_to_ptid() to build a ptid treating the TID as a PID. The benefit of this is that the vmcore target now uses the same scheme as GDB's remote targets. As a result, the 'tid' command now works for remote targets (however, it only accepts TIDs and not addresses of 'struct thread' objects). - Use gdb_thread_select() to do the actual thread switch for the 'tid' and 'proc' commands. This now gives the same UI feedback when switching threads as the GDB 'thread' command rather than providing no visual output at all. MFC after: 1 week
* Rework how kgdb manages kernel and vmcore files to be a bit more gdb-ishjhb2008-04-2911-184/+338
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | so that kgdb can be used more like a normal gdb: - Load the kernel via the standard 'exec' target and allow it to be changed via the 'file' command. - Instead of explicitly loading the kernel file as the mail symbol file during startup, just pass it to gdb_main() as the executable file. - Change the kld support (via shared libraries) to cache the address of the linker_files and linker_kernel_file variables in addition to the offsets of various members in 'struct linker_file'. - When a new symbol file is loaded, recompute the addresses and offsets used by the kld support code. - When a new symbol file is loaded, recalculate the ofs_fix variable to account for the different ways a trapframe can be passed to trap frame handlers in i386. This is done by adding a MD kgdb_trgt_new_objfile() hook that is empty on all but i386. - Don't use the directory name of the kernel specified on the command line to find kernel modules in the kld support code. Instead, extract the filename of the current executable via exec_bfd. Now the 'kernel' variable is private to main.c again. - Make the 'add-kld' command explicitly fail if no executable is loaded. - Make the support for vmcores a real core-dump target that opens the kernel and vmcore on open and closes the kvm connection when closed, etc. - The 'core' command can now be used to select a vmcore to use, either a crash dump file or /dev/mem for live debugging. - The 'detach' command can be used to detach from a vmcore w/o attaching to a new one. - kgdb no longer explicitly opens a core dump during startup and no longer has to use an atexit() hook to close the kvm connection on shutdown. - Symbols for kld's are automatically loaded anytime a core is opened. Also, the unread portion of dmesg is dumped just as it was done on kgdb startup previously. - Don't require either a remote target or core dump if a kernel is specified. You can now just run 'kgdb kernel' similar to running gdb on an executable and later connect to a remote target or core dump. - Use a more relaxed way to verify remote targets specified via -r. Instead of explicitly allowing a few non-file target specifications, just assume that if stat() on the arg and on "/dev/" + arg both fail that is some non-file target and pass it to gdb. - Don't use a custom interpreter. The existing kgdb_init() hook and the target_new_objfile() hook give us sufficient hooks during startup to setup kgdb-specific behavior now. - Always add the 'proc', 'tid', and 'add-kld' commands on startup and not just if we have a core dump. Currently the 'proc' and 'tid' commands do not work for remote targets (I will fix at least 'tid' in the next round of changes though). However, the 'add-kld' command works fine for loading symbols for a kernel module on a remote target. - Always setup the 'kld' shared library target operations instead of just if we have a core dump. Although symbols for kernel modules are not automatically loaded when connecting to a remote target, you can do 'info sharedlibrary' after connecting to the remote target and kgdb will find all the modules. You can then use the 'sharedlibrary' command to load symbols from the module files. - Change kthr_init() to free the existing list of kthr objects before generating a new one. This allows it to be invoked multiple times w/o leaking memory. MFC after: 1 week
* - Add a global variable 'fbsdcoreops_suppress_target' that can be set tojhb2008-04-291-2/+11
| | | | | | | | | | | | | | force the FreeBSD multithreaded core target to not register any target for handling core dumps. This is analogous to the 'coreops_suppress_target' variable that GDB provides for suppressing the default core dump target. KGDB will use this new variable so it can provide its own core dump target that uses libkvm to work with vmcore files. - Adjust the long name and documentation of the FreeBSD multithreaded core dump target so it better matches what GDB's core dump target uses. MFC after: 1 week Reviewed by: davidxu, marcel
* Use kgdb_parse() instead of libkvm(3) to read the first instruction fromjhb2008-04-281-16/+9
| | | | | | | "calltrap" to see which method is used to pass trap frames. This seg faulted on remote gdb connections (where libkvm isn't used). MFC after: 3 days
* Remove the 'add_kld_command' arg from load_kld(). It is always true sincejhb2008-04-281-12/+5
| | | | | | | the auto-loading of kld's switched to hooking into gdb's shared library support. MFC after: 1 week
* FreeBSD/mips gdb build suspport. From the mips2-jnpr branch.imp2008-04-263-0/+794
|
* Add 'arm' category.linimon2008-04-232-0/+4
| | | | Approved by: peter
* Add support for the 32-bit EFI target.marcel2008-04-171-3/+10
|
* Change kgdb_parse() to use wrapped versions of parse_expression() andjhb2008-03-291-6/+9
| | | | | | | | | | evaluate_expression() so that any errors are caught and cause the function to return to 0. Otherwise the errors posted an exception (via longjmp()) that aborted the current operation. This fixes the kld handling for older kernels (6.x and 7.x) that don't have the full pathname stored in the kernel linker. MFC after: 3 days
* Initialize the head pointer in kld_current_sos() to NULL to avoid returningjhb2008-03-291-0/+1
| | | | | | | | a junk pointer and possibly causing a seg fault if we don't have any non-kernel klds (or are unable to walk the list due to core / kernel mismatch). MFC after: 1 week
* Re-enable the CVS build.obrien2008-03-191-3/+3
|
* Update for version 1.11-20080310.obrien2008-03-191-5/+44
| | | | | Make our changes to CVS_RSH & CVS_SSH settings here instead of contrib/cvs/src/cvs.h.
* + Make it clear this was taken from the CVS 1.11 branch on 10-March-2008.obrien2008-03-191-3/+3
| | | | + Depend on $CVSDIR/configure also - so things get properly remade if we tweak.
* Disable CVS build.obrien2008-03-191-3/+3
|
* Set AR=gnu-ar and RANLIB=gnu-ranlib on systems where we are forcedru2008-03-022-4/+0
| | | | | | to use GNU tools. Remove the _WITH_GNUAR knob. Prodded by: obrien
* Remove a stale prototype I missed when converting the kld support over tojhb2008-02-251-1/+0
| | | | hooking into gdb's shared library infrastructure.
* Make again BSD ar(1) the default system ar(1), now properly handlingru2008-02-252-10/+16
| | | | | | | | | | | | | source upgrades by falling back to GNU ar(1) as necessary. Option WITH_BSDAR is gone. Option _WITH_GNUAR to aid in upgrades is *not* supposed to be set by the user. Stop bootstrapping BSD ar(1) on the next __FreeBSD_version bump, as there are no known bugs in it. Bump __FreeBSD_version to anticipate this and to flag the switch to BSD ar(1), should it be needed for something. Input from: obrien, des, kaiw
* Let PowerPC world optionally build with -msoft-float. For FPU-less PowerPCraj2008-02-241-1/+1
| | | | | | | | | variations (e500 currently), this provides a gcc-level FPU emulation and is an alternative approach to the recently introduced kernel-level emulation (FPU_EMU). Approved by: cognet (mentor) MFp4: e500
* Bump the default .Os version to FreeBSD 8.0.ru2008-02-231-1/+1
|
* If 'WITH_BSDAR' is defined, install as gnu-<util_name>.obrien2008-02-212-0/+10
|
* Back out previous commit. Restore Binutils ar as default. Disconnectkaiw2008-02-212-10/+0
| | | | | | 'BSD' ar to the build. Requested by: des
* * Connect ar(1) to the build and make it default ar. Rename GNUkaiw2008-02-212-0/+10
| | | | | | | | | | | | binutils ar and ranlib to gar and granlib, respectively. * Introduce a temporary variable WITH_GNUAR as a safety net. When buildworld with -DWITH_GNUAR, GNU binutils ar and ranlib will install as default ones and 'BSD' ar will be disabled. * Bump __FreeBSD_version to reflect the import of 'BSD' ar(1). Approved by: jkoshy (mentor)
* getopt(3) returns -1, not EOF.ru2008-02-192-2/+2
|
* - Rework the kld support to hook into GDB's shared library support.jhb2008-01-293-81/+165
| | | | | | | | | | | | | | | kgdb(8) now treats kld's as shared libraries relative to the kernel "binary". Thus, you can use 'info sharedlibrary' to list the kld's along with 'sharedlibrary' and 'nosharedlibrary' to manage symbol loading and unloading. Note that there isn't an easy way to force GDB to use a specific path for a shared library. However, you can use 'nosharedlibrary' to unload all the klds and then use 'sharedlibrary' to load specific klds where it gets the kld correct and use 'add-kld' for the kld's where the default open behavior doesn't work. klds opened via 'sharedlibrary' (and during startup) do have their sections listed in 'info files'. - Change the 'add-kld' command to use filename completion to complete its argument.
* Don't close the kernel bfd object during startup. Instead, leave it openjhb2008-01-293-7/+13
| | | | | | and build a section table from the kernel file so that 'info files' output for kgdb now matches the usage of gdb on a regular file with the exception that we don't list sections for memory in the crash dump.
* Use target_read_memory() and extract_unsigned_integer() instead of directjhb2008-01-291-19/+6
| | | | KVM access to read kernel pointers.
* Don't look for "foo.ko.symbols" files. GDB is smart enough to open thejhb2008-01-291-1/+0
| | | | | ".symbols" file automatically when you tell it to load "foo.ko" because of the debug link.
* Use a for loop in find_kld_address() as in kgdb_auto_load_klds() andjhb2008-01-281-7/+4
| | | | replace the remaining goto's with continues as a result.
* Add support for automatically loading symbols for kld's on startup:jhb2008-01-283-140/+248
| | | | | | | | | | | | | | | | | | | | | | | - Add a new 'kgdb_auto_load_klds()' routine which is invoked during startup that walks the list of linker files and tries to find a matching kld on disk for each non-kernel kld. If a kld file is found, then it is added as if the 'add-kld' command is invoked. One change from 'add-kld' is that this method attempts to use the 'pathname' from the linker_file structure first to try to load the file. If that fails it then looks in the kernel directory followed by the directories in the module path. - Move the kld file suffix handling into a separate routine so that it can be called standalone and to reduce duplicate code in find_kld_path(). - Cache the offsets of members of 'struct linker_file' during startup instead of computing them for each 'add-kld'. - Use GDB's target_read_string() instead of direct KVM access. - Add all resident sections from a kld by using bfd_map_over_sections() to build the section list rather than just adding symbols for ".text", ".data", ".bss", and ".rodata". - Change the 'add-kld' command to do a y/n prompt before adding the symbols when run interactively to match 'add-symbol-file'. MFC after: 1 week
* Remove the warnx() from kgdb_lookup() so that we don't emit a warning aboutjhb2008-01-282-6/+10
| | | | | | optional symbols that are missing (e.g. kgdb complains about _stoppcbs and _stopped_cpus on UP kernels). Instead, callers that really want their symbols to be present now do explicitly warnx() about the missing symbol.
OpenPOWER on IntegriCloud