diff options
author | Ryan S. Arnold <ryan.arnold@linaro.org> | 2017-02-14 23:11:05 +0000 |
---|---|---|
committer | Ryan S. Arnold <ryan.arnold@linaro.org> | 2017-02-14 23:11:05 +0000 |
commit | a4a9724c6389433bf49ab06e765abbd42c10d97f (patch) | |
tree | e438522fb763c4cdbc66f7c6d22521f7049bcdd7 | |
parent | 6ec4b52e966d1e85d1e00e5af8f5a20a5aed2c18 (diff) |
Added NEWS items for releases/linaro-6.3-2017.02-rc2.
-rw-r--r-- | components/toolchain/binaries/README.textile.series | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/components/toolchain/binaries/README.textile.series b/components/toolchain/binaries/README.textile.series index 8ed7ecd..4396b96 100644 --- a/components/toolchain/binaries/README.textile.series +++ b/components/toolchain/binaries/README.textile.series @@ -75,7 +75,21 @@ Linaro GDB 7.12 (gdb-7.12-branch) {% block news %} {% call format("news") -%} -A bug/regression in the compiler has been identified whereby the target function that is invoked when calling a "weak" function directly is the "strong" override, whereas when calling the function via a pointer the "weak" implementation is used. This would be noticed as inconsisent function invocation when invoking directly vs. invoking via function pointer. This issue only affected 32-bit arm targets. This regression has been fixed upstream and backported into Linaro GCC 6.3-2017.02-rc2. +Previous versions of the Linaro GCC 6 toolchain were incorrectly generating floating-point code for soft-float Linux targets (arm-linux-gnueabi, and armeb-linux-gnueabi). This escaped detection until recently because the soft-float targeted toolchains were configured to use general-purpose registers for passing floating-point values (which is what you would expect for soft-float toolchains) and the intra-routine floating-code was not noticed. +{% endcall %} + +{% call format("newscont") -%} +The issue would only show up on targets that were run on hardware that truly didn't have floating-point hardware where the kernel did not trap and emulate floating-point routines. This has been solved in Linaro GCC 6.3-2017.02-rc2 by configuring the toolchain (using --with-float=soft) to generate code without any floating-point instructions at all (-mfloat-abi=soft). +{% endcall %} + +{{ urlind(6,"https://review.linaro.org/#/c/16968/2") }} + +{% call format("newscont") -%} +This change should not break compatibility between existing binaries compiled with these toolchains since the float-point parameter passing ABI is still the same. +{% endcall %} + +{% call format("news") -%} +A bug/regression in the compiler has been identified whereby the target function that is invoked when calling a "weak" function directly is the "strong" override, whereas when calling the function via a pointer the "weak" implementation is used. This would be noticed as inconsistent function invocation when invoking directly vs. invoking via function pointer. This issue only affected 32-bit arm targets. This regression has been fixed upstream and backported into Linaro GCC 6.3-2017.02-rc2. {% endcall %} {% call format("newscont") -%} @@ -84,6 +98,13 @@ GCC PR target/78253: [5/6/7 Regression] [ARM] call weak function instead of stro {{ urlind(6,"https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78253") }} +{% call format("newscont") -%} +Linaro bugzilla #2562: +ARM GCC 5.2 call weak function instead of strong when called through pointer +{% endcall %} + +{{ urlind(6,"https://bugs.linaro.org/show_bug.cgi?id=2562") }} + {% call format("news") -%} MS Windows does not support symlinks and the MS Windows archive extractor does not properly deep copy the symlink target files/directories into the symlinked directory structure when unpacking the toolchain archive. This causes problems with missing dependencies when using the Linaro mingw toolchains, as identified in the following bugs: {% endcall %} @@ -98,20 +119,6 @@ This has been solved by copying files rather than using symlinks when the mingw {{ urlind(6,"https://review.linaro.org/#/c/16415/") }} -{% call format("news") -%} -Previous versions of the Linaro GCC 6 toolchain were incorrectly generating floating-point code for soft-float Linux targets (arm-linux-gnueabi, and armeb-linux-gnueabi). This escaped detection until recently because the soft-float targeted toolchains were configured to use general-purpose registers for passing floating-point values (which is what you would expect for soft-float toolchains) and the intra-routine floating-code was not noticed. -{% endcall %} - -{% call format("newscont") -%} -The issue would only show up on targets that were run on hardware that truly didn't have floating-point hardware where the kernel did not trap and emulate floating-point routines. This has been solved in Linaro GCC 6.3-2017.02-rc2 by configuring the toolchain (using --with-float=soft) to generate code without any floating-point instructions at all (-mfloat-abi=soft). -{% endcall %} - -{{ urlind(6,"https://review.linaro.org/#/c/16968/2") }} - -{% call format("newscont") -%} -This change should not break compatibility between existing binaries compiled with these toolchains since the float-point parameter passing ABI is still the same. -{% endcall %} - {% call format("news") %} Users of Linaro's toolchain have encountered problems when building projects with Autotools (specifically libtool): {% endcall %} |