linkerscript.ld上的语法错误

时间:2013-09-22 09:39:06

标签: c linker syntax-error ld

我的一部分linkerscript遇到了一个小问题。它说,有一个语法错误,但我无法识别...它应该是错误的......

也许你可以看看它:

.init_array     :
{
PROVIDE_HIDDEN (__init_array_start = .);
KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))
KEEP (*(.init_array))
KEEP (*(EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors))
PROVIDE_HIDDEN (__init_array_end = .);
}

编译器的输出是:/usr/bin/ld:linkerscript.ld:93: syntax error

第93行是“KEEP(*(SORT_BY_INIT_PRIORITY ....”

行)

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您是不是缺少第93-95行的终止分号?

答案 1 :(得分:0)

您使用的是gold吗?它不了解SORT_BY_INIT_PRIORITY,您必须将其删除。有一个bug filed about it