Advance Toolchain 12.0-3
Advance Toolchain new location
Since the end of August 2019, Advance Toolchain has been available from a new FTP server: public.dhe.ibm.com
Please be advised the FTP server at Unicamp won't be updated any longer.
Deprecation notice:
IBM Advance Toolchain 12.0 will be the last version that includes OProfile and Libpfm. Future versions of IBM Advance Toolchain will not include OProfile nor Libpfm in favor of the Linux perf command and the perf_events set of performance tools available from the supported distributions.
New features in 12.0-3
- GCC provides:
- Fix for lookup, dependent base.
- Fix for ICE using lambda in #pragma omp declare reduction.
- Fix for enum class bitfield size-checking needs a separate warning flag controlling it.
- Fix for std::locale::classic() Needless Race.
- Fix for libstdc++ not built with large file support.
- Fix for lambda capture breaks constexpr-ness of non-static const constexpr member call on non-constexpr value/variable.
- Fix for ICE in gfc_trans_array_cobounds, at fortran/trans-array.c:6033.
- Fix for internal compiler error: Segmentation fault (check_local_shadow()).
- Fix for ICE in get_constraint_for_ssa_var, at tree-ssa-structalias.c:2955.
- Fix for gcc-8.1.0/NEWS says it's not released yet.
- Fix for ICE in resolve_component, at fortran/resolve.c:13696.
- Fix for lambda capture breaks constexpr-ness.
- Fix for GCC 8 selects incorrect overload of ref-qualified conversion operator template.
- Fix for rejects-valid with redundant friend declaration.
- Fix for Calling member functions on captured constexpr variables "is not a constant expression".
- Fix for SFINAE constructor not matched, only in templated function.
- Fix for internal compiler error: in record_reference, at cgraphbuild.c:64.
- Fix for error: unrecognizable insn on ppc64le.
- Fix for Calling a static method from inside a generic lambda requires to capture 'this'.
- Fix for G++-8 treats SFINAE as error.
- Fix for ICE in type_dependent_expression_p, at cp/pt.c:25230.
- Fix for Sequence of not-explicitly initialised, initialised, variable length generates no initialiser.
- Fix for g++ ICE (Segmentation fault) in insert_capture_proxy.
- Fix for Combining -std=c++14 and -std=c++17 objects gives ODR warnings.
- Fix for passing 'const ...' as 'this' argument discards qualifiers.
- Fix for ICE with lambda in variadic template hierarchy.
- Fix for Is an assignment elided with gcc7.3 -O2?.
- Fix for Incorrect template argument deduction for conversion functions.
- Fix for error initializing a constexpr array of a struct with const member.
- Fix for ICE (segfault) in gcc/cp/call.c compare_ics() with -std=c++17.
- Fix for Doc typos in __builtin_crypto_vpmsum*.
- Fix for ICE with non-static block scope constexpr, captured in lambda, used as template parameter.
- Fix for gcov: ICE in handle_cycle, at gcov.c:699 happen which get code coverage with lcov..
- Fix for Unexpected behavior when class defined with namespace alias.
- Fix for ICE in gfc_conv_array_initializer, at fortran/trans-array.c:6156.
- Fix for std::filesystem::file_size will return wrong value on 32bit platforms with large files support.
- Fix for pack expansion for Cartesian product breaks if certain indirections are involved since r6-1487-g1a4cd2cd7e7266b0.
- Fix for constexpr-ness of char const* doesn't propagate.
- Fix for ICE on invalid in process_partial_specialization.
- Fix for Formatted stream IO irreproducible read with binary data in file.
- Fix for ICE in IPA pass fnsummary in openmp offload.
- Fix for bootstrap fails with --disable-hosted-libstdcxx.
- Fix for Function declaration parsed incorrectly with `-std=c++1z`.
- Fix for ICE in short program with constexpr and std::array.
- Fix for gfortran read with end directive does not trigger with -ffrontend-optimize.
- Fix for couple of suspicious assignments in expect.c.
- Fix for ICE in optimize_sc, at modulo-sched.c:1063.
- Fix for internal compiler error: in convert_mpz_to_unsigned, at fortran/simplify.c:173.
- Fix for Handling of unknown attributes.
- Fix for Wrong .debug_line section information when compiling stdin input with -g3.
- Fix for ICE in gimple_phi_arg, at gimple.h:4406 since r240291.
- Fix for Bit-field of scoped enumeration type cannot be initialized.
- Fix for Initializing array with vec4 results in compile error.
- Fix for Documentation ambiguous/misleading about interplay of optimization and warning flags.
- Fix for ICE in dwarf2out_abstract_function, at dwarf2out.c:22659, or in force_type_die, at dwarf2out.c:26224.
- Fix for Maybe a wrong code for vector constants.
- Fix for Incorrect expression in DW_AT_byte_stride on an array.
- Fix for ICE in convert_nonlocal_reference_op, at tree-nested.c:1065.
- Fix for location references block not in block tree.
- Fix for compiler treats enum type as an integer during overload resolution when a bit-field of this enum is considered.
- Fix for Inappropriate comment for std::ios_base::trunc.
- Fix for [OpenMP] ICE in gfc_trans_omp_atomic, at fortran/trans-openmp.c:3769.
- Fix for ICE on incorrect lambda inside variadic template.
- Fix for GCC incorrectly optimizes away __builtin_apply() calls.
- Fix for ICE in gfc_zero_size_array, at fortran/arith.c:1680.
- Fix for Suspicious code in cgraph_edge_brings_all_agg_vals_for_node(), ipa-cp.c.
- Fix for ICE in gfc_trans_omp_atomic, at fortran/trans-openmp.c:3526.
- Fix for Side-effects dropped when decltype(nullptr) typed expression is passed to ellipsis.
- Fix for ICE in gimple_set_lhs, at gimple.c:1820.
- Fix for libgomp: destructor missing to delete goacc_cleanup_key.
- Fix for ICE: gimplifier segfault with undefined nested function.
- Fix for ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn).
- Fix for Bogus `-Wsuggest-attribute=cold` on function already marked as `__attribute__((cold))`.
- Fix for Segfault in cc1plus on incorrect decltype among function args.
- Fix for std::filesystem::remove_all fails to remove large files.
- Fix for std::discrete_distribution's operator>> causes OOM.
- Fix for [[deprecated("message")]] on template struct/class drops message.
- Fix for _Bool casts in dead branches of integer constant expressions cause undesirable warnings under -pedantic iff the dead branch contains overflow.
- Fix for Unexpected program behavior when -fsanitize=address and -O2/O3 used.
- Fix for ICE in decltype of template constructor with default argument within a class template since r8-2712.
- Fix for libstdc++ wrongly uses direct clock_gettime syscall on non-glibc, breaks time64.
- Fix for ICE in omp_code_to_statement, at fortran/openmp.c:5902.
- Fix for ICE in gimplify_expr, at gimplify.c:14378.
- Fix for points-to wrong for integer offsetting and field-sensitive analysis.
- Fix for Miscompilation with -O3 starting from 8.1.
- Fix for Hang with -O2 on innocuous looking code with GCC 8.3.
- Fix for ICE in gfc_trans_omp_atomic, at fortran/trans-openmp.c:3771.
- Fix for ICE in oacc_code_to_statement, at fortran/openmp.c:6007.
- Fix for ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1120 since r7-4028-g87c9fca50cbe7ca9.
- Fix for wrong code or ICE with __builtin_bswap64() and rotation at -Og.
- Fix for OpenMP target teams distribute parallel for with defaultmap not mapping correctly.
- Fix for OpenMP module description incomplete in gcc/fortran/intrinsic.texi – missing PARAMETER.
- Fix for ICE in simd_clone_struct_copy, at omp-simd-clone.c:84.
- Fix for unique_ptr::swap incorrectly uses generic std::swap.
- Fix for r10-6418 causes many ICEs.
- Fix for internal compiler error: Segmentation fault (in gimplify.c).
- Fix for infinite loop building ghostscript and icu with -O3 on powerpc64le-linux-gnu.
- Fix for ICE in gfc_check_same_strlen, at fortran/check.c:1253.
- Fix for Different results between gcc-9 and gcc-7.
- Fix for PPC64 builtin vec_rlnm() argument order is wrong..
- Fix for Cannot use Derived type of Base containing both enum and protected destructor.
- Fix for Register const local var will not compile since r0-58166.
- Fix for std::to_address doesn't work with past-the-end Debug Mode iterators.
- Fix for Problematic ld_date configure check.
- Fix for ICE equivalence of an integer and an element of an array of size n.
- Fix for ICE in set_ptr_info_alignment with -O2 and __builtin_assume_aligned.
- Fix for Bogus unused dummy argument warning/error.
- GNU Binutils provides:
- Fix for Section groups (comdat/linkonce) create undefined symbols unnecessarily.
- Fix for Data relocations with IFUNC symbols can lead to segfault.
- Fix for IFUNC pointer should be allowed in executable.
- Fix for Shared libraries created with duplicate _end, _edata and __bss_start symbols.
- Fix for ld does not put program headers in a code-only load segment.
- Fix for gold: should the discarded version information warning exist?.
- Fix for Incorrect code in bfd_elf_record_link_assignment.
- Fix for objcopy: src/steddNxf: failed to find link section for section 24.
- Fix for Symbols from discarded section in IR object leaked into final executable.
- Fix for bfd doesn't handle ELF compressed data alignment.
- Fix for Missing .note.gnu.property with -flto.
- Fix for powerpc64le local ifunc IRELATIVE relocs are wrong.
- Fix for Regression about copy relocation of protected data.
- Fix for fivefold time and memory usage since commit 3ae729d5 on large files generated by lto.
- Fix for segmentation fault in functions called from ppc_finish_symbols.
- Fix for Assertion failure in ldlang.c:6868 when compiling with -flto.
- GNU C Library provides:
- Fix for (CVE-2020-1751) Array overflow in backtrace on powerpc (CVE-2020-1751).
- Fix for (CVE-2020-1752) 'glob' use-after-free bug (CVE-2020-1752).
- Fix for <string.h> does not enable const correctness for strchr et al. for Clang++.
- Userspace RCU provides:
- Fix for tap array subscript has type char warning.
Packages in 12.0-3
- The Advance Toolchain is a self contained toolchain which isn't reliant on the base system toolchain.
- Base toolchain packages:
- GNU Binutils - 2.31.1-d120ec38f257 online docs
- Expat XML Parser - 2.2.7-d3b78b42a2dc online docs
- GCC (GNU Compiler Collection) - 8.4.1-e25f27eea473 [C, C++ (g++), fortran, Go] online docs
- GNU Standard C++ Library v3 (Libstdc++-v3) - 8.4.1-e25f27eea473 online docs
- GNU Libgomp - 8.4.1-e25f27eea473 online docs
- GNU C Library - 2.28-e51e3044e1fa online docs
- GNU Multiple Precision Library - 6.1.2 online docs
- GNU MPC Library - 1.1.0-69ad1bcb8e9e online docs
- GNU MPFR Library - 4.0.2-13499 online docs
- Additional support libraries, including some additional floating point support libraries:
- Decimal Floating Point C Library - 1.0.13-e257474ab320 online docs
- Libhugetlbfs - 2.20-e44180072b79 online docs
- Libvecpf - 1.1.0 online docs
- Open Secure Sockets Layer - 1.1.0l-a3b54f0f5de1 online docs
- IBM Power Architecture Facilities Library - 0.3.0-cbb41aa0538a online docs
- Python - 3.6.6-4cf1f54eb764 online docs
- TCMalloc - 2.7-9608fa3bcf80 online docs
- ZLIB Compression Library - 1.2.11-ba9df2111e9c online docs
- Development tools:
- GDB (GNU Debugger) - 8.2.1-07d117342c8d online docs
- Additional performance and debugging tools:
- Libpfm - 4.10.1-37d4628e37ba online docs
- OProfile - 1.3.0-76c4275a0cb5 with Java Support online docs
- Valgrind - 3.14.0-0c701ba2a4b1 online docs
- Additional multi core support libraries:
- Boost - 1.67.0 online docs
- SPHDE - 1.4.0-6a630fad0fbe online docs
- Userspace RCU - 0.10.3-4fe638e78c6c online docs
- Thread Building Blocks - 2018_U5-615bb971db87 online docs
- Golang:
- Golang - 1.10-b222da767e95 online docs