objdump for cheats :) (with -g compiled kernel objects) $ objdump --source -d fix_node.o fix_node.o: file format elf32-i386 Disassembly of section .text: 00000000 : return new_num + 1; } static void create_virtual_node (struct tree_balance * tb, int h) { 0: 55 push %ebp 1: 57 push %edi 2: 56 push %esi 3: 53 push %ebx 4: 83 ec 10 sub $0x10,%esp struct item_head * ih; struct virtual_node * vn = tb->tb_vn; 7: 8b 44 24 24 mov 0x24(%esp,1),%eax b: 8b 5c 24 28 mov 0x28(%esp,1),%ebx ... // FIXME: there is no check, that item operation did not // consume too much memory vn->vn_free_ptr += op_create_vi (vn, vi, is_affected, tb->insert_size [0]); 27d: 8b 5c 24 24 mov 0x24(%esp,1),%ebx 281: 89 c8 mov %ecx,%eax 283: 8b 04 85 00 00 00 00 mov 0x0(,%eax,4),%eax 28a: 8b 8b 24 01 00 00 mov 0x124(%ebx),%ecx 290: 51 push %ecx 291: 8b 54 24 08 mov 0x8(%esp,1),%edx 295: 52 push %edx 296: 57 push %edi 297: 56 push %esi 298: 8b 40 14 mov 0x14(%eax),%eax 29b: ff d0 call *%eax 29d: 89 c2 mov %eax,%edx 29f: 8b 06 mov (%esi),%eax