首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CPU2017基准510.parest_r构建与gcc9.3和gcc9.4一起失败

CPU2017基准510.parest_r构建与gcc9.3和gcc9.4一起失败
EN

Stack Overflow用户
提问于 2022-10-27 09:19:22
回答 1查看 41关注 0票数 0

所有人。

我尝试用gcc9.3在CPU2017服务器上构建aarch64内部测试集和fprate测试集。除了510.parest_r之外,所有的基准构建都成功了。然后我尝试用gcc9.4构建它,遇到同样的错误。我使用示例gcc -Linux-aarch64.cfg作为配置文件,只需编辑gcc路径即可。

以下是失败的信息:

代码语言:javascript
复制
/home/gcc9.3/bin/g++     -std=c++03 -mabi=lp64 -c -o source/me-tomography/synthetic_data.o -DSPEC -DNDEBUG -Iinclude -I. -DSPEC_AUTO_SUPPRESS_OPENMP  -O3         -DSPEC_LP64  source/me-tomography/synthetic_data.cc
/home/gcc9.3/bin/g++     -std=c++03 -mabi=lp64 -c -o source/multigrid/mg_base.o -DSPEC -DNDEBUG -Iinclude -I. -DSPEC_AUTO_SUPPRESS_OPENMP  -O3         -DSPEC_LP64  source/multigrid/mg_base.cc
/home/gcc9.3/bin/g++     -std=c++03 -mabi=lp64 -c -o source/me-tomography/measurements.o -DSPEC -DNDEBUG -Iinclude -I. -DSPEC_AUTO_SUPPRESS_OPENMP  -O3         -DSPEC_LP64  source/me-tomography/measurements.cc
init2.c:52: MPFR assertion failed: p >= 2 && p <= ((mpfr_prec_t)((mpfr_uprec_t)(~(mpfr_uprec_t)0)>>1))
during GIMPLE pass: forwprop
source/me-tomography/measurements.cc: In constructor 'METomography::Measurements::ReferencedMeasurements::RatioMinusRatio<dim, number>::RatioMinusRatio(const libparest::Slave::Stationary::ProblemDescription&, const dealii::Function<dim>&, const std::set<unsigned char>&) [with int dim = 3; number = double]':
source/me-tomography/measurements.cc:1739:7: internal compiler error: Aborted
 1739 |       RatioMinusRatio<dim,number>::
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
0xafbd97 crash_signal
        ../.././gcc/toplev.c:326
0xffff9e304d78 __GI_raise
        ../sysdeps/unix/sysv/linux/raise.c:51
0xffff9e2f1aab __GI_abort
        /build/glibc-RIFKjK/glibc-2.31/stdlib/abort.c:79
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
specmake: *** [/home/spec/cpu2017_aarch64/benchspec/Makefile.defaults:356: source/me-tomography/measurements.o] Error 1
specmake: *** Waiting for unfinished jobs....

失败的信息似乎是由MPRF浮动包皮环切设置造成的?

我尝试用llvm-10构建510.parest_r,构建成功。

顺便说一下,我在x86_64服务器上构建了相同的gcc9.3,构建了510.parest_r成功。

EN

回答 1

Stack Overflow用户

发布于 2022-10-27 13:02:21

您已经在GCC的旧版本中发现了一个bug (或者您的系统的RAM正在失败,但如果它总是在同一个地方崩溃,则不太可能)。或者是MPFR中的一个bug,尽管这似乎不太可能。

如果您对该源进行预处理(将-E-save-temps添加到崩溃的命令行)并将其放在https://godbolt.org/上,那么它是否仍然与当前的ARM64 GCC一样崩溃,例如夜间构建主干?(https://godbolt.org/z/K6GnrYrj1是ARM64 GCC主干,命令行args没有预处理器,这在编译CPP输出时并不重要)。

如果它仍然与当前GCC一起崩溃,那么在https://gcc.gnu.org/bugzilla/上提交一个bug报告,最好是使用触发bug的源代码的MCVE。(在保持崩溃行为的同时,尽可能删除文件的多个部分。例如,取出大量的东西,如果这样可以编译,就撤销它。)

如果它不与较新的GCC崩溃,它可能已经是一个已知的错误,或偶然得到修复,或不同的MPFR或其他库版本重要。在这种情况下,可能不值得向上游报告。或者,如果确实包括了受影响版本的范围不包括GCC12或当前主干这一事实。可能这个堆栈溢出Q&A足以让未来的用户知道它是一个已知的bug。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74219606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档