seL4 / sel4runtime

A minimal runtime for seL4 applications.
Other
12 stars 29 forks source link

aarch32: Rename __aeabi_read_tp file #15

Closed kent-mcleod closed 2 years ago

kent-mcleod commented 2 years ago

The .S extension causes this file to be preprocessed before the assembler is invoked which matches up with the preprocessor arguments that CMake constructs for it's compilation step.

When compiling with Clang this would previously generate warnings about unused preprocessor variables.

Signed-off-by: Kent McLeod kent@kry10.com

axel-h commented 2 years ago

What is the error you see there? I've been looking though some log of the github CI and did not see it in the clang builds.

kent-mcleod commented 2 years ago
[2/184] Building ASM object sel4runtime/CMake...r/src/sel4_arch/aarch32/__aeabi_read_tp.s.obj
clang-9: warning: argument unused during compilation: '-D __KERNEL_32__' [-Wunused-command-line-argument]
clang-9: warning: argument unused during compilation: '-fno-stack-protector' [-Wunused-command-line-argument]
clang-9: warning: argument unused during compilation: '-fno-asynchronous-unwind-tables' [-Wunused-command-line-argument]
clang-9: warning: argument unused during compilation: '-MD' [-Wunused-command-line-argument]
clang-9: warning: argument unused during compilation: '-MT sel4runtime/CMakeFiles/sel4runtime.dir/src/sel4_arch/aarch32/__aeabi_read_tp.s.obj' [-Wunused-command-line-argument]
clang-9: warning: argument unused during compilation: '-MF sel4runtime/CMakeFiles/sel4runtime.dir/src/sel4_arch/aarch32/__aeabi_read_tp.s.obj.d' [-Wunused-command-line-argument]

It's hidden by a default setting in llvm.cmake: https://github.com/seL4/seL4/blob/master/llvm.cmake#L22 It's not great that the toolchain file needs to turn off several warning types at the moment. It should be possible to address the underlying issues instead and then they can be eventually removed.

axel-h commented 2 years ago

Thanks, makes sense to merge this then.

axel-h commented 2 years ago

Can we remove https://github.com/seL4/seL4/blob/master/llvm.cmake#L22 then or is there more?

kent-mcleod commented 2 years ago

Can we remove https://github.com/seL4/seL4/blob/master/llvm.cmake#L22 then or is there more?

https://github.com/seL4/musllibc/pull/14 and https://github.com/seL4/seL4/pull/664 are now created to try and remove these options all together