<div dir="auto"><div>I<br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 27, 2020, 12:42 PM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
On 27/10/2020 15:41, Joel Sherrill wrote:<br>
><br>
><br>
> On Tue, Oct 27, 2020 at 9:23 AM Heinz Junkes <<a href="mailto:junkes@fhi-berlin.mpg.de" target="_blank" rel="noreferrer">junkes@fhi-berlin.mpg.de</a> <br>
> <mailto:<a href="mailto:junkes@fhi-berlin.mpg.de" target="_blank" rel="noreferrer">junkes@fhi-berlin.mpg.de</a>>> wrote:<br>
><br>
>     I am currently trying git rtems6.<br>
><br>
>     ../source-builder/sb-set-builder --prefix=$HOME/.rtems --log<br>
>     powerpc_beatnik.log --no-clean --target=powerpc-rtems6<br>
>     --with-rtems-bsp=beatnik 6/rtems-powerpc 6/rtems-kernel<br>
><br>
>     works …<br>
><br>
>     Unfortunately It fails here:<br>
><br>
>     ../source-builder/sb-set-builder --prefix=$HOME/.rtems --log<br>
>     libbsd.log --no-clean --target=powerpc-rtems6<br>
>     --with-rtems-bsp=beatnik --host=powerpc-rtems6 6/rtems-libbsd<br>
><br>
>     ...<br>
>     [1562/1948] Compiling freebsd/sbin/nvmecontrol/ns.c<br>
>     In file included from<br>
>     /home/ad/.rtems/lib/gcc/powerpc-rtems6/10.2.1/include/c++/cstdlib:75,<br>
>                      from<br>
>     /home/ad/.rtems/lib/gcc/powerpc-rtems6/10.2.1/include/c++/stdlib.h:36,<br>
>                      from ../../freebsd/sys/sys/libkern.h:216,<br>
>                      from ../../freebsd/sys/sys/systm.h:543,<br>
>                      from ../../freebsd/sys/sys/mbuf.h:42,<br>
>                      from ../../rtemsbsd/rtems/rtems-bsd-cxx.cc:48:<br>
>     /home/ad/.rtems/powerpc-rtems6/include/stdlib.h:309:6: error:<br>
>     conflicting declaration of C function 'void qsort_r(void*, size_t,<br>
>     size_t, int (*)(const void*, const void*, void*<br>
>     ), void*)'<br>
>       309 | void qsort_r (void *__base, size_t __nmemb, size_t __size,<br>
>     int (*_compar)(const void *, const void *, void *), void *__thunk);<br>
>           |      ^~~~~~~<br>
>     In file included from ../../freebsd/sys/sys/systm.h:543,<br>
>                      from ../../freebsd/sys/sys/mbuf.h:42,<br>
>                      from ../../rtemsbsd/rtems/rtems-bsd-cxx.cc:48:<br>
>     ../../freebsd/sys/sys/libkern.h:211:7: note: previous declaration<br>
>     'void qsort_r(void*, size_t, size_t, void*, int (*)(void*, const<br>
>     void*, const void*))'<br>
>       211 | void  qsort_r(void *base, size_t nmemb, size_t size, void<br>
>     *thunk,<br>
>           |       ^~~~~~~<br>
><br>
>     Waf: Leaving directory<br>
>     `/home/ad/RTEMS_DEV/rtems-source-builder/rtems/build/rtems-libbsd-d964a6703c705cc92fd053bcefc08bb3b6baa0e2-powerpc-rtems6-1/rtems-libbsd-d964a6703c705cc9<br>
>     2fd053bcefc08bb3b6baa0e2/build/powerpc-rtems6-beatnik-default'<br>
>     Build failed<br>
>      -> task in 'bsd' failed with exit status 1 (run with -v to<br>
>     display more information)<br>
>     shell cmd failed: /bin/sh -ex<br>
>     /home/ad/RTEMS_DEV/rtems-source-builder/rtems/build/rtems-libbsd-d964a6703c705cc92fd053bcefc08bb3b6baa0e2-powerpc-rtems6-1/do-build<br>
>     error: building<br>
>     rtems-libbsd-d964a6703c705cc92fd053bcefc08bb3b6baa0e2-powerpc-rtems6-1<br>
><br>
><br>
> I'm not sure why this would not have shown up before but the FreeBSD <br>
> kernel reuses some standard library method names with different <br>
> signatures. The <br>
> file rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h renames a <br>
> lot of items to put them in a BSD namespace. qsort_r isn't in this <br>
> list but perhaps should be.<br>
<br>
I think its is this bug:<br>
<br>
<a href="https://devel.rtems.org/ticket/4078" rel="noreferrer noreferrer" target="_blank">https://devel.rtems.org/ticket/4078</a><br>
<br>
I added a workaround to the latest master and 6-freebsd-12 branches.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Why don't we fix it in the gcc sources for 5 and later? Any code fixing this breaks was already broken </div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
-- <br>
Sebastian Huber, embedded brains GmbH<br>
<br>
Address : Dornierstr. 4, D-82178 Puchheim, Germany<br>
Phone   : +49 89 189 47 41-16<br>
Fax     : +49 89 189 47 41-09<br>
E-Mail  : <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank" rel="noreferrer">sebastian.huber@embedded-brains.de</a><br>
PGP     : Public key available on request.<br>
<br>
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br>
<br>
</blockquote></div></div></div>