Well, I tried to just compile it with gdb-6.8 source tree, but gdb-6.8 doesn't support the cegcc target out of the box (not that it should), I tried figuring out how to patch GDB by looking at diffs from cegcc 6.4 gdb and vanilla 6.8 gdb, but to no success. Building with arm-*-wince platforms exculdes 'gdb' directory from being built all together, and I'm not smart enough to understand how exactly am I suppose to fix this.
So, I tried 6.8 gdb for mingw target posted recently (thank you that person), and I was able to successfully debug a cegcc program with it, running gdb server, and specifying remote target. Works fine both over tcp/ip and RNDIS, since RNDIS is tcp/ip :) Can't get info on the threads, or the stack trace of a paused program, but breakpoints and signals (win exceptions) work nicely. Thanks! Pawel. On Tue, Sep 9, 2008 at 3:19 PM, Danny Backx <[EMAIL PROTECTED]> wrote: > I believe I've seen reports before about our version of gdb and 64-bit > systems. > > It may be a better idea to try and use the latest gdb from the GNU > website. As you may have seen from recent posts, it works out of the box > with cegcc, so I think we should remove the old gdb from the cegcc > source tree... > > Danny > > On Tue, 2008-09-09 at 13:42 -0700, Pawel Veselov wrote: >> Hi, >> >> ok, talking to myself here... >> >> It seems that the problem is that the symbol is redefined >> incompatibly. It's bound to get redefined, as gdb sources include both >> core windows headers and core native platform headers. Since I'm >> building on x86_64, the size_t is defined 64 bit in platform headers, >> hence the conflict. While that speaks about obviously improper use of >> headers, I've added "-m32" to the gdb CFLAGS, and that seems to have >> fixed that problem. >> However. On some mixed i386/x86_64 systems, there is this preprocessor >> code in asm header files: >> >> #ifdef __x86_64__ >> # include <asm-x86_64/errno.h> >> #else >> # include <asm-i486/errno.h> >> #endif >> >> On mine(CentOS), it's more complicated: >> # if defined __x86_64__ >> # include <asm-x86_64/errno.h> >> # elif defined __i386__ >> # include <asm-i386/errno.h> >> # else >> # warning This machine appears to be neither x86_64 nor i386. >> # endif >> >> Since the gdb building process undefines any __ix86__ defines, a lot >> of asm includes just don't get included. Not sure the reason for >> undefining those __ix86__ defines, but I ended up having to define a >> lot of missing constants, like EINTR, SOL_SOCKET, etc. (so, yeah, I >> get a lot of those neigher 64 nor i386 warnings during compilation). >> >> Funny, how both asm/errno.h come from the same kernel version 2.6.18, >> but first one was quoted from 2.6.18-6-k7 on debian, and mine is >> 2.6.18-92.1.10.el5 on CentOS 5.1 >> >> Not sure what the proper course of actions there is for all that. >> >> Thanks, >> Pawel. >> >> >> >> On Tue, Sep 9, 2008 at 12:17 PM, Pawel Veselov <[EMAIL PROTECTED]> wrote: >> > I'm trying to compile gdb from the SVN sources, and am miserably failing >> > there. >> > Any suggestions as to what I might be doing wrong, or what's wrong with my >> > box? It seems that that particular file is supposed to be compiled for the >> > host >> > architecture, but it picks up the linux stdarg.h and windows includes >> > with all the unfortunate consequences. >> > >> > Just for the fun of it, I tried compiling this particular file with >> > the cegcc itself, but then >> > it fails with not being able to find the <sys/procfs.h>, so then I >> > assume the actual >> > target for this file is supposed to be the host architecture. >> > >> > Thanks, >> > Pawel. >> > >> > $ sh build-cegcc.sh gdb >> > ... >> > gcc -c -I/root/ws/cegcc/cegcc/src/w32api/include -D__arm__ -DARM >> > -U_X86_ -U_M_IX86 -U__i386__ -U__i486__ -U__i586__ -U__i686__ >> > -DUNICODE -DUNDER_CE -D_WIN32_WCE >> > -DWINCE_STUB='"arm-wince-cegcc-stub.exe"' -I. >> > -I/root/ws/cegcc/cegcc/src/gdb/gdb >> > -I/root/ws/cegcc/cegcc/src/gdb/gdb/config >> > -DLOCALEDIR="\"/opt/cegcc/share/locale\"" -DHAVE_CONFIG_H >> > -I/root/ws/cegcc/cegcc/src/gdb/gdb/../include/opcode >> > -I/root/ws/cegcc/cegcc/src/gdb/gdb/../readline/.. -I../bfd >> > -I/root/ws/cegcc/cegcc/src/gdb/gdb/../bfd >> > -I/root/ws/cegcc/cegcc/src/gdb/gdb/../include -I../intl >> > -I/root/ws/cegcc/cegcc/src/gdb/gdb/../intl -DMI_OUT=1 -Wimplicit >> > -Wreturn-type -Wcomment -Wtrigraphs -Wformat -Wparentheses >> > -Wpointer-arith -Wformat-nonliteral -Wunused-label -Wunused-function >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32-nat.c >> > In file included from /root/ws/cegcc/cegcc/src/w32api/include/windef.h:265, >> > from /root/ws/cegcc/cegcc/src/w32api/include/windows.h:49, >> > from /root/ws/cegcc/cegcc/src/gdb/gdb/win32-nat.c:28: >> > /root/ws/cegcc/cegcc/src/w32api/include/winnt.h:3919: error: >> > conflicting types for 'size_t' >> > /usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h:214: error: >> > previous declaration of 'size_t' was here >> > In file included from /root/ws/cegcc/cegcc/src/gdb/gdb/win32-nat.c:83: >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:32: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:33: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:35: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:36: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:37: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:38: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:39: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:41: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:42: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:43: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:44: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:45: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:46: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:47: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32.h:48: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32-nat.c: In function 'get_image_name': >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32-nat.c:1050: warning: implicit >> > declaration of function 'MyWcstombs' >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32-nat.c: In function 'isdrive': >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32-nat.c:2106: warning: implicit >> > declaration of function 'isalpha' >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32-nat.c:2507:2: warning: #warning >> > "This is probably failing..." >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32-nat.c: At top level: >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32-nat.c:3103: warning: 'stdcall' >> > attribute ignored >> > /root/ws/cegcc/cegcc/src/gdb/gdb/win32-nat.c:3108: warning: 'stdcall' >> > attribute ignored >> > make[2]: *** [win32-nat.o] Error 1 >> > make[2]: Leaving directory `/root/ws/cegcc/cegcc/src/build-cegcc/gdb/gdb' >> > make[1]: *** [all-gdb] Error 2 >> > make[1]: Leaving directory `/root/ws/cegcc/cegcc/src/build-cegcc/gdb' >> > make: *** [all] Error 2 >> > >> > >> > -- >> > With best of best regards >> > Pawel S. Veselov >> > >> >> >> > -- > Danny Backx ; danny.backx - at - scarlet.be ; http://danny.backx.info > > -- With best of best regards Pawel S. Veselov ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Cegcc-devel mailing list Cegcc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cegcc-devel