summaryrefslogtreecommitdiffstats
path: root/sys/ddb/db_sym.c
Commit message (Collapse)AuthorAgeFilesLines
* Move two copies of the same definition to a common include file.julian2010-04-141-6/+0
| | | | MFC after: 3 weeks
* Merge the remainder of kern_vimage.c and vimage.h into vnet.c andrwatson2009-08-011-1/+1
| | | | | | | | | | vnet.h, we now use jails (rather than vimages) as the abstraction for virtualization management, and what remained was specific to virtual network stacks. Minor cleanups are done in the process, and comments updated to reflect these changes. Reviewed by: bz Approved by: re (vimage blanket)
* Build on Jeff Roberson's linker-set based dynamic per-CPU allocatorrwatson2009-07-141-0/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (DPCPU), as suggested by Peter Wemm, and implement a new per-virtual network stack memory allocator. Modify vnet to use the allocator instead of monolithic global container structures (vinet, ...). This change solves many binary compatibility problems associated with VIMAGE, and restores ELF symbols for virtualized global variables. Each virtualized global variable exists as a "reference copy", and also once per virtual network stack. Virtualized global variables are tagged at compile-time, placing the in a special linker set, which is loaded into a contiguous region of kernel memory. Virtualized global variables in the base kernel are linked as normal, but those in modules are copied and relocated to a reserved portion of the kernel's vnet region with the help of a the kernel linker. Virtualized global variables exist in per-vnet memory set up when the network stack instance is created, and are initialized statically from the reference copy. Run-time access occurs via an accessor macro, which converts from the current vnet and requested symbol to a per-vnet address. When "options VIMAGE" is not compiled into the kernel, normal global ELF symbols will be used instead and indirection is avoided. This change restores static initialization for network stack global variables, restores support for non-global symbols and types, eliminates the need for many subsystem constructors, eliminates large per-subsystem structures that caused many binary compatibility issues both for monitoring applications (netstat) and kernel modules, removes the per-function INIT_VNET_*() macros throughout the stack, eliminates the need for vnet_symmap ksym(2) munging, and eliminates duplicate definitions of virtualized globals under VIMAGE_GLOBALS. Bump __FreeBSD_version and update UPDATING. Portions submitted by: bz Reviewed by: bz, zec Discussed with: gnn, jamie, jeff, jhb, julian, sam Suggested by: peter Approved by: re (kensmith)
* Never zero-out db_last_symtab. Whan backtraces are donekib2006-06-161-1/+0
| | | | | | | | | in parallel in several threads, one symbol lookup could clear db_last_symtab when another one going to use it as starting point for traversal. Approved by: pjd (mentor) MFC after: 1 month
* Start each of the license/copyright comments with /*-imp2005-01-061-1/+1
|
* Add DDB_NUMSYM option which in addition to the symbolic representationphk2004-02-241-0/+6
| | | | | | | | | | | | | | | | | also prints the actual numerical value of the symbol in question. Users of addr2line(1) will be less proficient in hex arithmetic as a consequence. This amongst other things means that traceback lines change from: siointr1(c4016800,c073bda0,0,c06b699c,69f) at siointr1+0xc5 to siointr1(c4016800,c073bda0,0,c06b699c,69f) at 0xc062b0bd = siointr1+0xc5 I made this an option to avoid bikesheds. ~ ~ ~
* Use __FBSDID().obrien2003-06-101-3/+4
|
* Remove __P.alfred2002-03-201-5/+4
|
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Quiet warnings on Alpha. (db_expr_t is a long on alpha, int on x86)peter1999-07-011-2/+2
|
* Fixed -Wcast-qual warnings.bde1999-02-121-3/+3
|
* Fix warnings in preparation for adding -Wall -Wcast-qual to thedillon1999-01-271-17/+17
| | | | | | | kernel compile. This commit includes significant work to proper handle const arguments for the DDB symbol routines.
* Changes to support -Wall, -Wcast-qual. Had to make physical code changesdillon1999-01-271-12/+15
| | | | | in db_lookup() to avoid the *cp = 0 / *cp = ':' combo ( temporary nul-terminate-then-restore-original ) on a const char * string.
* Examine all occurrences of sprintf(), strcat(), and str[n]cpy()archie1998-12-041-4/+2
| | | | | | | | | | | | | | for possible buffer overflow problems. Replaced most sprintf()'s with snprintf(); for others cases, added terminating NUL bytes where appropriate, replaced constants like "16" with sizeof(), etc. These changes include several bug fixes, but most changes are for maintainability's sake. Any instance where it wasn't "immediately obvious" that a buffer overflow could not occur was made safer. Reviewed by: Bruce Evans <bde@zeta.org.au> Reviewed by: Matthew Dillon <dillon@apollo.backplane.com> Reviewed by: Mike Spengler <mks@networkcs.com>
* Use not-so-new printf formats %r and/or %z instead of %n and/or %+x.bde1998-07-081-4/+4
|
* Fixed bogus type of valuep in struct db_variable. It was `int *' andbde1998-07-081-3/+3
| | | | | became `long *' for alpha, but should always have been `db_expr_t *'. Fixed variable types to match.
* Fixed db_printf format errors.bde1998-07-081-3/+3
|
* Supply the symbol table as an argument to X_db_symbol_values (required for elf).dfr1998-06-281-2/+2
|
* Add initial support for the FreeBSD/alpha kernel. This is very much adfr1998-06-101-3/+3
| | | | | | | | | | work in progress and has never booted a real machine. Initial development and testing was done using SimOS (see http://simos.stanford.edu for details). On the SimOS simulator, this port successfully reaches single-user mode and has been tested with loads as high as one copy of /bin/ls :-). Obtained from: partly from NetBSD/alpha
* This commit fixes various 64bit portability problems required fordfr1998-06-071-3/+3
| | | | | | | | | | FreeBSD/alpha. The most significant item is to change the command argument to ioctl functions from int to u_long. This change brings us inline with various other BSD versions. Driver writers may like to use (__FreeBSD_version == 300003) to detect this change. The prototype FreeBSD/alpha machdep will follow in a couple of days time.
* Some staticized variables were still declared to be extern.bde1997-06-301-4/+8
|
* Don't depend on gcc's feature of interpreting `int foo(c) char c; ...'bde1997-06-301-2/+2
| | | | | as `int foo(char c) ...' if there is a bogus prototype `int foo(char c);' in scope.
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-221-1/+1
| | | | ready for it yet.
* Fixed printing of small offsets. E.g., -4(%ebp) is now printedbde1997-01-161-2/+8
| | | | | | as -0x4(%ebp) instead of as _APTD+0xffc(%ebp), and if GUPROF is defined, 8(%ebp) is now printed as 0x8(%ebp) instead of as GMON_PROF_HIRES+0x4(%ebp).
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Get rid of two and a half printf in the kernel.phk1996-01-151-2/+2
| | | | | | | | | | | | | | | | | | | | Add more features to the one remaining to handle the job: + signed quantity. # alternate format - left padding * read width as next arg. n numeric in (argument specified) default radix. Fix the DDB debugger to use these. Use vprintf in debug routine in pcvt. The warnings from gcc may become more wrong and intolerable because of this. Warning: I have not checked the entire source for unsupported or changed constructs, but generally belive that there are only a few. Suggested by: bde
* Reduced and cleaned up #includes.bde1995-12-101-3/+2
|
* Staticize and cleanup.phk1995-12-101-2/+2
|
* Untangled the vm.h include file spaghetti.dg1995-12-071-1/+2
|
* Staticized and '#ifdef notused' stuff we don't use.phk1995-11-291-9/+11
|
* Completed function declarations and/or added prototypes and/or #includesbde1995-11-241-10/+4
| | | | | | | | | | to get the prototypes. Changed some `int's to `boolean_t's. boolean_t's are ints so they are hard to distinguish from ints. Converted function headers to old-style. ddb is written in K&R1 C except where we broke it.
* Remove trailing whitespace.rgrimes1995-05-301-8/+8
|
* Print the address associated with an examine. Changed db_maxoff todg1995-05-221-2/+2
| | | | | something more reasonable (64k). Suggested by Gordon Ross about a year ago.
* Makes gcc silent in sys/ddb.phk1994-09-271-9/+6
|
* 1) cleaned up after Garrett - fixed more redundant declarations, changeddg1994-08-201-5/+5
| | | | | | | | use of timeout_t -> timeout_func_t in aha1542 and aha1742 drivers. 2) fix a bug in the portalfs that was uncovered by better prototyping - specifically, the time must be converted from timeval to timespec before storing in va_atime. 3) fixed/added some miscellaneous prototypes
* Change all #includes to follow the current Berkeley style. Some of thesewollman1994-08-131-5/+5
| | | | | | | | | | | | | | | | | | | | | ``changes'' are actually not changes at all, but CVS sometimes has trouble telling the difference. This also includes support for second-directory compiles. This is not quite complete yet, as `config' doesn't yet do the right thing. You can still make it work trivially, however, by doing the following: rm /sys/compile mkdir /usr/obj/sys/compile ln -s M-. /sys/compile cd /sys/i386/conf config MYKERNEL cd ../../compile/MYKERNEL ln -s /sys @ rm machine ln -s @/i386/include machine make depend make
* Patches from John Brezak (necessary for the syscall->trapframe conversiondg1994-01-031-2/+12
| | | | | | as well as add additional functionality): Print symbolic args and line no's in stack traces.
* Make the LINT kernel compile with -W -Wreturn-type -Wcomment -Werror, andwollman1993-11-251-2/+7
| | | | add same (sans -Werror) to Makefile for future compilations.
* Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, somergrimes1993-10-161-44/+2
| | | | minor cleanup. Added $Id$ to files that did not have any version info, etc
* Initial import, 0.1 + pk 0.2.4-B1rgrimes1993-06-121-0/+360
OpenPOWER on IntegriCloud