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


-------------------------------------------------------------------------
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

Reply via email to