| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
may not compile, I can't test it.
|
|
|
|
| |
Reviewed by: msmith
|
|
|
|
|
|
| |
behavior of their userland counterparts with respect to return values.
Submitted by: Matthew N. Dodd <winter@jurai.net>
|
|
|
|
|
| |
Submitted by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
Submitted by: "Matthew N. Dodd" <winter@jurai.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Printing large quads in small bases overflowed the buffer if
sizeof(u_quad_t) > sizeof(u_long).
2. The sharpflag checks had operator precedence bugs due to excessive
parentheses in all the wrong places.
3. The explicit 0L was bogus in the quad_t comparison and useless in
the long comparision.
4. There was some more bitrot in the comment about ksprintn(). Our
ksprintn() handles bases up to 36 as well as down to 2.
Bruce has other complaints about using %q in kernel and would rather
we went towards using the C9X style %ll and/or %j. (I agree for that
matter, as long as gcc/egcs know how to deal with that.)
Submitted by: bde
|
|
|
|
|
|
|
| |
Alpha believes that %q is for long long, whereas our quad_t and int64_t
is only just a plain long. long long on the alpha is the same size (64
bit) as a long. It was requested, but I have not implemented yet, support
for C9X style %lld - it should be pretty easy though.
|
|
|
|
|
|
| |
Other brucification tweaks.
Obtained from: bde@freebsd.org
|
|
|
|
|
| |
reentrant because it returns a static buffer. This results in a race condition
when/if an interrupt handler calls log(), printf() etc. Fix this.
|
|
|
|
| |
Reviewed by: silence on on -current
|
|
|
|
| |
Reviewed by: bde
|
|
|
|
|
| |
for savecore.
Previous code give only panic format to savecore
|
|
|
|
|
|
|
|
|
|
| |
in ddb) which I broke by changing %8[l]x to %8p. Hacked the central
printf routine to not add an "0x" prefix for %p formats if the field
width is nonzero. The tables are still horribly misformatted on
64-bit machines.
Use %p instead of %8p to print pointers when the field width isn't
important.
|
|
|
|
|
|
|
| |
respectively. Most of the longs should probably have been
u_longs, but this changes is just to prevent warnings about
casts between pointers and integers of different sizes, not
to fix poorly chosen types.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(long)(u_long)(u_int)-4 = 0x00000000fffffffc on machines with 32-bit
ints and 64-bit longs.
Restored %z format for printing signed hex. %+x shouldn't have been
used since it is an error in userland.
Prepared to nuke %n format by cloning it to %r. %n shouldn't have
been used because it means something completely different in
userland. Now %+r is equivalent to ddb's original %r, and %r is
equivalent to ddb's original %n.
Ignore '+' flag in combination with unsigned formats %{o,p,u,x}.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clean up (or if antipodic: down) some of the msgbuf stuff.
Use an inline function rather than a macro for timecounter delta.
Maintain process "on-cpu" time as 64 bits of microseconds to avoid
needless second rollover overhead.
Avoid calling microuptime the second time in mi_switch() if we do
not pass through _idle in cpu_switch()
This should reduce our context-switch overhead a bit, in particular
on pre-P5 and SMP systems.
WARNING: Programs which muck about with struct proc in userland
will have to be fixed.
Reviewed, but found imperfect by: bde
|
| |
|
|
|
|
|
|
| |
for field widths being 2 larger than specified for "%<number>p". Only
printing of null pointers is "wrong" now (it is actually "right", but
inconsistent with printf(3)).
|
|
|
|
|
|
|
|
| |
Distribute all but the most fundamental malloc types. This time I also
remembered the trick to making things static: Put "static" in front of
them.
A couple of finer points by: bde
|
| |
|
|
|
|
| |
ready for it yet.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
also add the at_shutdown callout list, and change the one user of
the present (broken) method (the vn driver) to use the new scheme.
|
| |
|
|
|
|
| |
Reviewed by: bde
|
| |
|
|
|
|
| |
debugger_on_panic stuff.
|
| |
|
|
|
|
| |
not defined. Another change clearly committed without testing! :-(
|
|
|
|
|
|
|
|
| |
add sysctl
debug.debugger_on_panic: 1
if DDB or KGDB is defined.
Requested by: davidg
|
|
|
|
|
| |
when it panics, but leaving activation of DDB from the console
unaffected.
|
| |
|
| |
|
|
|
|
|
| |
Add %D for "dumping" data. Good for ethernet/MAC addresses and such.
Handle 1 < radix < 37.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
with later.
A number of unused vars removed.
A number of unused procs removed or #ifdefed.
|
| |
|
| |
|
| |
|
|
|
|
| |
in Lite2 style.
|
|
|
|
|
|
|
|
|
|
| |
in the wrong place. Blank padding in the right place or zero padding
would be inconsistent with user mode.
Put case 'p' in alphabetical order.
Implement %p in sprintf() too. I'd like only a single, more complete
printf() core, perhaps one based on vsnprintf().
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
drivers to protect DDB from being invoked while the console is in
process-controlled (i.e., graphics) mode.
Implement the logic to use this hook from within pcvt. (I'm sure
Søren will do the syscons part RSN).
I've still got one occasion where the system stalled, but my attempts
to trigger the situation artificially resulted int the expected
behaviour. It's hard to track bugs without the console and DDB
available. :-/
|