https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92612
--- Comment #2 from Wilco <wilco at gcc dot gnu.org> --- (In reply to Martin Liška from comment #1) > Following patch fixes that: > > diff --git a/benchspec/CPU/525.x264_r/src/ldecod_src/inc/configfile.h > b/benchspec/CPU/525.x264_r/src/ldecod_src/inc/configfile.h > index 12ed1cc8..450930e2 100644 > --- a/benchspec/CPU/525.x264_r/src/ldecod_src/inc/configfile.h > +++ b/benchspec/CPU/525.x264_r/src/ldecod_src/inc/configfile.h > @@ -18,9 +18,9 @@ > //#define LEVEL_IDC 21 > > > -InputParameters cfgparams; > > #ifdef INCLUDED_BY_CONFIGFILE_C > +InputParameters cfgparams; > // Mapping_Map Syntax: > // {NAMEinConfigFile, &cfgparams.VariableName, Type, InitialValue, > LimitType, MinLimit, MaxLimit, CharSize} > // Types : {0:int, 1:text, 2: double} > @@ -59,6 +59,7 @@ extern Mapping Map[]; > #endif > extern void JMDecHelpExit (); > extern void ParseCommand(InputParameters *p_Inp, int ac, char *av[]); > +extern InputParameters cfgparams; > > #endif (In reply to Martin Liška from comment #0) > Since defaulting to -fno-common, one can't build the benchmark due to: Yes some SPEC benchmarks rely on tentative definitions. Given it is a portability issue, but the source can't be fixed, the easiest way is to add -fcommon in the config file for the failing cases. This is similar to the other workarounds like -fno-strict-aliasing.