skyeye0.8.5.1 安装make时碰到错误
在make步骤时遇到错误,编译错误如下:gcc -c -g -O2 -I. -I. -I./config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I./../include/opcode -I./../readline/.. -I../bfd -I./../bfd -I./../include -I../intl -I./../intl -DMI_OUT=1 -DUI_OUT=1 -Wimplicit -Wreturn-type -Wcomment -Wtrigraphs -Wformat -Wparentheses -Wpointer-arith -Wuninitialized gdbtypes.c
gdbtypes.c: 在函数 ‘recursive_dump_type’ 中:
gdbtypes.c:2961: 错误:自增运算中的左值无效
make: *** 错误 1
make: Leaving directory `/usr/src/skyeye/gdb'
make: *** 错误 2
gdbtypes.c中的代码如下:
2931 static struct obstack dont_print_type_obstack;
2932
2933 void
2934 recursive_dump_type (struct type *type, int spaces)
2935 {
2936 int idx;
2937
2938 if (spaces == 0)
2939 obstack_begin (&dont_print_type_obstack, 0);
2940
2941 if (TYPE_NFIELDS (type) > 0
2942 || (TYPE_CPLUS_SPECIFIC (type) && TYPE_NFN_FIELDS (type) > 0))
2943 {
2944 struct type **first_dont_print
2945 = (struct type **) obstack_base (&dont_print_type_obstack);
2946
2947 int i = (struct type **) obstack_next_free (&dont_print_type_obsta ck)
2948 - first_dont_print;
2949
2950 while (--i >= 0)
2951 {
2952 if (type == first_dont_print)
2953 {
2954 printfi_filtered (spaces, "type node ");
2955 gdb_print_host_address (type, gdb_stdout);
2956 printf_filtered (" <same as already seen type>\n");
2957 return;
2958 }
2959 }
2960
2961 obstack_ptr_grow (&dont_print_type_obstack, type);
2962 }
请问能不能看出来是什么错误?~
哪有自增运算? I guess the problem is in obstack_ptr_grow function at 2961 line. If you use the newerlinuxdistribution, I recommend you use the skyeye in the following post:
http://www.linuxfans.org/nuke//modules.php?name=Forums&file=viewtopic&t=161951&highlight=gdb 先谢谢ksh。。。
我用的是Federo Core 6
试着去你给的地址去下载with-gdb6.4
Not Found
The requested URL /sourceforge/skyeye/skyeye-0.9.8-gdb-6.4.tar.gz was not found on this server.
呵呵~还有其他下载地址么?~ 谢谢ksh,我按你给的地址下载到了skyeye-0.9.8-gdb-6.4.tar.gz
但是安装的时候还是有问题
我顺利的通过了./configure make make install三个命令,
但是完了之后发现什么也没安装上,用which whereis 命令都查不到skyeye
make install命令最后的几行如下:
你给看一下这个正常么?是不是出了错误?
make: Leaving directory `/usr/src/skyeye-0.9.8/gdb/doc'
make: Entering directory `/usr/src/skyeye-0.9.8/gdb/testsuite'
make: Nothing to be done for `install'.
make: Leaving directory `/usr/src/skyeye-0.9.8/gdb/testsuite'
make: Entering directory `/usr/src/skyeye-0.9.8/gdb/rdi-share'
make: Leaving directory `/usr/src/skyeye-0.9.8/gdb/rdi-share'
make: Leaving directory `/usr/src/skyeye-0.9.8/gdb'
make: Leaving directory `/usr/src/skyeye-0.9.8/gdb'
make: Nothing to be done for `install-target'.
make: Leaving directory `/usr/src/skyeye-0.9.8' 你直接把gdb/gdb可执行文件当作skyeye用就可以。或者把它重命名为skyeye。如:
mv gdb/gdb /usr/local/bin/skyeye 呵呵~~原来这样啊~!谢谢,ksh~
by the way , ksh, why didn't you use your fluent english?~
gaga.....~ :mrgreen::mrgreen: 又碰到了新问题:
编译了linux内核,并且按照论坛置顶贴《skyeye使用简介》所示,在 uclinux-dist 目录下建立了skyeye配置文件 skyeye.conf,并且在/usr/src/uclinux-dist依次执行了如下命令:
skyeye linux-2.4.x/linux
(gdb)target sim
(gdb)load
(gdb)run
结果如下所示:
$ skyeye linux-2.4.x/linux
GNU gdb 6.4
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.Type "show warranty" for details.
This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-elf"...
(gdb) target sim
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name at91, mach_init addr 0x8183690
SKYEYE: use arm7100 mmu ops
Loaded ROM images/romfs.img
Connected to the simulator.
(gdb) load
Loading section .init, size 0xa000 vma 0x8000
Loading section .text, size 0x1a5bb8 vma 0x12000
Loading section .data, size 0x7bdc vma 0x1b8000
Start address 0x8000
Transfer rate: 14400672 bits in <1 sec.
(gdb) run
Starting program: /home/marrow/uClinux-dist/linux-2.4.x/linux
Program received signal SIGINT, Interrupt.
0x00000000 in ?? ()
请问这是怎么一回事?不解~
是不是我内核编译的有问题?~ 今天又出现了如下问题:
run的时候,结果如下:
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/marrow/uClinux-dist/linux-2.4.x/linux
SKYEYE: WARNING: illegal write word to 0x1400030 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400034 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400038 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x140003c of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400040 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400044 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400048 of 0x6ac @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400030 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400034 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400038 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x140003c of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400040 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400044 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400048 of 0x950 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400030 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400034 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400038 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x140003c of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400040 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400044 of 0x0 @ 0xea0538
SKYEYE: WARNING: illegal write word to 0x1400048 of 0x9a4 @ 0xea0538
然后就一直出现这样的内容,只好ctrl C ~
这个是我内核编译的有问题,还是skyeye安装的有问题?~
页:
[1]