[PATCH] move BUG_TABLE into RODATA

From: Jan Beulich
Date: Tue Apr 22 2008 - 11:10:14 EST


Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

---
arch/avr32/kernel/vmlinux.lds.S | 2 --
arch/parisc/kernel/vmlinux.lds.S | 1 -
arch/powerpc/kernel/vmlinux.lds.S | 2 --
arch/s390/kernel/vmlinux.lds.S | 1 -
arch/sh/kernel/vmlinux_32.lds.S | 1 -
arch/sh/kernel/vmlinux_64.lds.S | 1 -
arch/x86/kernel/vmlinux_32.lds.S | 8 +++-----
arch/x86/kernel/vmlinux_64.lds.S | 10 ++++------
include/asm-generic/vmlinux.lds.h | 6 ++++++
9 files changed, 13 insertions(+), 19 deletions(-)

--- linux-2.6.25/arch/avr32/kernel/vmlinux.lds.S 2008-04-17 04:49:44.000000000 +0200
+++ 2.6.25-bug-table-rodata/arch/avr32/kernel/vmlinux.lds.S 2008-03-04 11:14:13.000000000 +0100
@@ -93,8 +93,6 @@ SECTIONS
__stop___ex_table = .;
}

- BUG_TABLE
-
RODATA

. = ALIGN(THREAD_SIZE);
--- linux-2.6.25/arch/parisc/kernel/vmlinux.lds.S 2008-04-17 04:49:44.000000000 +0200
+++ 2.6.25-bug-table-rodata/arch/parisc/kernel/vmlinux.lds.S 2008-03-04 11:14:13.000000000 +0100
@@ -66,7 +66,6 @@ SECTIONS
_etext = .;

RODATA
- BUG_TABLE

/* writeable */
/* Make sure this is page aligned so
--- linux-2.6.25/arch/powerpc/kernel/vmlinux.lds.S 2008-04-17 04:49:44.000000000 +0200
+++ 2.6.25-bug-table-rodata/arch/powerpc/kernel/vmlinux.lds.S 2008-03-04 11:14:13.000000000 +0100
@@ -66,8 +66,6 @@ SECTIONS

NOTES

- BUG_TABLE
-
/*
* Init sections discarded at runtime
*/
--- linux-2.6.25/arch/s390/kernel/vmlinux.lds.S 2008-04-17 04:49:44.000000000 +0200
+++ 2.6.25-bug-table-rodata/arch/s390/kernel/vmlinux.lds.S 2008-03-04 11:14:50.000000000 +0100
@@ -40,7 +40,6 @@ SECTIONS
_etext = .; /* End of text section */

NOTES :text :note
- BUG_TABLE :text

RODATA

--- linux-2.6.25/arch/sh/kernel/vmlinux_32.lds.S 2008-04-17 04:49:44.000000000 +0200
+++ 2.6.25-bug-table-rodata/arch/sh/kernel/vmlinux_32.lds.S 2008-03-04 11:15:48.000000000 +0100
@@ -44,7 +44,6 @@ SECTIONS

_etext = .; /* End of text section */

- BUG_TABLE
NOTES
RO_DATA(PAGE_SIZE)

--- linux-2.6.25/arch/sh/kernel/vmlinux_64.lds.S 2008-04-17 04:49:44.000000000 +0200
+++ 2.6.25-bug-table-rodata/arch/sh/kernel/vmlinux_64.lds.S 2008-03-04 11:15:53.000000000 +0100
@@ -65,7 +65,6 @@ SECTIONS

_etext = .; /* End of text section */

- BUG_TABLE
NOTES
RO_DATA(PAGE_SIZE)

--- linux-2.6.25/arch/x86/kernel/vmlinux_32.lds.S 2008-04-17 04:49:44.000000000 +0200
+++ 2.6.25-bug-table-rodata/arch/x86/kernel/vmlinux_32.lds.S 2008-03-04 11:14:13.000000000 +0100
@@ -49,16 +49,14 @@ SECTIONS
_etext = .; /* End of text section */
} :text = 0x9090

+ NOTES :text :note
+
. = ALIGN(16); /* Exception table */
__ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) {
__start___ex_table = .;
*(__ex_table)
__stop___ex_table = .;
- }
-
- NOTES :text :note
-
- BUG_TABLE :text
+ } :text = 0x9090

. = ALIGN(4);
.tracedata : AT(ADDR(.tracedata) - LOAD_OFFSET) {
--- linux-2.6.25/arch/x86/kernel/vmlinux_64.lds.S 2008-04-17 04:49:44.000000000 +0200
+++ 2.6.25-bug-table-rodata/arch/x86/kernel/vmlinux_64.lds.S 2008-03-04 11:14:13.000000000 +0100
@@ -19,7 +19,7 @@ PHDRS {
data PT_LOAD FLAGS(7); /* RWE */
user PT_LOAD FLAGS(7); /* RWE */
data.init PT_LOAD FLAGS(7); /* RWE */
- note PT_NOTE FLAGS(4); /* R__ */
+ note PT_NOTE FLAGS(0); /* ___ */
}
SECTIONS
{
@@ -40,16 +40,14 @@ SECTIONS
_etext = .; /* End of text section */
} :text = 0x9090

+ NOTES :text :note
+
. = ALIGN(16); /* Exception table */
__ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) {
__start___ex_table = .;
*(__ex_table)
__stop___ex_table = .;
- }
-
- NOTES :text :note
-
- BUG_TABLE :text
+ } :text = 0x9090

RODATA

--- linux-2.6.25/include/asm-generic/vmlinux.lds.h 2008-04-17 04:49:44.000000000 +0200
+++ 2.6.25-bug-table-rodata/include/asm-generic/vmlinux.lds.h 2008-03-04 11:14:13.000000000 +0100
@@ -67,6 +67,8 @@
*(.rodata1) \
} \
\
+ BUG_TABLE \
+ \
/* PCI quirks */ \
.pci_fixup : AT(ADDR(.pci_fixup) - LOAD_OFFSET) { \
VMLINUX_SYMBOL(__start_pci_fixups_early) = .; \
@@ -310,6 +312,7 @@
.stab.indexstr 0 : { *(.stab.indexstr) } \
.comment 0 : { *(.comment) }

+#ifdef CONFIG_GENERIC_BUG
#define BUG_TABLE \
. = ALIGN(8); \
__bug_table : AT(ADDR(__bug_table) - LOAD_OFFSET) { \
@@ -317,6 +320,9 @@
*(__bug_table) \
__stop___bug_table = .; \
}
+#else
+#define BUG_TABLE
+#endif

#define NOTES \
.notes : AT(ADDR(.notes) - LOAD_OFFSET) { \


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