硬汉嵌入式论坛

 找回密码
 立即注册
查看: 688|回复: 1
收起左侧

[ThreadX全家桶] __got_load_start__ -> __new_got_start__

[复制链接]

12

主题

16

回帖

52

积分

初级会员

积分
52
发表于 2024-6-18 15:31:01 | 显示全部楼层 |阅读模式
在调试threadx module的时候,app需要在_txm_module_thread_shell_entry调用_gcc_setup。在_gcc_setup里面会将__got_load_start__里面全局变量地址转化成 module manager给app分配的地址,存放到__new_got_start__。现在的问题是,这个转换以及完成,也存放到__new_got_start__里面了。但是在实际使用这些全局变量的时候还是用的__got_load_start__里面的地址值,导致txm_module_object_allocate()传入的句柄地址不在 module manager给app分配的地址范围内。按照threadx的地址检查逻辑就不能通过。请问有什么办法可以让全局变量能使用转换后存放在__new_got_start__的地址吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115893
QQ
发表于 2024-6-19 09:33:01 | 显示全部楼层
gcc里面的这个module我没有研究过,有必要对比下MDK里面的这个实现了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-25 14:16 , Processed in 0.208571 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表