From: Ralf Baechle <ralf@oss.sgi.com>
To: Jay Carlson <nop@nop.com>
Cc: Mike Klar <mfklar@ponymail.com>, Jay Carlson <nop@place.org>,
linux-mips@fnet.fr, linux-mips@oss.sgi.com
Subject: Re: stable binutils, gcc, glibc ...
Date: Mon, 16 Oct 2000 14:00:05 +0200 [thread overview]
Message-ID: <20001016140005.C17878@bacchus.dhis.org> (raw)
In-Reply-To: <KEEOIBGCMINLAHMMNDJNOECBCAAA.nop@nop.com>; from nop@nop.com on Mon, Oct 16, 2000 at 07:26:19AM -0400
On Mon, Oct 16, 2000 at 07:26:19AM -0400, Jay Carlson wrote:
> 1) turns on multilib support for -msoft-float. (This makes gcc install two
> versions of libgcc.a etc: one in the lib/libgcc.a, one in
> lib/softfloat/libgcc.a.)
>
> 2) asks the build process to include the actual soft float implementation
> (fp-bit.c) in libgcc.a. Note that this is probably not the optimal place
> for it in the long run, because these functions should be shared. I'm
> pretty sure glibc 2.2 has them there, which isn't so bad a spot.
>
> 3) chooses the soft float API (function names, arg order). Because every
> other MIPS configuration included with gcc ignores the native GNU naming
> convention in favor of the GOFAST API, I chose GOFAST. I figured that the
> sins of GOFAST's namespace pollution could be overlooked because Cygnus
> would be more likely to fix mips softfloat problems that affected paying
> embedded customers. glibc's choice of native GNU naming convention makes
> me regret this.
>
> I think there will have to be a flag day eventually because of 2 and/or 3.
> Luckily, we can rebuild all the binaries we have without TOO much pain. The
> issue can be put off until we're ready to start using glibc 2.2, which may
> be a while.
>
> Does anyone know if gcc 2.97 can build glibc 2.0.x?
As I already wrote in my other email this seems to work. However there is
a little minefiled hidden there which I should warn you about. Sometimes
gcc emits references to __register_frame_info which is a libgcc defined
symbol. This function happened to be defined coincidntally in libtermcap
and a few others such that these references so far usually were satisfied.
Now built with gcc 2.97 libtermcap no longer defines this symbol and so a
few programs like for example mutt2 or bash2 will die therefore.
If you then go and rebuild mutt / bash2 themselfes the static linker will
pull this function from libgcc.a and things will work again. By then
everything will be like it was intended to be but still this means some
compatibility problem with older shared binaries..
> All of this is making me reconsider my request to install softfloat multilib
> into gcc 2.97. I don't understand how it will interact with glibc 2.2 yet.
> For the record, the glibc patch does two things:
>
> 1) longjmp/setjmp will only save FPU registers if __HAVE_FPU__ is defined.
> In unmodified egcs 1.0.3a, "%{!msoft-float: -D__HAVE_FPU__ }".
>
> 2) conditionalizes _FPU_GETCW and _FPU_SETCW in fpu_control.h. If I recall
> correctly, _FPU_SETCW() is called early in program startup, even for
> programs that will never touch the FPU. This of course causes instant death
> unless the kernel can emulate "ctc1 foo,$31"....
I would prefer to see that this patch using some mechanism which detects
the precense / absence of hardware fp at runtime and behaves accordingly.
You can implement this by protecting the ctc instruction in _FPU_SETCW with
a signal handler. This already happens during the early libc startup, so
we can remember if we got have a FPU and use this again in setjmp & co.
> Let me know if this is boring you decstation folks. By the way, anybody in
> the Boston area want a free 5000/120?
Anybody got me a free Indy power supply ...
Ralf
next prev parent reply other threads:[~2000-10-16 18:29 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-10-14 5:13 stable binutils, gcc, glibc Jun Sun
2000-10-14 3:55 ` Ralf Baechle
2000-10-14 4:21 ` Ralf Baechle
2000-10-14 10:57 ` Florian Lohoff
2000-10-14 14:51 ` Jay Carlson
2000-10-14 14:51 ` Jay Carlson
2000-10-14 15:09 ` Ralf Baechle
2000-10-14 16:11 ` Jay Carlson
2000-10-14 16:11 ` Jay Carlson
2000-10-14 16:29 ` Bradley D. LaRonde
2000-10-14 16:29 ` Bradley D. LaRonde
2000-10-16 0:35 ` Ralf Baechle
2000-10-16 1:33 ` Mike Klar
2000-10-16 1:33 ` Mike Klar
2000-10-16 11:26 ` Jay Carlson
2000-10-16 11:26 ` Jay Carlson
2000-10-16 11:30 ` Ralf Baechle
2000-10-16 12:00 ` Ralf Baechle [this message]
2000-10-18 1:59 ` Jay Carlson
2000-10-18 1:59 ` Jay Carlson
2000-10-18 20:31 ` Ralf Baechle
2000-10-14 16:11 ` Jay Carlson
2000-10-14 16:11 ` Jay Carlson
2000-10-14 16:12 ` Ralf Baechle
2000-10-14 16:22 ` Bradley D. LaRonde
2000-10-14 16:22 ` Bradley D. LaRonde
2000-10-14 23:47 ` Keith Owens
2000-10-16 1:07 ` Ralf Baechle
2000-10-16 7:00 ` Alan Cox
2000-10-16 7:00 ` Alan Cox
2000-10-14 10:55 ` Florian Lohoff
2000-10-14 12:41 ` Ralf Baechle
[not found] ` <Pine.LNX.4.21.0010140730280.17430-100000@spawn.hockeyfiend.com>
2000-10-14 14:25 ` Ralf Baechle
2000-10-14 17:54 ` Florian Lohoff
2000-10-16 15:41 ` Maciej W. Rozycki
2000-10-18 4:04 ` The initial results (Re: " Jun Sun
2000-10-18 1:33 ` Florian Lohoff
2000-10-18 9:20 ` Jun Sun
2000-10-18 2:25 ` nick
2000-10-18 9:18 ` Florian Lohoff
2000-10-18 12:27 ` Ralf Baechle
2000-10-18 1:57 ` Ralf Baechle
2000-10-18 12:30 ` Florian Lohoff
2000-10-18 22:37 ` Ralf Baechle
2000-10-18 11:42 ` Geert Uytterhoeven
2000-10-18 17:15 ` Jun Sun
2000-10-20 14:55 ` Geert Uytterhoeven
2000-11-06 11:43 ` Jay Carlson
2000-11-06 11:43 ` Jay Carlson
2000-10-20 11:09 ` Andreas Jaeger
2000-10-20 12:03 ` Jay Carlson
2000-10-20 12:03 ` Jay Carlson
2000-10-21 1:24 ` Ralf Baechle
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=20001016140005.C17878@bacchus.dhis.org \
--to=ralf@oss.sgi.com \
--cc=linux-mips@fnet.fr \
--cc=linux-mips@oss.sgi.com \
--cc=mfklar@ponymail.com \
--cc=nop@nop.com \
--cc=nop@place.org \
/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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox