rtems gcc 4.6.1 can not compile stop at check TLS
Ralf Corsepius
ralf.corsepius at rtems.org
Mon Aug 29 16:54:40 UTC 2011
On 08/29/2011 05:47 PM, Sebastien Bourdeauducq wrote:
> On Wed, 2011-08-24 at 16:26 +0200, Ralf Corsepius wrote:
>> I regret having to say so, my feel about this patch is "short-sighted
>> featuritis", blowing up the toolchain beyond reason.
> This patch actually _decreases_ software bloat where it matters, namely
> on the embedded system targeted by RTEMS. Using software emulation of
> the divider (or the other CPU features we want multilibs for) when the
> hardware divider is available only makes code slower and larger. Newlib
> does make use of these features.
Adding multilibs needs to be carefully balanced and compromises to be
taken. i.e. on one hand, toolchain implementors need to find balanced
compromises between "speed", "size", "number of multilibs" and "number
of users", on the other hand, users need to learn to live with
"sub-optimality".
It's the same, what you do when using a mainstream OS - You are using
binaries which have been compiled by a setup to support a "main-stream"
target audience, which means it, is using a compromise between several
factors.
Simply adding a mulitlib for each and every flag a compiler supports
simply not useful - Think about the zoo of cpu variants/instruction-set
variants the i?86 cpu-family consists of. It's simply unmanageable to
implement a multilib for each of them, nor is it useful, because most of
these variants would only provide microscopic gains.
> If you do not want too many multilibs (which aren't much of a problem
> given the cost of mainstream CPUs and storage those days) just build one
> lib with all the CPU options enabled. This is what we (the Milkymist
> project) implement, and we are by far the largest user of the LM32
> target (the only other LM32 BSP, lm32_evr, is - by the words of its
> developer - "not really used yet for anything serious"). Currently, we
> cannot use your LM32 toolchain binaries because they lack this feature
> we need. What is the point of shipping software that almost no one uses?
>
> This multilib patch is upstream GCC already.
ROTFL, implemented, submitted and commited by you!
If gcc-4.6.1 would build (which it, as I told you several times before,
it doesn't), I likely already would have implemented custom multilibs
for lm32-rtems (Which is what we already do for many targets), which
likely would revert this change.
> In a nutshell: just build the libraries with all the CPU options enabled
> into the LM32 RTEMS toolchain. It is the right thing to do.
This is the first time I am hearing this-Patch proposals welcome.
Ralf
More information about the users
mailing list