Unfortunately, some VxWorks 7r2 system headers rely on a couple more variations of the predefined macros expected to characterize a “powerpc” target that we discussed recently.
setjmp.h, for example, relies on __ppc and the absence of a definition results in “gcc” dejagnu test failures from all the tests #including that header, which stumble on: #error "_JBLEN not set!” The other case is __ppc__ expected by yvals.h, key to libstdc++. This change adjusts the VxWorks 7 section of our configuration to honor those expectations. Olivier 2020-10-29. Olivier Hainque <hain...@adacore.com> gcc/ * config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Also builtin_define __ppc and __ppc__ for VxWorks 7.
diff --git a/gcc/config/rs6000/vxworks.h b/gcc/config/rs6000/vxworks.h index 9dabdab323ab..51a3250f5dcc 100644 --- a/gcc/config/rs6000/vxworks.h +++ b/gcc/config/rs6000/vxworks.h @@ -70,6 +70,12 @@ along with GCC; see the file COPYING3. If not see builtin_define ("__PPC"); \ builtin_define ("__powerpc"); \ } \ + \ + /* __ppc isn't emitted by the system compiler \ + any more but a few system headers still depend \ + on it, as well as on __ppc__. */ \ + builtin_define ("__ppc"); \ + builtin_define ("__ppc__"); \ } \ \ /* Asserts for #cpu and #machine. */ \ -- 2.17.1