return-type for search_extable()

David Mosberger
2003-01-24T18:14:25Z

Hi Rusty,

Could you please change the return-type of search_extable() to
something that allows a bit more flexibility? The value returned by
this function is "something that lets architecture-specific code
recover from a memory-managment-fault". This may or may not be the
same as an exception_table_entry. For example, on ia64, I want to
return an already-relocated fixup-word. Perhaps the cleanest way to
fix this would be to have:

exception_fixup_t search_extable (...);

By default, you could then use

typedef struct exception_table_entry *exception_fixup_t;

and on ia64 I could use:

typedef long exception_fixup_t.

The only restriction on exception_fixup_t would be that it's a type
that can be tested for being equal to zero and, if it is zero, it
would mean that there is no exception-table entry.

Alternatively, we could make search_extable() just always return a
"void *" or a "long", but that's less clear and less type-safe.

--david