From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/7748 Path: news.gmane.org!not-for-mail From: Szabolcs Nagy Newsgroups: gmane.linux.lib.musl.general Subject: Re: Trouble compiling musl for MIPS softfloat Date: Sun, 24 May 2015 14:45:40 +0200 Message-ID: <20150524124540.GA26188@port70.net> References: Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1432471561 5650 80.91.229.3 (24 May 2015 12:46:01 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 24 May 2015 12:46:01 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-7760-gllmg-musl=m.gmane.org@lists.openwall.com Sun May 24 14:45:57 2015 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1YwVHv-0001MM-Dk for gllmg-musl@m.gmane.org; Sun, 24 May 2015 14:45:55 +0200 Original-Received: (qmail 32622 invoked by uid 550); 24 May 2015 12:45:53 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 32601 invoked from network); 24 May 2015 12:45:52 -0000 Mail-Followup-To: musl@lists.openwall.com Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Xref: news.gmane.org gmane.linux.lib.musl.general:7748 Archived-At: * Arjen Roodselaar [2015-05-24 04:36:52 +0000]: > I am trying to compile musl for use on devices powered by a MIPS 24kc, a SoC without hardware floating point support. The supported target architectures list specifically mentions this, but so far I have been unable to get this working. In short, using mips-sf-linux-gnu as the target in the configure step seems to enable soft float support as per this output: https://gist.github.com/arjenroodselaar/f8d20534b0d8c7542d01. When linking however ld warns about a small number of files being compiled with -mhard?float, resulting in crt1.so to use -mhard?float: https://gist.github.com/arjenroodselaar/270df6970b2bd43c9bce. This then trickles down in anything I try to link against libc. Ignoring all this and simply compiling hard-float binaries is causing problems when executing malloc. > > Tools used here: > > Binutils-2.25 > Gcc-4.8.4 > Musl-1.1.9 > works here with binutils-2.24 gcc-4.8.2 musl-1.1.9 i get an assembler warning for the crt asm though: {standard input}:32: Warning: macro instruction expanded into multiple instructions in a branch delay slot for this insn: and $sp, $sp, -8 which turns into 38: 2401fff8 li at,-8 3c: 03a1e824 and sp,sp,at (but this is not soft-float related, just the new start code in 1.1.9) > (I tried musl 1.0.5 and gcc 4.9.2 but neither seem to make a difference here). > > Am I missing something here or is soft float support for MIPS currently broken? Any help is appreciated. your problem seems to be that asm is assumed to be hardfloat by your toolchain. (ie the assembler does not get the -msoft-float flag properly) you may try to add CFLAGS += -Wa,-msoft-float to your config.mak (i have no idea why this would be needed, you may want to send the build command and its output when -v added for one of the files that turned to hard float eg. rm src/setjmp/setjmp.lo make src/setjmp/setjmp.lo and copy the build command, add -v to the end, and send us the command and output and maybe readelf -aW src/setjmp/setjmp.lo output too)