如何根据链接描述文件中定义的链接变量的条件值使构建失败?
我正在使用GCC编译C代码。我定义了一个链接器变量BINARY_TEST。如果BINARY_TEST的值> 32KB,然后我想失败的构建。如何使用链接描述文件编写条件测试并使构建失败? 请建议任何脚本。
SECTIONS
{
. = 0x0000 ;
.text :
{
*(.text)
*(.rdata)
}
.data :
{
*(*.data)
*(*.bss)
}
BINARY_TEST = . ;
/*Want something like below */
if (BINARY_TEST > 32KB)
Throw Error and stop
/* ******* */
END = . ;
}
答案 0 :(得分:0)
如何使用链接描述文件编写条件测试并使构建失败?
在我看来,你可以通过后连接步骤轻松实现失败。例如。在Makefile
:
foo.exe: foo.o
$(CC) -o foo.exe ...
nm foo.exe | grep BINARY_TEST | \
... commands to verify that symbol value < 32K, or fail