LibBSD PowerPC motorola_shared BSP PCI Support

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Oct 27 17:41:57 UTC 2020


On 27/10/2020 15:41, Joel Sherrill wrote:
>
>
> On Tue, Oct 27, 2020 at 9:23 AM Heinz Junkes <junkes at fhi-berlin.mpg.de 
> <mailto:junkes at fhi-berlin.mpg.de>> wrote:
>
>     I am currently trying git rtems6.
>
>     ../source-builder/sb-set-builder --prefix=$HOME/.rtems --log
>     powerpc_beatnik.log --no-clean --target=powerpc-rtems6
>     --with-rtems-bsp=beatnik 6/rtems-powerpc 6/rtems-kernel
>
>     works …
>
>     Unfortunately It fails here:
>
>     ../source-builder/sb-set-builder --prefix=$HOME/.rtems --log
>     libbsd.log --no-clean --target=powerpc-rtems6
>     --with-rtems-bsp=beatnik --host=powerpc-rtems6 6/rtems-libbsd
>
>     ...
>     [1562/1948] Compiling freebsd/sbin/nvmecontrol/ns.c
>     In file included from
>     /home/ad/.rtems/lib/gcc/powerpc-rtems6/10.2.1/include/c++/cstdlib:75,
>                      from
>     /home/ad/.rtems/lib/gcc/powerpc-rtems6/10.2.1/include/c++/stdlib.h:36,
>                      from ../../freebsd/sys/sys/libkern.h:216,
>                      from ../../freebsd/sys/sys/systm.h:543,
>                      from ../../freebsd/sys/sys/mbuf.h:42,
>                      from ../../rtemsbsd/rtems/rtems-bsd-cxx.cc:48:
>     /home/ad/.rtems/powerpc-rtems6/include/stdlib.h:309:6: error:
>     conflicting declaration of C function 'void qsort_r(void*, size_t,
>     size_t, int (*)(const void*, const void*, void*
>     ), void*)'
>       309 | void qsort_r (void *__base, size_t __nmemb, size_t __size,
>     int (*_compar)(const void *, const void *, void *), void *__thunk);
>           |      ^~~~~~~
>     In file included from ../../freebsd/sys/sys/systm.h:543,
>                      from ../../freebsd/sys/sys/mbuf.h:42,
>                      from ../../rtemsbsd/rtems/rtems-bsd-cxx.cc:48:
>     ../../freebsd/sys/sys/libkern.h:211:7: note: previous declaration
>     'void qsort_r(void*, size_t, size_t, void*, int (*)(void*, const
>     void*, const void*))'
>       211 | void  qsort_r(void *base, size_t nmemb, size_t size, void
>     *thunk,
>           |       ^~~~~~~
>
>     Waf: Leaving directory
>     `/home/ad/RTEMS_DEV/rtems-source-builder/rtems/build/rtems-libbsd-d964a6703c705cc92fd053bcefc08bb3b6baa0e2-powerpc-rtems6-1/rtems-libbsd-d964a6703c705cc9
>     2fd053bcefc08bb3b6baa0e2/build/powerpc-rtems6-beatnik-default'
>     Build failed
>      -> task in 'bsd' failed with exit status 1 (run with -v to
>     display more information)
>     shell cmd failed: /bin/sh -ex
>     /home/ad/RTEMS_DEV/rtems-source-builder/rtems/build/rtems-libbsd-d964a6703c705cc92fd053bcefc08bb3b6baa0e2-powerpc-rtems6-1/do-build
>     error: building
>     rtems-libbsd-d964a6703c705cc92fd053bcefc08bb3b6baa0e2-powerpc-rtems6-1
>
>
> I'm not sure why this would not have shown up before but the FreeBSD 
> kernel reuses some standard library method names with different 
> signatures. The 
> file rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h renames a 
> lot of items to put them in a BSD namespace. qsort_r isn't in this 
> list but perhaps should be.

I think its is this bug:

https://devel.rtems.org/ticket/4078

I added a workaround to the latest master and 6-freebsd-12 branches.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the devel mailing list