On 14/9/20 3:06 pm, Sebastian Huber wrote: > 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.
Yes. We should only export the machine flags in pkgconfig's CFLAGS. We can export other things from a BSP but they need to be plgconfig variables.. An example would be mkimage arguments if the BSP can be booted by u-boot. > >> >> 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. Ah OK. > I think this define can go away at some point in time. That would be great. Chris _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel