linux-mips
[Top] [All Lists]

Re: DBE table ordering

To: "Mark Huang" <mhuang@broadcom.com>
Subject: Re: DBE table ordering
From: Keith Owens <kaos@ocs.com.au>
Date: Thu, 18 Apr 2002 13:55:35 +1000
Cc: "'linux-mips@oss.sgi.com'" <linux-mips@oss.sgi.com>
In-reply-to: Your message of "Wed, 17 Apr 2002 15:21:56 MST." <E1EBEF4633DBD3118AD1009027E2FFA0023FB64D@mail.sv.broadcom.com>
Sender: owner-linux-mips@oss.sgi.com
On Wed, 17 Apr 2002 15:21:56 -0700, 
"Mark Huang" <mhuang@broadcom.com> wrote:
>search_one_table() in arch/mips/kernel/traps.c does a binary search for the
>erring instruction address in the DBE table. What guarantee is there that
>the table is in order by instruction address? It looks like the code hasn't
>changed in a long time and it has worked for me since at least 2.4.3.
>However, a top of tree (2.5.1) kernel crashes on me as soon as a get_dbe()
>fails, because the table is out of order at link time---possibly run time if
>there's some code that I missed that is reordering the table at __init. Any
>ideas?

The kernel relies on several tables being correctly ordered by the
linker, including the initialization vectors, so it is a fair bet that
the linker is correctly appended these tables as the kernel is built.
What is more likely is that one of the exception table entries was
created out of order.  Please send the following output to me, not the
list.

objdump -h vmlinux
objdump -s -j __ex_table vmlinux
nm -a vmlinux


<Prev in Thread] Current Thread [Next in Thread>