This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

I have some problem on gdbserver


Iwant to build cross-compile to my target, then I
build
gdbserver this way.  for example:
	$ export CC=my-cross-compiler(arm-linu-gcc)
	$ path-to-gdbserver-sources/configure
your-target-name(arm-linux)
	$ make
But when I run gdbserver:
         $ arm-linux-gcc -g -o filename filename.c
         $ ./gdbserver host:1234 filename
error:
bash:./gdbserver:cannot execute binary file.
Who can tell this is why?

I also buils according to BillGatliff,but the error is

same with above.
   First, make sure you have a functional arm-linux
toolchain built, and that it's in your search path.
Then, do this: 
[bgat@mars gnu] tar xzf gdb-5.2.tar.gz
[bgat@mars gnu] mkdir build-gdb && cd build-gdb
[bgat@mars build-gdb] ../gdb-5.2/configure
--target=arm-linux \ 
   --host=arm-linux --build=`../gdb-5.2/config.guess`
The backticks in the --build option cause the command
to run config.guess to figure out the identity of the
host machine. This may be pedantic, but it works for
me so I included it here. 
[bgat@mars build-gdb] cd gdb/gdbserver
[bgat@mars build-gdb] make CC=arm-linux-gcc
[bgat@mars build-gdb] file gdbserver
./gdbserver: ELF 32-bit LSB executable, ARM, version 1
(ARM), dynamically linked (uses shared libs), not
stripped
You probably don't want your gdbserver to use shared
libraries, unless your target environment supports
them (and you want to prove that they actually work!).
To save some hair, you'll probably want to build a
statically-linked gdbserver instead, so that you can
debug even if shared libraries are broken. To do that,
edit the Makefile in gdb/gdbserver, and modify
LDFLAGS: 
LDFLAGS = -static
There may be other LDFLAGS flags already there, which
you'll want to leave alone--- just add -static to the
end of the list. In other cases, LDFLAGS may not exist
at all; just add the above line somewhere near CFLAGS.

Then, rebuild gdbserver: 
[bgat@mars build-gdb] make clean
[bgat@mars build-gdb] make CC=arm-linux-gcc
[bgat@mars build-gdb] file gdbserver
gdbserver: ELF 32-bit LSB executable, ARM, version 1
(ARM), statically linked, not stripped
Run arm-linux-strip on the executable, if you want to
shrink it down: 
[bgat@mars build-gdb] arm-linux-strip gdbserver
[bgat@mars build-gdb] ls -l gdbserver
-rwxrwxr-x    1 bgat     bgat       249164 Aug  2
11:16 gdbserver
Now, before you forget: :^) 
[bgat@mars build-gdb] mv gdbserver arm-linux-gdbserver

regards!



_________________________________________________________
Do You Yahoo!? 
暑期大片齐聚雅虎通 网络摄像头+雅虎通调频收音机等你来拿
http://cn.rd.yahoo.com/mail_cn/tag/?http://cn.promo.yahoo.com/minisite/messenger1/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]