From: Chris J. <cp...@we...> - 2002-08-28 01:08:47
|
Hi: Newbie build problem. Thanks for any information! (I have the dprobes command working at least today). Using dprobes3.6.3, on redhat7.2 patched to March, lookup_symbol() of do_fork is failing, although the symbol table loads. I must have built something incorrectly; or are only certain kernel compile options supported? gdb sources are 5.1-1, built in /usr/src/redhat/BUILD/gdb-5.1 Anomoly during build: during patch-dpcc, c_hll_lang.l and c_hll_lang.y were identified as already patched. Otherwise it built cleanly. Anomoly in cmd/ dir: I did notice that in the cmd/ directory, dprobes did not build properly due to libbfd.a symbols missing (e.g. htab_create). I linked explicitly with the libiberty.a and libbfd.a from the gdb 5.1-1 source to workaround that problem. [root@sld12 dpcc-1.0.1]# file /usr/src/linux/vmlinux /usr/src/linux/vmlinux: ELF 32-bit LSB executable, Intel 80386, version 1, statically linked, not stripped [root@sld12 dpcc-1.0.1]# nm !$ | grep do_fork nm /usr/src/linux/vmlinux | grep do_fork c011bcb8 T do_fork ./dpcc kernel-param.dpc Preprocessing: gcc -E -xc -o /tmp/dpc1YLfjE kernel-param.dpc Loading symbol file /usr/src/linux/vmlinux Unable to find function do_fork 2436 open("/usr/src/linux/vmlinux", O_RDONLY) = 6 2436 fcntl64(0x6, 0x3, 0, 0x40015e8c) = 0 2436 fcntl64(0x6, 0x3, 0xbffff7e8, 0) = 0 2436 fstat64(6, {st_mode=S_IFREG|0755, st_size=4157609, ...}) = 0 2436 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001a000 2436 _llseek(6, 0, [0], SEEK_CUR) = 0 2436 read(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\2\0\3\0\1\0\0\0\0P\20\300"..., 4096) = 4096 2436 _llseek(6, 3457024, [3457024], SEEK_SET) = 0 2436 read(6, "\0\00001.01\0\0\0\10\0\0\0\0\0\0\0\1\0\0\00001.01\0\0\0"..., 4096) = 4096 2436 _llseek(6, 3461120, [3461120], SEEK_SET) = 0 2436 _llseek(6, 0, [0], SEEK_SET) = 0 2436 read(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\2\0\3\0\1\0\0\0\0P\20\300"..., 4096) = 4096 2436 write(2, "Unable to find function do_fork\n", 32) = 32 |