Hello:

On Thu, Oct 29, 2020 at 8:30 AM Sachin More <[email protected]>
wrote:

> On Wed, Oct 28, 2020 at 8:27 PM Nick Spinale <[email protected]> wrote:
>
>> > Can I prepare, say seL4 11.0 and then apply your patches and then
>> compile using seL4's build system (or your build system if it is in public
>> domain)?
>>
>> At the moment, I’m unable to share the rest of the code for this
>> particular project. I have, however, published our Raspberry Pi 4-related
>> patches to public branches of 'seL4' [1] and ‘seL4_tools' [2]. These
>> patches, which are the extent of our Raspberry Pi 4-related patches for
>> upstream seL4 repositories, only encompasses the bootloader (“elfloader”)
>> and the seL4 kernel itself. The projects that you might use for getting
>> started, such as ‘sel4test’ [3], depend on platform support for userland
>> libraries such as those found in ’seL4_libs’ [4].
>>
>
> Thanks for the detailed explanation.
>

I started with the seL4 kernel link that you provided. I am using Ubuntu 20
running on the RP4 to build the kernel:

git clone https://github.com/nspin/seL4.git

git checkout origin/rpi4

mkdir build ; cd build

cmake -C /home/smore/seL4/configs/ARM_verified.cmake -G Ninja
-DCMAKE_TOOLCHAIN_FILE=/home/smore/seL4/gcc.cmake /home/smore/seL4

However, when I compile, I get the following errors.

ninja kernel.elf

[9/30] Building C object
CMakeFiles/kernel_bf_..._lib.dir/kernel_bf_gen_target_1_pbf_temp.c.obj

FAILED:
CMakeFiles/kernel_bf_gen_target_1_pbf_temp_lib.dir/kernel_bf_gen_target_1_pbf_temp.c.obj

/usr/bin/ccache /usr/bin/gcc --sysroot=/home/smore/seL4/build
-I../include/plat/default -I../include -I../include/32
-I../include/arch/arm -I../include/arch/arm/arch/32 -I../include/plat/imx6
-I../include/plat/imx6/plat/32 -I../include/arch/arm/armv/armv7-a
-I../include/arch/arm/armv/armv7-a/32 -I../libsel4/include
-I../libsel4/arch_include/arm -I../libsel4/sel4_arch_include/aarch32
-I../libsel4/sel4_plat_include/imx6 -I../libsel4/mode_include/32
-Igen_config -Iautoconf -Igen_headers -march=armv7-a -marm
-D__KERNEL_32__ -O3 -DNDEBUG   -nostdinc -nostdlib -O2 -DHAVE_AUTOCONF
-mfloat-abi=soft -fno-pic -fno-pie -fno-stack-protector
-fno-asynchronous-unwind-tables -std=c99 -Wall -Werror -Wstrict-prototypes
-Wmissing-prototypes -Wnested-externs -Wmissing-declarations -Wundef
-Wpointer-arith -Wno-nonnull -ffreestanding -E -P -MD -MT
CMakeFiles/kernel_bf_gen_target_1_pbf_temp_lib.dir/kernel_bf_gen_target_1_pbf_temp.c.obj
-MF
CMakeFiles/kernel_bf_gen_target_1_pbf_temp_lib.dir/kernel_bf_gen_target_1_pbf_temp.c.obj.d
-o
CMakeFiles/kernel_bf_gen_target_1_pbf_temp_lib.dir/kernel_bf_gen_target_1_pbf_temp.c.obj
  -c kernel_bf_gen_target_1_pbf_temp.c

gcc: error: unrecognized command-line option '-marm'

gcc: error: unrecognized command-line option '-mfloat-abi=soft'

[10/30] Building C object
CMakeFiles/kernel_al...lib.dir/kernel_all_pp_prune_wrapper_temp.c.obj

FAILED:
CMakeFiles/kernel_all_pp_prune_wrapper_temp_lib.dir/kernel_all_pp_prune_wrapper_temp.c.obj

/usr/bin/ccache /usr/bin/gcc --sysroot=/home/smore/seL4/build
-I../include/plat/default -I../include -I../include/32
-I../include/arch/arm -I../include/arch/arm/arch/32 -I../include/plat/imx6
-I../include/plat/imx6/plat/32 -I../include/arch/arm/armv/armv7-a
-I../include/arch/arm/armv/armv7-a/32 -I../libsel4/include
-I../libsel4/arch_include/arm -I../libsel4/sel4_arch_include/aarch32
-I../libsel4/sel4_plat_include/imx6 -I../libsel4/mode_include/32
-Igen_config -Iautoconf -Igen_headers -march=armv7-a -marm
-D__KERNEL_32__ -O3 -DNDEBUG   -nostdinc -nostdlib -O2 -DHAVE_AUTOCONF
-mfloat-abi=soft -fno-pic -fno-pie -fno-stack-protector
-fno-asynchronous-unwind-tables -std=c99 -Wall -Werror -Wstrict-prototypes
-Wmissing-prototypes -Wnested-externs -Wmissing-declarations -Wundef
-Wpointer-arith -Wno-nonnull -ffreestanding -E -CC
-I/home/smore/seL4/build/generated_prune -MD -MT
CMakeFiles/kernel_all_pp_prune_wrapper_temp_lib.dir/kernel_all_pp_prune_wrapper_temp.c.obj
-MF
CMakeFiles/kernel_all_pp_prune_wrapper_temp_lib.dir/kernel_all_pp_prune_wrapper_temp.c.obj.d
-o
CMakeFiles/kernel_all_pp_prune_wrapper_temp_lib.dir/kernel_all_pp_prune_wrapper_temp.c.obj
  -c kernel_all_pp_prune_wrapper_temp.c

gcc: error: unrecognized command-line option '-marm'

gcc: error: unrecognized command-line option '-mfloat-abi=soft'

ninja: build stopped: subcommand failed.

It seems that I am using the wrong toolchain for compilation. Any ideas?

thanks,
Sachin

If you decide to add Raspberry Pi 4 support to those userland libraries,
>> I’d be happy to help out with that.
>>
>
> I am not confident if I will be able to add RP4 support for the userland
> libraries. But I will give it a try and keep everyone posted if I get
> somewhere.
>
> thanks,
> Sachin
>
>
>>
>> [1] https://github.com/nspin/seL4/tree/rpi4
>> [2] https://github.com/nspin/seL4_tools/tree/rpi4
>> [3] https://github.com/seL4/sel4test-manifest
>> [4] https://github.com/seL4/seL4_libs
>>
>>
>> - - - -
>> Nick Spinale (nickspinale.com)
>> Arm Research, Cambridge UK
>> - - - -
>>
>> IMPORTANT NOTICE: The contents of this email and any attachments are
>> confidential and may also be privileged. If you are not the intended
>> recipient, please notify the sender immediately and do not disclose the
>> contents to any other person, use it for any purpose, or store or copy the
>> information in any medium. Thank you.
>>
>
_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to