Messages in this thread |  | | Date | Tue, 13 Nov 2001 17:42:38 -0500 | From | Brian Gerst <> | Subject | Re: [PATCH] search_one_table() |
| |
Per Persson wrote: > > I found that gcc doesn't manage to do this rewrite itself. My micro-patch > saves a few bytes. Also the code becomes a little bit cleaner (IMHO). > > Probably the same change could (and should) be made for the other > architectures too. > > Per Persson > per.persson@gnosjo.pp.se > > --- arch/i386/mm/extable.c.orig Mon Nov 12 00:13:52 2001 > +++ arch/i386/mm/extable.c Tue Nov 13 17:39:42 2001 > @@ -19,7 +19,7 @@ > const struct exception_table_entry *mid; > long diff; > > - mid = (last - first) / 2 + first; > + mid = (last + first) / 2 > diff = mid->insn - value; > if (diff == 0) > return mid->fixup; >
This change will not work because of lost high bits due to overflow. Remember that kernel addresses are in the 0xc0000000-0xffffffff range.
--
Brian Gerst - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |