This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Re: issue with floor()


On Wed, Nov 10, 2010 at 11:33 PM, Sergei Gavrikov
<sergei.gavrikov@gmail.com> wrote:
> On Wed, 10 Nov 2010, David Brennan wrote:
>>
>> On Wed, Nov 10, 2010 at 12:08 PM, Sergei Gavrikov
>> <sergei.gavrikov@gmail.com> wrote:
>> [...]
>>>
>>> The fix was:
>>>
>>> ? ?# Default value: ?"-fno-strict-aliasing " . ?\
>>> ? ? ? ?((!CYGPKG_HAL_I386 && !CYGPKG_HAL_SYNTH_I386) ? "" :
>>> "-ffloat-store")
>>>
>
> To be clear: this was applyed for `limb' package only.

Understood.

>
>> This does correct my compiler warnings for libm.
>
> And what's about the original issue: run of `floor' test on your target?

Yes it does. In fact that was the last hurdle preventing the
application from running. Now all tasks are running, I just need to
start exercising them. (I had not yet actually tried to run it yet
when sending the original e-mail.)

>
>> But as I am now a little gun-shy, do these need similar fixes?
>>
>>
>> /opt/ecos-old/eCosIRL/OS/ecos/packages/net/common/current/src/bootp_support.c:
>> In function ‘init_net’:
>>
>> /opt/ecos-old/eCosIRL/OS/ecos/packages/net/common/current/src/bootp_support.c:527:
>> warning: dereferencing pointer ‘addrp’ does break strict-aliasing
>> rules
>
> [cut]
>
> First, what does mean 'ecos-old' in your path? Where eCos sources came
> from on your disk? What eCos version do you use?
>
Short answer ecos-old is my "old trusty" ecos directory from v2.0 days
which has my personal patches applied, but has been 'cvs up'd within
the past couple of weeks.

Long answer, I planned on just using the latest eCos from CVS, and
applying my patches to that. But when they failed (and I had other
issues). I realized it was probably easier to just update my old one.

> Certainly, the newest GCC compilers (I call that you built 4.4.5) are
> more strict (they are very strict). eCos 3.0, eCos from AnonCVS are well
> tested with 4.3.2 GNU CC, and eCos-2.0's toolchains were based on GCC
> 3.2.1. Try to build the same version of cross compiler for your host.

There is a bug against gcc 4.3.x that prevents it from building under
OS X.6 (Snow Leopard)
[http://gcc.gnu.org/ml/gcc-patches/2009-08/msg01583.html]. That is why
I chose 4.4.x. I specifically took 4.4.5 because I figured the last in
the chain was probably the "most bug free".

>
> Some hints how to build GNU toolchain(s) for eCos you can find here
> http://ecos.sourceware.org/build-toolchain.html and greping (I hope)
> this list can help too.

Yes, I followed those instructions. (Although they are quite out of date).

> FYI: if I build eCos 3.0/CVS using 'net' template for 'pc' target using
> stable companion toolchain from eCosCentric (i386-elf-gcc version 4.3.2
> (eCosCentric GNU tools 4.3.2-sw) I have not got such long list of the
> warnings. I have no warnings at all on compiling 'net' and 'libm' stuff.
>
> HTH
>
> Sergei

Ok. So I just tried to build a new 'pc net' using cvs from a couple of
weeks ago (same age as my "ecos-old"), and I get the same results. So
now the question remains. Am I going to get incorrect compiled code
due to these warnings? Are the "tests" in other packages as thorough
as the libm tests? If they pass, can I assume a good binary?

Thanks for all of your help.
David Brennan

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]