Open
Conversation
LD会为每个能生成为合法C符号名的段生成`__start_段名`和`__stop_段名`的符号,借此可以实现不需修改ldscript的导出命令模式。 参考:https://stackoverflow.com/questions/16552710/how-do-you-get-the-start-and-end-addresses-of-a-custom-elf-section
Owner
|
嵌入式有些基于 gcc 的工具链不一定支持这个特性,比如说在 esp32 的工具链,就无法引用到这两个变量 |
Author
https://gcc-help.gcc.gnu.narkive.com/Uol4UzRx/figuring-out-start-and-end-of-sections 这个串指出至少14年前的LD就已经支持使用 |
Owner
我用 esp32 的工程实际验证过的,或者还有一种方法,这两个变量名换了,如果不支持这个特性的编译链,就需要去修改 ld, 支持这个特性的就可以直接用了 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
LD会为每个能生成为合法C符号名的段生成
__start_段名和__stop_段名的符号,借此可以实现不需修改ldscript的导出命令模式。参考:https://stackoverflow.com/questions/16552710/how-do-you-get-the-start-and-end-addresses-of-a-custom-elf-section
效果:
