mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Szabolcs Nagy <nsz@port70.net>
To: musl@lists.openwall.com
Subject: Re: Trouble compiling musl for MIPS softfloat
Date: Sun, 24 May 2015 14:45:40 +0200	[thread overview]
Message-ID: <20150524124540.GA26188@port70.net> (raw)
In-Reply-To: <D186A372.1EB2A%arjen@fb.com>

* Arjen Roodselaar <arjen@fb.com> [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)


  reply	other threads:[~2015-05-24 12:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-24  4:36 Arjen Roodselaar
2015-05-24 12:45 ` Szabolcs Nagy [this message]
2015-05-24 16:18   ` Rich Felker
2015-05-24 22:09   ` Arjen Roodselaar
2015-05-25 20:14     ` Rich Felker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150524124540.GA26188@port70.net \
    --to=nsz@port70.net \
    --cc=musl@lists.openwall.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).