From: Andreas Hansson Date: Wed, 20 Mar 2013 10:41:23 +0000 (-0400) Subject: cpu: Avoid including inorder TLBUnit to avoid gcc LTO bug X-Git-Tag: stable_2013_06_16~51 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2ca42cd62666f4d13eab259290b6cde5fe677862;p=gem5.git cpu: Avoid including inorder TLBUnit to avoid gcc LTO bug This patch comments out the inclusion of the inorder TLBUnit which is only used in the 9-stage pipeline. With the TLBUnit present, gcc >= 4.6 in combination with LTO ends up throwing away the definition of the TLBUnit destructor, and consequently fail to link. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53808 for more details about the bug, and http://gcc.gnu.org/ml/gcc/2012-06/msg00397.html for the discussion thread that also touches on similar issues seen with clang. --- diff --git a/src/cpu/inorder/resources/resource_list.hh b/src/cpu/inorder/resources/resource_list.hh index ae6b4ecaf..a3876d80f 100644 --- a/src/cpu/inorder/resources/resource_list.hh +++ b/src/cpu/inorder/resources/resource_list.hh @@ -42,7 +42,9 @@ #include "cpu/inorder/resources/graduation_unit.hh" #include "cpu/inorder/resources/inst_buffer.hh" #include "cpu/inorder/resources/mult_div_unit.hh" -#include "cpu/inorder/resources/tlb_unit.hh" +// The TLBUnit is only needed with the 9-stage pipe and is +// triggering a gcc LTO bug +//#include "cpu/inorder/resources/tlb_unit.hh" #include "cpu/inorder/resources/use_def.hh" #endif