gdb之交叉编译篇(适用于各个平台)

本篇将介绍GDB的交叉编译,提供各个平台的编译环境,适合于各个平台编译。

本篇用的gdb编译的版本为7.9.1,依赖的ncurses库的版本为6.0
Makefile的内容

TOOLS_TOP_DIR := $(shell pwd)
TOOL_TAR_BALL := gdb-7.9.1.tar.gz
TOOL_TAR_BALL2 := ncurses-6.0.tar.gz
TOOL_NAME := gdb-7.9.1
TOOL_NAME2 := ncurses-6.0
TOOL_BIN := inst
TOOL_BIN2 := bin
OSDRV_CROSS ?= arm-hisiv100nptl-linux
#OSDRV_CROSS_CFLAGS ?= -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4
all:
	-rm $(TOOLS_TOP_DIR)/$(TOOL_NAME) -rf;
	-rm $(TOOLS_TOP_DIR)/$(TOOL_NAME2) -rf;
	tar -xf $(TOOL_TAR_BALL2);
	mkdir -p $(TOOLS_TOP_DIR)/$(TOOL_BIN)/;
	pushd $(TOOLS_TOP_DIR)/$(TOOL_NAME2)/; \
		./configure --host=$(OSDRV_CROSS) CFLAGS="$(OSDRV_CROSS_CFLAGS)" CPPFLAGS="-P" \
		LDFLAGS="$(OSDRV_CROSS_CFLAGS)" --prefix=$(TOOLS_TOP_DIR)/$(TOOL_BIN)/; \
		make -j > /dev/null; \
		make install;\
	popd;
	tar -xf $(TOOL_TAR_BALL);
	mkdir -p $(TOOLS_TOP_DIR)/$(TOOL_BIN)/;
	pushd $(TOOLS_TOP_DIR)/$(TOOL_NAME)/; \
		./configure --host=$(OSDRV_CROSS) CFLAGS="$(OSDRV_CROSS_CFLAGS) -lm"\
		LDFLAGS="$(OSDRV_CROSS_CFLAGS)" --disable-tui\
		LDFLAGS=-L$(TOOLS_TOP_DIR)/$(TOOL_BIN)/lib --prefix=$(TOOLS_TOP_DIR)/$(TOOL_BIN2); gdb_cv_prfpregset_t_broken=no \
		make -j > /dev/null; \
		make install;\
	popd;
	cp $(TOOLS_TOP_DIR)/$(TOOL_NAME)/gdb/gdb $(TOOLS_TOP_DIR)/gdb-$(OSDRV_CROSS) -rf; \

.PHONY: clean
clean:
	-pushd $(TOOLS_TOP_DIR)/$(TOOL_NAME)/ &&\
	make -C $(TOOLS_TOP_DIR)/$(TOOL_NAME)/ clean && \
	popd
	-pushd $(TOOLS_TOP_DIR)/$(TOOL_NAME2)/ &&\
	make -C $(TOOLS_TOP_DIR)/$(TOOL_NAME2)/ clean && \
	popd

.PHONY: distclean
distclean:
	-rm $(TOOLS_TOP_DIR)/$(TOOL_NAME) -rf;
	-rm $(TOOLS_TOP_DIR)/$(TOOL_NAME2) -rf;
	-rm $(TOOLS_TOP_DIR)/$(TOOL_BIN) -rf;
	-rm $(TOOLS_TOP_DIR)/$(TOOL_BIN2) -rf;
	-rm $(TOOLS_TOP_DIR)/gdb-$(OSDRV_CROSS) -rf;

源码以及编译环境的网盘路径:
链接:https://pan.baidu.com/s/1b_KaHpY3GxAwj77fp6O-KQ
提取码:i0bw

gdb交叉编译步骤:
1、电脑解压文件
2、修改工具链,在makefie里只需修改OSDRV_CROSS ?= 工具链,比如OSDRV_CROSS ?= arm-hisiv100nptl-linux
3、make
以上步骤就可以生成对应平台的gdb。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值