From 7af1d3ab7d3ab0049032cbdb3f04fd0e773724fe Mon Sep 17 00:00:00 2001 From: Mark Wenning Date: Mon, 18 Mar 2013 13:28:15 -0500 Subject: Run latest version of BEAM against Hostboot code Change-Id: I0517e3918039de9fac773baec345fefda13eb3c0 RTC: 66143 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/3819 Tested-by: Jenkins Server Reviewed-by: Mark W. Wenning Reviewed-by: A. Patrick Williams III --- src/build/beam/beam_parms.tcl | 26 ++++ src/build/beam/compiler_c_config.tcl | 211 +++++++++++++++++++++++++++------ src/build/beam/compiler_cpp_config.tcl | 202 +++++++++++++++++++++++++++---- src/build/mkrules/beam.env.mk | 25 ++-- src/build/mkrules/beam.rules.mk | 63 ++++++++-- src/build/mkrules/dep.rules.mk | 6 +- 6 files changed, 455 insertions(+), 78 deletions(-) create mode 100644 src/build/beam/beam_parms.tcl (limited to 'src/build') diff --git a/src/build/beam/beam_parms.tcl b/src/build/beam/beam_parms.tcl new file mode 100644 index 000000000..89edae166 --- /dev/null +++ b/src/build/beam/beam_parms.tcl @@ -0,0 +1,26 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: src/build/beam/beam_parms.tcl $ +# +# IBM CONFIDENTIAL +# +# COPYRIGHT International Business Machines Corp. 2013 +# +# p1 +# +# Object Code Only (OCO) source materials +# Licensed Internal Code Source Materials +# IBM HostBoot Licensed Internal Code +# +# The source code for this program is not published or otherwise +# divested of its trade secrets, irrespective of what has been +# deposited with the U.S. Copyright Office. +# +# Origin: 30 +# +# IBM_PROLOG_END_TAG +## Set maximum time to spend analyzing to 1 minute per 1000 lines of code. +## The default is 5 minutes; there are a few files in HB that take +## more than an hour with the default setting. +set beam::max_time_per_kloc_in_sec "60" diff --git a/src/build/beam/compiler_c_config.tcl b/src/build/beam/compiler_c_config.tcl index 0c49e4007..534391272 100644 --- a/src/build/beam/compiler_c_config.tcl +++ b/src/build/beam/compiler_c_config.tcl @@ -1,11 +1,33 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: src/build/beam/compiler_c_config.tcl $ +# +# IBM CONFIDENTIAL +# +# COPYRIGHT International Business Machines Corp. 2011,2013 +# +# p1 +# +# Object Code Only (OCO) source materials +# Licensed Internal Code Source Materials +# IBM HostBoot Licensed Internal Code +# +# The source code for this program is not published or otherwise +# divested of its trade secrets, irrespective of what has been +# deposited with the U.S. Copyright Office. +# +# Origin: 30 +# +# IBM_PROLOG_END_TAG ############################################################ # Invocation of beam_configure: # -# '/afs/rchland.ibm.com/projects/esw/beam/beam-3.5.2/bin/beam_configure' '--c' 'ppc64-mcp6-gcc' +# '/afs/rchland.ibm.com/projects/esw/beam/newbeamreleases/beam-3.6.1/bin/beam_configure' 'powerpc64-unknown-linux-gnu-gcc' '--c' '--force' '-o' './obj/beam/compiler_c_config.tcl' '--headers' './src/include,./obj/genfiles' '--compile_flag=-std=c99 -O3 -nostdlib -mcpu=power7 -nostdinc -g -mno-vsx -mno-altivec -Wall -Werror -mtraceback=no -pipe' '--verbose' # # Location of compiler: # -# /esw/fakeroot/opt/mcp/bin/ppc64-mcp6-jailtc +# /opt/mcp/shared/powerpc64-gcc-20130412/wrappers/mchroot_wrapper.sh # ############################################################ # @@ -137,7 +159,7 @@ set beam::compiler::c::cc "gcc" # set beam::compiler::c::gnu_mode 30200 -set beam::compiler::c::gnu_mode 40304 +set beam::compiler::c::gnu_mode 40702 ### MSVC mode enables Microsoft extensions in C code and @@ -167,6 +189,7 @@ set beam::compiler::c::gnu_mode 40304 # set beam::compiler::c::language_wchar_t_is_keyword 1 # set beam::compiler::c::language_bool_is_keyword 1 +set beam::compiler::c::language_restrict_keyword_enabled "1" set beam::compiler::c::language_trigraphs_allowed "0" @@ -189,7 +212,9 @@ set beam::compiler::c::language_trigraphs_allowed "0" # [split $::env(MY_INCLUDE_PATH) $::beam::pathsep] # } -lappend beam::compiler::c::system_include_path {/esw/mcp/ppc64/lib/gcc/ppc64-linux/4.3/include} +lappend beam::compiler::c::system_include_path {/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.7.2/include-fixed} +lappend beam::compiler::c::system_include_path {/usr/powerpc64-unknown-linux-gnu/usr/include} +lappend beam::compiler::c::system_include_path {/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.7.2/include} ############################################################ @@ -204,28 +229,17 @@ lappend beam::compiler::c::system_include_path {/esw/mcp/ppc64/lib/gcc/ppc64-lin ### ### Examples appear below the auto-configured ones. -set beam::compiler::c::target_alignof_double "8" -set beam::compiler::c::target_alignof_float "4" -set beam::compiler::c::target_alignof_int "4" -set beam::compiler::c::target_alignof_long "8" -set beam::compiler::c::target_alignof_long_double "16" -set beam::compiler::c::target_alignof_long_long "8" -set beam::compiler::c::target_alignof_pointer "8" -set beam::compiler::c::target_alignof_short "2" -set beam::compiler::c::target_char16_t_int_kind "short unsigned int" -set beam::compiler::c::target_char32_t_int_kind "unsigned int" +set beam::compiler::c::target_char_bit "8" set beam::compiler::c::target_dbl_max_exp "1024" set beam::compiler::c::target_dbl_min_exp "-1021" set beam::compiler::c::target_flt_max_exp "128" set beam::compiler::c::target_flt_min_exp "-125" set beam::compiler::c::target_ldbl_max_exp "1024" set beam::compiler::c::target_ldbl_min_exp "-968" -set beam::compiler::c::target_little_endian "1" +set beam::compiler::c::target_little_endian "0" set beam::compiler::c::target_plain_char_is_unsigned "1" set beam::compiler::c::target_ptrdiff_t_int_kind "long int" set beam::compiler::c::target_size_t_int_kind "long unsigned int" -set beam::compiler::c::target_sizeof_char16_t "2" -set beam::compiler::c::target_sizeof_char32_t "4" set beam::compiler::c::target_sizeof_double "8" set beam::compiler::c::target_sizeof_float "4" set beam::compiler::c::target_sizeof_int "4" @@ -233,13 +247,9 @@ set beam::compiler::c::target_sizeof_long "8" set beam::compiler::c::target_sizeof_long_double "16" set beam::compiler::c::target_sizeof_long_long "8" set beam::compiler::c::target_sizeof_pointer "8" -set beam::compiler::c::target_sizeof_ptrdiff_t "8" set beam::compiler::c::target_sizeof_short "2" -set beam::compiler::c::target_sizeof_size_t "8" -set beam::compiler::c::target_sizeof_wchar_t "4" set beam::compiler::c::target_string_literals_are_readonly "1" set beam::compiler::c::target_wchar_t_int_kind "int" -set beam::compiler::c::target_wchar_t_is_unsigned "0" set beam::compiler::c::target_wint_t_int_kind "unsigned int" @@ -361,27 +371,39 @@ set beam::compiler::c::predefined_macro(_ARCH_PPC) {1} set beam::compiler::c::predefined_macro(_ARCH_PPC64) {1} set beam::compiler::c::predefined_macro(_ARCH_PPCGR) {1} set beam::compiler::c::predefined_macro(_BIG_ENDIAN) {1} +set beam::compiler::c::predefined_macro(_Bool) {_Bool} set beam::compiler::c::predefined_macro(_CALL_AIX) {1} set beam::compiler::c::predefined_macro(_CALL_AIXDESC) {1} +set beam::compiler::c::predefined_macro(_FORTIFY_SOURCE) {((defined __OPTIMIZE__ && __OPTIMIZE__ > 0) ? 2 : 0)} set beam::compiler::c::predefined_macro(_LP64) {1} +set beam::compiler::c::predefined_macro(__ATOMIC_ACQUIRE) {2} +set beam::compiler::c::predefined_macro(__ATOMIC_ACQ_REL) {4} +set beam::compiler::c::predefined_macro(__ATOMIC_CONSUME) {1} +set beam::compiler::c::predefined_macro(__ATOMIC_RELAXED) {0} +set beam::compiler::c::predefined_macro(__ATOMIC_RELEASE) {3} +set beam::compiler::c::predefined_macro(__ATOMIC_SEQ_CST) {5} +set beam::compiler::c::predefined_macro(__BIGGEST_ALIGNMENT__) {16} set beam::compiler::c::predefined_macro(__BIG_ENDIAN__) {1} +set beam::compiler::c::predefined_macro(__BYTE_ORDER__) {__ORDER_BIG_ENDIAN__} set beam::compiler::c::predefined_macro(__CHAR16_TYPE__) {short unsigned int} set beam::compiler::c::predefined_macro(__CHAR32_TYPE__) {unsigned int} set beam::compiler::c::predefined_macro(__CHAR_BIT__) {8} set beam::compiler::c::predefined_macro(__CHAR_UNSIGNED__) {1} -set beam::compiler::c::predefined_macro(__DBL_DENORM_MIN__) {4.9406564584124654e-324} +set beam::compiler::c::predefined_macro(__CMODEL_MEDIUM__) {1} +set beam::compiler::c::predefined_macro(__DBL_DECIMAL_DIG__) {17} +set beam::compiler::c::predefined_macro(__DBL_DENORM_MIN__) {((double)4.94065645841246544176568792868221e-324L)} set beam::compiler::c::predefined_macro(__DBL_DIG__) {15} -set beam::compiler::c::predefined_macro(__DBL_EPSILON__) {2.2204460492503131e-16} +set beam::compiler::c::predefined_macro(__DBL_EPSILON__) {((double)2.22044604925031308084726333618164e-16L)} set beam::compiler::c::predefined_macro(__DBL_HAS_DENORM__) {1} set beam::compiler::c::predefined_macro(__DBL_HAS_INFINITY__) {1} set beam::compiler::c::predefined_macro(__DBL_HAS_QUIET_NAN__) {1} set beam::compiler::c::predefined_macro(__DBL_MANT_DIG__) {53} set beam::compiler::c::predefined_macro(__DBL_MAX_10_EXP__) {308} set beam::compiler::c::predefined_macro(__DBL_MAX_EXP__) {1024} -set beam::compiler::c::predefined_macro(__DBL_MAX__) {1.7976931348623157e+308} +set beam::compiler::c::predefined_macro(__DBL_MAX__) {((double)1.79769313486231570814527423731704e+308L)} set beam::compiler::c::predefined_macro(__DBL_MIN_10_EXP__) {(-307)} set beam::compiler::c::predefined_macro(__DBL_MIN_EXP__) {(-1021)} -set beam::compiler::c::predefined_macro(__DBL_MIN__) {2.2250738585072014e-308} +set beam::compiler::c::predefined_macro(__DBL_MIN__) {((double)2.22507385850720138309023271733240e-308L)} set beam::compiler::c::predefined_macro(__DEC128_EPSILON__) {1E-33DL} set beam::compiler::c::predefined_macro(__DEC128_MANT_DIG__) {34} set beam::compiler::c::predefined_macro(__DEC128_MAX_EXP__) {6145} @@ -407,9 +429,11 @@ set beam::compiler::c::predefined_macro(__DECIMAL_DIG__) {33} set beam::compiler::c::predefined_macro(__DEC_EVAL_METHOD__) {2} set beam::compiler::c::predefined_macro(__ELF__) {1} set beam::compiler::c::predefined_macro(__FINITE_MATH_ONLY__) {0} -set beam::compiler::c::predefined_macro(__FLT_DENORM_MIN__) {1.40129846e-45F} +set beam::compiler::c::predefined_macro(__FLOAT_WORD_ORDER__) {__ORDER_BIG_ENDIAN__} +set beam::compiler::c::predefined_macro(__FLT_DECIMAL_DIG__) {9} +set beam::compiler::c::predefined_macro(__FLT_DENORM_MIN__) {1.40129846432481707092372958328992e-45F} set beam::compiler::c::predefined_macro(__FLT_DIG__) {6} -set beam::compiler::c::predefined_macro(__FLT_EPSILON__) {1.19209290e-7F} +set beam::compiler::c::predefined_macro(__FLT_EPSILON__) {1.19209289550781250000000000000000e-7F} set beam::compiler::c::predefined_macro(__FLT_EVAL_METHOD__) {0} set beam::compiler::c::predefined_macro(__FLT_HAS_DENORM__) {1} set beam::compiler::c::predefined_macro(__FLT_HAS_INFINITY__) {1} @@ -417,23 +441,67 @@ set beam::compiler::c::predefined_macro(__FLT_HAS_QUIET_NAN__) {1} set beam::compiler::c::predefined_macro(__FLT_MANT_DIG__) {24} set beam::compiler::c::predefined_macro(__FLT_MAX_10_EXP__) {38} set beam::compiler::c::predefined_macro(__FLT_MAX_EXP__) {128} -set beam::compiler::c::predefined_macro(__FLT_MAX__) {3.40282347e+38F} +set beam::compiler::c::predefined_macro(__FLT_MAX__) {3.40282346638528859811704183484517e+38F} set beam::compiler::c::predefined_macro(__FLT_MIN_10_EXP__) {(-37)} set beam::compiler::c::predefined_macro(__FLT_MIN_EXP__) {(-125)} -set beam::compiler::c::predefined_macro(__FLT_MIN__) {1.17549435e-38F} +set beam::compiler::c::predefined_macro(__FLT_MIN__) {1.17549435082228750796873653722225e-38F} set beam::compiler::c::predefined_macro(__FLT_RADIX__) {2} +set beam::compiler::c::predefined_macro(__FP_FAST_FMA) {1} +set beam::compiler::c::predefined_macro(__FP_FAST_FMAF) {1} +set beam::compiler::c::predefined_macro(__GCC_ATOMIC_BOOL_LOCK_FREE) {2} +set beam::compiler::c::predefined_macro(__GCC_ATOMIC_CHAR16_T_LOCK_FREE) {2} +set beam::compiler::c::predefined_macro(__GCC_ATOMIC_CHAR32_T_LOCK_FREE) {2} +set beam::compiler::c::predefined_macro(__GCC_ATOMIC_CHAR_LOCK_FREE) {2} +set beam::compiler::c::predefined_macro(__GCC_ATOMIC_INT_LOCK_FREE) {2} +set beam::compiler::c::predefined_macro(__GCC_ATOMIC_LLONG_LOCK_FREE) {2} +set beam::compiler::c::predefined_macro(__GCC_ATOMIC_LONG_LOCK_FREE) {2} +set beam::compiler::c::predefined_macro(__GCC_ATOMIC_POINTER_LOCK_FREE) {2} +set beam::compiler::c::predefined_macro(__GCC_ATOMIC_SHORT_LOCK_FREE) {2} +set beam::compiler::c::predefined_macro(__GCC_ATOMIC_TEST_AND_SET_TRUEVAL) {1} +set beam::compiler::c::predefined_macro(__GCC_ATOMIC_WCHAR_T_LOCK_FREE) {2} set beam::compiler::c::predefined_macro(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1) {1} set beam::compiler::c::predefined_macro(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2) {1} set beam::compiler::c::predefined_macro(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) {1} set beam::compiler::c::predefined_macro(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) {1} set beam::compiler::c::predefined_macro(__GNUC_GNU_INLINE__) {1} -set beam::compiler::c::predefined_macro(__GNUC_MINOR__) {3} -set beam::compiler::c::predefined_macro(__GNUC_PATCHLEVEL__) {4} +set beam::compiler::c::predefined_macro(__GNUC_MINOR__) {7} +set beam::compiler::c::predefined_macro(__GNUC_PATCHLEVEL__) {2} set beam::compiler::c::predefined_macro(__GNUC__) {4} set beam::compiler::c::predefined_macro(__GXX_ABI_VERSION) {1002} set beam::compiler::c::predefined_macro(__HAVE_BSWAP__) {1} +set beam::compiler::c::predefined_macro(__INT16_C) {(c) c} +set beam::compiler::c::predefined_macro(__INT16_MAX__) {32767} +set beam::compiler::c::predefined_macro(__INT16_TYPE__) {short int} +set beam::compiler::c::predefined_macro(__INT32_C) {(c) c} +set beam::compiler::c::predefined_macro(__INT32_MAX__) {2147483647} +set beam::compiler::c::predefined_macro(__INT32_TYPE__) {int} +set beam::compiler::c::predefined_macro(__INT64_C) {(c) c ## L} +set beam::compiler::c::predefined_macro(__INT64_MAX__) {9223372036854775807L} +set beam::compiler::c::predefined_macro(__INT64_TYPE__) {long int} +set beam::compiler::c::predefined_macro(__INT8_C) {(c) c} +set beam::compiler::c::predefined_macro(__INT8_MAX__) {127} +set beam::compiler::c::predefined_macro(__INT8_TYPE__) {signed char} +set beam::compiler::c::predefined_macro(__INTMAX_C) {(c) c ## L} set beam::compiler::c::predefined_macro(__INTMAX_MAX__) {9223372036854775807L} set beam::compiler::c::predefined_macro(__INTMAX_TYPE__) {long int} +set beam::compiler::c::predefined_macro(__INTPTR_MAX__) {9223372036854775807L} +set beam::compiler::c::predefined_macro(__INTPTR_TYPE__) {long int} +set beam::compiler::c::predefined_macro(__INT_FAST16_MAX__) {9223372036854775807L} +set beam::compiler::c::predefined_macro(__INT_FAST16_TYPE__) {long int} +set beam::compiler::c::predefined_macro(__INT_FAST32_MAX__) {9223372036854775807L} +set beam::compiler::c::predefined_macro(__INT_FAST32_TYPE__) {long int} +set beam::compiler::c::predefined_macro(__INT_FAST64_MAX__) {9223372036854775807L} +set beam::compiler::c::predefined_macro(__INT_FAST64_TYPE__) {long int} +set beam::compiler::c::predefined_macro(__INT_FAST8_MAX__) {127} +set beam::compiler::c::predefined_macro(__INT_FAST8_TYPE__) {signed char} +set beam::compiler::c::predefined_macro(__INT_LEAST16_MAX__) {32767} +set beam::compiler::c::predefined_macro(__INT_LEAST16_TYPE__) {short int} +set beam::compiler::c::predefined_macro(__INT_LEAST32_MAX__) {2147483647} +set beam::compiler::c::predefined_macro(__INT_LEAST32_TYPE__) {int} +set beam::compiler::c::predefined_macro(__INT_LEAST64_MAX__) {9223372036854775807L} +set beam::compiler::c::predefined_macro(__INT_LEAST64_TYPE__) {long int} +set beam::compiler::c::predefined_macro(__INT_LEAST8_MAX__) {127} +set beam::compiler::c::predefined_macro(__INT_LEAST8_TYPE__) {signed char} set beam::compiler::c::predefined_macro(__INT_MAX__) {2147483647} set beam::compiler::c::predefined_macro(__LDBL_DENORM_MIN__) {4.94065645841246544176568792868221e-324L} set beam::compiler::c::predefined_macro(__LDBL_DIG__) {31} @@ -454,14 +522,25 @@ set beam::compiler::c::predefined_macro(__LONG_LONG_MAX__) {9223372036854775807 set beam::compiler::c::predefined_macro(__LONG_MAX__) {9223372036854775807L} set beam::compiler::c::predefined_macro(__LP64__) {1} set beam::compiler::c::predefined_macro(__NO_INLINE__) {1} +set beam::compiler::c::predefined_macro(__ORDER_BIG_ENDIAN__) {4321} +set beam::compiler::c::predefined_macro(__ORDER_LITTLE_ENDIAN__) {1234} +set beam::compiler::c::predefined_macro(__ORDER_PDP_ENDIAN__) {3412} set beam::compiler::c::predefined_macro(__PPC64__) {1} set beam::compiler::c::predefined_macro(__PPC__) {1} +set beam::compiler::c::predefined_macro(__PRAGMA_REDEFINE_EXTNAME) {1} +set beam::compiler::c::predefined_macro(__PTRDIFF_MAX__) {9223372036854775807L} set beam::compiler::c::predefined_macro(__PTRDIFF_TYPE__) {long int} +set beam::compiler::c::predefined_macro(__RECIPF__) {1} set beam::compiler::c::predefined_macro(__REGISTER_PREFIX__) {} +set beam::compiler::c::predefined_macro(__RSQRTE__) {1} set beam::compiler::c::predefined_macro(__SCHAR_MAX__) {127} set beam::compiler::c::predefined_macro(__SHRT_MAX__) {32767} +set beam::compiler::c::predefined_macro(__SIG_ATOMIC_MAX__) {2147483647} +set beam::compiler::c::predefined_macro(__SIG_ATOMIC_MIN__) {(-__SIG_ATOMIC_MAX__ - 1)} +set beam::compiler::c::predefined_macro(__SIG_ATOMIC_TYPE__) {int} set beam::compiler::c::predefined_macro(__SIZEOF_DOUBLE__) {8} set beam::compiler::c::predefined_macro(__SIZEOF_FLOAT__) {4} +set beam::compiler::c::predefined_macro(__SIZEOF_INT128__) {16} set beam::compiler::c::predefined_macro(__SIZEOF_INT__) {4} set beam::compiler::c::predefined_macro(__SIZEOF_LONG_DOUBLE__) {16} set beam::compiler::c::predefined_macro(__SIZEOF_LONG_LONG__) {8} @@ -472,22 +551,87 @@ set beam::compiler::c::predefined_macro(__SIZEOF_SHORT__) {2} set beam::compiler::c::predefined_macro(__SIZEOF_SIZE_T__) {8} set beam::compiler::c::predefined_macro(__SIZEOF_WCHAR_T__) {4} set beam::compiler::c::predefined_macro(__SIZEOF_WINT_T__) {4} +set beam::compiler::c::predefined_macro(__SIZE_MAX__) {18446744073709551615UL} set beam::compiler::c::predefined_macro(__SIZE_TYPE__) {long unsigned int} +set beam::compiler::c::predefined_macro(__UINT16_C) {(c) c} +set beam::compiler::c::predefined_macro(__UINT16_MAX__) {65535} +set beam::compiler::c::predefined_macro(__UINT16_TYPE__) {short unsigned int} +set beam::compiler::c::predefined_macro(__UINT32_C) {(c) c ## U} +set beam::compiler::c::predefined_macro(__UINT32_MAX__) {4294967295U} +set beam::compiler::c::predefined_macro(__UINT32_TYPE__) {unsigned int} +set beam::compiler::c::predefined_macro(__UINT64_C) {(c) c ## UL} +set beam::compiler::c::predefined_macro(__UINT64_MAX__) {18446744073709551615UL} +set beam::compiler::c::predefined_macro(__UINT64_TYPE__) {long unsigned int} +set beam::compiler::c::predefined_macro(__UINT8_C) {(c) c} +set beam::compiler::c::predefined_macro(__UINT8_MAX__) {255} +set beam::compiler::c::predefined_macro(__UINT8_TYPE__) {unsigned char} +set beam::compiler::c::predefined_macro(__UINTMAX_C) {(c) c ## UL} +set beam::compiler::c::predefined_macro(__UINTMAX_MAX__) {18446744073709551615UL} set beam::compiler::c::predefined_macro(__UINTMAX_TYPE__) {long unsigned int} +set beam::compiler::c::predefined_macro(__UINTPTR_MAX__) {18446744073709551615UL} +set beam::compiler::c::predefined_macro(__UINTPTR_TYPE__) {long unsigned int} +set beam::compiler::c::predefined_macro(__UINT_FAST16_MAX__) {18446744073709551615UL} +set beam::compiler::c::predefined_macro(__UINT_FAST16_TYPE__) {long unsigned int} +set beam::compiler::c::predefined_macro(__UINT_FAST32_MAX__) {18446744073709551615UL} +set beam::compiler::c::predefined_macro(__UINT_FAST32_TYPE__) {long unsigned int} +set beam::compiler::c::predefined_macro(__UINT_FAST64_MAX__) {18446744073709551615UL} +set beam::compiler::c::predefined_macro(__UINT_FAST64_TYPE__) {long unsigned int} +set beam::compiler::c::predefined_macro(__UINT_FAST8_MAX__) {255} +set beam::compiler::c::predefined_macro(__UINT_FAST8_TYPE__) {unsigned char} +set beam::compiler::c::predefined_macro(__UINT_LEAST16_MAX__) {65535} +set beam::compiler::c::predefined_macro(__UINT_LEAST16_TYPE__) {short unsigned int} +set beam::compiler::c::predefined_macro(__UINT_LEAST32_MAX__) {4294967295U} +set beam::compiler::c::predefined_macro(__UINT_LEAST32_TYPE__) {unsigned int} +set beam::compiler::c::predefined_macro(__UINT_LEAST64_MAX__) {18446744073709551615UL} +set beam::compiler::c::predefined_macro(__UINT_LEAST64_TYPE__) {long unsigned int} +set beam::compiler::c::predefined_macro(__UINT_LEAST8_MAX__) {255} +set beam::compiler::c::predefined_macro(__UINT_LEAST8_TYPE__) {unsigned char} set beam::compiler::c::predefined_macro(__USER_LABEL_PREFIX__) {} -set beam::compiler::c::predefined_macro(__VERSION__) {"4.3.4 [gcc-4_3-branch revision 152973]"} +set beam::compiler::c::predefined_macro(__VERSION__) {"4.7.2"} set beam::compiler::c::predefined_macro(__WCHAR_MAX__) {2147483647} +set beam::compiler::c::predefined_macro(__WCHAR_MIN__) {(-__WCHAR_MAX__ - 1)} set beam::compiler::c::predefined_macro(__WCHAR_TYPE__) {int} +set beam::compiler::c::predefined_macro(__WINT_MAX__) {4294967295U} +set beam::compiler::c::predefined_macro(__WINT_MIN__) {0U} set beam::compiler::c::predefined_macro(__WINT_TYPE__) {unsigned int} +set beam::compiler::c::predefined_macro(__bool) {__attribute__((altivec(bool__))) unsigned} +set beam::compiler::c::predefined_macro(__builtin_vsx_vperm) {__builtin_vec_perm} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvmaddadp) {__builtin_vsx_xvmadddp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvmaddasp) {__builtin_vsx_xvmaddsp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvmaddmdp) {__builtin_vsx_xvmadddp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvmaddmsp) {__builtin_vsx_xvmaddsp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvmsubadp) {__builtin_vsx_xvmsubdp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvmsubasp) {__builtin_vsx_xvmsubsp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvmsubmdp) {__builtin_vsx_xvmsubdp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvmsubmsp) {__builtin_vsx_xvmsubsp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvnmaddadp) {__builtin_vsx_xvnmadddp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvnmaddasp) {__builtin_vsx_xvnmaddsp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvnmaddmdp) {__builtin_vsx_xvnmadddp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvnmaddmsp) {__builtin_vsx_xvnmaddsp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvnmsubadp) {__builtin_vsx_xvnmsubdp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvnmsubasp) {__builtin_vsx_xvnmsubsp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvnmsubmdp) {__builtin_vsx_xvnmsubdp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xvnmsubmsp) {__builtin_vsx_xvnmsubsp} +set beam::compiler::c::predefined_macro(__builtin_vsx_xxland) {__builtin_vec_and} +set beam::compiler::c::predefined_macro(__builtin_vsx_xxlandc) {__builtin_vec_andc} +set beam::compiler::c::predefined_macro(__builtin_vsx_xxlnor) {__builtin_vec_nor} +set beam::compiler::c::predefined_macro(__builtin_vsx_xxlor) {__builtin_vec_or} +set beam::compiler::c::predefined_macro(__builtin_vsx_xxlxor) {__builtin_vec_xor} +set beam::compiler::c::predefined_macro(__builtin_vsx_xxsel) {__builtin_vec_sel} set beam::compiler::c::predefined_macro(__gnu_linux__) {1} set beam::compiler::c::predefined_macro(__linux) {1} set beam::compiler::c::predefined_macro(__linux__) {1} +set beam::compiler::c::predefined_macro(__pixel) {__attribute__((altivec(pixel__))) unsigned short} set beam::compiler::c::predefined_macro(__powerpc64__) {1} set beam::compiler::c::predefined_macro(__powerpc__) {1} set beam::compiler::c::predefined_macro(__unix) {1} set beam::compiler::c::predefined_macro(__unix__) {1} +set beam::compiler::c::predefined_macro(__vector) {__attribute__((altivec(vector__)))} +set beam::compiler::c::predefined_macro(bool) {bool} set beam::compiler::c::predefined_macro(linux) {1} +set beam::compiler::c::predefined_macro(pixel) {pixel} set beam::compiler::c::predefined_macro(unix) {1} +set beam::compiler::c::predefined_macro(vector) {vector} set beam::compiler::c::predefined_macro(__builtin_expect(_x,_y)) {(_x)} @@ -539,8 +683,5 @@ set beam::compiler::c::standard_predefined_macros "* - __STDC_VERSION__" ### set beam::compiler::c::function_name_is_string_literal(__FUNCDNAME__) 1 ### set beam::compiler::c::function_name_is_string_literal(__func__) 1 -set beam::compiler::c::function_name_is_string_literal(__func__) 0 -set beam::compiler::c::function_name_is_string_literal(__FUNCTION__) 0 -set beam::compiler::c::function_name_is_string_literal(__PRETTY_FUNCTION__) 0 diff --git a/src/build/beam/compiler_cpp_config.tcl b/src/build/beam/compiler_cpp_config.tcl index 2c2d2f799..382860265 100644 --- a/src/build/beam/compiler_cpp_config.tcl +++ b/src/build/beam/compiler_cpp_config.tcl @@ -1,11 +1,33 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: src/build/beam/compiler_cpp_config.tcl $ +# +# IBM CONFIDENTIAL +# +# COPYRIGHT International Business Machines Corp. 2011,2013 +# +# p1 +# +# Object Code Only (OCO) source materials +# Licensed Internal Code Source Materials +# IBM HostBoot Licensed Internal Code +# +# The source code for this program is not published or otherwise +# divested of its trade secrets, irrespective of what has been +# deposited with the U.S. Copyright Office. +# +# Origin: 30 +# +# IBM_PROLOG_END_TAG ############################################################ # Invocation of beam_configure: # -# '/afs/rchland.ibm.com/projects/esw/beam/beam-3.5.2/bin/beam_configure' '--cpp' 'ppc64-mcp6-g++' +# '/afs/rchland.ibm.com/projects/esw/beam/newbeamreleases/beam-3.6.1/bin/beam_configure' 'powerpc64-unknown-linux-gnu-g++' '--cpp' '--force' '-o' './obj/beam/compiler_cpp_config.tcl' '--headers' './src/include,./obj/genfiles' '--compile_flag=-O3 -nostdlib -mcpu=power7 -nostdinc -g -mno-vsx -mno-altivec -Wall -Werror -mtraceback=no -pipe -nostdinc++ -fno-rtti -fno-exceptions -Wall' '--verbose' # # Location of compiler: # -# /esw/fakeroot/opt/mcp/bin/ppc64-mcp6-jailtc +# /opt/mcp/shared/powerpc64-gcc-20130412/wrappers/mchroot_wrapper.sh # ############################################################ # @@ -137,7 +159,7 @@ set beam::compiler::cpp::cc "gcc" # set beam::compiler::cpp::gnu_mode 30200 -set beam::compiler::cpp::gnu_mode 40304 +set beam::compiler::cpp::gnu_mode 40702 ### MSVC mode enables Microsoft extensions in C code and @@ -189,7 +211,11 @@ set beam::compiler::cpp::language_trigraphs_allowed "0" # [split $::env(MY_INCLUDE_PATH) $::beam::pathsep] # } -lappend beam::compiler::cpp::system_include_path {/esw/mcp/ppc64/lib/gcc/ppc64-linux/4.3/include} +lappend beam::compiler::cpp::system_include_path {/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.7.2/include/g++-v4/powerpc64-unknown-linux-gnu} +lappend beam::compiler::cpp::system_include_path {/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.7.2/include/g++-v4} +lappend beam::compiler::cpp::system_include_path {/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.7.2/include-fixed} +lappend beam::compiler::cpp::system_include_path {/usr/powerpc64-unknown-linux-gnu/usr/include} +lappend beam::compiler::cpp::system_include_path {/usr/lib/gcc/powerpc64-unknown-linux-gnu/4.7.2/include} ############################################################ @@ -204,13 +230,15 @@ lappend beam::compiler::cpp::system_include_path {/esw/mcp/ppc64/lib/gcc/ppc64-l ### ### Examples appear below the auto-configured ones. +set beam::compiler::cpp::target_builtin_va_list_base_type "char" +set beam::compiler::cpp::target_char_bit "8" set beam::compiler::cpp::target_dbl_max_exp "1024" set beam::compiler::cpp::target_dbl_min_exp "-1021" set beam::compiler::cpp::target_flt_max_exp "128" set beam::compiler::cpp::target_flt_min_exp "-125" set beam::compiler::cpp::target_ldbl_max_exp "1024" set beam::compiler::cpp::target_ldbl_min_exp "-968" -set beam::compiler::cpp::target_little_endian "1" +set beam::compiler::cpp::target_little_endian "0" set beam::compiler::cpp::target_plain_char_is_unsigned "1" set beam::compiler::cpp::target_ptrdiff_t_int_kind "long int" set beam::compiler::cpp::target_size_t_int_kind "long unsigned int" @@ -221,13 +249,9 @@ set beam::compiler::cpp::target_sizeof_long "8" set beam::compiler::cpp::target_sizeof_long_double "16" set beam::compiler::cpp::target_sizeof_long_long "8" set beam::compiler::cpp::target_sizeof_pointer "8" -set beam::compiler::cpp::target_sizeof_ptrdiff_t "8" set beam::compiler::cpp::target_sizeof_short "2" -set beam::compiler::cpp::target_sizeof_size_t "8" -set beam::compiler::cpp::target_sizeof_wchar_t "4" set beam::compiler::cpp::target_string_literals_are_readonly "1" set beam::compiler::cpp::target_wchar_t_int_kind "int" -set beam::compiler::cpp::target_wchar_t_is_unsigned "0" set beam::compiler::cpp::target_wint_t_int_kind "unsigned int" @@ -349,28 +373,40 @@ set beam::compiler::cpp::predefined_macro(_ARCH_PPC) {1} set beam::compiler::cpp::predefined_macro(_ARCH_PPC64) {1} set beam::compiler::cpp::predefined_macro(_ARCH_PPCGR) {1} set beam::compiler::cpp::predefined_macro(_BIG_ENDIAN) {1} +set beam::compiler::cpp::predefined_macro(_Bool) {_Bool} set beam::compiler::cpp::predefined_macro(_CALL_AIX) {1} set beam::compiler::cpp::predefined_macro(_CALL_AIXDESC) {1} +set beam::compiler::cpp::predefined_macro(_FORTIFY_SOURCE) {((defined __OPTIMIZE__ && __OPTIMIZE__ > 0) ? 2 : 0)} set beam::compiler::cpp::predefined_macro(_GNU_SOURCE) {1} set beam::compiler::cpp::predefined_macro(_LP64) {1} +set beam::compiler::cpp::predefined_macro(__ATOMIC_ACQUIRE) {2} +set beam::compiler::cpp::predefined_macro(__ATOMIC_ACQ_REL) {4} +set beam::compiler::cpp::predefined_macro(__ATOMIC_CONSUME) {1} +set beam::compiler::cpp::predefined_macro(__ATOMIC_RELAXED) {0} +set beam::compiler::cpp::predefined_macro(__ATOMIC_RELEASE) {3} +set beam::compiler::cpp::predefined_macro(__ATOMIC_SEQ_CST) {5} +set beam::compiler::cpp::predefined_macro(__BIGGEST_ALIGNMENT__) {16} set beam::compiler::cpp::predefined_macro(__BIG_ENDIAN__) {1} +set beam::compiler::cpp::predefined_macro(__BYTE_ORDER__) {__ORDER_BIG_ENDIAN__} set beam::compiler::cpp::predefined_macro(__CHAR16_TYPE__) {short unsigned int} set beam::compiler::cpp::predefined_macro(__CHAR32_TYPE__) {unsigned int} set beam::compiler::cpp::predefined_macro(__CHAR_BIT__) {8} set beam::compiler::cpp::predefined_macro(__CHAR_UNSIGNED__) {1} -set beam::compiler::cpp::predefined_macro(__DBL_DENORM_MIN__) {4.9406564584124654e-324} +set beam::compiler::cpp::predefined_macro(__CMODEL_MEDIUM__) {1} +set beam::compiler::cpp::predefined_macro(__DBL_DECIMAL_DIG__) {17} +set beam::compiler::cpp::predefined_macro(__DBL_DENORM_MIN__) {double(4.94065645841246544176568792868221e-324L)} set beam::compiler::cpp::predefined_macro(__DBL_DIG__) {15} -set beam::compiler::cpp::predefined_macro(__DBL_EPSILON__) {2.2204460492503131e-16} +set beam::compiler::cpp::predefined_macro(__DBL_EPSILON__) {double(2.22044604925031308084726333618164e-16L)} set beam::compiler::cpp::predefined_macro(__DBL_HAS_DENORM__) {1} set beam::compiler::cpp::predefined_macro(__DBL_HAS_INFINITY__) {1} set beam::compiler::cpp::predefined_macro(__DBL_HAS_QUIET_NAN__) {1} set beam::compiler::cpp::predefined_macro(__DBL_MANT_DIG__) {53} set beam::compiler::cpp::predefined_macro(__DBL_MAX_10_EXP__) {308} set beam::compiler::cpp::predefined_macro(__DBL_MAX_EXP__) {1024} -set beam::compiler::cpp::predefined_macro(__DBL_MAX__) {1.7976931348623157e+308} +set beam::compiler::cpp::predefined_macro(__DBL_MAX__) {double(1.79769313486231570814527423731704e+308L)} set beam::compiler::cpp::predefined_macro(__DBL_MIN_10_EXP__) {(-307)} set beam::compiler::cpp::predefined_macro(__DBL_MIN_EXP__) {(-1021)} -set beam::compiler::cpp::predefined_macro(__DBL_MIN__) {2.2250738585072014e-308} +set beam::compiler::cpp::predefined_macro(__DBL_MIN__) {double(2.22507385850720138309023271733240e-308L)} set beam::compiler::cpp::predefined_macro(__DEC128_EPSILON__) {1E-33DL} set beam::compiler::cpp::predefined_macro(__DEC128_MANT_DIG__) {34} set beam::compiler::cpp::predefined_macro(__DEC128_MAX_EXP__) {6145} @@ -398,9 +434,11 @@ set beam::compiler::cpp::predefined_macro(__DEPRECATED) {1} set beam::compiler::cpp::predefined_macro(__ELF__) {1} set beam::compiler::cpp::predefined_macro(__EXCEPTIONS) {1} set beam::compiler::cpp::predefined_macro(__FINITE_MATH_ONLY__) {0} -set beam::compiler::cpp::predefined_macro(__FLT_DENORM_MIN__) {1.40129846e-45F} +set beam::compiler::cpp::predefined_macro(__FLOAT_WORD_ORDER__) {__ORDER_BIG_ENDIAN__} +set beam::compiler::cpp::predefined_macro(__FLT_DECIMAL_DIG__) {9} +set beam::compiler::cpp::predefined_macro(__FLT_DENORM_MIN__) {1.40129846432481707092372958328992e-45F} set beam::compiler::cpp::predefined_macro(__FLT_DIG__) {6} -set beam::compiler::cpp::predefined_macro(__FLT_EPSILON__) {1.19209290e-7F} +set beam::compiler::cpp::predefined_macro(__FLT_EPSILON__) {1.19209289550781250000000000000000e-7F} set beam::compiler::cpp::predefined_macro(__FLT_EVAL_METHOD__) {0} set beam::compiler::cpp::predefined_macro(__FLT_HAS_DENORM__) {1} set beam::compiler::cpp::predefined_macro(__FLT_HAS_INFINITY__) {1} @@ -408,26 +446,71 @@ set beam::compiler::cpp::predefined_macro(__FLT_HAS_QUIET_NAN__) {1} set beam::compiler::cpp::predefined_macro(__FLT_MANT_DIG__) {24} set beam::compiler::cpp::predefined_macro(__FLT_MAX_10_EXP__) {38} set beam::compiler::cpp::predefined_macro(__FLT_MAX_EXP__) {128} -set beam::compiler::cpp::predefined_macro(__FLT_MAX__) {3.40282347e+38F} +set beam::compiler::cpp::predefined_macro(__FLT_MAX__) {3.40282346638528859811704183484517e+38F} set beam::compiler::cpp::predefined_macro(__FLT_MIN_10_EXP__) {(-37)} set beam::compiler::cpp::predefined_macro(__FLT_MIN_EXP__) {(-125)} -set beam::compiler::cpp::predefined_macro(__FLT_MIN__) {1.17549435e-38F} +set beam::compiler::cpp::predefined_macro(__FLT_MIN__) {1.17549435082228750796873653722225e-38F} set beam::compiler::cpp::predefined_macro(__FLT_RADIX__) {2} +set beam::compiler::cpp::predefined_macro(__FP_FAST_FMA) {1} +set beam::compiler::cpp::predefined_macro(__FP_FAST_FMAF) {1} +set beam::compiler::cpp::predefined_macro(__GCC_ATOMIC_BOOL_LOCK_FREE) {2} +set beam::compiler::cpp::predefined_macro(__GCC_ATOMIC_CHAR16_T_LOCK_FREE) {2} +set beam::compiler::cpp::predefined_macro(__GCC_ATOMIC_CHAR32_T_LOCK_FREE) {2} +set beam::compiler::cpp::predefined_macro(__GCC_ATOMIC_CHAR_LOCK_FREE) {2} +set beam::compiler::cpp::predefined_macro(__GCC_ATOMIC_INT_LOCK_FREE) {2} +set beam::compiler::cpp::predefined_macro(__GCC_ATOMIC_LLONG_LOCK_FREE) {2} +set beam::compiler::cpp::predefined_macro(__GCC_ATOMIC_LONG_LOCK_FREE) {2} +set beam::compiler::cpp::predefined_macro(__GCC_ATOMIC_POINTER_LOCK_FREE) {2} +set beam::compiler::cpp::predefined_macro(__GCC_ATOMIC_SHORT_LOCK_FREE) {2} +set beam::compiler::cpp::predefined_macro(__GCC_ATOMIC_TEST_AND_SET_TRUEVAL) {1} +set beam::compiler::cpp::predefined_macro(__GCC_ATOMIC_WCHAR_T_LOCK_FREE) {2} +set beam::compiler::cpp::predefined_macro(__GCC_HAVE_DWARF2_CFI_ASM) {1} set beam::compiler::cpp::predefined_macro(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1) {1} set beam::compiler::cpp::predefined_macro(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2) {1} set beam::compiler::cpp::predefined_macro(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) {1} set beam::compiler::cpp::predefined_macro(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) {1} set beam::compiler::cpp::predefined_macro(__GNUC_GNU_INLINE__) {1} -set beam::compiler::cpp::predefined_macro(__GNUC_MINOR__) {3} -set beam::compiler::cpp::predefined_macro(__GNUC_PATCHLEVEL__) {4} +set beam::compiler::cpp::predefined_macro(__GNUC_MINOR__) {7} +set beam::compiler::cpp::predefined_macro(__GNUC_PATCHLEVEL__) {2} set beam::compiler::cpp::predefined_macro(__GNUC__) {4} set beam::compiler::cpp::predefined_macro(__GNUG__) {4} set beam::compiler::cpp::predefined_macro(__GXX_ABI_VERSION) {1002} set beam::compiler::cpp::predefined_macro(__GXX_RTTI) {1} set beam::compiler::cpp::predefined_macro(__GXX_WEAK__) {1} set beam::compiler::cpp::predefined_macro(__HAVE_BSWAP__) {1} +set beam::compiler::cpp::predefined_macro(__INT16_C) {(c) c} +set beam::compiler::cpp::predefined_macro(__INT16_MAX__) {32767} +set beam::compiler::cpp::predefined_macro(__INT16_TYPE__) {short int} +set beam::compiler::cpp::predefined_macro(__INT32_C) {(c) c} +set beam::compiler::cpp::predefined_macro(__INT32_MAX__) {2147483647} +set beam::compiler::cpp::predefined_macro(__INT32_TYPE__) {int} +set beam::compiler::cpp::predefined_macro(__INT64_C) {(c) c ## L} +set beam::compiler::cpp::predefined_macro(__INT64_MAX__) {9223372036854775807L} +set beam::compiler::cpp::predefined_macro(__INT64_TYPE__) {long int} +set beam::compiler::cpp::predefined_macro(__INT8_C) {(c) c} +set beam::compiler::cpp::predefined_macro(__INT8_MAX__) {127} +set beam::compiler::cpp::predefined_macro(__INT8_TYPE__) {signed char} +set beam::compiler::cpp::predefined_macro(__INTMAX_C) {(c) c ## L} set beam::compiler::cpp::predefined_macro(__INTMAX_MAX__) {9223372036854775807L} set beam::compiler::cpp::predefined_macro(__INTMAX_TYPE__) {long int} +set beam::compiler::cpp::predefined_macro(__INTPTR_MAX__) {9223372036854775807L} +set beam::compiler::cpp::predefined_macro(__INTPTR_TYPE__) {long int} +set beam::compiler::cpp::predefined_macro(__INT_FAST16_MAX__) {9223372036854775807L} +set beam::compiler::cpp::predefined_macro(__INT_FAST16_TYPE__) {long int} +set beam::compiler::cpp::predefined_macro(__INT_FAST32_MAX__) {9223372036854775807L} +set beam::compiler::cpp::predefined_macro(__INT_FAST32_TYPE__) {long int} +set beam::compiler::cpp::predefined_macro(__INT_FAST64_MAX__) {9223372036854775807L} +set beam::compiler::cpp::predefined_macro(__INT_FAST64_TYPE__) {long int} +set beam::compiler::cpp::predefined_macro(__INT_FAST8_MAX__) {127} +set beam::compiler::cpp::predefined_macro(__INT_FAST8_TYPE__) {signed char} +set beam::compiler::cpp::predefined_macro(__INT_LEAST16_MAX__) {32767} +set beam::compiler::cpp::predefined_macro(__INT_LEAST16_TYPE__) {short int} +set beam::compiler::cpp::predefined_macro(__INT_LEAST32_MAX__) {2147483647} +set beam::compiler::cpp::predefined_macro(__INT_LEAST32_TYPE__) {int} +set beam::compiler::cpp::predefined_macro(__INT_LEAST64_MAX__) {9223372036854775807L} +set beam::compiler::cpp::predefined_macro(__INT_LEAST64_TYPE__) {long int} +set beam::compiler::cpp::predefined_macro(__INT_LEAST8_MAX__) {127} +set beam::compiler::cpp::predefined_macro(__INT_LEAST8_TYPE__) {signed char} set beam::compiler::cpp::predefined_macro(__INT_MAX__) {2147483647} set beam::compiler::cpp::predefined_macro(__LDBL_DENORM_MIN__) {4.94065645841246544176568792868221e-324L} set beam::compiler::cpp::predefined_macro(__LDBL_DIG__) {31} @@ -448,14 +531,25 @@ set beam::compiler::cpp::predefined_macro(__LONG_LONG_MAX__) {922337203685477580 set beam::compiler::cpp::predefined_macro(__LONG_MAX__) {9223372036854775807L} set beam::compiler::cpp::predefined_macro(__LP64__) {1} set beam::compiler::cpp::predefined_macro(__NO_INLINE__) {1} +set beam::compiler::cpp::predefined_macro(__ORDER_BIG_ENDIAN__) {4321} +set beam::compiler::cpp::predefined_macro(__ORDER_LITTLE_ENDIAN__) {1234} +set beam::compiler::cpp::predefined_macro(__ORDER_PDP_ENDIAN__) {3412} set beam::compiler::cpp::predefined_macro(__PPC64__) {1} set beam::compiler::cpp::predefined_macro(__PPC__) {1} +set beam::compiler::cpp::predefined_macro(__PRAGMA_REDEFINE_EXTNAME) {1} +set beam::compiler::cpp::predefined_macro(__PTRDIFF_MAX__) {9223372036854775807L} set beam::compiler::cpp::predefined_macro(__PTRDIFF_TYPE__) {long int} +set beam::compiler::cpp::predefined_macro(__RECIPF__) {1} set beam::compiler::cpp::predefined_macro(__REGISTER_PREFIX__) {} +set beam::compiler::cpp::predefined_macro(__RSQRTE__) {1} set beam::compiler::cpp::predefined_macro(__SCHAR_MAX__) {127} set beam::compiler::cpp::predefined_macro(__SHRT_MAX__) {32767} +set beam::compiler::cpp::predefined_macro(__SIG_ATOMIC_MAX__) {2147483647} +set beam::compiler::cpp::predefined_macro(__SIG_ATOMIC_MIN__) {(-__SIG_ATOMIC_MAX__ - 1)} +set beam::compiler::cpp::predefined_macro(__SIG_ATOMIC_TYPE__) {int} set beam::compiler::cpp::predefined_macro(__SIZEOF_DOUBLE__) {8} set beam::compiler::cpp::predefined_macro(__SIZEOF_FLOAT__) {4} +set beam::compiler::cpp::predefined_macro(__SIZEOF_INT128__) {16} set beam::compiler::cpp::predefined_macro(__SIZEOF_INT__) {4} set beam::compiler::cpp::predefined_macro(__SIZEOF_LONG_DOUBLE__) {16} set beam::compiler::cpp::predefined_macro(__SIZEOF_LONG_LONG__) {8} @@ -466,22 +560,87 @@ set beam::compiler::cpp::predefined_macro(__SIZEOF_SHORT__) {2} set beam::compiler::cpp::predefined_macro(__SIZEOF_SIZE_T__) {8} set beam::compiler::cpp::predefined_macro(__SIZEOF_WCHAR_T__) {4} set beam::compiler::cpp::predefined_macro(__SIZEOF_WINT_T__) {4} +set beam::compiler::cpp::predefined_macro(__SIZE_MAX__) {18446744073709551615UL} set beam::compiler::cpp::predefined_macro(__SIZE_TYPE__) {long unsigned int} +set beam::compiler::cpp::predefined_macro(__UINT16_C) {(c) c} +set beam::compiler::cpp::predefined_macro(__UINT16_MAX__) {65535} +set beam::compiler::cpp::predefined_macro(__UINT16_TYPE__) {short unsigned int} +set beam::compiler::cpp::predefined_macro(__UINT32_C) {(c) c ## U} +set beam::compiler::cpp::predefined_macro(__UINT32_MAX__) {4294967295U} +set beam::compiler::cpp::predefined_macro(__UINT32_TYPE__) {unsigned int} +set beam::compiler::cpp::predefined_macro(__UINT64_C) {(c) c ## UL} +set beam::compiler::cpp::predefined_macro(__UINT64_MAX__) {18446744073709551615UL} +set beam::compiler::cpp::predefined_macro(__UINT64_TYPE__) {long unsigned int} +set beam::compiler::cpp::predefined_macro(__UINT8_C) {(c) c} +set beam::compiler::cpp::predefined_macro(__UINT8_MAX__) {255} +set beam::compiler::cpp::predefined_macro(__UINT8_TYPE__) {unsigned char} +set beam::compiler::cpp::predefined_macro(__UINTMAX_C) {(c) c ## UL} +set beam::compiler::cpp::predefined_macro(__UINTMAX_MAX__) {18446744073709551615UL} set beam::compiler::cpp::predefined_macro(__UINTMAX_TYPE__) {long unsigned int} +set beam::compiler::cpp::predefined_macro(__UINTPTR_MAX__) {18446744073709551615UL} +set beam::compiler::cpp::predefined_macro(__UINTPTR_TYPE__) {long unsigned int} +set beam::compiler::cpp::predefined_macro(__UINT_FAST16_MAX__) {18446744073709551615UL} +set beam::compiler::cpp::predefined_macro(__UINT_FAST16_TYPE__) {long unsigned int} +set beam::compiler::cpp::predefined_macro(__UINT_FAST32_MAX__) {18446744073709551615UL} +set beam::compiler::cpp::predefined_macro(__UINT_FAST32_TYPE__) {long unsigned int} +set beam::compiler::cpp::predefined_macro(__UINT_FAST64_MAX__) {18446744073709551615UL} +set beam::compiler::cpp::predefined_macro(__UINT_FAST64_TYPE__) {long unsigned int} +set beam::compiler::cpp::predefined_macro(__UINT_FAST8_MAX__) {255} +set beam::compiler::cpp::predefined_macro(__UINT_FAST8_TYPE__) {unsigned char} +set beam::compiler::cpp::predefined_macro(__UINT_LEAST16_MAX__) {65535} +set beam::compiler::cpp::predefined_macro(__UINT_LEAST16_TYPE__) {short unsigned int} +set beam::compiler::cpp::predefined_macro(__UINT_LEAST32_MAX__) {4294967295U} +set beam::compiler::cpp::predefined_macro(__UINT_LEAST32_TYPE__) {unsigned int} +set beam::compiler::cpp::predefined_macro(__UINT_LEAST64_MAX__) {18446744073709551615UL} +set beam::compiler::cpp::predefined_macro(__UINT_LEAST64_TYPE__) {long unsigned int} +set beam::compiler::cpp::predefined_macro(__UINT_LEAST8_MAX__) {255} +set beam::compiler::cpp::predefined_macro(__UINT_LEAST8_TYPE__) {unsigned char} set beam::compiler::cpp::predefined_macro(__USER_LABEL_PREFIX__) {} -set beam::compiler::cpp::predefined_macro(__VERSION__) {"4.3.4 [gcc-4_3-branch revision 152973]"} +set beam::compiler::cpp::predefined_macro(__VERSION__) {"4.7.2"} set beam::compiler::cpp::predefined_macro(__WCHAR_MAX__) {2147483647} +set beam::compiler::cpp::predefined_macro(__WCHAR_MIN__) {(-__WCHAR_MAX__ - 1)} set beam::compiler::cpp::predefined_macro(__WCHAR_TYPE__) {int} +set beam::compiler::cpp::predefined_macro(__WINT_MAX__) {4294967295U} +set beam::compiler::cpp::predefined_macro(__WINT_MIN__) {0U} set beam::compiler::cpp::predefined_macro(__WINT_TYPE__) {unsigned int} +set beam::compiler::cpp::predefined_macro(__bool) {__attribute__((altivec(bool__))) unsigned} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_vperm) {__builtin_vec_perm} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvmaddadp) {__builtin_vsx_xvmadddp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvmaddasp) {__builtin_vsx_xvmaddsp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvmaddmdp) {__builtin_vsx_xvmadddp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvmaddmsp) {__builtin_vsx_xvmaddsp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvmsubadp) {__builtin_vsx_xvmsubdp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvmsubasp) {__builtin_vsx_xvmsubsp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvmsubmdp) {__builtin_vsx_xvmsubdp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvmsubmsp) {__builtin_vsx_xvmsubsp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvnmaddadp) {__builtin_vsx_xvnmadddp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvnmaddasp) {__builtin_vsx_xvnmaddsp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvnmaddmdp) {__builtin_vsx_xvnmadddp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvnmaddmsp) {__builtin_vsx_xvnmaddsp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvnmsubadp) {__builtin_vsx_xvnmsubdp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvnmsubasp) {__builtin_vsx_xvnmsubsp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvnmsubmdp) {__builtin_vsx_xvnmsubdp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xvnmsubmsp) {__builtin_vsx_xvnmsubsp} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xxland) {__builtin_vec_and} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xxlandc) {__builtin_vec_andc} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xxlnor) {__builtin_vec_nor} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xxlor) {__builtin_vec_or} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xxlxor) {__builtin_vec_xor} +set beam::compiler::cpp::predefined_macro(__builtin_vsx_xxsel) {__builtin_vec_sel} set beam::compiler::cpp::predefined_macro(__gnu_linux__) {1} set beam::compiler::cpp::predefined_macro(__linux) {1} set beam::compiler::cpp::predefined_macro(__linux__) {1} +set beam::compiler::cpp::predefined_macro(__pixel) {__attribute__((altivec(pixel__))) unsigned short} set beam::compiler::cpp::predefined_macro(__powerpc64__) {1} set beam::compiler::cpp::predefined_macro(__powerpc__) {1} set beam::compiler::cpp::predefined_macro(__unix) {1} set beam::compiler::cpp::predefined_macro(__unix__) {1} +set beam::compiler::cpp::predefined_macro(__vector) {__attribute__((altivec(vector__)))} +set beam::compiler::cpp::predefined_macro(bool) {bool} set beam::compiler::cpp::predefined_macro(linux) {1} +set beam::compiler::cpp::predefined_macro(pixel) {pixel} set beam::compiler::cpp::predefined_macro(unix) {1} +set beam::compiler::cpp::predefined_macro(vector) {vector} set beam::compiler::cpp::predefined_macro(__builtin_expect(_x,_y)) {(_x)} @@ -533,8 +692,5 @@ set beam::compiler::cpp::standard_predefined_macros "* - __STDC_VERSION__" ### set beam::compiler::cpp::function_name_is_string_literal(__FUNCDNAME__) 1 ### set beam::compiler::cpp::function_name_is_string_literal(__func__) 1 -set beam::compiler::cpp::function_name_is_string_literal(__func__) 0 -set beam::compiler::cpp::function_name_is_string_literal(__FUNCTION__) 0 -set beam::compiler::cpp::function_name_is_string_literal(__PRETTY_FUNCTION__) 0 diff --git a/src/build/mkrules/beam.env.mk b/src/build/mkrules/beam.env.mk index 4c068aceb..71a64cccc 100644 --- a/src/build/mkrules/beam.env.mk +++ b/src/build/mkrules/beam.env.mk @@ -25,15 +25,9 @@ # Description: # Configuration of the BEAM settings. -BEAMVER = beam-3.5.2 +BEAMVER = beam-3.6.1 BEAMPATH = /afs/rch/projects/esw/beam/$(BEAMVER) BEAMCMD = $(HOST_PREFIX)jail $(BEAMPATH)/bin/beam_compile -BEAMFLAGS = \ - --beam::source=$(BEAMPATH)/tcl/beam_default_parms.tcl \ - --beam::source=$(ROOTPATH)/src/build/beam/compiler_c_config.tcl \ - --beam::source=$(ROOTPATH)/src/build/beam/compiler_cpp_config.tcl \ - --beam::exit0 \ - -o /dev/null ifdef MODULE BEAMDIR = $(ROOTPATH)/obj/beam/$(MODULE) @@ -41,3 +35,20 @@ else BEAMDIR = $(ROOTPATH)/obj/beam/core endif +## Set BEAM source files. +## see the beamgen: target to generate these config files. +BEAMFLAGS += --beam::parms=$(BEAMPATH)/tcl/beam_default_parms.tcl \ + $(ROOTPATH)/src/build/beam/beam_parms.tcl +BEAMFLAGS += --beam::source=$(ROOTPATH)/src/build/beam/compiler_c_config.tcl +BEAMFLAGS += --beam::source=$(ROOTPATH)/src/build/beam/compiler_cpp_config.tcl + +## point to a directory that BEAM can use for its' working files. +BEAMFLAGS += --beam::data=${BEAMDIR} + +## tell the "Edison" compiler to generate no warnings. +BEAMFLAGS += --edg=--no_warnings + +# make beam continue doing analyses even after first error found +BEAMFLAGS += --beam::exit0 + +BEAMFLAGS += -o /dev/null diff --git a/src/build/mkrules/beam.rules.mk b/src/build/mkrules/beam.rules.mk index d77cd94ef..8525d4d9c 100644 --- a/src/build/mkrules/beam.rules.mk +++ b/src/build/mkrules/beam.rules.mk @@ -24,33 +24,74 @@ # File: beam.rules.mk # Description: # Rules for running BEAM on C/C++/ASM files. +## +## NOTE, export BUILD_VERBOSE=1 to expose the BEAM invocation for debug. +## (export -n BUILD_VERBOSE to turn it back off) +## +## collect "real" BEAM errors into the *.beam files +## push parser errors to the *.parser files +## push stats (for debug) to *.stats files. + +BEAMOBJS = $(addprefix $(BEAMDIR)/, $(OBJS:.o=.beam)) $(BEAMDIR)/%.beam : %.C $(C2) " BEAM $(notdir $<)" - $(C1)$(BEAMCMD) $(INCFLAGS) $(CXXFLAGS) $(BEAMFLAGS) $< \ - --beam::complaint_file=$@ --beam::parser_file=/dev/null + @rm -f $@ $@.parser $@.stats + $(C1)$(BEAMCMD) $(INCFLAGS) -I . $(CXXFLAGS) $(BEAMFLAGS) \ + --beam::complaint_file=$@ \ + --beam::parser_file=$@.parser \ + --beam::stats_file=$@.stats \ + $< $(BEAMDIR)/%.beam : %.cc $(C2) " BEAM $(notdir $<)" - $(C1)$(BEAMCMD) $(INCFLAGS) $(CXXFLAGS) $(BEAMFLAGS) $< \ - --beam::complaint_file=$@ --beam::parser_file=/dev/null + @rm -f $@ $@.parser $@.stats + $(C1)$(BEAMCMD) $(INCFLAGS) -I . $(CXXFLAGS) $(BEAMFLAGS) \ + --beam::complaint_file=$@ \ + --beam::parser_file=$@.parser \ + --beam::stats_file=$@.stats \ + $< $(BEAMDIR)/%.beam : %.c $(C2) " BEAM $(notdir $<)" - $(C1)$(BEAMCMD) $(INCFLAGS) $(CXXFLAGS) $(BEAMFLAGS) $< \ - --beam::complaint_file=$@ --beam::parser_file=/dev/null + @rm -f $@ $@.parser $@.stats + $(C1)$(BEAMCMD) $(INCFLAGS) -I . $(CFLAGS) $(BEAMFLAGS) \ + --beam::complaint_file=$@ \ + --beam::parser_file=$@.parser \ + --beam::stats_file=$@.stats \ + $< $(BEAMDIR)/%.beam : %.S @echo Skipping ASM file: $< - -BEAMOBJS = $(addprefix $(BEAMDIR)/, $(OBJS:.o=.beam)) - beam: BEAM_PASS +## Run beam_configure for the C++ and C compilers. +## This outputs the config files to ./obj/beam, you have to copy them +## to the correct location. +## This only needs to be done when something in the build environment changes. +## See https://w3.eda.ibm.com/beam/beam_configure.html for documentation. +beamgen: + $(BEAMPATH)/bin/beam_configure $(firstword $(CXX_RAW)) \ + --cpp \ + --force \ + -o $(ROOTPATH)/src/build/beam/compiler_cpp_config.tcl \ + --compile_flag="$(wordlist 2, $(words $(CXX_RAW)), $(CXX_RAW)) $(CXXFLAGS)"\ + --verbose + $(BEAMPATH)/bin/beam_configure $(firstword $(CC_RAW)) \ + --c \ + --force \ + -o $(ROOTPATH)/src/build/beam/compiler_c_config.tcl \ + --compile_flag="$(wordlist 2, $(words $(CC_RAW)), $(CC_RAW)) $(CFLAGS)" \ + --verbose + .PHONY: make_beamdir make_beamdir: @mkdir -p $(BEAMDIR) -BEAM_PASS_PRE += make_beamdir -BEAM_PASS_BODY += $(BEAMOBJS) + +BEAM_PASS_PRE += make_beamdir +BEAM_PASS_BODY += $(BEAMOBJS) + +CLEAN_TARGETS += $(BEAMOBJS) $(BEAMOBJS:.beam=.beam.parser) \ + $(BEAMOBJS:.beam=.beam.stats) diff --git a/src/build/mkrules/dep.rules.mk b/src/build/mkrules/dep.rules.mk index a34f1237f..b9596e2e2 100644 --- a/src/build/mkrules/dep.rules.mk +++ b/src/build/mkrules/dep.rules.mk @@ -38,7 +38,8 @@ $(OBJDIR)/%.dep : %.cc @mkdir -p $(OBJDIR) $(C2) " DEP $(notdir $<)" $(C1)rm -f $@; \ - $(CXX_RAW) -M $(CXXFLAGS) $< -o $@.$$$$ $(INCFLAGS) -iquote .; \ + $(CXX_RAW) -M $(call FLAGS_FILTER, $(CXXFLAGS), $<) $< \ + -o $@.$$$$ $(INCFLAGS) -iquote .; \ sed 's,\($*\)\.o[ :]*,$(OBJDIR)/\1.o $@ : ,g' < $@.$$$$ > $@; \ rm -f $@.$$$$ @@ -55,7 +56,8 @@ $(OBJDIR)/%.dep : %.S @mkdir -p $(OBJDIR) $(C2) " DEP $(notdir $<)" $(C1)rm -f $@; \ - $(CC_RAW) -M $(ASMFLAGS) $< -o $@.$$$$ $(ASMINCFLAGS) $(INCFLAGS) -iquote .; \ + $(CC_RAW) -M $(ASMFLAGS) $< -o $@.$$$$ $(ASMINCFLAGS) \ + $(INCFLAGS) -iquote .; \ sed 's,\($*\)\.o[ :]*,$(OBJDIR)/\1.o $@ : ,g' < $@.$$$$ > $@; \ rm -f $@.$$$$ -- cgit v1.2.1