aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-12-06 20:14:00 -0500
committerAndi Kleen <andi@basil.nowhere.org>2006-12-06 20:14:00 -0500
commitdd315df1767cf56bd4fb8d730fdff4a3d7e15d84 (patch)
tree42f27161cce0de38bb18ec534a4a8fafac776189 /arch
parentb615ebdac97c648a2ae7d23c5a0bbb3972adf928 (diff)
[PATCH] x86: Compress stack unwinder output
The unwinder has some extra newlines, which eat up loads of screen space when it spews. (See https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=137900 for a nasty example). warning_symbol-> and warning-> already printk a newline, so don't add one in the strings passed to them. [AK: redone for new code] Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/i386/kernel/traps.c10
-rw-r--r--arch/x86_64/kernel/traps.c8
2 files changed, 9 insertions, 9 deletions
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c
index fe81d89c50d3..396041a46e3d 100644
--- a/arch/i386/kernel/traps.c
+++ b/arch/i386/kernel/traps.c
@@ -202,22 +202,22 @@ void dump_trace(struct task_struct *task, struct pt_regs *regs,
202 if (unw_ret > 0) { 202 if (unw_ret > 0) {
203 if (call_trace == 1 && !arch_unw_user_mode(&info)) { 203 if (call_trace == 1 && !arch_unw_user_mode(&info)) {
204 ops->warning_symbol(data, 204 ops->warning_symbol(data,
205 "DWARF2 unwinder stuck at %s\n", 205 "DWARF2 unwinder stuck at %s",
206 UNW_PC(&info)); 206 UNW_PC(&info));
207 if (UNW_SP(&info) >= PAGE_OFFSET) { 207 if (UNW_SP(&info) >= PAGE_OFFSET) {
208 MSG("Leftover inexact backtrace:\n"); 208 MSG("Leftover inexact backtrace:");
209 stack = (void *)UNW_SP(&info); 209 stack = (void *)UNW_SP(&info);
210 if (!stack) 210 if (!stack)
211 return; 211 return;
212 ebp = UNW_FP(&info); 212 ebp = UNW_FP(&info);
213 } else 213 } else
214 MSG("Full inexact backtrace again:\n"); 214 MSG("Full inexact backtrace again:");
215 } else if (call_trace >= 1) 215 } else if (call_trace >= 1)
216 return; 216 return;
217 else 217 else
218 MSG("Full inexact backtrace again:\n"); 218 MSG("Full inexact backtrace again:");
219 } else 219 } else
220 MSG("Inexact backtrace:\n"); 220 MSG("Inexact backtrace:");
221 } 221 }
222 if (!stack) { 222 if (!stack) {
223 unsigned long dummy; 223 unsigned long dummy;
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c
index d3f43c958ca1..eedd4e759c3a 100644
--- a/arch/x86_64/kernel/traps.c
+++ b/arch/x86_64/kernel/traps.c
@@ -280,7 +280,7 @@ void dump_trace(struct task_struct *tsk, struct pt_regs *regs,
280 if (unw_ret > 0) { 280 if (unw_ret > 0) {
281 if (call_trace == 1 && !arch_unw_user_mode(&info)) { 281 if (call_trace == 1 && !arch_unw_user_mode(&info)) {
282 ops->warning_symbol(data, 282 ops->warning_symbol(data,
283 "DWARF2 unwinder stuck at %s\n", 283 "DWARF2 unwinder stuck at %s",
284 UNW_PC(&info)); 284 UNW_PC(&info));
285 if ((long)UNW_SP(&info) < 0) { 285 if ((long)UNW_SP(&info) < 0) {
286 MSG("Leftover inexact backtrace:"); 286 MSG("Leftover inexact backtrace:");
@@ -288,13 +288,13 @@ void dump_trace(struct task_struct *tsk, struct pt_regs *regs,
288 if (!stack) 288 if (!stack)
289 return; 289 return;
290 } else 290 } else
291 MSG("Full inexact backtrace again:\n"); 291 MSG("Full inexact backtrace again:");
292 } else if (call_trace >= 1) 292 } else if (call_trace >= 1)
293 return; 293 return;
294 else 294 else
295 MSG("Full inexact backtrace again:\n"); 295 MSG("Full inexact backtrace again:");
296 } else 296 } else
297 MSG("Inexact backtrace:\n"); 297 MSG("Inexact backtrace:");
298 } 298 }
299 if (!stack) { 299 if (!stack) {
300 unsigned long dummy; 300 unsigned long dummy;