<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en" style='--code-editor-font: var(--default-mono-font, "GitLab Mono"), JetBrains Mono, Menlo, DejaVu Sans Mono, Liberation Mono, Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospace;'>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>
GitLab
</title>
<style data-premailer="ignore" type="text/css">
a { color: #1068bf; }
</style>
<style>img {
max-width: 100%; height: auto;
}
body {
font-size: .875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px;
}
body {
font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; font-size: inherit;
}
</style>
</head>
<body style='font-size: inherit; -webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px; font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";'>
<div class="content">
<p style="color: #777777;">
<a href="https://gitlab.rtems.org/joel">Joel Sherrill</a>
commented on a
<a href="https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5434#note_140946">discussion</a>:
</p>
<div class="md" style="position: relative; z-index: 1; color: #3a383f; word-wrap: break-word;">
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial">Sorry in advance if I miss something. Important to note that <a href="https://gitlab.rtems.org/rurban" data-reference-type="user" data-user="1963" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Reini Urban" style="color: #284779; background-color: #cbe2f9; border-radius: .25rem; margin-top: 0; padding: 0 2px;">@rurban</a> is now on on the RTEMS GitLab and willing to mentor.</p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial"><strong style="font-weight: 600; margin-top: 0;">Configure safeclib Tests -</strong> There is a default configuration library installed by all BSPs which you can use. (librtemsdefaultconfig.a). This is enough to link and run some tests. Very basic configuration. My <a href="https://gitlab.rtems.org/joel/rtems-testing-helpers">test helpers</a> are old but have similar rtems config files to test gcc itself with.</p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial">Also, there will eventually be two ways we want this configured/built. One is to build for a specific BSP. In that case you will need to specify the C flags and linker arguments in addition to the RTEMS config. I have attached a very simple example which shows how to use pkgconfig to get those from any BSP. This build way should work and with careful setting of parameters should let the tests run.</p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial"><strong style="font-weight: 600; margin-top: 0;">Float Support</strong> - I see that newlib's isinfl() matches that of Linux but newlib's math.h has this:</p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial"><code style='font-size: 90%; color: #18171d; word-wrap: break-word; border-radius: .25rem; background-color: #ececef; margin-top: 0; font-weight: inherit; white-space: break-spaces; overflow-wrap: break-word; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;'>#ifdef **CYGWIN** /* not implemented in newlib yet */</code></p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial"><code style='font-size: 90%; color: #18171d; word-wrap: break-word; border-radius: .25rem; background-color: #ececef; margin-top: 0; font-weight: inherit; white-space: break-spaces; overflow-wrap: break-word; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;'>extern int isinfl (long double); </code></p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial"><code style='font-size: 90%; color: #18171d; word-wrap: break-word; border-radius: .25rem; background-color: #ececef; margin-top: 0; font-weight: inherit; white-space: break-spaces; overflow-wrap: break-word; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;'>extern int isnanl (long double); </code></p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial"><code style='font-size: 90%; color: #18171d; word-wrap: break-word; border-radius: .25rem; background-color: #ececef; margin-top: 0; font-weight: inherit; white-space: break-spaces; overflow-wrap: break-word; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: keep-all; padding: 0.125rem 0.25rem;'>#endif</code></p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial">The implementation for Cygwin is in <em style="margin-top: 0;">winsup/cygwin/math/isinf.c</em> in the newlib source. Part of the project will be adding that to newlib for RTEMS (change that ifdef and possibly copy the winsup implementation to newlib). The alternative is changing safeclib not to use this non-standard function. Personally, I am happy either way. But the RTEMS philosophy leans to adding APIs which aid portability. Although non-standard, this falls into this bucket.</p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial">So first build to target a specific BSP and test. Later build it multilib and add building it to the RTEMS Source Builder.</p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial"><strong style="font-weight: 600; margin-top: 0;">Upstream Bugs</strong> - If these are in safeclib,<a href="https://gitlab.rtems.org/rurban" data-reference-type="user" data-user="1963" data-container="body" data-placement="top" class="gfm gfm-project_member js-user-link" title="Reini Urban" style="color: #284779; background-color: #cbe2f9; border-radius: .25rem; padding: 0 2px;">@rurban</a> is the ultimate answer but my advice would be to file issues and make specific pull requests on the safeclib repo with fixes.</p>
<p dir="auto" style="color: #3a383f; margin: 0 0 1rem;" align="initial">And remember, RTEMS has applied to GSoC but the participating organisations have not been announced. Keep track of what you are doing, have done, and have planned. That should be in your GSoC project proposal.</p>
<p dir="auto" style="color: #3a383f; margin: 0;" align="initial"><a href="https://gitlab.rtems.org/-/project/26/uploads/05d810148cb2731f36a5e280778b40ab/quick_pc.tar.bz2" data-canonical-src="/uploads/05d810148cb2731f36a5e280778b40ab/quick_pc.tar.bz2" data-link="true" class="gfm" style="margin-top: 0;">quick_pc.tar.bz2</a></p>
</div>
</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #626168;">
—
<br>
<a href="https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5434#note_140946">View it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target="_blank" rel="noopener noreferrer" href="https://gitlab.rtems.org">gitlab.rtems.org</a>. <a href="https://gitlab.rtems.org/-/sent_notifications/1-09d01jksnof0nia98bt8py8vl/unsubscribe" target="_blank" rel="noopener noreferrer">Unsubscribe</a> from this thread · <a href="https://gitlab.rtems.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link">Manage all notifications</a> · <a href="https://gitlab.rtems.org/help" target="_blank" rel="noopener noreferrer" class="help-link">Help</a>
<span style="color: transparent; font-size: 0; display: none; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0;">
Notification message regarding https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5434#note_140946 at 1770136424
</span>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Issue","url":"https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5434#note_140946"}}</script>
</p>
</div>
</body>
</html>