Release Notes for the Advance Toolchain 15.0-6
Features in 15.0-6
- The Advance Toolchain is a self contained toolchain which isn't reliant on the base system toolchain.
- Base toolchain packages:
- GNU Binutils - 2.37.0-44f1cd7f536f online docs
- Expat XML Parser - 2.4.3-1e1b52be2d9e online docs
- GCC (GNU Compiler Collection) - 11.4.1-fcc70da2e3df [C, C++ (g++), fortran, Go] online docs
- GNU Standard C++ Library v3 (Libstdc++-v3) - 11.4.1-fcc70da2e3df online docs
- GNU Libgomp - 11.4.1-fcc70da2e3df online docs
- GNU C Library - 2.34-dcc367f148bc 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 online docs
- Additional support libraries, including some additional floating point support libraries:
- Decimal Floating Point C Library - 1.0.16-ff629deadfd1 online docs
- Libhugetlbfs - 2.23-6b126a4d7da9 online docs
- Libvecpf - 1.1.0 online docs
- Open Secure Sockets Layer - 1.1.1w-b372b1f76450 online docs
- IBM Power Architecture Facilities Library - 0.3.0-cbb41aa0538a online docs
- Power Vector Library - 1.0.4-64246b4af539 online docs
- Python - 3.9.18-43a6e4fa4934 online docs
- TCMalloc - 2.9.1-f7c6fb6c8e99 online docs
- ZLIB Compression Library - 1.2.11-ba9df2111e9c online docs
- Development tools:
- GDB (GNU Debugger) - 10.2.90-d19bc28bf80b online docs
- Additional performance and debugging tools:
- Valgrind - 3.17.0-dde556d51f82 online docs
- Additional multi core support libraries:
- Boost - 1.76.0 online docs
- SPHDE - 1.4.0-10897accedb5 online docs
- Userspace RCU - 0.13.3-df5fc97ba8e3 online docs
- Thread Building Blocks - 2021.6.0-4533e4ff0f0a online docs
- POWER NX zlib compliant library:
- NX GZIP library - 0.64-ba21450f7e4a online docs
- Power10 enablement.
- Power9 enablement.
- Power10-optimized instruction scheduling in GCC.
- Power9-optimized instruction scheduling in GCC.
- Requires at least Power8 for ppc64le.
- Power8 Transactional Memory enablement.
- Power8 Crypto Operations enablement.
- Power8, Power9, and Power10 optimized system libraries.
- _Float128 enablement as specified by ISO/IEC TS 18661-3, for Power9 and Power10.
- GCC creates binaries using -mcpu=power8 -mtune=power10 by default.
Debian 10 (buster) end of support
Debian 10 (buster) reached EOL in August 2022. Advance Toolchain packages won't be provided for Debian 10 (buster) with Advance Toolchain 15.0-4 and later.
New features in 15.0-6
- GCC provides:
- Version 11.4, see the release notes for details.
- Fix for ICE with SELECT RANK.
- Fix for ICE in gfc_free_namespace, at fortran/symbol.c:4039 since r10-2798-ge68a35ae4a65d2b3.
- Fix for power10: Error: operand out of range.
- Fix for ICE in gfc_arith_plus, at fortran/arith.cc:654.
- Fix for Cannot use enum array with -fno-druntime.
- Fix for ICE in in extract_insn, at recog.cc:2791 on ppc64le with -mno-vsx.
- Fix for -mfull-toc (-mfp-in-toc) yields incorrect _Float128 constants on power9.
- Fix for Regression: segfault in findloc with allocatable array of allocatable characters.
- Fix for core.volatile.volatileLoad discarded if result is unused.
- Fix for ICE in gfc_compare_expr for findloc with complex literal array.
- Fix for MINVAL/MAXVAL and deferred-length character arrays.
- Fix for vec_ternarylogic intrinsic generates incorrect code on POWER10 target when compiled with GCC.
- Fix for Error: operand out of range (0x1391c is not between 0xffffffffffff8000 and 0x7fff).
- Fix for Out of bounds access with optimization inside io-implied-do-control.
- Fix for libgomp make check time is excessive.
- Fix for PACK intrinsic returns blank strings when an allocatable character array with allocatable length is used.
- Fix for ICE in mio_name_expr_t, at fortran/module.c:2159.
- Fix for ICE in extract_insn, at recog.c:2294 (error: unrecognizable insn).
- GNU C Library provides:
- Fix for Deferred cancellation triggers in __check_pf and looses lock leading to deadlock..
- Fix for getaddrinfo leaks memory with AI_ALL.
- Fix for hosts lookup broken for SUCCESS=CONTINUE and SUCCESS=MERGE (CVE-2023-4813).
- Fix for Slight bug in cache info codes for x86.
- Fix for Stack read overflow in getaddrinfo in no-aaaa mode (CVE-2023-4527).
- Fix for potential use-after-free in getcanonname (CVE-2023-4806).
- Fix for Memory leak in getaddrinfo after fix for bug 30843 (CVE-2023-5156).
- OpenSSL provides:
- Version 1.1.1w, see the release notes for details.
- Python provides:
- Version 3.9.18, see the release notes for details.
- Userspace RCU provides:
- Fix urcu-bp: misaligned reader accesses.
- rculfhash: Use caa_container_of_check_null in cds_lfht_entry.
- compiler.h: Introduce caa_container_of_check_null.
- compiler.h: Introduce caa_unqual_scalar_typeof.
- Avoid calling caa_container_of on NULL pointer in cds_lfht macros.
Previous releases
New features in 15.0-5
- GCC provides:
- Fix for ICE in resolve_common_vars, at fortran/resolve.c:956 since r11-3866-g4d2a56a0f7135469.
- Fix for ICE in resolve_symbol, at fortran/resolve.cc:15815.
- Fix for ICE in add_init_expr_to_sym, at fortran/decl.cc:2132.
- Fix for LTO plugin fails to build in parallel builds: xgcc: fatal error: cannot execute '/build/build/./prev-gcc/collect2': execv: Bad address since r13-2011-g53e3b2bf16a486.
- Fix for ICE: 'verify_gimple' failed.
- Fix for ICE on recursive DT with DTIO since r7-4096-gbf9f15ee55f5b291.
- Fix for ICE in cgraph_node::get_untransformed_body since r13-48-g27ee75dbe81bb7.
- Fix for Incorrect bound calculation when bound intrinsic used in size expression.
- Fix for ICE in check_charlen_present, at fortran/iresolve.cc:98 since r13-4394-g3832c6f7e672e76b.
- Fix for ICE in get_expr_storage_size, at fortran/interface.cc:2862.
- Fix for ICE in gfc_trans_use_stmts, at fortran/trans-decl.cc:5361 since r6-3704-g2b3f52a2d0fb22ba.
- Fix for ICE in get_expr_storage_size, at fortran/interface.cc:2941.
- Fix for ICE in gfc_check_dependency, at fortran/dependency.cc:1295.
- Fix for ICE in compare_bound_int(): Bad expression.
- Fix for ICE in transformational_result, at fortran/simplify.cc:478.
- Fix for gcc.target/powerpc/vsx-builtin-10d.c fails after r11-6857-gb29225597584b6 on power 9 BE.
- Fix for gcc.target/powerpc/p9-sign_extend-runnable.c fails on power 9 BE.
- Fix for Explicit immutable struct import internal compiler error.
- Fix for Intrinsic IBITS(I,POS,LEN) fails when LEN equals to BIT_SIZE(I)..
- Fix for Powerpc GCC does not support __ibm128 complex multiply/divide if long double is IEEE 128-bit..
- Fix for nearest(huge(x),-1.0_kind(x)) half of correct value.
- Fix for '-g0 -ggdb -flto' gives linker error.
- Fix for incorrectly rejects set_exponent with constant negative exponent.
- Fix for ICE in fold_convert_loc, at fold-const.c:2449.
- Fix for ICE in hash_operand, at fold-const.c:3768.
- Fix for ICE in mio_name_expr_t, at fortran/module.c:2159.
- Fix for ICE in expr_check_typed_help, at fortran/expr.c:5437.
- Fix for ICE in gfc_current_interface_head, at fortran/interface.c:4699.
- GNU C Library provides:
- Fix for gmon.out not consistently created.
- Fix for Data race __run_exit_handlers.
- Fix for enabling gmon for arbitrary DSO.
- Fix for gmon memory corruption due wrong calculation of required buffer size.
- Fix for strftime %s returns -1 after 2038 on 32 bits systems.
- Fix for Memory corruption when incorrectly calling _mcleanup/__monstartup/moncontrol repeatedly or in wrong order.
- Fix for sgetsgent_r does not implement ERANGE protocol compatible with sgetsgent.
- Fix for system() erroneously block SIGCHLD forever when called concurrently.
- Userspace RCU provides:
- Version 0.13.3, see the release notes for details.
- Fix for warning 'noreturn' function does return on ppc.
- Fix for use __noreturn__ for C11-compatibility.
- OpenSSL provides:
- Version 1.1.1t, see the release notes for details.
- Fix for CVE-2023-0215.
- Fix for Two integer overflow in ASN1 bit string.
- Fix for b_print.c not compiling in OpenSSL-1_1_1-stable if OPENSSL_SYS_UEFI is defined.
- Python provides:
New features in 15.0-4
- GCC provides:
- Fix for ICE on subroutine call with allocatable polymorphic assumed-rank argument.
- Fix for Wrong code with intent out assumed-rank allocatable.
- Fix for Unlimited polymorphic pointers and allocatables have incorrect rank.
- Fix for Polymorphic pointers and allocatables have incorrect rank.
- Fix for Optimization breaks pointer association.
- Fix for ICE, regression, using flag -fcheck=pointer.
- Fix for ICE on automatic reallocation.
- Fix for ICE in copy_to_mode_reg, at explow.c:651.
- Fix for Incorrect always_inline diagnostic in LTO mode with #pragma GCC target("cpu=power10").
- Fix for ICE in gfc_simplify_transpose, at fortran/simplify.c:8181 since r12-4967-gbcf3728abe848888.
- Fix for ICE in gfc_simplify_cshift, at fortran/simplify.c:2139 since r12-4967-gbcf3728abe848888.
- Fix for ppc inline expansion of memcpy/memmove should not use lxsibzx/stxsibx for a single byte.
- Fix for ICE: Invalid expression in gfc_element_size since r10-2083-g8dc63166e0b85954.
- Fix for ICE in get_sym_storage_size, at fortran/interface.c:2800.
- Fix for ICE in gfc_array_dimen_size(): Bad EXPR_ARRAY expr since r12-4967-gbcf3728abe848888.
- Fix for ICE in gfc_conv_expr_op, at fortran/trans-expr.c:3882 since r12-3993-gb19bbfb148250536.
- Fix for ICE verify_gimple failed with -ff2c since r10-2279-ge0af8f52b10385d8.
- Fix for Pure 32-bit PowerPC build broken.
- Fix for ICE in find_array_section, at fortran/expr.cc:1616.
- Fix for ICE in find_array_section, at fortran/expr.cc:1634.
- Fix for ICE in next_char, at fortran/io.cc:160.
- Fix for ICE: in cmp_cst, at analyzer/svalue.cc:309 with -O -fanalyzer -fnon-call-exceptions since r12-1931-ge61ffa201403e381.
- Fix for -Wmaybe-uninitialized warning on va_arg with double _Complex on va_list pointer.
- Fix for gcc.target/powerpc/bswap-brw.c fails after r12-8221.
- Fix for ICE: in cmp_cst, at analyzer/svalue.cc:309 with -fanalyzer since r12-2337-g33255ad3ac14e395.
- Fix for ICE: in cmp_cst, at analyzer/svalue.cc:309 with -O -fanalyzer since r11-4511-gf635f0ce87d687b1.
- Fix for missed stack-buffer-overflow by -O0.
- Fix for ICE in find_array_section, at fortran/expr.cc:1582.
- Fix for Incorrect calculation of INDEX(str1,str2) at compile time.
- Fix for False positive UBsan "reference binding to null pointer of type" when evaluating array indexing which throws exception.
- Fix for internal compiler error: unspellable token PADDING.
- Fix for ICE in gfc_simplify_unpack, at fortran/simplify.cc:8490.
- Fix for ICE in gfc_element_size, at fortran/target-memory.cc:132.
- Fix for crash with attempt to initialize array of MMA accumulators.
- Fix for No array-to-pointer conversion for MMA accumulator.
- Fix for during RTL pass: swaps ICE: verify_flow_info failed: missing REG_EH_REGION note at the end of bb 69 with -fnon-call-exceptions.
- Fix for ICE in gfc_simplify_extends_type_of, at fortran/simplify.cc:3109.
- Fix for lto -g ICE in dwarf2out_register_external_die at dwarf2out.cc:6072.
- Fix for Some ppc64le tests fail with -mcpu=power9 -mtune=power9.
- Fix for lto -g ICE in dwarf2out_register_external_die at dwarf2out.cc:6076.
- Fix for clobber ordering problem when an actual intent(in) argument depends on the value of an intent(out) argument.
- Fix for ICE in gfc_simplify_pack, at fortran/simplify.cc:6438 since r12-4278-g74ccca380cde5e79.
- Fix for ICE in decompose, at wide-int.h:984 with '#pragma omp/acc atomic capture'.
- Fix for ICE in gfc_simplify_expr, at fortran/expr.cc:2290.
- Fix for ICE in simplify_findloc_nodim, at fortran/simplify.cc:5675.
- Fix for ICE in gfc_simplify_unpack, at fortran/simplify.cc:8461.
- Fix for ICE in gfc_conv_procedure_call, at fortran/trans-expr.cc:6193.
- Fix for ICE: gdc segfault on label continue.
- Fix for ICE in generate_coarray_sym_init, at fortran/trans-decl.c:5203.
- Fix for ICE: Segmentation fault (in add_reg_note).
- Fix for #pragma GCC diagnostic ignored "-Wunused-function" inconsistent.
- GNU C Library provides:
- Fix for Cannot resolve hosts which have wildcard aliases.
- Fix for Use 64-bit stat functions in installed programs.
- Fix for adapt stap-prep for el7.
- Fix for nss/tst-nss-files-hosts-long fails when no interface has AF_INET6 address (ie docker).
- Fix for benign use after realloc at localealias.c:329.
- Fix for pthread_atfork handlers that call pthread_atfork deadlock.
- Fix for PowerPC: Redefinition error with Clang from IEEE redirection headers.
- Fix for -Wformat-overflow in resolv/res_query.c.
- Fix for Buffer read overrun in regular expression searching.
- Fix for Segfault in getpwuid when stat fails.
- Fix for %ebx optimization macros are incompatible with .altmacro in Systemtap probes.
- Fix for CMSG_NXTHDR may trigger -Wstrict-overflow warning.
- Fix for Output of mktime with latest gcc and glibc differs with their older version when is_dst flag set.
- Fix for Incomplete backport causes tst-{strncmp,wcsncmp}-rtm to fail.
- Fix for string.h syntactic error: include/bits/string_fortified.h:110: error: expected ',' or ';' before '__fortified_attr_access'.
- Fix for __strncpy_power9() uses uninitialised register vs18 value for filling after \0.
- Fix for fpathconf(_PC_ASYNC_IO) is not y2038 aware.
- Fix for pthread_setcanceltype fails to set type.
- Fix for Mistyped define statement in socket/sys/socket.h in line 184.
- Fix for Bug in rawmemchr-avx2 can return incorrect result.
- Fix for mbstowcs with NULL dst throws an incorrect warning (glibc == 2.35, gcc=12.0.1).
- Fix for undefined reference to `mbstowcs_chk' after 464d189b9622932a75302290625de84931656ec0.
- Fix for mq_timedreceive does not handle 64 bit syscall return correct for !__ASSUME_TIME64_SYSCALLS.
- Fix for Inefficient buffer space usage in nss_dns for gethostbyname and other functions.
- Fix for getaddrinfo with AI_ADDRCONFIG returns addresses with wrong family.
- Fix for __dlopen now ignores dl_caller argument in static mode.
- Fix for __libc_early_init not called after dlmopen that reuses namespace.
- Fix for wcsnlen length can overflow in page cross case..
- Fix for dlmopen hangs after loading certain libraries.
- Fix for Optimized AVX2 string functions unconditionally use BMI2 instructions.
- Fix for Incorrect struct stat for 64-bit time on linux/generic platforms.
- Fix for Restore IPC_64 support in sysvipc *ctl functions.
- Fix for elf/tst-tlsopt-powerpc fails when compiled with -mcpu=power10.
- Userspace RCU provides:
- Version 0.13.2, see the release notes for details.
- OpenSSL provides:
- Version 1.1.1s, see the release notes for details.
- Fix a memory leak in rsa_priv_encode.
- Fix the ceiling on how much encryption growth we can have.
- Python provides:
- Version 3.9.16, see the release notes for details.
New features in 15.0-3
- GCC provides:
- Version 11.3, see the release notes for details.
- Fix for ICE when UNION is after the 8th field in a DEC STRUCTURE with -finit-derived -finit-local-zero.
- GNU C Library provides:
- Fix for LD_AUDIT introduces an avoidable performance degradation.
- Fix for _dl_open_hook and _dlfcn_hook hardening.
- Fix for la_symbind*() doesn't get called when LD_BIND_NOW is set.
- Fix for glob("/foo/*/") may also match regular & other kind of files, not just directories.
- Fix for Libio vtable protection is sometimes only partially enforced.
- Fix for Migrate away from nested functions.
- Fix for A failing dlmopen called by an auditor crashed.
- Fix for Suppress audit calls when a (new) namespace is empty.
- Fix for elf: audit calls that uses static tls might fail.
- Fix for _FORTIFY_SOURCE does not work for stpcpy.
- Fix for NSS lookup result can be incorrect if function lookup clobbers errno.
- Fix for poll() spuriously returns EINTR during thread cancellation and with cancellation disabled.
- Fix for GLIBC 2.35 regression - Fortify crash on certain valid uses of mbsrtowcs (*** buffer overflow detected ***: terminated).
- Fix for <dlfcn.h> functions unusable during early auditing.
- Fix for fchmodat does not handle 64 bit time_t for AT_SYMLINK_NOFOLLOW.
- Binutils provides:
- OpenSSL provides:
- Version 1.1.1o, see the release notes for details.
- Fix for If no supported_groups are available then we send an empty list.
- Python provides:
- Version 3.9.12, see the release notes for details.
- Fix for docstrings of runpy.run_{module,path} are rather sparse.
- Fix for asyncio.AbstractEventLoop.sock_connect broken for AF_BLUETOOTH.
- Fix for contextlib.ExitStack.__enter__ has trivial but undocumented behavior.
- Fix for Constructor of ipaddress.IPv*Interface does not follow documentation.
- Fix for Crash during encoding using UTF-16/32 and custom error handler.
- Fix for Missing links to errnos on Built-in Exceptions page.
- Fix for KeyboardInterrupt should come with a warning.
- Fix for UnicodeEncodeError: surrogates not allowed when parsing invalid charset.
- Fix for Missing terminated NUL in the length of sockaddr_un.
- Fix for Clarifying truncating in documentation.
- Fix for Inaccurate phrasing in extending/newtypes_tutorial.
- Fix for ipaddress.ip_{address,network,interface} raises TypeError instead of ValueError if given a tuple as address.
- Fix for Add test for Calendar().iterweekdays().
- Fix for Improve documentation for `typing.TypeVar`.
- Fix for ProcessPoolExecutor exception memory leak.
- Fix for Fix a BrokenPipeError when a multiprocessing.Queue is garbage collected.
- Fix for math.nan should note that NANs do not compare equal to anything.
- Fix for Avoid sporadic failure of test_compileall on Windows.
- Fix for Copy pgort140.dll when building for PGO.
- Fix for Upgrade to zlib v1.2.12 in CPython binary releases.
- Fix for posix.sched_{get|set}affinity(-1) no longer returns ProcessLookup causing test failures on FreeBSD.
- Fix for New compiler warnings with latest zlib.
- Fix for xml.sax.xmlreader.XMLReader.getProperty (xml.sax.handler.property_xml_string) returns bytes.
New features in 15.0-2
- Advance Toolchain provides:
- GCC provides:
- Fix for Incorrect always_inline diagnostic in LTO mode with #pragma GCC target("cpu=power10").
- Fix for bogus -Wvla-paramater warning when using const for vla param.
- Fix for powerpc64le: hashst appears before mflr at -O1 or higher.
- Fix for ICE: Invalid expression in gfc_element_size.
- Fix for negative DW_AT_data_member_location.
- Fix for -Wconversion false positive in ternary and |=.
- Fix for analyzer NULL false positive with pointer manipulation.
- Fix for vec_cpsgn parameter order.
- Fix for ICE in select_type_set_tmp, at fortran/match.c:6366.
- Fix for "fatal error: target specific builtin not available" with MMA and LTO.
- Fix for ICE tree check: expected array_type, have pointer_type in gfc_conv_array_initializer, at fortran/trans-array.c:6136.
- Fix for UBSAN misses signed division instrumentation.
- Fix for ICE in expand_constructor, at fortran/array.c:1802.
- Fix for ICE in gfc_conv_array_initializer, at fortran/trans-array.c:6240.
- Fix for ICE in output_constructor_regular_field, at varasm.c:5514 since r12-4278-g74ccca380cde5e79.
- Fix for g++.dg/warn/Warray-bounds-16.C fails.
- Fix for a volatile-related problem cased by ipa inline pass.
- Fix for ICE in gfc_simplify_transpose, at fortran/simplify.c:8184 since r12-4278-g74ccca380cde5e79.
- Fix for ICE in gfc_validate_kind(): Got bad kind.
- Fix for ICE in gfc_simplify_reshape, at fortran/simplify.c:6843.
- Fix for ICE in new test case gfortran.dg/reshape_shape_2.f90.
- Fix for ICE in resolve_structure_cons, at fortran/resolve.c:1467 since r12-4452-g1e819bd95ebeefc1.
- Fix for ICE in gfc_clear_shape, at fortran/expr.c:422 since r12-4278-g74ccca380cde5e79.
- Fix for AddressSanitizer: CHECK failed: asan_malloc_linux.cpp:46.
- Fix for [PDT] KIND and LEN type parameters shall not be restricted to default integer.
- Fix for MMA test case emits wrong code when building a vector pair.
- Fix for gcc.dg/vect/vect-simd-17.c fails after r12-4757.
- Fix for incorrect debug info for uint128 bit shift in gcc 11.2.
- Fix for function is found to be pure looping but has a call to a noreturn function in it.
- Fix for \*/ is not detected as the end of a comment with -fdirectives-only since r11-206-gb224c3763e018e8b.
- Fix for ICE in gfc_simplify_transpose, at fortran/simplify.c:8181 since r12-4967-gbcf3728abe848888.
- Fix for ICE in gfc_simplify_cshift, at fortran/simplify.c:2139 since r12-4967-gbcf3728abe848888.
- Fix for wrong code with ipa-sra.
- Fix for Gfortran DW_AT_Rank expression not emitting correct rank value..
- Fix for ICE in simplify_bound, at fortran/simplify.c:4273.
- Fix for ICE in gfc_conv_array_initializer, at fortran/trans-array.c:6377.
- Fix for ICE: Invalid expression in gfc_element_size since r10-2083-g8dc63166e0b85954.
- Fix for random_number() does not accept pointer, intent(in) array argument.
- Fix for ICE in simplify_minmaxloc_nodim, at fortran/simplify.c:5287.
- Fix for ICE in compare_bound_mpz_t, at fortran/resolve.c:4587 since r8-7594-g078c5aff5ed83e9c.
- Fix for ICE in c_parser_consume_token, at c/c-parser.c:850 since r10-4633-g4e03c3a7c1149a8e.
- Fix for ICE: Simplification error in gfc_ref_dimen_size, at fortran/array.c:2407.
- Fix for ICE in gfc_compare_string, at fortran/arith.c:1119.
- Fix for ICE in do_subscript, at fortran/frontend-passes.c:2927.
- Fix for ICE in gfc_sym_get_dummy_args, at fortran/symbol.c:5243 since r11-2578-g27eac9ee6137a6b5.
- Fix for ICE in gfc_convert_mpz_to_signed, at fortran/simplify.c:193.
- Fix for switch case with break in fast enumeration loop generates wrong code.
- Fix for ICE in add_init_expr_to_sym, at fortran/decl.c:2062.
- Fix for ICE in doloop_code, at fortran/frontend-passes.c:2656.
- Fix for ICE in doloop_contained_procedure_code, at fortran/frontend-passes.c:2393.
- Fix for ICE in doloop_contained_procedure_code, at fortran/frontend-passes.c:2465.
- Fix for ICE in gfc_compare_string, at fortran/arith.c:1118.
- Fix for ICE in gfc_simplify_maskl, at fortran/simplify.c:4918.
- Fix for ICE: Invalid expression in gfc_element_size.
- Fix for internal error occurs when overloading intrinsic since r9-1566-g87c789f1c0b2df41.
- Fix for ICE when providing kind argument to mask{l,r}.
- Fix for Wconversion false positive when using |= and &= with two rvalues in binary op.
- Fix for powerpc: asm machine directive wrong for FSL processors.
- Fix for ICE in get_array_charlen, at fortran/trans-array.c:7244.
- Fix for ppc64le mangling ICE with -flto -ffat-lto-objects.
- Fix for ICE in transformational_result, at fortran/simplify.cc:466.
- Fix for ICE in gfc_simplify_eoshift, at fortran/simplify.cc:2590.
- Fix for ICE with -flto -Wl,-plugin-opt=debug.
- Fix for ICE on data initialization of type(character) with wrong data.
- Fix for ICE in gfc_widechar_to_char, at fortran/scanner.c:198.
- Fix for ICE in gfc_trans_transfer, at fortran/trans-io.c:2676.
- Fix for wrong return type for len_trim.
- Fix for bogus -Wvla-parameter on a bound expression involving a parameter.
- Fix for ICE in gfc_trans_assignment_1, at fortran/trans-expr.c:11156.
- Fix for ICE in gfc_conv_intrinsic_atan2d, at fortran/trans-intrinsic.c:4728.
- Fix for ICE in resolve_structure_cons, at fortran/resolve.c:1286.
- GNU C Library provides:
- Fix for on rawhide, the ipmib.InNoRoutes and ipmib.InAddrErrors probes don't work.
- Fix for dl-tls.c assert failure at concurrent pthread_create and dlopen.
- Fix for buffer overflow in sunrpc clnt_create (CVE-2022-23219).
- Fix for undefined behavior in __tzfile_compute with oddball TZif file.
- Fix for ld.so crashes while loading a DSO with a read-only dynamic section.
- Fix for race condition on __opensock.
- Fix for deadlock between pthread_create and ctors.
- Fix for malloc-check + malloc_usable_size(NULL) causes segfault.
- Fix for conversion from ISO-2022-JP-3 with iconv may emit spurious NUL character on state reset.
- Fix for powerpc64[le]: CFI for assembly templated syscalls is incorrect.
- Fix for masked signals are delivered on thread exit.
- Fix for openjdk 8/9 assume uni processor and gets stuck due to lack of cpu counting /proc fallback with glibc 2.34.
- Fix for assert in tzfile.c __tzfile_read striking with truncated timezones generated by tzcode-2021d and later.
- Fix for GDB printer tests failed with new GDB.
- Fix for buffer overflow in svcunix_create with long pathnames (CVE-2022-23218).
- Fix for off-by-one buffer overflow/underflow in getcwd() (CVE-2021-3999).
- Fix for unexpected return value from realpath() for too long results (CVE-2021-3998).
- Fix for linux: __get_nprocs_sched reads uninitialized memory from the stack.
- Fix for --enable-kernel=5.1.0 build fails because of missing __convert_scm_timestamps.
- Fix for linux: _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN are inaccurate without /sys and /proc.
- Binutils provides:
- Fix for powerpc64: gold erroneously rejects linking code that calls __tls_get_addr.
- Fix for Readelf issues bogus warning.
- Fix for gold combines different aligned/padded SHT_NOTE sections in the same PT_NOTE segment.
- Fix for ld.bfd created undefined symbols on ppc64.
- Fix for segmentation fault on NULL byte_get.
- Fix for error with build-many-glibcs.py.
- Userspace RCU provides:
- Version 0.13.1, see the release notes for details.
- OpenSSL provides:
- Version 1.1.1m, see the release notes for details.
- Fix for segfault on engine (pkcs11) clean-up when openssl is statically linked.
- Fix for wrong Return Type for BIO_ptr_ctrl.
- Fix for evp_test: Expected KDF_MISMATCH got KDF_DERIVE_ERROR / openssl 1.1.1 2022-01-30.
- Fix for memory leak in EVP_DigestInit_ex.
- Fix for s_client connect doesn't send SNI server_name header through proxy by default.
- Fix for potential locking problem between methods open_console and lose_console.
- Fix for bypassing Purpose/Trust Mechanism in X.509 Validation.
- Fix for linux environment pfx file creation and issue of password can not be used automatically by any engine causing error that engine can not extract certification.
- Expat provides:
- Version 2.4.3, see the release notes for details.
- Python provides:
- Version 3.9.10, see the release notes for details.
- Fix for test_builtin.PtyTests fail on non-ASCII characters if the readline module is loaded.
- Fix for TarFile.getmember on directory requires trailing slash iff over 100 chars.
- Fix for setup.py: GCC detection is broken when cross-compiling with a German locale.
- Fix for uncaught AttributeError in unittest.mock._get_target.
- Fix for inspect.signature() raises RuntimeError on failed to resolve the default argument value.
- Fix for importlib.invalidate_caches() does not invalidate _NamespacePath's _last_parent_path-based cache.
- Fix for tarfile zeroes ustar header fields unnecessarily.
- Fix for argparse.BooleanOptionalAction with default=argparse.SUPPRESS and help specified raises exception.
- Fix for grammar rule definition is missing: invalid_double_starred_kvpairs.
- Fix for _zoneinfo module_free has invalid function signature.
- Fix for escape4chm.py script causing AttributeError in docs build.
- Fix for asyncio Generic classes should return GenericAlias in __class_getitem__.
- Fix for inefficient regular expression complexity in EntryPoint.pattern.
- Fix for `pathlib.PurePath.__class_getitem__` does not return `GenericAlias`.
- Fix for `_SSLProtocolTransport` doesn't have the `get_write_buffer_limits` implementation..
- Fix for typing: allow Annotated in outermost scope.
- Fix for assertion failure in Parser/string_parser.c.
- Fix for AC_C_CHAR_UNSIGNED from configure.ac confuses GCC 12+ by defining __CHAR_UNSIGNED__.
- Fix for typing: forward references don't understand special type forms.
- TBB provides:
- Version 2021.6.0, see the release notes for details.
New features in 15.0-1
- GCC provides:
- rs6000: generate an lxvp instead of two adjacent lxv instructions.
- rs6000: harden mma_init_builtins.
- rs6000: add MMA __builtin_vsx_lxvp and __builtin_vsx_stxvp built-ins.
- rs6000: fix ELFv2 r12 use in epilogue.
- rs6000: disable mode promotion for pseudos.
- Fix for __builtin_fmod not optimized on POWER.
- Fix for MMA built-in dies with a verify_gimple failed error.
- Fix for protocol register (r12) corrupted before a tail call.
- Enable store fusion on Power10.
- Fix __morestack calls from pcrel code.
- GNU C Library provides:
- Fix for race condition in pthread_kill.
- Fix for pthread_kill, pthread_cancel return ESRCH for a thread ID whose lifetime has not ended.
- Fix for getcwd(NULL, PATH_MAX) generates warnings on -Wnonnull.
- Fix for sysconf(_SC_NPROCESSOR...) breaks down on containers.
- Fix for incorrect types for pthread_mutexattr_set/getrobust_np in __REDIRECT_NTH macro.
- Fix for iconvconfig prefix flag behaves differently in glibc 2.34.
- Fix for NULL pointer dereference in mq_notify (CVE-2021-38604).
- Fix for missing colon in LD_SHOW_AUXV output after AT_MINSIGSTKSZ.
- Fix for io/tst-closefrom, misc/tst-close_range, posix/tst-spawn5 fail if stray fds are open.
- Fix for do not use affinity mask for sysconf (_SC_NPROCESSORS_CONF).
- Fix for bug 12889 causes setxid deadlock.
- Fix for string/test-strncasecmp: cannot set locale "en_US.UTF-8".
- Fix for pthread_kill assumes that kill (getpid ()) is equivalent to tgkill (getpid (), gettid()).
- Replace nsid with args.nsid.
- Binutils provides:
- Userspace RCU provides:
- Fix: add missing pkgconfig file for memb flavour lib.
- Make temporary variable in _rcu_dereference non-const.
- OpenSSL provides:
- Fix for d2i_ECPKParameters_fp throws lots of warnings.
- Fix for undocumented critical parameter.
- Fix for Runchecker failure in fuzzing build related to nul string terminations.
- Fix for OpenSSL 1.1.1l: Build error in crypto/bio/bss_dgram.c on linux/gcc10.
- Fix for openssl-passwd(1) doesn't give all algorithms in Description.
- Fix for bindhost/bindport should be freed.
- Python provides:
- Fix for make tests more PyPy compatible.
- Fix for context manager leaves db locked if commit fails in __exit__.
- Fix for year 2038 problem in compileall.py.
- Fix for zlib.error with tarfile.open.
- Fix for test.support.import_fresh_module fails to correctly block submodules when fresh is specified.
- Fix for error handling and documentation of Path.home().
- Fix for improve sqlite3_value_text() error handling.
- Fix for unittest module cleanup functions not run unless tearDownModule() is defined.
- Fix for _PyImport_FixupExtensionObject() regression in Python 3.9.
- Fix for document immutable type subclassing via __new__.
- Fix for AsyncExitStack.enter_async_context() is mishandling exception __context__.
- Fix for rewrite test_null_strings in _testcapi.
- Fix for tests fail when using pure-python instead of _asyncio.
- Fix for concurrent.futures race condition.
- Fix for many multiprocessing tests are silently skipped since 3.9.
- Fix for simplify RegressionTestResult.
- Fix for do not use the equality operators with None.
- Fix for need to use the exception class qualname when rendering exception (in C code).
- Fix for "The loop argument is deprecated" reported when user code does not use it.
- Fix for calling super().__init__ in subclasses of typing.Protocol raises RecursionError.
- Fix for get_type_hints + Final + future annotations = TypeError.
- Fix for some tests in test_socket are not run.
- Fix for dangling threads in skipped tests in test_socket.
- Fix for always use unittest for collecting tests in regrtests.
- Fix for debug() in IsolatedAsyncioTestCase.
- Fix for test_multiprocessing_forkserver: test_shared_memory_basics() failed with FileExistsError: [Errno 17] File exists: '/test01_tsmb'.
- Fix for reference leak from descr_check.
- Fix for cleanup and harden Connection and Cursor __init__.
- Fix for logging TimedRotatingFileHandler must not rename devices like /dev/null.
- Fix for UnicodeDecodeError: 'unicodeescape' codec can't decode byte 0x5c in position 8191: at end of string.
- Fix for confusing error message when giving invalid quotechar in initializing dialect.
- Fix for argparse empty choices cannot be printed in the help.
New features in 15.0-0
- GCC provides:
- Version 11.2, see the release notes for details.
- Fix for ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1124.
- Fix for __FUNCTION__ doesn't work in core.stdc.stdio functions without cast.
- Fix for ICE at convert_expr(tree_node*, Type*, Type*).
- Fix for ICE: out of memory allocating 18446744073709551600 bytes.
- Fix for ICE in gfc_conv_expr_descriptor, at fortran/trans-array.c:7324.
- Fix for ICE:in clear_padding_type, at gimple-fold.c:4783 with call to __builtin_clear_padding for C++.
- Correct a mistake in a warning for -Wnonnull.
- GNU C Library provides:
- Version 2.34, see the release notes for details.
- New Power10 optimizations for memcmp, memcpy, memmove, memset, rawmemchr, strcpy, strlen, stpcpy.
- Libraries libpthread, libdl, libutil, libanl have been integrated into libc.
- Linux: Fix fcntl, ioctl, prctl redirects for _TIME_BITS=64.
- copy_and_spawn_sgid: Avoid double calls to close().
- gaiconf_init: Avoid double-free in label and precedence lists.
- gconv_parseconfdir: Fix memory leak.
- ldconfig: avoid leak on empty paths in config file.
- Binutils provides:
- Version 2.37, see the release notes for details.
- Fix for [2.37 Regression][bisected] Linker plugin complains about "malformed archive" on thin archines.
- Fix for [2.37 regression] binutils build compile zero-sized mans (probably due to extra --no-split option).
- Fix for rename.c doesn't compile with MinGW.
- Fix for AddressSanitizer: SEGV /home/tai/CVEs/binutils-2.37/bfd/elf.c:7991:30 in _bfd_elf_fixup_group_sections.
- [GOLD] PowerPC64 relocation overflow for -Os register save/restore funcs.
- Change "uint" to "unsigned".
- GNU Debugger provides:
- Version 10.2, see the release notes for details.
- Userspace RCU provides:
- Version 0.13.0, see the release notes for details.
- OpenSSL provides:
- Fix for Potential memory leak in DSA_print and DSAparams_print.
- Fix for OpenSSL 1.1.1e: clients sends more alerts after TLS shutdown (close_notify) was send.
- Fix for 1.1.1f: If call SSL_key_update while writes are pending(no-blocking socket),next SSL_write or SSL_read will return fail.
- Fix for OCSP callback failure is incorrectly reported .
- Fix for The SSL_write and SSL_read return failed non-blocking when tls13 key update in any version.
- Fix for SSL_new(ctx) does not copy hostflags from SSL_CTX to SSL.
- Fix for During renegotiation OpenSSL sends in ServerHello an extension not advertised by client in the second ClientHello.
- Fix for EC_POINT_point2oct/EC_POINT_oct2point asymmetry (fixed in LibreSSL).
- Fix for Too optimistic heuristics when auto detecting the private key format.
- Fix for OPENSSL_die when EVP_MD_CTX_new allocation fails in ssl_handshake_hash.
- Fix for Duplicate Code in file d1_lib.c.
- Fix for Resuming PSK session options failing 3.0.0-beta1.
- Fix for When I called the d2i_PrivateKey in openssl1.1.1k, there was a bug..
- Fix for the remainder sign seems error when a positive number divided by a negative number, when use BN_div.
- Fix for Configure with no-stdio on Windows generates makefile that doesn't work with jom.
- Fix for ASN.1 encoders produce zero content for non-optional items.
- Fix a read buffer overrun in X509_aux_print().
- Use the first detected address family if IPv6 is not available.
- Use AI_ADDRCONFIG only if explicit host name is given (BIO_lookup_ex).
- Fix memory leak in i2d_ASN1_bio_stream.
- Fix use of uninitialized memory in test_rsa_oaep.
- Don't send key_share for PSK-only key exchange.
- Improve RFC 8446 PSK key exchange mode compliance.
- Fix potential double-free.
- Expat provides:
- Version 2.4.1, see the release notes for details.
- Libhugetlbfs provides:
- Removed support for hugepage malloc from libhugetlbfs.
libhugetlbfs provides a hugepage malloc feature that adapts glibc malloc to use hugepages. Recent changes in glibc 2.34 made it impossible for libhugetlbfs to continue to change the behavior of glibc's malloc. Notice that libhugetlbfs is still able to map data, text and BSS sections to huge pages.
An issue has been opened to track this. - Python provides:
- Version 3.9.6, see the release notes for details.
- Fix for crashes in sqlite3.Connection in case it is uninitialized or partially initialized.
- Fix for Segfault with deep recursion into object().__dir__.
- Fix for argparse.BooleanOptionalAction should not add the default value to the help string by default.
- Fix for TypedDict inheritance doesn't work with get_type_hints and postponed evaluation of annotations across modules.
- Fix for `OverflowError: signed integer is greater than maximum` in ssl.py for files larger than 2GB.
- Fix for Printing RecursionError results in RecursionError.
- Fix for Missing docs for LoggerAdapter manager and name property.
- Fix for shutil.copy raises IsADirectoryError when the directory does not actually exist.
- Fix for [sqlite3] Improve sqlite3_value_text() error handling.
- Fix for Importlib.metadata docs claim PackagePath is a Path subclass.
- Fix for log rotator cookbook example might waste disk space.
- Fix for 'Pdb' object has no attribute 'botframe'.
- Fix for Make the implementation consistency of operator.countOf/indexOf.
- Fix for types.GenericAlias should decref instead of using delete in tp_new.
- Fix for StopIteration subclass suppressed by contextlib.contextmanager.
- Fix for Regression tests with -w should only re-run affected test methods, not the entire file.
- Fix for asyncio.gather no DeprecationWarning if task are passed.
- Fix for [sqlite3] Do not truncate results of user functions and aggregates on the first NUL.
- Fix for Add ability to wholesale silence DeprecationWarnings while running the test suite.
- Fix for Incorrect exception highlighting for fstring format.
- Fix for SyntaxError: trailing comma not allowed ... misleading.
- Boost provides:
- Version 1.76.0, see the release notes for details.
- libdfp provides:
- Version 0.16.0, see the release notes for details.
- libnxz provides:
- Version 0.62, see the release notes for details.
- Valgrind provides:
- Version 3.17.0, see the release notes for details.
- TCMalloc provides:
- Version 2.9.1, see the release notes for details.
- TBB provides:
- Version 2021.3.0, see the release notes for details.
New features in 14.0-3
- GCC provides:
- Fix for Fortran array initialization in offload regions.
- Fix for ICE in cp_check_const_attributes, at cp/decl2.c:1408.
- Fix for Inconsistencies with associative/unordered containers.
- Fix for maybe_instantiate_noexcept.
- Fix for ICE in tsubst_copy_and_build, at cp/pt.c:19577 since r265609.
- Fix for Incorrect warning when using a ternary operator to select one of two volatile variables to write to.
- Fix for ICE in -Wshadow in templated member function.
- Fix for GCC rejects const_cast of null pointer in constant expressions.
- Fix for -Wconversion false-positive in immediate context.
- Fix for C++17/20 mode fails to recognise pointer-to-member functions of incomplete types in conditional expression.
- Fix for filesystem::path::parent_path got a wrong path.
- Fix for ICE: in tsubst_copy, at cp/pt.c:17247.
- Fix for ICE in create_function_arglist, at fortran/trans-decl.c:2838 (etc.).
- Fix for ICE: in reshape_init, at cp/decl.c:6720.
- Fix for ICE in bootstrap while building libstdc++.
- Fix for bits/hashtable.h:483:9: error: body of ‘constexpr’ function ... not a return-statement.
- Fix for ranges::subrange CTAD for __iterator_sentinel_pair not work.
- GNU C Library provides:
- Fix for Aliasing violation in __vfscanf_internal.
- Fix for (CVE-2021-3326) Assertion failure in ISO-2022-JP-3 gconv module related to combining characters.
- Fix for (CVE-2021-27645) double-free in nscd.
- Fix for GLIBC_TUNABLES aren't parsed properly in AT_SECURE binaries.
- Binutils provides:
- Version 2.35.2, see the release notes for details.
- OpenSSL provides:
- Version 1.1.1k, see the release notes for details.
- Fix for EVP_PKEY_cmp() fails Identical keys.
- Fix for d2i_ASN1_OBJECT leaks the 'sn' and 'ln' fields of ASN1_OBJECT.
- Fix for a double free bug in crypto/srp/srp_vfy.c.
- Fix for a double free bug in crypto/ts/ts_rsp_verify.c.
- Fix for a double free bug in engines/e_loader_attic.c.
- Fix for Makefile in master removes possible current release tarball.
- Expat provides:
- Fix for xmlparse.c: Reject missing call to XML_GetBuffer in XML_ParseBuffer.
- Fix for xmlwf: Add argument -k to allow continuing after non-fatal errors.
- Fix for fuzzers: Address Clang warning -Wunused-parameter.
- Fix for CMake: Only set CMAKE_CXX_FLAGS after enable_language(CXX).
- Python provides:
- Version 3.8.9, see the release notes for details.
- Fix for ipaddress.ip_network(...).hosts() returns nothing for an IPv4 /32.
- Fix for Discrepancy between traceback.print_exception and sys.__excepthook__.
- Fix for PEP 570: Python Positional-Only Parameters.
- Fix for Raised exception in Enum keeping user objects alive unnecessarily.
- Fix for SSLContext.hostname_checks_common_name appears to have no effect.
- Fix for Tkinter: make X window & macOS recognize dialogs as such.
- Fix for Deprecate camelCase aliases from threading.py.
- Fix for Run GHA CI with multiple OpenSSL versions.
- Userspace RCU provides:
- Version 0.12.2, see the release notes for details.
- Fix for rculist header: use parenthesis around macro parameters.
- Fix for rcuhlist header: use parenthesis around macro parameters.
- Fix for hlist header: use parenthesis around macro parameters.
- Fix for list.h: use parenthesis around macro parameters, caa_container_of().
- Fix for hlist iteration relies on undefined behavior.
- Fix for use __atomic_load() rather than atomic load explicit.
- Fix for use atomic load memory_order_consume for rcu_dereference on C11/C++11.
- Fix for HAVE_SCHED_SETAFFINITY is not defined.
- Fix for shadowed local variable (-Wshadow).
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 DNF
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/at15.0.repo
and add the following content:
# Begin of configuration file [at15.0] name=Advance Toolchain IBM FTP baseurl=https://public.dhe.ibm.com/software/server/POWER/Linux/toolchain/at/redhat/RHEL8 enabled=1 gpgcheck=1 gpgkey=https://public.dhe.ibm.com/software/server/POWER/Linux/toolchain/at/redhat/RHEL8/gpg-pubkey-6976a827-5164221b # End of configuration file
To install execute dnf install as root:
dnf install advance-toolchain-at15.0-runtime / advance-toolchain-at15.0-devel / advance-toolchain-at15.0-perf
Answer y when DNF 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-at15.0-runtime-15.0-6 advance-toolchain-at15.0-devel-15.0-6 advance-toolchain-at15.0-perf-15.0-6 advance-toolchain-at15.0-mcore-libs-15.0-6 advance-toolchain-at15.0-runtime-at14.0-compat-15.0-6
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-at15.0-runtime-15.0-6.ppc64.rpm \ advance-toolchain-at15.0-devel-15.0-6.ppc64.rpm \ advance-toolchain-at15.0-perf-15.0-6.ppc64.rpm \ advance-toolchain-at15.0-mcore-15.0-6.ppc64.rpm \ advance-toolchain-at15.0-runtime-at14.0-compat-15.0-6.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/at15.0/share/zoneinfo to /opt/at15.0/etc/localtime
- advance-toolchain-at15.0-runtime-compat-15.0-6: 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-at15.0-runtime-compat-15.0-6 in order to get the Advance Toolchain runtime libraries.
Installation of the cross-compiler (x86)
You can download advance-toolchain-at15.0-cross-15.0-6 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
- Apache License 2.0
The licenses for each GPL and LGPL code segment can be found in the advance-toolchain-at15.0-src-15.0-6.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)
- Userspace RCU (LGPL 2.1)
- Valgrind (GPL 2.0)
- libnxz (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.
PVEC Library (Apache License 2.0)
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
- You must give any other recipients of the Work or Derivative Works a copy of this License; and
- You must cause any modified files to carry prominent notices stating that You changed the files; and
- You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
- If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
NX GZIP library (Apache License 2.0)
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
- You must give any other recipients of the Work or Derivative Works a copy of this License; and
- You must cause any modified files to carry prominent notices stating that You changed the files; and
- You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
- If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS