【问题标题】:No files emitted Warning. Seems to recognize compiler though没有文件发出警告。似乎可以识别编译器
【发布时间】:2021-07-30 12:17:24
【问题描述】:

在构建过程中,我希望 cov-emit.exe 能够为使用 aampc.exe 编译的这些 C 文件调用。它似乎可以识别 aampc 编译器,因为它说“正在编译”。还是不能识别编译器吗?感谢您的帮助。

这是其中 2 个文件的 sn-p,因此您可以查看 build-log.txt 文件中的内容:

2021-07-28T15:22:43.189188Z|cov-translate|204916|输出|> 2021-07-28T15:22:43.282923Z|cov-internal-capture|185068|info|> 执行:“c:\localapps\msys\1.0\bin\echo.exe” 2021-07-28T15:22:43.376446Z|cov-internal-capture|185068|info|> 执行:“C:\localapps\msys\1.0\bin\sh.exe” 2021-07-28T15:22:43.471298Z|cov-internal-capture|185068|info|> 执行:“c:\localapps\msys\1.0\bin\echo.exe” 2021-07-28T15:22:43.600730Z|cov-internal-capture|185068|info|> 执行:c:\AAMP_Tools\aampc\bin\aampc.exe -c =a-noupper -I../../ GSW/source/ac -O2 -w2 -l ../../GSW/source/ui/uimprog.c =a-list=obj/ui/uimprog.lis =a-object=obj/ui/uimprog.obj 2021-07-28T15:22:43.710078Z|cov-internal-capture|185068|info|> 执行:c:\AAMP_Tools\aampc\bin\aampcc @C:\Users\userrabz\AppData\Local\Temp\tmp2 - I../../GSW/source/ac 2021-07-28T15:22:44.768043Z|cov-internal-capture|185068|info|> 执行:C:\WINDOWS\system32\cmd.exe /c move /Y ....\GSW\source\ui\ uimprog.lis ....\GSW\source\ui\uimprog.clis 2021-07-28T15:22:45.003488Z|cov-internal-capture|185068|info|> 执行:c:\AAMP_Tools\aampc\bin\macasm "C:\views\surfmob\GB_GRAM_3_2\GSW\build../ ../GSW/source/ui/uimprog.asm" -in_macro c:\AAMP_Tools\aampc\bin\aamp5 -list -cross_reference -instr -l -noupper -list=obj/ui/uimprog.lis -object=obj/ ui/uimprog.obj 2021-07-28T15:22:45.182336Z|cov-internal-capture|185068|info|> 执行:C:\WINDOWS\system32\cmd.exe /c move /Y ....\GSW\source\ui\ uimprog.clis obj\ui\uimprog.lis 2021-07-28T15:22:45.395191Z|cov-internal-capture|185068|info|> CWD: C:\views\surfmob\GB_GRAM_3_2\GSW\build
2021-07-28T15:22:45.395191Z|cov-internal-capture|185068|info|> 编译:“C:\Program Files\Coverity\Coverity Static Analysis\bin\cov-translate.exe”c:\AAMP_Tools\ aampc\bin\aampc.exe -c =a-noupper -I../../GSW/source/ac -O2 -w2 -l ../../GSW/source/ui/uimprog.c =a-列表=obj/ui/uimprog.lis =a-object=obj/ui/uimprog.obj 2021-07-28T15:22:45.395191Z|cov-internal-capture|185068|info|> OUTPUT_FILE: pipe:\.\pipe\cov-log-5ff163dd5238b84826969c9de92e1a35.s 2021-07-28T15:22:45.637350Z|cov-translate|200900|output|> 使用缓存模板编译器配置实例 C:/Users/userrabz/coverity-idirs/DRS/emit/CRM25528/config/ad1734263e4f13355ef9c06230b585b3/coverity_config.xml 2021-07-28T15:22:45.652972Z|cov-translate|200900|output|> COV_TRANSLATE 扩展参数:“-c”“=a-noupper”“-I../../GSW/source/ac”“ -O2" "-w2" "-l" "../../GSW/source/ui/uimprog.c" "=a-list=obj/ui/uimprog.lis" "=a-object=obj/ ui/uimprog.obj" 2021-07-28T15:22:45.684216Z|cov-translate|200900|output|> [警告] 无效的 gxx 版本规范:空版本号。默认为 3.2.0 版本 2021-07-28T15:22:45.715458Z|cov-translate|200900|输出|> 2021-07-28T15:22:45.777943Z|cov-internal-capture|185068|info|> 执行:“c:\localapps\msys\1.0\bin\echo.exe” 2021-07-28T15:22:45.845650Z|cov-internal-capture|185068|info|> 执行:“C:\localapps\msys\1.0\bin\sh.exe” 2021-07-28T15:22:45.940491Z|cov-internal-capture|185068|info|> 执行:“c:\localapps\msys\1.0\bin\echo.exe” 2021-07-28T15:22:46.065464Z|cov-internal-capture|185068|info|> 执行:c:\AAMP_Tools\aampc\bin\aampc.exe -c =a-noupper -I../../ GSW/source/ac -O2 -w2 -l ../../GSW/source/ui/uimerase.c =a-list=obj/ui/uimerase.lis =a-object=obj/ui/uimerase.obj 2021-07-28T15:22:46.178008Z|cov-internal-capture|185068|info|> 执行:c:\AAMP_Tools\aampc\bin\aampcc @C:\Users\userrabz\AppData\Local\Temp\tmp2 - I../../GSW/source/ac 2021-07-28T15:22:47.486879Z|cov-internal-capture|185068|info|> 执行:C:\WINDOWS\system32\cmd.exe /c move /Y ....\GSW\source\ui\ uimerase.lis ....\GSW\source\ui\uimerase.clis 2021-07-28T15:22:47.706457Z|cov-internal-capture|185068|info|> 执行:c:\AAMP_Tools\aampc\bin\macasm "C:\views\surfmob\GB_GRAM_3_2\GSW\build../ ../GSW/source/ui/uimerase.asm" -in_macro c:\AAMP_Tools\aampc\bin\aamp5 -list -cross_reference -instr -l -noupper -list=obj/ui/uimerase.lis -object=obj/ ui/uimerase.obj 2021-07-28T15:22:47.856727Z|cov-internal-capture|185068|info|> 执行:C:\WINDOWS\system32\cmd.exe /c move /Y ....\GSW\source\ui\ uimerase.clis obj\ui\uimerase.lis 2021-07-28T15:22:48.045314Z|cov-internal-capture|185068|info|> CWD: C:\views\surfmob\GB_GRAM_3_2\GSW\build
2021-07-28T15:22:48.045314Z|cov-internal-capture|185068|info|> 编译:“C:\Program Files\Coverity\Coverity Static Analysis\bin\cov-translate.exe”c:\AAMP_Tools\ aampc\bin\aampc.exe -c =a-noupper -I../../GSW/source/ac -O2 -w2 -l ../../GSW/source/ui/uimerase.c =a- list=obj/ui/uimerase.lis =a-object=obj/ui/uimerase.obj 2021-07-28T15:22:48.045314Z|cov-internal-capture|185068|info|> OUTPUT_FILE: pipe:\.\pipe\cov-log-5ff163dd5238b84826969c9de92e1a35.s 2021-07-28T15:22:48.280087Z|cov-translate|198032|output|> 使用缓存模板编译器配置实例 C:/Users/userrabz/coverity-idirs/DRS/emit/CRM25528/config/ad1734263e4f13355ef9c06230b585b3/coverity_config.xml 2021-07-28T15:22:48.296829Z|cov-translate|198032|output|> COV_TRANSLATE 扩展参数:“-c”“=a-noupper”“-I../../GSW/source/ac”“ -O2" "-w2" "-l" "../../GSW/source/ui/uimerase.c" "=a-list=obj/ui/uimerase.lis" "=a-object=obj/ ui/uimerase.obj" 2021-07-28T15:22:48.312450Z|cov-translate|198032|output|> [警告] 无效的 gxx 版本规范:空版本号。默认为 3.2.0 版本 2021-07-28T15:22:48.328072Z|cov-translate|198032|输出|>

【问题讨论】:

    标签: coverity


    【解决方案1】:

    由于问题集中在此日志输出的含义上,我也会这样做。

    COMPILING 行的存在表明cov-build 识别出aampc.exe 是一个编译器(基于其可执行路径名),并将其命令行之一交给cov-translate 进行进一步处理。

    但是,cov-translate 似乎对命令行的含义感到困惑。首先,它警告它无法查询 GCC 编译器版本号;我不知道 aampc.exe 是什么,但如果它不是 GCC 衍生产品,那么 cov-configure 可能会收到错误信息。 cov-translate 没有任何进一步的输出意味着它没有看到任何编译,所以什么也没做。 (如果调用编译器来执行诸如预处理或仅链接之类的操作,那将是正确的行为,但这里不是这种情况。)

    【讨论】:

    • 感谢您的信息。 aampc 编译器是一个“GNU C 编译器”。在使用不同构建工具(但具有相同编译器配置和相同编译器 (aampc))的不同程序上,我能够调用 cov-emit.exe,Coverity 会正确分析文件并显示问题所在在 C 文件中。这是该 build-log.txt 文件中的一个 sn-p:
    • 感谢您的信息。 aampc 编译器是一个“GNU C 编译器”。在使用不同构建工具(但具有相同编译器配置和相同编译器 (aampc))的不同程序上,我能够调用 cov-emit.exe,Coverity 会正确分析文件并显示问题所在在 C 文件中。这也给出了相同的版本号警告。这是该 build-log.txt 文件中的 sn-p:2021-08-02T13:09:35.777389Z|cov-internal-capture|19084|info|> COMPILING: "C:\Program Files\Coverity\Coverity Static分析\bin\cov-translate.exe"
    • c:\AAMP_Tools\aampc\bin\aampc.exe -c =a-noupper -I../source/bs -O2 -w2 ../source/rp/rppreccctr.c =a -list=bin/rp/rppreccctr.lis =a-object=bin/rp/rppreccctr.obj 2021-08-02T13:09:35.777389Z|cov-internal-capture|19084|info|> OUTPUT_FILE:管道:\\ .\pipe\cov-log-09441756df0a64bb4153aaca27f9a7b9.s
    • 2021-08-02T13:09:35.933603Z|cov-translate|14304|output|> 使用缓存模板编译器配置实例 C:/Users/userrabz/coverity-idirs/ASR_004/emit/CRM25528 /config/ad1734263e4f13355ef9c06230b585b3/coverity_config.xml 2021-08-02T13:09:35.949223Z|cov-translate|14304|output|> COV_TRANSLATE EXPANDED ARGS: "-c" "=a-noupper" "-I../source/ bs" "-O2" "-w2" "../source/rp/rppreccctr.c" "=a-list=bin/rp/rppreccctr.lis" "=a-object=bin/rp/rppreccctr.obj"
    • 2021-08-02T13:09:35.949223Z|cov-translate|14304|output|> [警告] gxx 版本规范无效:版本号为空。默认为版本 3.2.0 2021-08-02T13:09:35.964845Z|cov-translate|14304|output|> [警告] Coverity 编译器无法识别参数:=a-noupper 2021-08-02T13:09:35.964845Z |cov-translate|14304|output|> [警告] Coverity 编译器无法识别开关:-w2 2021-08-02T13:09:35.964845Z|cov-translate|14304|output|> [警告] Coverity 无法识别参数编译器:=a-list=bin/rp/rppreccctr.lis
    【解决方案2】:

    在coverity_config.xml 中检查您的编译器条目。

    【讨论】:

    • 感谢您的所有回复。问题是 Coverity 在使用 -l 选项编译时不会发出文件。奇怪,因为这只是创建一个带有 .clis 扩展名的仅供参考的文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    • 2017-02-13
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    • 2019-11-23
    相关资源
    最近更新 更多