Merge branch 'sh/dwarf-unwinder'
[pandora-kernel.git] / arch / sh / kernel / dwarf.c
index f242cd1..c274039 100644 (file)
@@ -24,7 +24,6 @@
 #include <asm/unwinder.h>
 #include <asm/sections.h>
 #include <asm/unaligned.h>
 #include <asm/unwinder.h>
 #include <asm/sections.h>
 #include <asm/unaligned.h>
-#include <asm/dwarf.h>
 #include <asm/stacktrace.h>
 
 /* Reserve enough memory for two stack frames */
 #include <asm/stacktrace.h>
 
 /* Reserve enough memory for two stack frames */
@@ -901,7 +900,7 @@ int dwarf_parse_section(char *eh_frame_start, char *eh_frame_end,
 {
        u32 entry_type;
        void *p, *entry;
 {
        u32 entry_type;
        void *p, *entry;
-       int count, err;
+       int count, err = 0;
        unsigned long len;
        unsigned int c_entries, f_entries;
        unsigned char *end;
        unsigned long len;
        unsigned int c_entries, f_entries;
        unsigned char *end;
@@ -1022,9 +1021,12 @@ static int __init dwarf_unwinder_init(void)
        INIT_LIST_HEAD(&dwarf_fde_list);
 
        dwarf_frame_cachep = kmem_cache_create("dwarf_frames",
        INIT_LIST_HEAD(&dwarf_fde_list);
 
        dwarf_frame_cachep = kmem_cache_create("dwarf_frames",
-                       sizeof(struct dwarf_frame), 0, SLAB_PANIC, NULL);
+                       sizeof(struct dwarf_frame), 0,
+                       SLAB_PANIC | SLAB_HWCACHE_ALIGN | SLAB_NOTRACK, NULL);
+
        dwarf_reg_cachep = kmem_cache_create("dwarf_regs",
        dwarf_reg_cachep = kmem_cache_create("dwarf_regs",
-                       sizeof(struct dwarf_reg), 0, SLAB_PANIC, NULL);
+                       sizeof(struct dwarf_reg), 0,
+                       SLAB_PANIC | SLAB_HWCACHE_ALIGN | SLAB_NOTRACK, NULL);
 
        dwarf_frame_pool = mempool_create(DWARF_FRAME_MIN_REQ,
                                          mempool_alloc_slab,
 
        dwarf_frame_pool = mempool_create(DWARF_FRAME_MIN_REQ,
                                          mempool_alloc_slab,