Commit 160c2d70 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] do not use shared extable code for ia64

From: Jes Sorensen <jes@trained-monkey.org>

The new sort_extable and shared search_extable code doesn't work on ia64.
I have introduced two new #defines that archs can define to avoid the
common code being built.  ARCH_HAS_SEARCH_EXTABLE and
ARCH_HAS_SORT_EXTABLE.
parent deb5639c
...@@ -281,6 +281,9 @@ extern unsigned long __strnlen_user (const char *, long); ...@@ -281,6 +281,9 @@ extern unsigned long __strnlen_user (const char *, long);
__su_ret; \ __su_ret; \
}) })
#define ARCH_HAS_SORT_EXTABLE
#define ARCH_HAS_SEARCH_EXTABLE
struct exception_table_entry { struct exception_table_entry {
int addr; /* gp-relative address of insn this fixup is for */ int addr; /* gp-relative address of insn this fixup is for */
int cont; /* gp-relative continuation address; if bit 2 is set, r9 is set to 0 */ int cont; /* gp-relative continuation address; if bit 2 is set, r9 is set to 0 */
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
extern struct exception_table_entry __start___ex_table[]; extern struct exception_table_entry __start___ex_table[];
extern struct exception_table_entry __stop___ex_table[]; extern struct exception_table_entry __stop___ex_table[];
#ifndef ARCH_HAS_SORT_EXTABLE
/* /*
* The exception table needs to be sorted so that the binary * The exception table needs to be sorted so that the binary
* search that we use to find entries in it works properly. * search that we use to find entries in it works properly.
...@@ -45,7 +46,9 @@ void sort_extable(struct exception_table_entry *start, ...@@ -45,7 +46,9 @@ void sort_extable(struct exception_table_entry *start,
} }
} }
} }
#endif
#ifndef ARCH_HAS_SEARCH_EXTABLE
/* /*
* Search one exception table for an entry corresponding to the * Search one exception table for an entry corresponding to the
* given instruction address, and return the address of the entry, * given instruction address, and return the address of the entry,
...@@ -75,3 +78,4 @@ search_extable(const struct exception_table_entry *first, ...@@ -75,3 +78,4 @@ search_extable(const struct exception_table_entry *first,
} }
return NULL; return NULL;
} }
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment