Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 链接器错误:未定义对_fbss的引用_Linux_Gcc_Compiler Construction_Linker Scripts - Fatal编程技术网

Linux 链接器错误:未定义对_fbss的引用

Linux 链接器错误:未定义对_fbss的引用,linux,gcc,compiler-construction,linker-scripts,Linux,Gcc,Compiler Construction,Linker Scripts,我正在成功地从这个工具链构建Palm riscv gnu工具链 但当我试图用编译工具编译我的简单源代码时, 发生错误 我的命令是riscv32-unknown-elf-g++-o hello hello.cpp 错误消息为/home/jskim/test\u toolschains\u lib/gcc/riscv32 unknown elf/7.1.1/../../../../../../../riscv32 unknown elf/bin/ld:无法打开链接器脚本文件riscv.ld:没有此类

我正在成功地从这个工具链构建Palm riscv gnu工具链

但当我试图用编译工具编译我的简单源代码时, 发生错误

我的命令是
riscv32-unknown-elf-g++-o hello hello.cpp

错误消息为
/home/jskim/test\u toolschains\u lib/gcc/riscv32 unknown elf/7.1.1/../../../../../../../riscv32 unknown elf/bin/ld:无法打开链接器脚本文件riscv.ld:没有此类文件或目录

所以我尝试使用这个命令
riscv32-unknown-elf-g++-o main.cpp-T/home/jskim/test_toolschains/riscv32-unknown-elf-ld/lib/ldscripts/elf32lriscv.x

但出现了以下错误:
/home/jskim/test_toolschains/lib/gcc/riscv32 unknown elf/7.1.1/../../../../../riscv32 unknown elf/lib/crt0.o:In function'.L0':(.text+0x10):对'\u fbss'集合的未定义引用2:错误:ld返回1个退出状态


我使用的是CentOS 7.6,我尝试用GCC4.8.5和7.3.1构建这个纸浆gcc,但两者都显示了相同的错误。请帮帮我。

我用这种方法解决了这个问题

我不太准确,但我认为问题是名字不匹配。 crt0似乎是start riscv处理器的助手,它有这一行
laa0\u fbss
,如果用_fbss替换为_edata,链接器基本上可以识别这一行。因此,我编辑了位于
pillriscv gnu工具链/riscv newlib/libgloss/riscv/
的汇编文件,并重建了gnu工具链。并使用-T选项执行编译器,如
riscv32-unknown-elf-g++-o main.cpp-T/home/jskim/test_toolschains/riscv32 unknown elf ld/lib/ldscripts/elf32lriscv.x

我认为这是最简单的解决办法