OpenWrt取消strip或者重新设置strip参数的方法

本文介绍了如何在OpenWrt项目中取消strip操作或自定义strip参数。通过修改rules.mk文件中的STRIP和RSTRIP变量,并利用scripts/rstrip.sh脚本,可以控制strip的行为。此外,还可以在Makefile中设置CONFIG_STRIP_ARGS, CONFIG_NO_STRIP和CONFIG_USE_STRIP等配置来精细化管理strip的使用。" 124294922,5683343,解决PostgreSQL MultiXactId错误,"['数据库管理', 'PostgreSQL故障排查', '事务处理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前的一篇:http://blog.youkuaiyun.com/niyufeng/article/details/7990458


OpenWrt的strip功能定义在rules.mk中,使用了两个变量STRIP和RSTRIP(run strip),然后调用scripts/rstrip.sh脚本来真正的执行strip!

rules.mk中的相关定义如下:

198 # strip an entire directory
199 ifneq ($(CONFIG_NO_STRIP),)
200   RSTRIP:=:
201   STRIP:=:
202 else
203   ifneq ($(CONFIG_USE_STRIP),)
204     STRIP:=$(TARGET_CROSS)strip $(call qstrip,$(CONFIG_STRIP_ARGS))
205   else
206     ifneq ($(CONFIG_USE_SSTRIP),)
207       STRIP:=$(STAGING_DIR_HOST)/bin/sstrip
208     endif
209   endif
210   RSTRIP:= \
211     NM="$(TARGET_CROSS)nm" \
212     STRIP="$(STRIP)" \
213     STRIP_KMOD="$(TARGET_CROSS)strip --strip-unneeded --remove-section=.comment --remove-section=.pdr --remove-section=.mdebug.abi32" \
214     $(SCRIPT_DIR)/rstrip.sh
215 endif



而自己编写的packages使用strip,实际上是packages包含package.mk ==》包含package-ipk.mk ==》调用RSTRIP变量所代表的命令 !


RSTRIP在include/package-ipk.mk中的调用:

117         $(call Package/$(1)/install,$$(IDIR_$(1)))
118         mkdir -p $(PACKAGE_DIR)
119         -find $$(IDIR_$(1)) -name 'CVS' -o -name '.svn' -o -name '.#*' | $(XARGS) rm -rf
120         $(RSTRIP) $$(IDIR_$(1))


因此,如果不想让openwrt进行strip,

最彻底的方法就是在你的Makefile中添加下面一行,包括kmod也不strip了:

RSTRIP:=:


一般情况下使用

STRIP:=:
//或者
STRIP:=true



同样,你也可以在Makefile中自行设置CONFIG_STRIP_ARGS,CONFIG_NO_STRIP,CONFIG_USE_STRIP等参数,

当然这些你也可以通过make menuconfig来设置。



make package/foo/{clean,compile} V=99 STRIP=/bin/true

也就是说如果默认使用strip破坏了你的程序、库,可以使用STRIP=/bin/true来取消strip操作,直接在Makefile中定义也是可以的




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值