Compile GDB for ARM Target
Preinstallation : ARM-LINUX-GCC
1. Compile for GDB
#tar xvf gdb-6.8.tar.tar
#cd gdb-6.8
#./configure -target=arm-linux
: Target 을 Embedded Linux for ARM 으로 설정한다.
: --prefix=/usr/local/bin 또는 GDB 가 설치될 Directory 를 명시한다. (Option)
#make
#make install
여기까지 정상적으로 진행된 경우, /usr/local/bin/ 에서 arm-linux-run, arm-linux-gdb, arm-linux-gdbtui 이렇게 3개의 실행파일이 생성된 것을 확인할 수 있다.
file 명령으로 arm-linux-gdb 를 확인하면 "ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.4.1, dynamically linked (uses shared libs), for GN/Linux 2.4.1, not stripped" 로 표시되는 것을 확인할 수 있다.
2. Compile for GDBServer
#cd gdb-6.8/gdb/gdbserver
#./configure -target=arm-linux --host=arm-linux
Target 이 Embedded Linux for ARM 이므로 Target 에 복사될 gdbserver 는 host 를 arm-linux 로 설정하여 다시 configure 를 실행하는 것이다.
#make CC=arm-linux-gcc
여기까지 정상적으로 진행된 경우, gdb608/gdb/gdbserver 에 gdbreplay, gdbserver 이렇게 2개의 실행파일이 생성된 것을 확인할 수 있다.
file 명령으로 gdbserver 를 확인하면 "ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped"로 표시되는 것을 확인할 수 있다.
Preinstallation : ARM-LINUX-GCC
1. Compile for GDB
#tar xvf gdb-6.8.tar.tar
#cd gdb-6.8
#./configure -target=arm-linux
: Target 을 Embedded Linux for ARM 으로 설정한다.
: --prefix=/usr/local/bin 또는 GDB 가 설치될 Directory 를 명시한다. (Option)
#make
#make install
여기까지 정상적으로 진행된 경우, /usr/local/bin/ 에서 arm-linux-run, arm-linux-gdb, arm-linux-gdbtui 이렇게 3개의 실행파일이 생성된 것을 확인할 수 있다.
file 명령으로 arm-linux-gdb 를 확인하면 "ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.4.1, dynamically linked (uses shared libs), for GN/Linux 2.4.1, not stripped" 로 표시되는 것을 확인할 수 있다.
2. Compile for GDBServer
#cd gdb-6.8/gdb/gdbserver
#./configure -target=arm-linux --host=arm-linux
Target 이 Embedded Linux for ARM 이므로 Target 에 복사될 gdbserver 는 host 를 arm-linux 로 설정하여 다시 configure 를 실행하는 것이다.
#make CC=arm-linux-gcc
여기까지 정상적으로 진행된 경우, gdb608/gdb/gdbserver 에 gdbreplay, gdbserver 이렇게 2개의 실행파일이 생성된 것을 확인할 수 있다.
file 명령으로 gdbserver 를 확인하면 "ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped"로 표시되는 것을 확인할 수 있다.
댓글