Merge branch 'core/rodata' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 14 Jul 2008 22:28:10 +0000 (15:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 14 Jul 2008 22:28:10 +0000 (15:28 -0700)
* 'core/rodata' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  move BUG_TABLE into RODATA

1  2 
arch/avr32/kernel/vmlinux.lds.S
arch/x86/kernel/vmlinux_32.lds.S
arch/x86/kernel/vmlinux_64.lds.S
include/asm-generic/vmlinux.lds.h

@@@ -68,6 -68,14 +68,6 @@@ SECTION
                _evba = .;
                _text = .;
                *(.ex.text)
 -              . = 0x50;
 -              *(.tlbx.ex.text)
 -              . = 0x60;
 -              *(.tlbr.ex.text)
 -              . = 0x70;
 -              *(.tlbw.ex.text)
 -              . = 0x100;
 -              *(.scall.text)
                *(.irq.text)
                KPROBES_TEXT
                TEXT_TEXT
@@@ -85,8 -93,6 +85,6 @@@
                __stop___ex_table = .;
        }
  
-       BUG_TABLE
        RODATA
  
        . = ALIGN(THREAD_SIZE);
                 */
                *(.data.init_task)
  
 +              /* Then, the page-aligned data */
 +              . = ALIGN(PAGE_SIZE);
 +              *(.data.page_aligned)
 +
                /* Then, the cacheline aligned data */
                . = ALIGN(L1_CACHE_BYTES);
                *(.data.cacheline_aligned)
@@@ -49,17 -49,22 +49,15 @@@ SECTION
        _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) {
 -      __tracedata_start = .;
 -      *(.tracedata)
 -      __tracedata_end = .;
 -  }
 -
    RODATA
  
    /* writeable */
@@@ -19,7 -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
  {
        _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
  
 -  . = ALIGN(4);
 -  .tracedata : AT(ADDR(.tracedata) - LOAD_OFFSET) {
 -      __tracedata_start = .;
 -      *(.tracedata)
 -      __tracedata_end = .;
 -  }
 -
    . = ALIGN(PAGE_SIZE);               /* Align data segment to page size boundary */
                                /* Data */
    .data : AT(ADDR(.data) - LOAD_OFFSET) {
        *(.con_initcall.init)
    }
    __con_initcall_end = .;
 +  . = ALIGN(16);
    __x86cpuvendor_start = .;
    .x86cpuvendor.init : AT(ADDR(.x86cpuvendor.init) - LOAD_OFFSET) {
        *(.x86cpuvendor.init)
@@@ -67,6 -67,8 +67,8 @@@
                *(.rodata1)                                             \
        }                                                               \
                                                                        \
+       BUG_TABLE                                                       \
+                                                                       \
        /* PCI quirks */                                                \
        .pci_fixup        : AT(ADDR(.pci_fixup) - LOAD_OFFSET) {        \
                VMLINUX_SYMBOL(__start_pci_fixups_early) = .;           \
@@@ -93,8 -95,6 +95,8 @@@
                VMLINUX_SYMBOL(__end_rio_route_ops) = .;                \
        }                                                               \
                                                                        \
 +      TRACEDATA                                                       \
 +                                                                      \
        /* Kernel symbol table: Normal symbols */                       \
        __ksymtab         : AT(ADDR(__ksymtab) - LOAD_OFFSET) {         \
                VMLINUX_SYMBOL(__start___ksymtab) = .;                  \
                .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) {             \
                *(__bug_table)                                          \
                __stop___bug_table = .;                                 \
        }
+ #else
+ #define BUG_TABLE
+ #endif
  
 +#ifdef CONFIG_PM_TRACE
 +#define TRACEDATA                                                     \
 +      . = ALIGN(4);                                                   \
 +      .tracedata : AT(ADDR(.tracedata) - LOAD_OFFSET) {               \
 +              __tracedata_start = .;                                  \
 +              *(.tracedata)                                           \
 +              __tracedata_end = .;                                    \
 +      }
 +#else
 +#define TRACEDATA
 +#endif
 +
  #define NOTES                                                         \
        .notes : AT(ADDR(.notes) - LOAD_OFFSET) {                       \
                VMLINUX_SYMBOL(__start_notes) = .;                      \