summaryrefslogtreecommitdiffstats
path: root/src/build
diff options
context:
space:
mode:
authorMark Wenning <wenning@us.ibm.com>2013-03-18 13:28:15 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-05-08 12:56:03 -0500
commit7af1d3ab7d3ab0049032cbdb3f04fd0e773724fe (patch)
tree12d90a802fbae822133dc7958d719e38fb4dfbc1 /src/build
parent3541d56fbffa428a51ae0eb7bc963e45ce48d836 (diff)
downloadtalos-hostboot-7af1d3ab7d3ab0049032cbdb3f04fd0e773724fe.tar.gz
talos-hostboot-7af1d3ab7d3ab0049032cbdb3f04fd0e773724fe.zip
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 <wenning@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/build')
-rw-r--r--src/build/beam/beam_parms.tcl26
-rw-r--r--src/build/beam/compiler_c_config.tcl211
-rw-r--r--src/build/beam/compiler_cpp_config.tcl202
-rw-r--r--src/build/mkrules/beam.env.mk25
-rw-r--r--src/build/mkrules/beam.rules.mk63
-rw-r--r--src/build/mkrules/dep.rules.mk6
6 files changed, 455 insertions, 78 deletions
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 $@.$$$$
OpenPOWER on IntegriCloud