gdb 6.3 build problem on arm/xscale

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hi,
I downloaded gdb 6.3(same occured at 6.2) and tried to build it as
follows:
12E% ../gdb-6.3/configure --target3D%$TARGET --prefix3D%$
TARGET is armeb-xscale-linux-gnu (big endian arm)
and PREFIX is armeb-xscale-linux-gnu directory
22E% make
but then after awhile I get the error:
gcc -c -DHAVE_CONFIG_H     -DPROFILE3D%1 -DWITH_PROFILE3D%-1
-DDEFAULT_INLINE3D%0           -DMODET -DNEED_UI_LOOP_HOOK
-DSIM_TARGET_SWITCHES   -I. -I../../../gdb-6.3/sim/arm -I../common
-I../../../gdb-6.3/sim/arm/../AD%common -I../../include
-I../../../gdb-6.3/sim/arm/../AD%../include -I../../bfd
-I../../../gdb-6.3/sim/arm/../AD%../bfd -I../../opcodes
-I../../../gdb-6.3/sim/arm/../AD%../opcodes -I../../intl
-I../../../gdb-6.3/sim/arm/../AD%../intl -g -O2
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c: In function 'WMAC':
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:2117: error: invalid lvalue in
assignment
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:2133: error: invalid lvalue in
assignment
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c: In function 'WMADD':
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:2169: error: invalid lvalue in
assignment
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:2177: error: invalid lvalue in
assignment
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:2186: error: invalid lvalue in
assignment
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:2191: error: invalid lvalue in
assignment
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c: In function 'WSLL':
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:2840: warning: integer constant is
too large for 'long' type
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c: In function 'WSRA':
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:2917: warning: integer constant is
too large for 'long' type
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:2917: warning: integer constant is
too large for 'long' type
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:2919: warning: integer constant is
too large for 'long' type
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c: In function 'WSRL':
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:2988: warning: integer constant is
too large for 'long' type
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c: In function 'WUNPCKEH':
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:3290: warning: integer constant is
too large for 'long' type
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c: In function 'WUNPCKEL':
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:3357: warning: integer constant is
too large for 'long' type
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c: In function
'Fetch_Iwmmxt_Register':
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:3707: warning: incompatible
implicit
declaration of built-in function 'memcpy'
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:3712: warning: incompatible
implicit
declaration of built-in function 'memcpy'
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c: In function
'Store_Iwmmxt_Register':
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:3722: warning: incompatible
implicit
declaration of built-in function 'memcpy'
.2E%/../../gdb-6.3/sim/arm/iwmmxAD%t.c:3727: warning: incompatible
implicit
declaration of built-in function 'memcpy'
make[2]: *** [iwmmxt.o] Error 1


Is there a special patch I need to apply in order to compile the gdb
for armeb?


Re: gdb 6.3 build problem on arm/xscale
Quoted text here. Click to load it
-----8<---------------
hrrm. not sure exactly what's going on there, but this is what i do:
(set paths for CC, CFLAGS etc to my arm-linux toolchain.)
cd gdbserver
./configure --target=arm-linux
then i run a make in that directory, which produces the gdbserver arm big endian
binary.

then:
(unset CC and CFLAGS)
cd .. (to the root gdb dir)
./configure --target=arm-linux
and run make (with my host toolchain), which produces
the gdb binary.

good luck,



--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Damion de Soto - Software Engineer  email:     snipped-for-privacy@snapgear.com
We've slightly trimmed the long signature. Click to see the full one.
Re: gdb 6.3 build problem on arm/xscale
Problem solved. GCC 4.0 has a bug with casting and assignment. 3.4.4
compiled it.
Thanks


Site Timeline