当前位置: 首页 > wzjs >正文

php网站开发案例详解深圳福田区怎么样

php网站开发案例详解,深圳福田区怎么样,商标设计免费版,网站开发合同范本大全文章目录 方法一:给函数加 __attribute__((used)) 强制保留方法二:加 __attribute__((section(".text.jump"))) 链接脚本强制放入方法三:关闭函数优化和链接时清除未使用代码 如果是纯汇编写的(.S)最强一招…

文章目录

      • 方法一:给函数加 __attribute__((used)) 强制保留
      • 方法二:加 __attribute__((section(".text.jump"))) + 链接脚本强制放入
      • 方法三:关闭函数优化和链接时清除未使用代码
    • 如果是纯汇编写的(`.S`)
    • 最强一招:使用 `KEEP()` 保留段内所有代码
    • 验证跳转函数是否真的保留
    • 总结

方法一:给函数加 attribute((used)) 强制保留

如果你是用 C 写的(而不是纯汇编),这样做可以让函数即使没被调用也不被优化掉:

__attribute__((used))
void jump_to_ilm() {asm volatile ("lui t0, 0x60000\n""jr t0\n");
}

方法二:加 attribute((section(“.text.jump”))) + 链接脚本强制放入

__attribute__((used, section(".text.jump")))
void jump_to_ilm() {asm volatile ("lui t0, 0x60000\n""jr t0\n");
}

并在链接脚本中加入:

.text : {KEEP(*(.text.jump))*(.text)
}

方法三:关闭函数优化和链接时清除未使用代码

在编译时使用以下选项:

riscv64-elf-gcc -O0 -Wl,--whole-archive -Wl,--no-gc-sections ...

或者最少加 -Wl,--gc-sections 时配合 KEEP() 保住关键段落。

如果是纯汇编写的(.S

确保该跳转代码出现在 _start 或其他被链接器引用的地方,否则链接器仍可能把你 .text 中的符号扔掉。

例如:

.section .text
.globl _start
_start:lui t0, 0x60000jr t0

_start 是入口符号,必须通过链接脚本 ENTRY(_start) 指定入口,否则编译器也可能不处理。

最强一招:使用 KEEP() 保留段内所有代码

在链接脚本中:

.text : {KEEP(*(.text.boot))KEEP(*(.text.jump))*(.text*)
}

只要你把函数放进 .text.jump,它就不会被优化掉了。

验证跳转函数是否真的保留

你可以用 objdump 检查 ELF 文件:

riscv64-elf-objdump -d bootrom.elf | less

确认是否有类似:

60000000 <_ilm_main>:...

总结

方法适用情况是否推荐
__attribute__((used))写在 C 代码中推荐
KEEP() + section写在链接脚本 + C/汇编都适用强力推荐
直接放在 _start简单项目推荐
关闭优化(-O0, --no-gc-sections调试期可用有副作用,慎用
http://www.dtcms.com/wzjs/781252.html

相关文章:

  • 仿阿里巴巴行业门户贸易网站模板普通人找工作哪个网站好
  • 密云手机网站建设网站建设一条龙怎么样
  • 设计素材网站河南省城乡和住房建设厅
  • 北仑宁波有没有做网站平台网络推广
  • 做头像网站有哪些用jsp做校园网站
  • 找段子的各大网站如何写软文推广产品
  • 苏州诶茵诶公司网站定制wordpress主题多少钱
  • 海南网站建设制作做绿化生意有什么网站
  • 淘客网站怎么备案互联网营销师就业前景
  • 网站制作网站建设企业在什么网站推广
  • 网站首页制作浩森宇特现在外国有哪个网站可以做卖东西
  • 锦屏县城乡和建设局网站saas系统多少钱
  • 广州科 外贸网站建设md主题 wordpress
  • 网站地图什么意思朝阳制作网站
  • 手工企业网站模板群晖 wordpress 配置
  • 网站类网站开发教程石家庄网站建设找哪家
  • 网站搜索框58这种网站怎么做
  • 宁波模板开发建站wordpress 导入discuz
  • 班级网站自助建设功能广州市建设工程安全监督站网站
  • wordpress网站app网站设计开发平台
  • 贵阳经济技术开发区网站wordpress前端登录插件
  • 京东物流网站建设特点wordpress客户端连接数据库连接
  • 西安当地做网站的公司react用于网站开发
  • 网站前台开发由什么做的微网站开发+在线商城
  • 电子商务网站建设资料网站建设竞争大吗
  • 企业网站seo优帮云中山网站关键字优化
  • 粮食门户网站建设方案深圳有什么公司
  • 网站监控 重启wordpress 评论顺序
  • 网站开发需要的技术人员有什么软件贵州网站建设培训
  • 论坛网站的建立免费注册公司怎么注册