Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.12 34 lines 841 B view raw
1/* 2 * linux/arch/alpha/mm/extable.c 3 */ 4 5#include <linux/config.h> 6#include <linux/module.h> 7#include <asm/uaccess.h> 8 9void sort_extable(struct exception_table_entry *start, 10 struct exception_table_entry *finish) 11{ 12} 13 14const struct exception_table_entry * 15search_extable(const struct exception_table_entry *first, 16 const struct exception_table_entry *last, 17 unsigned long value) 18{ 19 while (first <= last) { 20 const struct exception_table_entry *mid; 21 unsigned long mid_value; 22 23 mid = (last - first) / 2 + first; 24 mid_value = (unsigned long)&mid->insn + mid->insn; 25 if (mid_value == value) 26 return mid; 27 else if (mid_value < value) 28 first = mid+1; 29 else 30 last = mid-1; 31 } 32 33 return NULL; 34}