Release Notes for the Advance Toolchain 12.0-4
Features in 12.0-4
- 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-a44d17ec0f5e [C, C++ (g++), fortran, Go] online docs
- GNU Standard C++ Library v3 (Libstdc++-v3) - 8.4.1-a44d17ec0f5e online docs
- GNU Libgomp - 8.4.1-a44d17ec0f5e online docs
- GNU C Library - 2.28-148200bda390 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.12-c0a9afe2ac18 online docs
- TCMalloc - 2.7-e5f77d6485bd 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
- POWER9 enablement.
- POWER9 optimized scheduler.
- Requires at least POWER7 for ppc64 and POWER8 for ppc64le.
- POWER8 Transactional Memory enablement.
- POWER8 Crypto Operations enablement.
- POWER8 Fusion enablement.
- POWER8 and POWER9 optimized system libraries.
- GCC creates binaries using --mcpu=power8 --mtune=power9 by default on ppc64le.
- Support for Go Programming Language.
- GCC provides:
- Fix for [F03] ProcPtr function results: wrong name in error message.
- 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 [Coarray] 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 [Coarray] ICE with allocatable coarray, class and associate in resolve_assoc_var, at fortran/resolve.c:8750.
- Fix for internal compiler error: in conv_function_val, at fortran/trans-expr.c:3792.
- Fix for Bogus error with alignas.
- Fix for ICE in grokdeclarator, at cp/decl.c:12024.
- Fix for -fmerge-all-constants leads to corrupt output without inlining.
- Fix for std::experimental::filesystem::path::generic_string() doesn't normalize.
- Fix for Annotate assembler option failure.
- Fix for ICE on invalid with argument list for module procedure.
- Fix for ICE in scan_omp_1_op, at omp-low.c:3485.
- Fix for tree-nested.c ICE on C OpenMP array section reduction.
- 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 Incorrect DW_AT_location generated for copy-constructed function argument.
- Fix for ICE using lambda capture in openMP parallel for reduction.
- 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 Wrong constant folding: decimal floating-point infinity casted to double -> zero.
- Fix for ICE in gimplify_modify_expr, at gimplify.c:5936.
- Fix for pr71109.c -fcompare-debug failures on x86_64 and powerpc64le.
- Fix for -fcompare-debug failure on phi-opt-13.c.
- Fix for filesystem::path::generic_string() only works with std::allocator.
- Fix for gcc: error: gcc/testsuite/gcc.dg/fold-bopcond-1.c: âfcompare-debugâfailure since r7-4804-gb54819879e0518b3.
- Fix for Program result error When using global object array (partially initialized with a special constructor, and the rest with the default constructor).
- Fix for UBSAN: "invalid vptr" false positive for virtual inheritance with -fno-sanitize-recover=all.
- Fix for error: use_only.f90: âfcompare-debugâfailure (length).
- Fix for Memory leak in nested types with final.
- Fix for wrong code with vectors.
- Fix for ICE in replace_uses_by with -O2 -fsanitize=object-size since r10-6332.
- Fix for Missing c++ debug information for 'auto&' return type.
- Fix for wrong code with vector modulo operation since r0-117580.
- Fix for Error: Expected comma or semicolon, comma found.
- Fix for S/390, powerpc: Wrong code generated for vec_sel builtin.
- Fix for '-fcompare-debug' failure (length) with -O2 -fnon-call-exceptions since r8-565-g7581ce9a1ad6df9c.
- Fix for -Wpadded -fsanitize=undefined together cause warning on main().
- Fix for internal compiler error: tree check: expected class âypeâ have âxceptionalâ(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 ICE in walk_body at gcc/tree-nested.c:713 since r6-3632-gf6f69fb09c5f81df.
- Fix for Severe regression leading to double free in tcache.
- Fix for Different results between gcc-9 and gcc-6.
- Fix for ICE in gcc.dg/pr94780.c after r10-7999.
- Fix for vec_first_match_index does not function as described in its description.
- Fix for internal compiler error: in gimplify_label_expr, at gimplify.c:2573.
- Fix for detect_stack_use_after_return=1 is much slower than clang's.
- 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 Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9.
- Fix for -fcompare-debug failure (length) with -Og -fcse-follow-jumps -fnon-call-exceptions.
- Fix for new test case in r11-345 error: gcc.dg/tree-ssa/pr94969.c: dump file does not exist.
- Fix for structured binding of template type inside template function is reported as "incomplete class type".
- Fix for ICE in build_field, at fortran/trans-common.c:301.
- Fix for ICE in check_sym_interfaces, at fortran/interface.c:2015.
- 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 gcc-8 bootstrap failure on powerpc64-linux.
- 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 Wrong code with -moutline-atomics.
- Fix for Horrible performance of std::read_symlink.
- 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::tuple chooses wrong constructor for uses-allocator construction.
- Fix for Wrong answer with intrinsic IALL.
- Fix for an O2, O3 codegen bug.
- Python provides:
- Version 3.6.12, see the release notes for details.
- TCMalloc provides:
- Don't assume HAVE_MMAP on mingw builds.
- Drop page heap lock when returning memory back to kernel.
- Amputate span events history.
- Fix for ability to disable fallback allocator in memfs.
- Fix for fragmentation overhead instrumentation.
- Fix a clang-tidy readability warning for static member access.
- Remove executable flag for c++ files.
- Increase kClassSizesMax to 128 to allow for page size of 4K.
- Allow configuring page size to 4K, 8K, 16K, 32K, 64K, 128K and 256K.
- Fix the removed std::allocator::pointer member type removed in C++20.
- Fix for never test and always default HAVE_MMAP to on.
- Don't try to mark rsp as clobbered in linux syscall support.
- Use initial exec TLS model for all thread local variables from thread_cache.cc.
- Include asm/ptrace.h when accessing ucontext_t.
- Compile time aggressive decommit option.
- Fix for undef mmap64 function.
- Drop not very portable and not very useful unwind benchmark.
- Fix for check for __sbrk.
- Fix mmap region iteration while no regions are recorded.
- Use off64_t instead of __off64_t.
- Return early in WriteProfile to reduce indentation.
- Add generic.total_physical_bytes property to MallocExtension.
- Make some tcmalloc constants truly const.
- Add comment about gperftools 2.8 not deduplicating heapz samples.
- Drop de-duplication of heap sample (aka heapz) entries.
- Add flag to disable installing unmaintained & deprecated pprof.
- Avoid static initialization of pprof path for symbolization.
- Clean up MSVC projects.
- Fix page_heap_test flakiness.
- Use standard-conforming alignof in debugallocation.cc.
- Fix incompatible aliasing warnings.
- Format and fix out of bound access in CpuProfilerSwitch.
- provide constexpr constructor for Sampler.
- Patch _free_dbg to make Debug mode in MSVC works.
- Use indirect system calls in the linux spinlock implementation.
- Use indirect system calls in the mmap malloc hooks..
- Fix for benchmark: use angle brackets to include ucontext.h.
- Fix potential missing nul character on resolved symbol names.
- Use relative addresses with the windows addr2line wrapper.
- Fix for the windows addr2line wrapper.
- Replace builtin_expect configure test with a direct GCC compiler check.
- Fix uninitialized memory use in sampler_test.
- Upgrade MSVC projects to MSVC2015.
- Fix for build with C++11 or later.
- Make _recalloc adhere to MS's definition.
- Disable large allocation report by default.
- 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.
- GCC provides:
- Fix for CVE-2019-15847: POWER9 "DARN" RNG intrinsic produces repeated output.
- Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support.
- ice for legal C code.
- obscure error message with std::set<const int>.
- Fix dependency handling of testsuite/gfortran.dg.
- [OOP] ICE with find_array_spec for polymorphic arrays.
- thread_local initialization.
- libatomic convenience library selects IFUNC implementation before obtaining cpu info..
- aix64: Data corruption in struct passed by value.
- Longjmp expansion incorrect.
- RA picks the wrong register for -fipa-ra.
- FAIL: gcc.dg/uninit-19.c (test for warnings, line 22).
- powerpc: -flto forgets 'no-vsx' function attributes.
- ICE in add_init_expr_to_sym, at fortran/decl.c:1512 and :1564.
- gfortran compiler optimization bug when dealing with c-style pointers.
- structured binding fails with empty base class.
- Tail call optimisation of noexcept function leads to exception allowed through.
- ICE: Invalid expression in gfc_element_size.
- ICE in optimize_sc, at modulo-sched.c:1064.
- test case gcc.dg/sms-10.c fails on power9.
- ICE in gfc_element_size, at fortran/target-memory.c:126.
- canonical types differ for identical types.
- External function not recognised from within an associate block.
- bad results from vec_extract(unsigned char, foo) dependent upon function inline.
- Contradiction about -fReorder-Blocks.
- [feature-request] allow "concept" instead of "concept bool" with -fconcepts.
- ICE in linemap_line_start, at libcpp/line-map.c:781 starting from r265875.
- SAD and DOT_PROD SLP reductions with initial value != 0 create wrong code.
- -flto -g -gsplit-dwarf is broken.
- 'common_type' of single abominable function should not have a nested typename.
- __builtin_vec_ext_v1ti (v, i) results in ICE with variable i (RS6000).
- GCC 8.3: asm volatile no longer accepted at file scope.
- gcc's rs6000 configuration unconditionally sets MULTIARCH_DIRNAME, even when multiarch is disabled.
- std::hash<std::string> segfault for long strings.
- gcc/dwarf2cfi.c:1647:15:Semantic Issue: comparison of two values with different enumeration types in switch statement ('enum rtx_code' and 'tree_code'): -Wenum-compare-switch.
- OpenMP private array uninitialized warning with -O flag.
- GCC crashes building linux kernel for arm 32-bit (culprit r269453).
- Documentation contains unsupported options (-fdump-class-hierarchy and -fdump-translation-unit).
- __builtin_mffs sometimes optimized away.
- New test pr87532-mc.c fails on compiler not defaulting to VSX.
- Incorrect warning generated with OpenMP atomic capture.
- -fsanitize=undefined miscompilation.
- -flto=4 is confused by presence of 'all.c' in a local directory. -flto=1 is not..
- std::forward_list::sort() is not "stable".
- ICE: Segmentation fault (in c_tree_chain_next).
- std::variant constructs wrong alternative.
- ICE in expand_debug_expr, at cfgexpand.c:5244.
- UBSAN: signed integer overflow: -5621332293356458048 * 8 cannot be represented in type 'long int'.
- std::any_cast misbehaves for function and array types.
- ICE: verify_gimple failed (error: statement marked for throw, but doesn't).
- std::filesystem::absolute("") and std::filesystem::absolute("", ec) behave differently.
- Using any precompiled header breaks definition of FLT_MAX.
- Incompatibility between gfortran and C lapack calls.
- gcov issue: gets stuck (infinite loop?) while analyzing coverage on Fortran project.
- filesystem::path template constructor void* overload interference.
- AddressSanitizer: stack-use-after-scope.
- filesystem::path insane memory allocations.
- [meta-bug] GNU Objective C (C++) cannot consume current headers on Darwin platforms..
- Building with --enable-libstdcxx-debug and make profiledbootstrap fails with mv: cannot stat 'Makefile': No such file or directory.
- lto-plugin/lto-plugin.c heap memory corruption due to insufficient sanitization..
- ICE in meet_with, at ipa-cp.c:1073.
- OpenMP clause handling rejecting references to incomplete types in templates.
- ICE: combining undefined behavior sanitizer with openmp.
- (bitfield, coalescing) Bad bitfield coalescing.
- Command line option for a wrong language is not reported with -Werror=warning_name syntax.
- ICE on valid code at -O1: verify_ssa failed.
- ICE in dwarf2out_inline_entry, at dwarf2out.c:27642.
- __builtin_crypto_vpmsumd gives different results -O[123] vs -O0.
- powerpc-eabi: Usage of -fstack-limit-symbol leads to internal compiler error during RTL pass.
- schedule + dist_schedule clauses rejected on distribute parallel for.
- Improved PRNG.
- Confusing suggestion to include <memory>.
- ICE in check_inquiry, at fortran/expr.c:2673.
- New test case gcc.dg/vect/pr81740-2.c fails on powerpc64 power7 BE.
- function not sequenced before function argument.
- Crash on tr2::dynamic_bitset::operator=() with optimization.
- New test case gcc.target/powerpc/pr91275.c from r276410 fails on BE.
- GNU C Library provides:
- Fix for CVE-2019-19126: LD_PREFER_MAP_32BIT_EXEC not ignored in setuid binaries.
- Fix for CVE-2019-9169: regexec buffer read overrun in "grep -i '\(\(\)*.\)*\(\)\(\)\1'".
- pldd does no longer work, enters infinite loop.
- The Japanese Era name will be changed on May 1, 2019.
- Wrong alignment of TLS variables.
- malloc_info() returns wrong numbers.
- Call _dl_open_check after relocation is finished, to deal with CET failures.
- dlopen should not be able open PIE objects.
- __libc_freeres triggers bad free in libdl if dlerror was not used.
- Malloc tunables give tcache assertion failures.
- endgrent() clobbers errno=ERRNO for 'group: db files' entry in /etc/nsswitch.conf.
- Remove copy_file_range emulation.
- Unintended malloc_info formatting changes.
- Disable libio vtable validation for interposed pre-2.1 stdio handles.
- GNU MPFR provides:
- Check that the lists of rounding modes in src/print_rnd_mode.c and doc/mpfr.texi are identical.
- Fix for __gmpfr_longdouble_volatile not defined when volatile not available.
- Userspace RCU provides:
- Fix providing errno as argument to urcu_die().
- Fix including urcu-signal-nr.h.
- Fix for rculfhash worker needs to unblock to SIGRCU.
- Fix for urcu/futex.h: users of struct timespec should include time.h.
- OpenSSL provides:
- version 1.1.0l, see the release notes for details.
- Fix no-ec2m in ec_curve.c
- Expat provides version 2.2.7, see the release notes for details.
- GCC provides:
- Support for x86 SSE3 and SSSE3 intrinsics.
- Fix for testsuite test divkc3-1.c FAILs when compiling with -mabi=ieeelongdouble.
- Fix for r266868 breaks gcc.target/powerpc/undef-bool-2.c on powerpc64.
- Fix for numerous big-endian issues with compatibility implementations of vector intrinsics for powerpc.
- GNU C Library provides:
- Fix for CVE-2018-19591: if_nametoindex: Fix descriptor for overlong name.
- Fix for CVE-2016-10739: getaddrinfo: Fully parse IPv4 address strings.
- Properly cleanup if first helper thread creation failed.
- Fix misreported errno on preadv2/pwritev2.
- Do not return NULL on asprintf failure in gettext.
- Always call memcpy in _int_realloc.
- Fix pthread_rwlock_try*lock stalls.
- Avoid fork handler lock for async-signal-safe fork.
- Add compiler barriers around modifications of the robust mutex list for pthread_mutex_trylock.
- Do not send queries for non-host-names in nss_dns.
- Fix rwlock stall with PREFER_WRITER_NONRECURSIVE_NP.
- Add missing CFI register information (powerpc).
- Fix _dl_profile_fixup data-dependency issue.
- Fix use-after-free in addgetnetgrentX.
- Use correct type for si_band in siginfo_t.
- Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP.
- Fix strstr bug with huge needles.
- Check for NULL value from gethostbyname_r.
- Fix waiters-after-spinning case .
- GNU Debugger provides:
- Version 8.2.1, see the release notes for details.
- Fix for bfd doesn't handle ELF compressed data alignment.
- GNU MPFR provides:
- Fix double-rounding bug in the internal function mpfr_set_1_2.
- Shared cache: cleanup and various improvements/corrections.
- Detect use of DBL_* macros instead of MPFR_DBL_* ones..
- Golang provides:
- Go 1.10.8.
- Fix enabling debug information.
- Use private futexes on Linux.
- Fix of OMUL should be evaluated when using soft-float.
- Prevent overflow in walkinrange.
- Move wildcard-trimming to before CheckImportPath.
- Relax pathOK check to allow any letter.
- Reject 'get' of paths containing leading dots or unsupported characters.
- Put runtime.framepointer_enabled in DATA instead of RODATA.
- Limit number of signature checks for each verification.
- Check for nil connRequest.conn before use.
- Restore r2 when restoring state from gobuf in gogo on ppc64x.
- Userspace RCU provides:
- Version 0.10.2, see the release notes for details.
- Fix: don't wait after completion of a work queue job batch.
- Fix: mixup between URCU_WORKQUEUE_RT and URCU_CALL_RCU_RT
- Valgrind provides:
- Version 3.14.0, see the release notes for details.
- Fix the generation of the manpages.
- OpenSSL provides:
- Fix for CVE-2018-0732.
- Fix for CVE-2018-0734.
- Fix for CVE-2018-0735.
- Fix for CVE-2018-5407.
- Fix for CVE-2019-1543.
- Fix for CVE-2019-1559.
- Avoid an underflow in ecp_nistp521.c.
- Fix a crash in reuse of d2i_X509_PUBKEY.
- Implement coordinate blinding for EC_POINT.
- Fix segfault in RSA_free() (and DSA/DH/EC_KEY).
- Fix Missing required packages.
- GCC provides:
- Fix for Segmentation fault in programs generated with GCC Go on ppc64 (big endian).
- Fix for printing the correct revision on 'gcc -v'.
- Additional community improvements.
- GNU Binutils provides:
- GNU C Library provides:
- Fix for CVE-2018-6485: Integer overflow in posix_memalign.
- Fix for CVE-2018-1000001: getcwd(3) can succeed without returning an absolute path.
- Additional community improvements.
- OProfile fixes the issue OProfile does not recognize POWER9.
- GCC provides:
- Support for --with-long-double-format option to change the default long double format.
- Support for -mspeculate-indirect-jumps option to produce only safe indirect jumps.
- Fix for _Float128 ICE in as_a.
- Support for IEEE 128-bit round to integer instructions.
- Account for direct move costs for vec_construct of integer.
- Fix for __builtin_return_address(0) fails with -fPIC -fstack-protector-all or -fsanitize=address.
- Fix for IRA considers volatile asm to be moveable.
- Fix for frame access after release without redzone.
- Fix for ICE in store_data_bypass_p.
- Fix for ICE in extract_insn with __builtin_pow.
- Fix for the xxpermr instruction is not generated correctly.
- Fix for ICE During LRA with 2-op rtl pattern for lvx instruction.
- Fix for -moptimize-swaps produces bad code with vec_vbpermq.
- The GNU C Library provides:
- Remove check_action variable in malloc.
- Fix for CVE-2017-15804: Buffer overflow in glob during unescaping of user names with the ~ operator.
- Fix for CVE-2017-17426: Integer overflow in malloc when tcache is enabled.
- Fix for malloc failed to compile with GCC 7 and -O3.
- Fix for CVE-2017-1000408: Incorrect array size computation in _dl_init_paths.
- Fix for CVE-2017-1000409: Buffer Overflow in _dl_init_paths.
- Fix for CVE-2017-16997: RPATH $ORIGIN replaced by PWD for AT_SECURE/SUID binaries or if /proc is not mounted.
- Fix for CVE-2018-1000001: getcwd(3) can succeed without returning an absolute path.
- C++ version of iseqsig.
- Fix for static AT_SECURE binaries segfault with lock-elision and tunables.
- Binutils provides:
- Fix for segmentation fault when .plt is discarded.
- Fix incremental linking failure with GCC 7+.
- Stop masking X_add_number containing a register number.
- Fix for invalid dynindx used for dynamic relocs against section syms.
- GDB provides fix for dwarf2_string_attr for -gsplit-dwarf.
- Golang provides:
- Go 1.9.
- Support to improve performance when loading or storing consecutive bytes.
- Support for -buildmode=plugin and -buildmode=c-shared on ppc64le.
- Vector implementation of IndexByte.
- Fix for dcbt and other data cache instructions.
- Fix for performance regression in CompareBytes.
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-4
Previous releases
New features in 12.0-3
New features in 12.0-2
New features in 12.0-1
New features in 12.0-0
New features in 11.0-3
Support
Customer support for the Advance Toolchain (AT) is provided in one of three ways:
- If you are using AT as directed by an IBM product team (ex.: IBM XL Compiler or PowerVM Lx86) please report suspected AT problems to IBM Support using that product name and entitlement.
- IBM's Support Line for Linux Offerings now provides support for the Advance Toolchain as well. If you have a contract with a Support Line for Linux, place a call to IBM Support, e.g. for United States:
- Dial 1-800-426-IBM-SERV
- Option #2 (Other business products or solutions)
- Option #2 (Software)
- Option #7 (Other OS/Linux)
- All other users can use an electronic forum that is monitored Monday through Friday. For questions regarding the use of or to report a suspected defect in AT, click here.
- Log in.
- Start a topic.
- Enter and save your question or problem.
- An initial response will be attempted within 2 business days.
Installation
The gpg public key(s) gpg-pubkey-6976a827-5164221b will be provided in the repository where these release notes were found. The pubkey(s) can be used to verify the authenticity of both the Advance Toolchain install packages and the repository contents. After downloading the gpg-pubkey(s) they can be imported as follows:
rpm --import gpg-pubkey-6976a827-5164221b
Using YUM
First, if you have never created an Advance Toolchain repository configuration file, you need to do so. Create the following file using the text editor of your choice as root:
/etc/yum.repos.d/at12.0.repo
and add the following content:
# Begin of configuration file [at12.0] name=Advance Toolchain Unicamp FTP baseurl=ftp://ftp.unicamp.br/pub/linuxpatch/toolchain/at/redhat/RHEL7 failovermethod=priority enabled=1 gpgcheck=1 gpgkey=ftp://ftp.unicamp.br/pub/linuxpatch/toolchain/at/redhat/RHEL7/gpg-pubkey-6976a827-5164221b # End of configuration file
To install execute yum install as root:
yum install advance-toolchain-at12.0-runtime / advance-toolchain-at12.0-devel / advance-toolchain-at12.0-perf
Answer y when YUM prompts for confirmation.
Manual installation for rpms
If you are installing the rpms manually you will need to install them in the following order (due to prerequisites):
advance-toolchain-at12.0-runtime-12.0-4 advance-toolchain-at12.0-devel-12.0-4 advance-toolchain-at12.0-perf-12.0-4 advance-toolchain-at12.0-mcore-libs-12.0-4 advance-toolchain-at12.0-runtime-at11.0-compat-12.0-4
If you are updating a previous installation, you need to update as a batch, so rpm can solve the dependencies, i.e.:
rpm -Uvh advance-toolchain-at12.0-runtime-12.0-4.ppc64.rpm \ advance-toolchain-at12.0-devel-12.0-4.ppc64.rpm \ advance-toolchain-at12.0-perf-12.0-4.ppc64.rpm \ advance-toolchain-at12.0-mcore-12.0-4.ppc64.rpm \ advance-toolchain-at12.0-runtime-at11.0-compat-12.0-4.ppc64.rpm
The rpm command should always be run as root. Failure to do so will result in an error similar to this:
error: can't create transaction lock on /var/lib/rpm/__db.000
Important notes
- Timezone files: If you need to use something different than Factory, then you should copy the timezone file you want from /opt/at12.0/share/zoneinfo to /opt/at12.0/etc/localtime
- advance-toolchain-at12.0-runtime-compat-12.0-4: DO NOT INSTALL it on RHEL7 and beyond. These are intended for runtime compatibility on RHEL6 only (see below).
Installation for runtime compatibility on previous distribution versions
Users running applications on previous distributions of SLES or RHEL may install the compatibility rpm advance-toolchain-at12.0-runtime-compat-12.0-4 in order to get the Advance Toolchain runtime libraries.
Installation of the cross-compiler (x86)
You can download advance-toolchain-at12.0-cross-12.0-4 and install in a x86 machine to build Power binaries on it. Binaries generated by the cross-compiler will run on a Power system with the same version of the Advance Toolchain installed.
back to topDocumentation
The official documentation for the Advance Toolchain is available at the IBM Power Linux Community website.
back to topLegal notices
Each component of Advance Toolchain has its own license, they are all covered by this list:
- LGPL 2.1: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html
- GPL 2.0: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
- GPL 3.0: https://www.gnu.org/licenses/gpl-3.0.en.html
- MIT
- BSD
- PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
- Boost Software License 1.0
- Eclipse Public License (EPL) 1.0
- Zlib
The licenses for each GPL and LGPL code segment can be found in the advance-toolchain-at12.0-src-12.0-4.tgz file in the repository, the others are listed below.
In order to comply with the GPL and LGPL licenses, the source code for the following packages is available:
- binutils (GPL 2.0)
- gcc (GPL 3.0)
- gdb (GPL 2.0)
- glibc (LGPL 2.1)
- gmp (GPL 3.0)
- Threading Building Blocks (GPL 2.0)
- libdfp (LGPL 2.1)
- libhugetlbfs (LGPL 2.1)
- libvecpf (LGPL 2.1)
- linux kernel (GPL 2.0)
- mpc (GPL 3.0)
- mpfr (GPL 3.0)
- oprofile (GPL 2.0)
- Userspace RCU (LGPL 2.1)
- Valgrind (GPL 2.0)
Boost
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
Expat (MIT)
Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Golang (BSD)
Copyright (c) 2012 The Go Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Gperftools (BSD)
Copyright (c) 2005, Google Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Libauxv (BSD)
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the IBM Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IBM CORPORATION BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Libpfm (MIT)
Copyright (c) 2002-2006 Hewlett-Packard Development Company, L.P.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
OpenSSL (BSD)
Copyright (c) 1998-2011 The OpenSSL Project. All rights reserved.
Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com). All rights reserved.
* Note: this distribution of OpenSSL does not include the IDEA and RC5 algorithms
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following acknowledgment: "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org.
5. Products derived from this software may not be called "OpenSSL" nor may "OpenSSL" appear in their names without prior written permission of the OpenSSL Project.
6. Redistributions of any form whatsoever must retain the following acknowledgment: "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)"
THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com).
PAFLib (MIT)
Copyright IBM Corp. 2013
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM
,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Python
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Python Software Foundation; All Rights Reserved
PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
--------------------------------------------
1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and the Individual or Organization ("Licensee") accessing and otherwise using this software ("Python") in source or binary form and its associated documentation.
2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Python Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee.
3. In the event Licensee prepares a derivative work that is based on or incorporates Python or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python.
4. PSF is making Python available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
6. This License Agreement will automatically terminate upon a material breach of its terms and conditions.
7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party.
8. By copying, installing or otherwise using Python, Licensee agrees to be bound by the terms and conditions of this License Agreement.
SPHDE (EPL)
Copyright (c) 2012 IBM Corporation
Distributed through the Eclipse Public License 1.0. The source code for this project is available on GitHub.
ZLIB Compression Library
(C) 1995-2013 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.