On Wed, Jul 6, 2016 at 1:31 PM, Mark Kica <mark.k...@gmail.com> wrote: > I have build custom 64bit UML Linux kernel with TUN/TAP kernel module > (tun.ko) and then I have installed it on small root filesystem with busybox > . These module and kernel seems to work and I would like to make simple > changes in TUN module and measure it's performance . > > So I have tried to follow guide from > http://user-mode-linux.sourceforge.net/hacking.html which explains how to > attach gdb to UML and set breakpoint for module init function . > > (gdb) p modules > $1 = {next = 0x6385cf38, prev = 0x6385cf38} > > (gdb) p *((struct module *)0x6385cf30) > $2 = {state = MODULE_STATE_LIVE, list = {next = 0x6036aee0, prev = > 0x6036aee0}, name = "tun", '\000' <repeats 52 times>, mkobj = {kobj = {name > = 0x62e95b00 "tun", entry = {next = 0x62c30440, prev = 0x62c30148}, parent = > 0x62c30450, > kset = 0x62c30440, ktype = 0x603694d0, sd = 0x62dd6fa0, kref = {refcount = > {counter = 3}}, state_initialized = 1, state_in_sysfs = 1, > state_add_uevent_sent = 1, state_remove_uevent_sent = 0, uevent_suppress = > 0}, > mod = 0x6385cf30, drivers_dir = 0x0, mp = 0x0}, modinfo_attrs = 0x62ea0400, > version = 0x0, srcversion = 0x0, holders_dir = 0x62da7400, syms = 0x0, crcs > = 0x0, num_syms = 0, kp = 0x0, num_kp = 0, num_gpl_syms = 1, > gpl_syms = 0x6385c260, gpl_crcs = 0x0, gpl_future_syms = 0x0, > gpl_future_crcs = 0x0, num_gpl_future_syms = 0, num_exentries = 0, extable = > 0x0, init = 0x63860000, module_init = 0x0, module_core = 0x6385a000, > init_size = 0, > core_size = 13990, init_text_size = 0, core_text_size = 8244, init_ro_size = > 127, core_ro_size = 11432, arch = {<No data fields>}, taints = 0, num_bugs = > 0, bug_list = {next = 0x60376a40, prev = 0x60376a40}, bug_table = 0x0, > symtab = 0x6385d120, core_symtab = 0x6385d120, num_symtab = 37, > core_num_syms = 37, strtab = 0x6385d498 "", core_strtab = 0x6385d498 "", > sect_attrs = 0x62c52000, notes_attrs = 0x62e98240, args = 0x62e95b20 " ", > source_list = { > next = 0x6385d0e0, prev = 0x6385d0e0}, target_list = {next = 0x6385d0f0, > prev = 0x6385d0f0}, waiter = 0x62ea10c0, exit = 0x6385a101, refptr = > 0x62176ca0} > > (gdb) add-symbol-file > /home/mark/playground/linux-2.6.39.3/drivers/net/tun.ko 0x6385a000 > add symbol table from file > "/home/mark/playground/linux-2.6.39.3/drivers/net/tun.ko" at > .text_addr = 0x6385a000 > (y or n) > Please answer y or n. > (y or n) y > Reading symbols from > /home/mark/playground/linux-2.6.39.3/drivers/net/tun.ko...done.
Try extracting the addresses from /sys/module/tun/sections/ > (gdb) p tun_init > $3 = {int (void)} 0x24 <tun_init> > > > (gdb) break tun_init > Cannot access memory at address 0x24 > > > > I don't understand why tun_init is located at 0x24 and not at 0x6385a000 ? > Can somebody point what I am doing wrong and how to load debug symbols and > set breakpoint ? > > > ------------------------------------------------------------------------------ > Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San > Francisco, CA to explore cutting-edge tech and listen to tech luminaries > present their vision of the future. This family event has something for > everyone, including kids. Get more information and register today. > http://sdm.link/attshape > _______________________________________________ > User-mode-linux-devel mailing list > User-mode-linux-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel > -- Thanks, //richard ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel