Loading arch/parisc/kernel/unwind.c +9 −14 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ #include <linux/sched.h> #include <linux/slab.h> #include <linux/kallsyms.h> #include <linux/sort.h> #include <asm/uaccess.h> #include <asm/assembly.h> Loading Loading @@ -115,24 +116,18 @@ unwind_table_init(struct unwind_table *table, const char *name, } } static int cmp_unwind_table_entry(const void *a, const void *b) { return ((const struct unwind_table_entry *)a)->region_start - ((const struct unwind_table_entry *)b)->region_start; } static void unwind_table_sort(struct unwind_table_entry *start, struct unwind_table_entry *finish) { struct unwind_table_entry el, *p, *q; for (p = start + 1; p < finish; ++p) { if (p[0].region_start < p[-1].region_start) { el = *p; q = p; do { q[0] = q[-1]; --q; } while (q > start && el.region_start < q[-1].region_start); *q = el; } } sort(start, finish - start, sizeof(struct unwind_table_entry), cmp_unwind_table_entry, NULL); } struct unwind_table * Loading Loading
arch/parisc/kernel/unwind.c +9 −14 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ #include <linux/sched.h> #include <linux/slab.h> #include <linux/kallsyms.h> #include <linux/sort.h> #include <asm/uaccess.h> #include <asm/assembly.h> Loading Loading @@ -115,24 +116,18 @@ unwind_table_init(struct unwind_table *table, const char *name, } } static int cmp_unwind_table_entry(const void *a, const void *b) { return ((const struct unwind_table_entry *)a)->region_start - ((const struct unwind_table_entry *)b)->region_start; } static void unwind_table_sort(struct unwind_table_entry *start, struct unwind_table_entry *finish) { struct unwind_table_entry el, *p, *q; for (p = start + 1; p < finish; ++p) { if (p[0].region_start < p[-1].region_start) { el = *p; q = p; do { q[0] = q[-1]; --q; } while (q > start && el.region_start < q[-1].region_start); *q = el; } } sort(start, finish - start, sizeof(struct unwind_table_entry), cmp_unwind_table_entry, NULL); } struct unwind_table * Loading