<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
sorry for the typo - I meant -mcpu v8 â€¦
<div class="">I have used this for bsps (RTEMS 4.9) with FPU without needing the -mhard-float specification</div>
<div class="">For non FPU bsps I have used -msoft-float</div>
<div class="">both with-mcpu v8</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Feb 8, 2016, at 5:14 AM, Needell, Jerry <<a href="mailto:Jerry.Needell@unh.edu" class="">Jerry.Needell@unh.edu</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
I thought it was best to use -mv8 rather tahtn -mcypress for leon3 bsps?  Does this make any difference in your case?<br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On Feb 8, 2016, at 4:50 AM, <a href="mailto:Athanasios.Tsiodras@esa.int" class="">
Athanasios.Tsiodras@esa.int</a> wrote:</div>
<br class="Apple-interchange-newline">
<div class=""><font size="2" face="sans-serif" class="">I verified Sebastian's suggestion - by modifying the leon3.cfg file...</font>
<br class="">
<br class="">
<font size="2" face="sans-serif" class="">    diff --git a/c/src/lib/libbsp/sparc/leon3/make/custom/leon3.cfg b/c/src/lib/libbsp/sparc/leon3/make/custom/leon3.cfg</font>
<br class="">
<font size="2" face="sans-serif" class="">    index 58f2f07..30fc3a4 100644</font>
<br class="">
<font size="2" face="sans-serif" class="">    --- a/c/src/lib/libbsp/sparc/leon3/make/custom/leon3.cfg</font>
<br class="">
<font size="2" face="sans-serif" class="">    +++ b/c/src/lib/libbsp/sparc/leon3/make/custom/leon3.cfg</font>
<br class="">
<font size="2" face="sans-serif" class="">    @@ -9,7 +9,8 @@ RTEMS_CPU_MODEL=leon3</font>
<br class="">
<br class="">
<font size="2" face="sans-serif" class="">     #  This contains the compiler options necessary to select the CPU model</font>
<br class="">
<font size="2" face="sans-serif" class="">     #  and (hopefully) optimize for it.</font>
<br class="">
<font size="2" face="sans-serif" class="">    -CPU_CFLAGS = -mcpu=cypress -msoft-float</font>
<br class="">
<font size="2" face="sans-serif" class="">    +CPU_CFLAGS = -mcpu=cypress -mhard-float</font>
<br class="">
<br class="">
<font size="2" face="sans-serif" class="">...the generated binary of hello.exe works fine - I went a step further and did a test calculation, too:</font>
<br class="">
<br class="">
<font size="2" face="sans-serif" class="">    diff --git a/testsuites/samples/hello/init.c b/testsuites/samples/hello/init.c</font>
<br class="">
<font size="2" face="sans-serif" class="">    index d8fe450..6ee33f6 100644</font>
<br class="">
<font size="2" face="sans-serif" class="">    --- a/testsuites/samples/hello/init.c</font>
<br class="">
<font size="2" face="sans-serif" class="">    +++ b/testsuites/samples/hello/init.c</font>
<br class="">
<font size="2" face="sans-serif" class="">    @@ -27,8 +27,13 @@ rtems_task Init(</font>
<br class="">
<font size="2" face="sans-serif" class="">       rtems_task_argument ignored</font>
<br class="">
<font size="2" face="sans-serif" class="">     )</font> <br class="">
<font size="2" face="sans-serif" class="">     {</font> <br class="">
<font size="2" face="sans-serif" class="">    +  int i = 0;</font> <br class="">
<font size="2" face="sans-serif" class="">    +  float a=3.14159f, b=1.0f;</font>
<br class="">
<font size="2" face="sans-serif" class="">    +</font> <br class="">
<font size="2" face="sans-serif" class="">       rtems_test_begin();</font> <br class="">
<font size="2" face="sans-serif" class="">    -  printf( "Hello World\n" );</font>
<br class="">
<font size="2" face="sans-serif" class="">    +  for (i=0; i<10; i++)</font> <br class="">
<font size="2" face="sans-serif" class="">    +      b*=a;</font> <br class="">
<font size="2" face="sans-serif" class="">    +  printf( "Hello World, %f\n", b );</font>
<br class="">
<font size="2" face="sans-serif" class="">       rtems_test_end();</font> <br class="">
<font size="2" face="sans-serif" class="">       exit( 0 );</font> <br class="">
<font size="2" face="sans-serif" class="">     }</font> <br class="">
<br class="">
<font size="2" face="sans-serif" class="">...which worked fine:</font> <br class="">
<br class="">
<font size="2" face="sans-serif" class="">    (gdb) tar extended-remote ... ( to grmon)</font>
<br class="">
<font size="2" face="sans-serif" class="">    (gdb) c</font> <br class="">
<font size="2" face="sans-serif" class="">    Continuing.</font> <br class="">
<br class="">
<font size="2" face="sans-serif" class="">    *** BEGIN OF TEST HELLO WORLD ***</font>
<br class="">
<font size="2" face="sans-serif" class="">    Hello World, 1.000000</font> <br class="">
<font size="2" face="sans-serif" class="">    *** END OF TEST HELLO WORLD ***</font>
<br class="">
<br class="">
<font size="2" face="sans-serif" class="">...and I made sure that FPU instructions are inside:</font>
<br class="">
<br class="">
<font size="2" face="sans-serif" class="">      for (i=0; i<10; i++)</font> <br class="">
<font size="2" face="sans-serif" class="">      28:   82 80 7f ff     addcc  %g1, -1, %g1</font>
<br class="">
<font size="2" face="sans-serif" class="">      2c:   12 bf ff ff     bne  28 <Init+0x28></font>
<br class="">
<font size="2" face="sans-serif" class="">      30:   91 a2 09 29     fmuls  %f8, %f9, %f8</font>
<br class="">
<font size="2" face="sans-serif" class="">          b*=a;</font> <br class="">
<font size="2" face="sans-serif" class="">      printf( "Hello World, %f\n", b );</font>
<br class="">
<font size="2" face="sans-serif" class="">      34:   91 a0 19 28     fstod  %f8, %f8</font>
<br class="">
<br class="">
<font size="2" face="sans-serif" class="">So, executive summary....  It seems that the default compilation settings of the Leon3 BSP forbid "real FPU" work.
</font><br class="">
<font size="2" face="sans-serif" class="">If one needs to work in native (non-emulated) FPU mode, then the leon3.cfg must be patched as I showed above.
</font><br class="">
<br class="">
<font size="2" face="sans-serif" class="">In the long run, as Sebastian indicated, a leon3fp (and a corresponding leon2fp, I imagine)
</font><br class="">
<font size="2" face="sans-serif" class="">should ideally be added as new BSP targets - and the FPU page</font>
<br class="">
<font size="2" face="sans-serif" class="">(</font><a href="https://devel.rtems.org/wiki/TBR/UserManual/Floating_Point_Support" class=""><font size="2" color="blue" face="sans-serif" class="">https://devel.rtems.org/wiki/TBR/UserManual/Floating_Point_Support</font></a><font size="2" face="sans-serif" class="">)
 should probably </font><br class="">
<font size="2" face="sans-serif" class="">be updated to indicate this.</font> <br class="">
<br class="">
<font size="2" face="sans-serif" class="">Thanks to everyone for their help,</font>
<br class="">
<font size="2" face="sans-serif" class="">Thanassis.</font> <br class="">
<br class="">
<br class="">
<font size="2" face="sans-serif" class=""><b class="">European Space Agency (via HE Space)</b></font>
<br class="">
<font size="2" color="#000080" face="sans-serif" class="">Thanassis Tsiodras</font>
<br class="">
<font size="2" face="sans-serif" class="">Real-time Embedded Software Engineer </font>
<br class="">
<font size="2" face="sans-serif" class="">System, Software and Technology Department</font>
<br class="">
<br class="">
<font size="2" face="sans-serif" class=""><b class="">ESTEC</b></font> <br class="">
<font size="2" face="sans-serif" class="">Keplerlaan 1, PO Box 299</font> <br class="">
<font size="2" face="sans-serif" class="">NL-2200 AG Noordwijk, The Netherlands</font>
<br class="">
<font size="2" face="sans-serif" class=""><a href="mailto:Athanasios.Tsiodras@esa.int" class="">Athanasios.Tsiodras@esa.int</a> |
</font><a href="x-msg://11/www.esa.int" class=""><font color="red"><b>MailScanner has detected a possible fraud attempt from "x-msg:" claiming to be</b></font> <font size="2" color="blue" face="sans-serif" class="">www.esa.int</font></a>
<br class="">
<font size="2" face="sans-serif" class="">T +31 71 565 5332</font> <br class="">
<br class="">
<br class="">
<br class="">
<font size="1" color="#5f5f5f" face="sans-serif" class="">From:        </font><font size="1" face="sans-serif" class="">"Sebastian Huber" <<a href="mailto:sebastian.huber@embedded-brains.de" class="">sebastian.huber@embedded-brains.de</a>></font>
<br class="">
<font size="1" color="#5f5f5f" face="sans-serif" class="">To:        </font><font size="1" face="sans-serif" class="">"RTEMS List" <<a href="mailto:users@rtems.org" class="">users@rtems.org</a>></font>
<br class="">
<font size="1" color="#5f5f5f" face="sans-serif" class="">Cc:        </font><font size="1" face="sans-serif" class=""><a href="mailto:software@gaisler.com" class="">software@gaisler.com</a></font>
<br class="">
<font size="1" color="#5f5f5f" face="sans-serif" class="">Date:        </font><font size="1" face="sans-serif" class="">07/02/2016 07:40</font>
<br class="">
<font size="1" color="#5f5f5f" face="sans-serif" class="">Subject:        </font><font size="1" face="sans-serif" class="">Re: Crash under sparc/rtems-4.11 when compiling with FPU</font>
<br class="">
<font size="1" color="#5f5f5f" face="sans-serif" class="">Sent by:        </font><font size="1" face="sans-serif" class="">"users" <<a href="mailto:users-bounces@rtems.org" class="">users-bounces@rtems.org</a>></font>
<br class="">
<hr noshade="" class="">
<br class="">
<br class="">
<br class="">
<tt class=""><font size="2" class="">Hello Athanasios,<br class="">
<br class="">
it was always a miracle to me how you are supposed to use the leon2/leon3 BSPs with a FPU. If you want to use the FPU, then the BSP must be built with the -mhard-float option, otherwise the FPU support is not enabled in the operating system support. In addition
 the application configuration must be compiled with exactly the same compiler flags as the BSP, otherwise it will generate a corrupt configuration.<br class="">
<br class="">
I think we need leon2fp and leon3fp BSPs, which use -mhard-float.<br class="">
<br class="">
-- <br class="">
Sebastian Huber, embedded brains GmbH<br class="">
<br class="">
Address : Dornierstr. 4, D-82178 Puchheim, Germany<br class="">
Phone   : +49 89 189 47 41-16<br class="">
Fax     : +49 89 189 47 41-09<br class="">
E-Mail  : sebastian.huber at <a href="http://embedded-brains.de/" class="">embedded-brains.de</a><br class="">
PGP     : Public key available on request.<br class="">
<br class="">
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br class="">
_______________________________________________<br class="">
users mailing list<br class="">
<a href="mailto:users@rtems.org" class="">users@rtems.org</a><br class="">
</font></tt><a href="http://lists.rtems.org/mailman/listinfo/users" class=""><tt class=""><font size="2" class="">http://lists.rtems.org/mailman/listinfo/users</font></tt></a>
<br class="">
<pre class="">This message and any attachments are intended for the use of the addressee or addressees only.
The unauthorised disclosure, use, dissemination or copying (either in whole or in part) of its
content is not permitted.
If you received this message in error, please notify the sender and delete it from your system.
Emails can be altered and their integrity cannot be guaranteed by the sender.

Please consider the environment before printing this email.
</pre>
_______________________________________________<br class="">
users mailing list<br class="">
<a href="mailto:users@rtems.org" class="">users@rtems.org</a><br class="">
<a href="http://lists.rtems.org/mailman/listinfo/users" class="">http://lists.rtems.org/mailman/listinfo/users</a></div>
</blockquote>
</div>
<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>