Sorry. I know how to use addr2line. But it is not what I'm looking for. For example, with i386 kernel, it is easy to find c017e7a5 belong to function get_user.
x86]$ vi /hack/linux-3.12.6/Documentation/x86/exception-tables.txt ............. 217 or in human readable byte order: 218 219 > c01aa7c4 c017c093 c0199fe0 c017c097 c017c099 ................ 220 > c01aa7d4 c017c2f6 c0199fe9 c017e7a5 c0199ff5 ................ 221 ^^^^^^^^^^^^^^^^^ 222 this is the interesting part! 223 > c01aa7e4 c0180a08 c019a001 c0180a0a c019a004 ................ my question is how to find 0xffdc6eb8 belong to which uml kernel function. thanks On Fri, May 30, 2014 at 3:45 PM, Richard Weinberger <richard.weinber...@gmail.com> wrote: > On Fri, May 30, 2014 at 9:29 AM, enjoy mindful <enjoymind...@gmail.com> wrote: >> Hi, all >> I build linux-3.12.6 uml with default configure. >> >> tar -jxf linux-3.12.6.tar.bz2 >> cd linux-3.12.6 >> make ARCH=um defconfig >> make ARCH=um linux >> >> I'm confused about the exception table of the uml kernel. >> >> >> $ objdump --full-contents --section=__ex_table linux >> >> linux: file format elf32-i386 >> >> Contents of section __ex_table: >> 82a5048 3e6fdcff bcbaf6ff 396fdcff b4baf6ff >o......9o...... >> 82a5058 336fdcff acbaf6ff 306fdcff bfbaf6ff 3o......0o...... >> 82a5068 2b6fdcff 9cbaf6ff 286fdcff afbaf6ff +o......(o...... >> 82a5078 236fdcff 8cbaf6ff 206fdcff 9fbaf6ff #o...... o...... >> 82a5088 1b6fdcff 7cbaf6ff 186fdcff 8fbaf6ff .o..|....o...... >> 82a5098 136fdcff 6cbaf6ff 106fdcff 7fbaf6ff .o..l....o...... >> 82a50a8 0b6fdcff 5cbaf6ff 086fdcff 6fbaf6ff .o..\....o..o... >> 82a50b8 036fdcff 4cbaf6ff 006fdcff 5fbaf6ff .o..L....o.._... >> 82a50c8 fb6edcff 3cbaf6ff f86edcff 4fbaf6ff .n..<....n..O... >> 82a50d8 f36edcff 2cbaf6ff f06edcff 3fbaf6ff .n..,....n..?... >> 82a50e8 eb6edcff 1cbaf6ff e86edcff 2fbaf6ff .n.......n../... >> 82a50f8 e36edcff 0cbaf6ff e06edcff 1fbaf6ff .n.......n...... >> 82a5108 db6edcff fcb9f6ff d86edcff 0fbaf6ff .n.......n...... >> 82a5118 d36edcff ecb9f6ff d06edcff ffb9f6ff .n.......n...... >> 82a5128 cb6edcff dcb9f6ff c86edcff efb9f6ff .n.......n...... >> 82a5138 c36edcff ccb9f6ff c06edcff dfb9f6ff .n.......n...... >> 82a5148 bb6edcff bcb9f6ff b86edcff cfb9f6ff .n.......n...... >> 82a5158 ce6edcff acb9f6ff cc6edcff bfb9f6ff .n.......n...... >> 82a5168 cf6edcff 9cb9f6ff c96edcff afb9f6ff .n.......n...... >> >> Let pick the first instruction location '3e6fdcff' (in human readable >> is 0xffdc6f3e). My question is how to find which function in UML >> kernel has an instruction in location 0xffdc6f3e? > > Not sure whether I understand your question correctly. > Isn't addr2line what you need? > >> >> In i386 platform, the kernel address greater than the __PAGE_OFFSET >> (0xC0000000). However, as skas0 sperate the uml kernel and user >> process address space, it dose work by search address greater than the >> __PAGE_OFFSET for UML. >> >> thanks >> >> ------------------------------------------------------------------------------ >> Time is money. Stop wasting it! Get your web API in 5 minutes. >> www.restlet.com/download >> http://p.sf.net/sfu/restlet >> _______________________________________________ >> User-mode-linux-user mailing list >> User-mode-linux-user@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user > > > > -- > Thanks, > //richard ------------------------------------------------------------------------------ Time is money. Stop wasting it! Get your web API in 5 minutes. www.restlet.com/download http://p.sf.net/sfu/restlet _______________________________________________ User-mode-linux-user mailing list User-mode-linux-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user