Blog Post
IBM Advance Toolchain for Linux on Power 13.0-3 released!
Explore what's new and updated in version 13.0-3
A new update release for the 13.0 series of the IBM® Advance Toolchain for Linux on Power is now available.
About the IBM Advance Toolchain for Linux on Power
The IBM Advance Toolchain for Linux on Power is a set of open source development tools (compiler, debugger and profiling tools) and runtime libraries that allow users to take leading edge advantage of IBM’s latest POWER® hardware features on Linux®.
For more information about it, visit https://www.ibm.com/support/pages/advance-toolchain-linux-power.
This release includes a series of package updates:
- GCC provides:
- Fix for ProcPtr function results: wrong name in error message
- Fix for Preserve variable-use locations
- Fix for SIGSEGV in gfc_trans_label_assign
- Fix for Spurious “Type specified for intrinsic function ‘command_argument_count’ at (1) is ignored” under -Wsurprising
- Fix for LTO PGO bootstrap fails on linux-sparc64 in stream_out_histogram_value
- Fix for ICE on using sync images with integer(kind\<>4), with -fcoarray=lib -fcheck=bounds
- Fix for __glibcxx_assert and Debug Mode checks can’t be used in constexpr functions
- Fix for spurious -Wunused-variable on a pointer with attribute unused in function template
- Fix for relative line numbers only working if gcc_{error,warning}_prefix defined
- Fix for dg-message not supported
- Fix for Incorrect result from alignof in templates, if also using __alignof__
- Fix for ICE with allocatable coarray, class and associate in resolve_assoc_var, at fortran/resolve.c:8750
- Fix for new_allocator::construct needs to be constrained
- Fix for internal compiler error: in conv_function_val, at fortran/trans-expr.c:3792
- Fix for by-ref capture of constexpr class object rejected
- Fix for segfault when run CPU2006 465.tonto since r263875
- Fix for -fmerge-all-constants leads to corrupt output without inlining
- Fix for std::variant with multiple identical types assignment fail to compile
- Fix for GDC generate duplicate symbols when mixins and interfaces are used to gather
- Fix for __builtin_vec_xor() causes subregs to be used when not using V4SImode vectors
- Fix for std::gcd mishandles mixed-signedness
- Fix for gcc.dg/vmx/ops.c and several other test break after r279772
- Fix for std::experimental::filesystem::path::generic_string() doesn’t normalize
- Fix for ICE in gfc_dt_upper_string, at fortran/module.c:441
- Fix for ICE on invalid with argument list for module procedure
- Fix for ICE in gfc_conv_array_constructor_expr, at fortran/trans-expr.c:7594
- Fix for ICE in scan_omp_1_op, at omp-low.c:3485
- Fix for ICE in gfc_ge_dataptr_offset, at fortran/trans-array.c:6951
- Fix for Invalid UP/DOWN rounding with EN descriptor
- Fix for GCC eliminates conditions it should not, when strict-enums is on
- Fix for ICE in make_ssa_name_fn, at tree-ssanames.c:279 since r7-536-g381cdae49785fc4b
- Fix for Wrong array creation with p => array_dt(1:n)%component
- Fix for is_trivially_copy_constructible\<> fails with compiler error on complicated object with private default constructor
- Fix for gcc.dg/gomp/pr82374.c fails on power 7
- Fix for Memory leak introduced in 8.3.0->8.3.1
- Fix for Longcalls mis-optimize loading the function address
- Fix for std::pmr::pool_options::max_blocks_per_chunk=1 causes pool resources to return null pointers
- Fix for experimental/executor and socket header issues-
- Fix for filesystem::path::generic_string() only works with std::allocator
- Fix for UBSAN: “invalid vptr” false positive for virtual inheritance with -fno-sanitize-recover=all
- Fix for Memory leak in nested types with final
- Fix for the compiler consider “type is( real(kind(1.)) )” as a syntax error since r10-7369-gc38daa7976886a59
- Fix for wrong code with vector modulo operation since r0-117580
- Fix for Error: Expected comma or semicolon, comma found
- Fix for ‘-fcompare-debug’ failure (length) with -O2 -fnon-call-exceptions since r8-565-g7581ce9a1ad6df9c
- Fix for GCC 9.2.1 segfaults when compiling file with -O3 since r9-5354
- Fix for std::match_results equality comparisons should not be noexcept
- Fix for -Wpadded -fsanitize=undefined together cause warning on main()
- Fix for filesystem::sysmlink_status using stat instead of lstat when –disable-libstdcxx-filesystem-ts
- Fix for internal compiler error: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in diag_attr_exclusions, at attribs.c:396 since r8-5161
- Fix for Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)
- Fix for Incorrect “no return statement” warning with [[noreturn]] and __FUNCTION__
- Fix for internal compiler error: Segmentation fault
- Fix for Severe regression leading to double free in tcache
- Fix for Different results between gcc-9 and gcc-6
- Fix for ppc incorrect mffs-based emulation of mffsl
- Fix for ICE in gcc.dg/pr94780.c after r10-7999
- Fix for internal compiler error: in gimplify_label_expr, at gimplify.c:2573
- Fix for memory corruption in std::pmr::monotonic_buffer_resource
- Fix for detect_stack_use_after_return=1 is much slower than clang’s
- Fix for pmr::synchronized_pool_resource crashes without -pthread
- Fix for error: ‘template<class returntype\> JSC::FunctionPtr::FunctionPtr(returnType (*)())’ cannot be overloaded since r10-7998-g5f1cd1da1a805c3d
- Fix for -fipa-pta + pthread_once crash since r6-5684-g47e5754e17e9ac3b
- Fix for dereferencing type-punned pointer will break strict-aliasing rules when using super class for a template type
- Fix for Wrong code generation for vec_pack_to_short_fp32 builtin for Power
- Fix for ICE in add_phi_arg, at tree-phinodes.c:359 since r8-2993-ga7976089dba5e227
- Fix for Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
- Fix for internal compiler error: in verify_gimple_stmt, at tree-cfg.c:4959
- Fix for GCC never terminates with trivial input program
- Fix for -fcompare-debug failure (length) with -Og -fcse-follow-jumps -fnon-call-exceptions
- Fix for ICE in gfc_hash_value, at fortran/class.c:538
- Fix for Segfault on a legal WAIT statement
- Fix for Bogus warning from module with long name and an equivalence
- Fix for new test case in r11-345 error: gcc.dg/tree-ssa/pr94969.c: dump file does not exist
- Fix for CLOSE hangs when -fopenmp is specified in compilation
- Fix for wrong vtable offset in virtual function call
- Fix for Templates + Diamond Inheritance + Final = Pure Virtual Function Call
- Fix for ICE on some architecture targets when trying to use unknown attribute
- Fix for Hang in WAIT with a bad ID= value if threading specified
- Fix for ICE instead of error when trying to use bad template type inside template
- Fix for structured binding of template type inside template function is reported as “incomplete class type”
- Fix for Wparentheses (assignment used as truth value) on parenthesized ternary conditional E2
- Fix for ICE in build_reference_type, at tree.c:7942
- Fix for Segfault compiling extra interface on intrinsic
- Fix for ICE in gfc_is_simply_contiguous, at fortran/expr.c:5844
- Fix for ICE in gfortran.dg/equiv_11.f90 after r11-594
- Fix for gfortran.dg/pr95090.f90 since r11-670
- Fix for ICE in comptypes, at cp/typeck.c:1498 since r7-4206-g84ff4775d41b716c
- Fix for ICE in gfc_check_reshape, at fortran/check.c:4751
- Fix for ICE in gfc_target_encode_expr, at fortran/target-memory.c:362
- Fix for ICE in access_attr_decl, at fortran/decl.c:9075
- Fix for ICE in gfc_check_pointer_assign, at fortran/expr.c:4274
- Fix for ICE in build_field, at fortran/trans-common.c:301
- Fix for Legit-looking code doesn’t work with -O2
- Fix for ICE in dependent_type_p, at cp/pt.c:25610
- Fix for ICE in check_sym_interfaces, at fortran/interface.c:2015
- Fix for ICE in resolve_fl_procedure, at fortran/resolve.c:13002
- Fix for ICE in gfc_resolve_code, at fortran/resolve.c:11807
- Fix for ICE during GIMPLE pass: vect: verify_ssa failed since r9-5325-gf25507d041de4df6
- Fix for bogus recursive call to nonrecursive procedure with -fcheck=recursion
- Fix for std::filesystem::file_size returns wrong size for large files on Windows
- Fix for ICE in generate_code_for_partition, at tree-loop-distribution.c:1323 since r11-1565-g2c0069fafb53ccb7
- Fix for Spurious UBSan warning when computing the opposite of the absolute value of INT_MIN
- Fix for Bogus error with additional blanks in type(*)
- Fix for Silencing an unused label warning with (void)&&label; can make gcc segfault
- Fix for ICE in gfc_add_type, at fortran/symbol.c:2030 since r11-524-geb069ae8819c3a84
- Fix for ICE in resolve_symbol, at fortran/resolve.c:15175 since r7-5348-g6479f45b31c13f30
- Fix for ICE in gfc_get_derived_type, at fortran/trans-types.c:2729
- Fix for Optimization issue with external HDF5 library
- Fix for ICE in gfortran.dg/pr93423.f90 after r11-1792
- Fix for Vector element extract mistypes long long int down to long int
- Fix for -fc-prototypes forgets types for doubles
- Fix for __builtin_convertvector ICE without lhs
- Fix for OpenMP host teams reductions ignored
- Fix for Horrible performance of std::read_symlink
- Fix for get_environment_variable crashes for environment variables that are empty strings
- Fix for ICE in get_atomic_generic_size
- Fix for Bad “set but not used” warning with _Generic
- Fix for Clobbers on NULL since r8-1519
- Fix for slow compile with `-g -O3` since r11-39-gf9e1ea10e657af9f
- Fix for std::swap(std::variant, std::variant) triggers undefined behavior sanitizer
- Fix for std::tuple chooses wrong constructor for uses-allocator construction
- Fix for -frounding-math -std=c++2a error: ‘(1.29e+2 * 6.9314718055994529e-1)’ is not a constant expression
- Fix for Wrong answer with intrinsic IALL
- Fix for an O2, O3 codegen bug
- Fix for The value of result is wrong when vector (step size is negative) * matrix
- Fix for Zero valued #line directive results in excessively large blocks of memory being allocated
- Fix for noexcept specifier in std::bind_front()
- Fix for assume_aligned is not constexpr
- Fix for string_view bounds error in filesystem::path
- Fix for .gcno files are not written to same directory as the object file
- Fix for Wrong answer from MAXLOC with character arg
- Fix for ICE on firefox built with lto+pgo: dist/include/mozilla/Casting.h:64:1: internal compiler error: in to_frequency, at profile-count.c:273
- Fix for g++.dg/asan/asan_test.C compilation failure starting with r11-3827
- Fix for Wrong min value generated for DFP numbers
- Fix for New gfortran.dg/pdt_14.f03 failure after g:617695cdc2b3d950f1e4deb5ea85d5cc302943f4
- Fix for terminate called in std::experimental::filesystem::recursive_directory_iterator
- Fix for FTB msp430-elf error: the value of ‘__gnucxx::\_numeric_traits_integer\<__int20>::__max’ is not usable in a constant expression
- Fix for ICE near htab_hash_string when LTO, -O & -g
- Fix for ext/stdio_filebuf/char/79820.cc is broken
- GNU C Library provides:
- Binutils provides:
- Userspace RCU provides:
- Version 0.11.2, see the release notes for details
- Fix for explicitly include urcu/config.h in files using CONFIG_RCU_ defines
- Fix for add -lurcu-common to pkg-config libs for each flavor
- Fix race between rcu_barrier() and call_rcu_data_free()
- TBB provides:
- Version 2019_U9, see the release notes for details
- TCMalloc provides:
- Version 2.8, see the release notes for details
For download links, more information and documentation, refer to our official documentation page, IBM Advance Toolchain for Linux on Power Documentation.
Let us know if you have any questions about this release.