commit: e4da4705a51d46236f3e9a0d2c850455b7d9772c Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> AuthorDate: Sun Apr 29 15:26:25 2018 +0000 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> CommitDate: Sun Apr 29 15:31:31 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4da4705
eclass/toolchain.eclass: disable libstdcxx-time for bare metal Historically Gentoo unconditionally sets --enable-libstdcxx-time=yes to avoid --enable-libstdcxx-time=rt on linux targets, bug #411681 Unfortunately this conflicts with arm-none-eabi and other bare-metal targets that don't provide enough plumbing to support for POSIX timers. This change ogerrides our default to --disable-libstdcxx-time on *-elf and *-eabi targets. Tested as: $ crossdev --stage4 arm-none-eabi Reported-by: scheer <AT> wsoptics.de Reported-by: Thomas Schneider Bug: https://bugs.gentoo.org/411681 Bug: https://bugs.gentoo.org/589672 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org> eclass/toolchain.eclass | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index df76dc4feb8..c942a112c75 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -971,7 +971,14 @@ toolchain_src_configure() { case ${CTARGET} in *-linux) needed_libc=no-fucking-clue;; *-dietlibc) needed_libc=dietlibc;; - *-elf|*-eabi) needed_libc=newlib;; + *-elf|*-eabi) + needed_libc=newlib + # Bare-metal targets don't have access to clock_gettime() + # arm-none-eabi example: bug #589672 + # But we explicitly do --enable-libstdcxx-time above. + # Undoing it here. + confgcc+=( --disable-libstdcxx-time ) + ;; *-freebsd*) needed_libc=freebsd-lib;; *-gnu*) needed_libc=glibc;; *-klibc) needed_libc=klibc;;
