commit: d6c59e8252caed2b0b382a5ea81db6988ebe585c Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> AuthorDate: Sat Aug 18 15:40:53 2018 +0000 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> CommitDate: Sat Aug 18 15:40:53 2018 +0000 URL: https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=d6c59e82
crossdev: default to USE=-pie for bare-metal mips targets When built with pie-by-default compiling gcc fails as: cc1: error: position-independent code requires ‘-mabicalls’ Tested as: USE=-pie crossdev -t mipsel-elf Reported-by: rhn Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org> crossdev | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crossdev b/crossdev index 4ee7076..81bd50d 100755 --- a/crossdev +++ b/crossdev @@ -397,6 +397,14 @@ parse_target() { # [2.] mingw32 startup code is broken: bug #644930 # at least on i686-w64-mingw32 and x86_64-w64-mingw32 mingw*|*-mingw*) pie_support=no;; + # Some bare-metal targets don't work with pie as-is + *-elf|*-eabi) + case ${CTARGET} in + # mips can't generate freestanding PIC: + # cc1: error: position-independent code requires ‘-mabicalls’ + mips*) pie_support=no;; + esac + ;; esac if [[ $pie_support = "no" ]]; then # pie is >=gcc-6, nopie is <gcc-6