Skip to contentSkip to conversation

DEBUG_BUGVERBOSE for i386 (fwd)

PATCH In review Adrian Bunk 3 participants 8 messages Nov 17, 2004 Library code

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 DEBUG_BUGVERBOSE for i386 (fwd)

I've received zero somments on this patch that still applies and compiles against 2.6.10-rc2-mm1.

Could you either apply or comment on it?

----- Forwarded message from Adrian Bunk <[email protected]> -----

Date: Mon, 30 Aug 2004 00:59:42 +0200
From: Adrian Bunk <[email protected]>
To: [email protected]
Subject: [2.6 patch] DEBUG_BUGVERBOSE for i386

The patch below implements CONFIG_DEBUG_BUGVERBOSE for i386 (more exactly, it allows disabling the verbose BUG() reporting).

lib/Kconfig.debug renamed from lib/Kconfig.debug.old +1 -1
@@ -61,7 +61,7 @@
 
 config DEBUG_BUGVERBOSE
 	bool "Verbose BUG() reporting (adds 70K)"
-	depends on DEBUG_KERNEL && (ARM || ARM26 || M68K || SPARC32 || SPARC64)
+	depends on DEBUG_KERNEL && (ARM || ARM26 || M68K || SPARC32 || SPARC64 || (X86 && !X86_64))
 	help
 	  Say Y here to make BUG() panics output the file name and line number
 	  of the BUG call as well as the EIP and oops trace.  This aids
include/asm-i386/bug.h renamed from include/asm-i386/bug.h.old +1 -1
@@ -9,7 +9,7 @@
  * undefined" opcode for parsing in the trap handler.
  */
 
-#if 1	/* Set to zero for a slightly smaller kernel */
+#ifdef CONFIG_DEBUG_BUGVERBOSE
 #define BUG()				\
  __asm__ __volatile__(	"ud2\n"		\
 			"\t.word %c0\n"	\

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

----- End forwarded message -----

#1 lore raw
Quoted 7 lines · Adrian Bunk

The patch below implements CONFIG_DEBUG_BUGVERBOSE for i386 (more
exactly, it allows disabling the verbose BUG() reporting).

Quoted 8 lines

--- linux-2.6.9-rc1-mm1-full/lib/Kconfig.debug.old 2004-08-29 21:22:20.000000000 +0200
+++ linux-2.6.9-rc1-mm1-full/lib/Kconfig.debug 2004-08-29 21:28:29.000000000 +0200
@@ -61,7 +61,7 @@

config DEBUG_BUGVERBOSE
bool "Verbose BUG() reporting (adds 70K)"

 -	depends on DEBUG_KERNEL && (ARM || ARM26 || M68K || SPARC32 || SPARC64)
 +	depends on DEBUG_KERNEL && (ARM || ARM26 || M68K || SPARC32 || SPARC64 || (X86 && !X86_64))

I think I'll stick an `&& EMBEDDED' in there to make it harder to disable BUG traces. We really don't want to be screwing ourselves over by removing useful diagnostic info.

#2 lore raw
Quoted 12 lines · Andrew Morton
Quoted 11 lines · Adrian Bunk

The patch below implements CONFIG_DEBUG_BUGVERBOSE for i386 (more
exactly, it allows disabling the verbose BUG() reporting).

--- linux-2.6.9-rc1-mm1-full/lib/Kconfig.debug.old 2004-08-29 21:22:20.000000000 +0200
+++ linux-2.6.9-rc1-mm1-full/lib/Kconfig.debug 2004-08-29 21:28:29.000000000 +0200
@@ -61,7 +61,7 @@

Quoted 8 lines
Quoted 4 lines

config DEBUG_BUGVERBOSE
bool "Verbose BUG() reporting (adds 70K)"

 -	depends on DEBUG_KERNEL && (ARM || ARM26 || M68K || SPARC32 || SPARC64)
 +	depends on DEBUG_KERNEL && (ARM || ARM26 || M68K || SPARC32 || SPARC64 || (X86 && !X86_64))

I think I'll stick an `&& EMBEDDED' in there to make it harder to disable BUG traces. We really don't want to be screwing ourselves over by removing useful diagnostic info.

I simply did it as on other architectures.

Do you want the following?

config DEBUG_BUGVERBOSE
bool "Verbose BUG() reporting (adds 70K)" if EMBEDDED depends on (DEBUG_KERNEL || EMBEDDED=n) && (ARM || ...) default y

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#3 lore raw

Hi,

Quoted 8 lines · Adrian Bunk

I simply did it as on other architectures.

Do you want the following?

config DEBUG_BUGVERBOSE
bool "Verbose BUG() reporting (adds 70K)" if EMBEDDED depends on (DEBUG_KERNEL || EMBEDDED=n) && (ARM || ...) default y

What are you trying to do here? I guess you want something more like this?

config DEBUG_BUGVERBOSE

	bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EMBEDDED
	depends on ARM || ...
	default y

bye, Roman

#4 lore raw
Quoted 1 line · Roman Zippel

Hi,

Hi Roman,

Quoted 12 lines · Adrian Bunk
Quoted 9 lines

I simply did it as on other architectures.

Do you want the following?

config DEBUG_BUGVERBOSE
bool "Verbose BUG() reporting (adds 70K)" if EMBEDDED depends on (DEBUG_KERNEL || EMBEDDED=n) && (ARM || ...) default y

What are you trying to do here?

- if EMBEDDED=n, always enable it
- if EMBEDDED=y:
- disable if DEBUG_KERNEL=n
- ask if DEBUG_KERNEL=y

Quoted 6 lines

I guess you want something more like this?

config DEBUG_BUGVERBOSE

	bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EMBEDDED
	depends on ARM || ...
	default y

This has a different semantics:

If you want no kernel debugging in an embedded environment, DEBUG_BUGVERBOSE would be automatically enabled.

This is definitely not intended.

Quoted 1 line

bye, Roman

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#5 lore raw

Hi,

Quoted 11 lines · Adrian Bunk
Quoted 6 lines
Quoted 4 lines

config DEBUG_BUGVERBOSE
bool "Verbose BUG() reporting (adds 70K)" if EMBEDDED depends on (DEBUG_KERNEL || EMBEDDED=n) && (ARM || ...) default y

What are you trying to do here?

- if EMBEDDED=n, always enable it
- if EMBEDDED=y:
- disable if DEBUG_KERNEL=n
- ask if DEBUG_KERNEL=y

This should do it:

config DEBUG_BUGVERBOSE

	bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EMBEDDED
	depends on ARM || ...
	default !EMBEDDED

bye, Roman

#6 lore raw
Quoted 1 line · Roman Zippel

Hi,

Hi Roman,

Quoted 14 lines · Adrian Bunk
Quoted 6 lines
Quoted 6 lines
Quoted 5 lines

config DEBUG_BUGVERBOSE
bool "Verbose BUG() reporting (adds 70K)" if EMBEDDED depends on (DEBUG_KERNEL || EMBEDDED=n) && (ARM || ...) default y

Quoted 6 lines
Quoted 1 line

What are you trying to do here?

- if EMBEDDED=n, always enable it
- if EMBEDDED=y:
- disable if DEBUG_KERNEL=n
- ask if DEBUG_KERNEL=y

Quoted 6 lines

This should do it:

config DEBUG_BUGVERBOSE

	bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EMBEDDED
	depends on ARM || ...
	default !EMBEDDED

yes, this is semantically equivalent to my solution but better readable.

Quoted 1 line

bye, Roman

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#7 lore raw

Hi,

Quoted 9 lines · Adrian Bunk
Quoted 6 lines

This should do it:

config DEBUG_BUGVERBOSE

	bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EMBEDDED
	depends on ARM || ...
	default !EMBEDDED

yes, this is semantically equivalent to my solution but better readable.

This also keeps DEBUG_BUGVERBOSE as a suboption of the DEBUG_KERNEL option (although the debug menu is a bit messed up right now in this regard).

bye, Roman