A clean upstream checkout fails to build w/ gcc 11.2 because of the section
mismatch.

On Mon, Aug 1, 2022 at 3:57 PM Sam Leffler <[email protected]> wrote:

> On Mon, Aug 1, 2022 at 2:53 PM Axel Heider <[email protected]> wrote:
>
>> Sam,
>>
>> >
>> /usr/local/google/home/sleffler/camkes-aarch64-rootserver/kernel/include/arch/arm/arch/64/mode/kernel/vspace.h:55:36:
>> > error: ‘mode_reserved_region’ causes a section type conflict with
>> > ‘avail_p_regs’
>> >    55 | static const region_t BOOT_RODATA *mode_reserved_region = NULL;
>> >                  ...
>> >
>> /usr/local/google/home/sleffler/camkes-aarch64-rootserver/build/kernel/gen_headers/plat/machine/devices_gen.h:67:37:
>> > note: ‘avail_p_regs’ was declared here
>> >    67 | static const p_region_t BOOT_RODATA avail_p_regs[] = {
>> >
>> > Looking at the commit history I see this commit:
>> >
>> https://github.com/seL4/seL4/commit/680ce96b590295c1d49db6a2a34f77ac22e8475a
>> > followed by this commit:
>> >
>> https://github.com/seL4/seL4/commit/8a87015a7c289f8bc2b5799d61e7c91482ad1cb2
>> > I'm using gcc 11.2 from arm's prebuilt toolchain repo:
>> >
>> https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/downloads
>> > Removing the clang band-aid fixes things.
>>
>>
>> I have some dark blurry memories about this "mode_reserved_region" and
>> trying
>> to hide this away in AARCH32, as it was only needed there. Makes we wonder
>> if that might be the best way to continue - do not define or reference
>> "mode_reserved_region" at all unless MODE_RESERVED is greater 0 there.
>> But I
>> can't rember why we kept it the way it is, might have been for
>> verification.
>> The that left us with the C parser used there, that does not support empty
>> arrays.
>>
>>
> The commit msg says it's #ifdef'd clang to avoid impacting verification.
> But w/ the 11.2 gcc toolchain it doesn't compile as-is so my question is
> whether I'm missing some other change that addresses this or if I'm at the
> bleeding edge toolchain and we need a narrower #ifdef or similar. I can
> always keep a local change but at some point I'll want to sync w upstream
> and have to deal with this.
>
> Guess I need to pull a clean checkout and see whether it compiles w/ gcc
> 11.2.
>
> -Sam
>
_______________________________________________
Devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to