diff options
author | Wolfgang Denk <wd@denx.de> | 2009-10-09 00:03:18 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2009-10-09 00:03:18 +0200 |
commit | cd77dd109c4a439519a78c32eddc42bdebc7a61f (patch) | |
tree | c5534647cb1786044ef0f7e4ad4067725eddf11d /lib_ppc/extable.c | |
parent | 95c44ec485b46ffb43dbdaa299f1491a500fdadf (diff) | |
parent | afc3ba0fc4195624e79e21244380ed7cc2fd6969 (diff) | |
download | blackbird-obmc-uboot-cd77dd109c4a439519a78c32eddc42bdebc7a61f.tar.gz blackbird-obmc-uboot-cd77dd109c4a439519a78c32eddc42bdebc7a61f.zip |
Merge branch 'reloc'
Diffstat (limited to 'lib_ppc/extable.c')
-rw-r--r-- | lib_ppc/extable.c | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/lib_ppc/extable.c b/lib_ppc/extable.c index 91e2b3d246..7408d5c969 100644 --- a/lib_ppc/extable.c +++ b/lib_ppc/extable.c @@ -53,27 +53,13 @@ search_one_table(const struct exception_table_entry *first, unsigned long value) { long diff; - if ((ulong) first > CONFIG_SYS_MONITOR_BASE) { - /* exception occurs in FLASH, before u-boot relocation. - * No relocation offset is needed. - */ - while (first <= last) { - diff = first->insn - value; - if (diff == 0) - return first->fixup; - first++; - } - } else { - /* exception occurs in RAM, after u-boot relocation. - * A relocation offset should be added. - */ - while (first <= last) { - diff = (first->insn + gd->reloc_off) - value; - if (diff == 0) - return (first->fixup + gd->reloc_off); - first++; - } + while (first <= last) { + diff = first->insn - value; + if (diff == 0) + return first->fixup; + first++; } + return 0; } |