From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by sourceware.org (Postfix) with ESMTP id D6C9938515F6 for ; Mon, 28 Jun 2021 13:48:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D6C9938515F6 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 724851042; Mon, 28 Jun 2021 06:48:58 -0700 (PDT) Received: from [10.57.8.94] (unknown [10.57.8.94]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C78A23F718; Mon, 28 Jun 2021 06:48:57 -0700 (PDT) Subject: Re: /usr/bin/ld: error: a.out uses VFP register arguments, /tmp/cceTTKgu.o does not To: Erik Bryer , gcc-help@gcc.gnu.org References: From: Richard Earnshaw Message-ID: Date: Mon, 28 Jun 2021 14:48:57 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3491.7 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-help@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-help mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jun 2021 13:49:00 -0000 On 23/06/2021 07:06, Erik Bryer via Gcc-help wrote: > Hi, > > I'm trying to build gcc-5.5.0, but it fails at the configure step for > intl with the error message: > /usr/bin/ld: error: a.out uses VFP register arguments, /tmp/cceTTKgu.o does not > Here is what I've done... > GCC-5 is very old now and no-longer supported by the GCC developers. > # lscpu > Architecture: armv7l > Byte Order: Little Endian > CPU(s): 4 > On-line CPU(s) list: 0-3 > Thread(s) per core: 1 > Core(s) per socket: 4 > Socket(s): 1 > Model: 3 > Model name: ARMv7 Processor rev 3 (v7l) > CPU max MHz: 1500.0000 > CPU min MHz: 600.0000 > BogoMIPS: 270.00 > Flags: half thumb fastmult vfp edsp neon vfpv3 tls > vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 > > # gcc --version > gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44) > > # cd ; cd gcc5build ; rm -rf * > > # export CFLAGS='-mfloat-abi=hard' > # export CXXFLAGS='-mfloat-abi=hard' This isn't going to work, as there are assembler files which will likely not see these flags. Instead, use the --with-float=[soft|softfp|hard] option when configuring the compiler. R. > > # $PWD/../gcc-5.5.0/configure --prefix=/opt/gcc5 --enable-languages=c,c++ > > # make > [...] > checking for C compiler default output file name... > configure: error: in `/root/gcc5build/intl': > configure: error: C compiler cannot create executables > See `config.log' for more details. > make[2]: *** [configure-stage2-intl] Error 77 > make[2]: Leaving directory `/root/gcc5build' > make[1]: *** [stage2-bubble] Error 2 > make[1]: Leaving directory `/root/gcc5build' > make: *** [all] Error 2 > > # cat ./intl/config.log > [...] > configure:3000: /root/gcc5build/./prev-gcc/xgcc > -B/root/gcc5build/./prev-gcc/ > -B/opt/gcc5/armv7l-unknown-linux-gnueabihf/bin/ > -B/opt/gcc5/armv7l-unknown-linux-gnueabihf/bin/ -B/opt/gcc5/armv7 > l-unknown-linux-gnueabihf/lib/ -isystem > /opt/gcc5/armv7l-unknown-linux-gnueabihf/include -isystem > /opt/gcc5/armv7l-unknown-linux-gnueabihf/sys-include -g -O2 > -gtoggle -static-libstdc++ -static-libgcc conftest.c >&5 > /usr/bin/ld: error: a.out uses VFP register arguments, /tmp/cc8LUsFC.o does not > /usr/bin/ld: failed to merge target specific data of file /tmp/cc8LUsFC.o > collect2: error: ld returned 1 exit status > configure:3004: $? = 1 > configure:3041: result: > configure: failed program was: > | /* confdefs.h */ > | #define PACKAGE_NAME "" > | #define PACKAGE_TARNAME "" > | #define PACKAGE_VERSION "" > | #define PACKAGE_STRING "" > | #define PACKAGE_BUGREPORT "" > | #define PACKAGE_URL "" > | /* end confdefs.h. */ > | > | int > | main () > | { > | > | ; > | return 0; > | } > configure:3047: error: in `/root/gcc5build/intl': > configure:3051: error: C compiler cannot create executables > See `config.log' for more details. > > ## ---------------- ## > ## Cache variables. ## > ## ---------------- ## > > ac_cv_env_CC_set=set > ac_cv_env_CC_value=' /root/gcc5build/./prev-gcc/xgcc > -B/root/gcc5build/./prev-gcc/ > -B/opt/gcc5/armv7l-unknown-linux-gnueabihf/bin/ > -B/opt/gcc5/armv7l-unknown-linux-gnueabihf/bin/ > -B/opt/gcc5/armv7l-unknown-linux-gnueabihf/lib/ -isystem > /opt/gcc5/armv7l-unknown-linux-gnueabihf/include -isystem > /opt/gcc5/armv7l-unknown-linux-gnueabihf/sys-include ' > ac_cv_env_CFLAGS_set=set > ac_cv_env_CFLAGS_value='-g -O2 -gtoggle' > [...] > > I googled and rechecked the install instructions and the FAQ. I have a > suspicion this has something to do with my using - mfloat-abi=hard. I > wonder if the fact that on the last line above av_cv_env_CFLAGS_value > does not include - mfloat-abi=hard means anything. I also tried the > compiler flags '-mfloat-abi=hard -march=armv7-a -mfpu=neon', but the > same error resulted. > > Thanks, > Erik >