All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gary Thomas <gary@mlbassoc.com>
To: openembedded-devel@lists.openembedded.org
Cc: Vitus Jensen <vjensen@gmx.de>
Subject: Re: powerpc-g++ 4.2.4 problem casting long long to double
Date: Wed, 19 May 2010 05:21:28 -0600	[thread overview]
Message-ID: <4BF3C9B8.8080501@mlbassoc.com> (raw)
In-Reply-To: <alpine.LNX.2.00.1005181720550.21508@asterix.crazy-teaparty.dyndns.org>

On 05/19/2010 03:38 AM, Vitus Jensen wrote:
> Hello!
>
> We noticed a strange problem with C++ code casting long long variables
> to double, as a lot of qt-embedded code is doing.
>
> =================
> double
> convert(long long l)
> {
> return (double)l; // or double(l)
> }
>
> int
> main(int argc, char * argv[])
> {
> long long l = 10;
> double f;
>
> f = convert(l);
> printf("convert: %lld => %f\n", l, f);
> return 0;
> }
> ====================
>
> output:
> convert: 10 => 0.000000
>
> C++ compiled via powerpc-angstrom-linux-g++ gives the above result.
> Compiling the same code as C using powerpc-angstrom-linux-gcc works
> fine. But when looking at the assembler code both compiler produce
> virtually identical output and both call __floatdidf to do the actual
> conversion. Very strange, has anyone ever seen similar effects?

Is this from a recent tree (i.e. post Richard Purdie's restructuring)?

I've seen similar problems with C++ code on Poky which uses the same changes.

>
> MACHINE bluepro (ppc603e, used in n1200, efika, lite5200, storcenter)
> DISTRO angstrom
> BRANCH stable
>
> Openembedded is used to build images and QT4 SDKs for this machine which
> work fine otherwise. The compiler version used is the default for
> angstrom (4.2.4), that default and the gcc recipe is identical between
> stable and dev branches.
>
> ppc405 uses the older 4.1.1 gcc which shows the identical behaviour when
> selected via ANGSTROM_GCC_VERSION. 4.3.2 and 4.3.3 failed to link but
> created the same assembler code otherwise.
>
> How can I analyse this situation further? I'm particular interested in
> how different __floatdidf versions get used dependend on frontend, the
> source of __floatdidf is in the gcc sourcetree and I expected it to be
> compiled just once.
>
> Vitus
>
>
> PS: fp-int-convert-long-double.c from the testsuite fails too, if
> compiled via powerpc-angstrom-linux-g++
>

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------



  reply	other threads:[~2010-05-19 11:25 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-19  9:38 powerpc-g++ 4.2.4 problem casting long long to double Vitus Jensen
2010-05-19 11:21 ` Gary Thomas [this message]
2010-05-19 11:41   ` Vitus Jensen
2010-05-19 11:45     ` Gary Thomas
2010-05-19 15:46     ` Vitus Jensen
2010-05-19 16:48       ` Koen Kooi
2010-05-21 11:12         ` Vitus Jensen
2010-05-21 13:21           ` Vitus Jensen
2010-05-21 13:40             ` Vitus Jensen
2010-05-21 20:37               ` Khem Raj
2010-05-24 16:36                 ` Vitus Jensen
2010-05-24 18:25                   ` Khem Raj
2010-05-25 15:15                     ` Vitus Jensen
2010-05-25 15:52                       ` Khem Raj
2010-05-26  5:34                         ` Vitus Jensen
2010-05-26  6:21                           ` Khem Raj
2010-06-07 19:23                             ` [STABLE] " Vitus Jensen
2010-06-09 12:13                               ` [PATCH][STABLE] gcc-pacpake-cross.inc: Clean up do_install function massively (from Poky) Vitus Jensen
2010-06-09 13:17                                 ` Khem Raj

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=4BF3C9B8.8080501@mlbassoc.com \
    --to=gary@mlbassoc.com \
    --cc=openembedded-devel@lists.openembedded.org \
    --cc=vjensen@gmx.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.