All of lore.kernel.org
 help / color / mirror / Atom feed
From: Koen Kooi <k.kooi@student.utwente.nl>
To: openembedded-devel@lists.openembedded.org
Subject: Re: powerpc-g++ 4.2.4 problem casting long long to double
Date: Wed, 19 May 2010 18:48:26 +0200	[thread overview]
Message-ID: <ht14oq$ok6$1@dough.gmane.org> (raw)
In-Reply-To: <alpine.LNX.2.00.1005191726560.21508@asterix.crazy-teaparty.dyndns.org>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 19-05-10 17:46, Vitus Jensen wrote:
> On Wed, 19 May 2010, Vitus Jensen wrote:
>> On Wed, 19 May 2010, Gary Thomas wrote:
>>>  On 05/19/2010 03:38 AM, Vitus Jensen wrote:
>>> > >   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.
>>
>> No, I'm building everything from the stable branch.  There were some
>> commits cherry-picked from .dev but those only add Qt 4.5.2.
>>
>> Poky is ARM only, right?  Perhaps it would be helpfull to build a
>> compiler from .dev and for a widely used powerpc-platform?  How does
>> n1200 sound? It uses the same ppc603e.
> 
> Unfortunately .dev switched to gcc-4.3.3 in the meantime which fails for
> ppc603e platforms because of undefined references to __nldbl_fprintf and
> __nldbl_sprintf during compile.
> 
> Platform tqm8540 (ppce500, just to try some other ppc cpu) fails in
> gcc-4.3.3 compile, too.  Possible related to this:
> 
> endian.h:34:4: warning: #warning Cannot determine current byte order,
> assuming big-endian.
> 
> So currently .dev should be unbuildable for ppc users?  Without
> selecting a non-default compiler that is.

I thought I pinned powerpc at 4.1.1, but it turns out that it was only
for ppc405:

ANGSTROM_GCC_VERSION_ppc405         ?= "4.1.1"

Feel free to send patches to add that for other ppc platforms.

regards,

Koen
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFL9BZaMkyGM64RGpERAl2wAJ0e6b4dQByFnOVP9LH0SPUSQeEfDwCbBFFc
bX9N5oxgcwlYQQgmGQMtNTU=
=Rijq
-----END PGP SIGNATURE-----




  reply	other threads:[~2010-05-19 16:52 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
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 [this message]
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='ht14oq$ok6$1@dough.gmane.org' \
    --to=k.kooi@student.utwente.nl \
    --cc=openembedded-devel@lists.openembedded.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 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.