gpt4 book ai didi

c++ - 内存部分处理错误

转载 作者:可可西里 更新时间:2023-11-01 17:59:50 29 4
gpt4 key购买 nike

我收到链接时间错误:

WARNING: /home/gulevich/development/camac-fedorov/camac/linux/k0607-lsi6/camac-k0607-lsi6.o (.ctors): unexpected non-allocatable section.
Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

导致错误的代码(C 源代码中的汇编):

# if   defined(__ELF__)
# define __SECTION_FLAGS ", \"aw\" , @progbits"
/* writable flag needed for ld ".[cd]tors" sections bug workaround) */
# elif defined(__COFF__)
# define __SECTION_FLAGS ", \"dr\""
/* untested, may be writable flag needed */
# endif


asm
(
".section .ctors" __SECTION_FLAGS "\n"
".globl __ctors_begin__\n"
"__ctors_begin__:\n"
".previous\n"
);

有什么办法可以解决这个问题吗?这个想法是在某个内存部分的开头放置一个变量 __ctors_begin__。这段代码是遗留的,使用不同的构建系统和旧的编译器可以很好地工作。

此汇编代码的含义在 an answer to my previous question 中解释。 .

最佳答案

不太可能,但是 .ctors 部分是否按照您在链接描述文件中的要求定义? ld iirc 有一个详细的选项来显示链接描述文件。

关于c++ - 内存部分处理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2650881/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com