On 14/09/2020 01:46, Chris Johns wrote:
On 13/9/20 3:46 am, Sebastian Huber wrote:
Hello,

I can't build the libbsd for powerpc/beatnik:

---------------------------------------------
Compiler version (powerpc-rtems6-gcc)
10.2.1 20200904 (RTEMS 6, RSB 47f32b8b1a597b5ed3475722bdc155249ef51115, Newlib
a0d7982)
Opening and load pkgconfig:
/ramdisk/git-rtems-6/build/install/lib/pkgconfig/powerpc-rtems6-beatnik.pc
-----------------------------------------
CFLAGS ->
    -qrtems -B/ramdisk/git-rtems-6/build/install/powerpc-rtems6/beatnik/lib
-D__ppc_generic -mcpu=7400
LDFLAGS ->
pkconfig warning: Label not found: LDFLAGS

LIB ->
pkconfig warning: Label not found: LIB

---------------------------------------------
Checking for a valid RTEMS BSP installation
==>
#include <rtems.h>
void Init(rtems_task_argument arg) { (void)arg; }
#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
#define CONFIGURE_MAXIMUM_TASKS 1
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_INIT
#include <rtems/confdefs.h>
<==
[1/2] Compiling build/.conf_check_261484d99ea5da27480d47dee9a30c04/test.c

['/build/rtems/6/bin/powerpc-rtems6-gcc', '-qrtems',
'-B/ramdisk/git-rtems-6/build/install/powerpc-rtems6/beatnik/lib', '-mcpu=7400',
'-MMD', '../test.c', '-c',
'-o/ramdisk/git-rtems-libbsd/build/.conf_check_261484d99ea5da27480d47dee9a30c04/testbuild/test.c.1.o']

err: In file included from
/ramdisk/git-rtems-6/build/install/powerpc-rtems6/beatnik/lib/include/libcpu/powerpc-utility.h:46,

                  from
/ramdisk/git-rtems-6/build/install/powerpc-rtems6/beatnik/lib/include/bsp/vectors.h:40,

                  from
/ramdisk/git-rtems-6/build/install/powerpc-rtems6/beatnik/lib/include/bsp.h:45,
                  from
/ramdisk/git-rtems-6/build/install/powerpc-rtems6/beatnik/lib/include/rtems/confdefs/bsp.h:53,

                  from
/ramdisk/git-rtems-6/build/install/powerpc-rtems6/beatnik/lib/include/rtems/confdefs/extensions.h:45,

                  from
/ramdisk/git-rtems-6/build/install/powerpc-rtems6/beatnik/lib/include/rtems/confdefs.h:67,

                  from ../test.c:7:
/ramdisk/git-rtems-6/build/install/powerpc-rtems6/beatnik/lib/include/rtems/powerpc/powerpc.h:289:2:
error: #error "Unsupported CPU Model"
   289 | #error "Unsupported CPU Model"
       |  ^~~~~

I haven't figured out why the "-D__ppc_generic" is removed from the CFLAGS.

There are multiple places filtering happens. It could be rtems_waf ...

https://git.rtems.org/rtems_waf/tree/rtems.py#n840

of pkgconfig in the RSB ...

https://git.rtems.org/rtems-source-builder/tree/rtems/config/rtems-bsp.cfg#n40
https://git.rtems.org/rtems-source-builder/tree/source-builder/sb/config.py#n512

Exporting of internal build flags by RTEMS to applications needs to be consider
a bug. This happens in a small number of cases like this one but the effort and
complexity involved in managing these cases outside of Makefile.inc is growing.

I am reluctant to support adding exceptions to the filtering of flags to manage
things like this because it is a slippery slope and fragile. The hack at the
moment is to take the flags and remove the warning ones. In rtems_waf the
filtering goes further to group the flags to isolate machine flags so the ABI
can be cleanly exported to the 3rd party libraries and applications.

The goal should be to export the information in the new build system so that we don't have to filter it.


I think using a command line -Dsomething to control a machine configuration
outside of the RTEMS build arena is fragile. Can this be added to the powerpc's
bspopts.h as a #define for this BSP?

It is just something that came up during the testing of the new build system. I think this define can go away at some point in time.

--
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.hu...@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to