1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-10-13 16:42:08 +00:00
serenity/Kernel/Arch/x86/common
Daniel Bertalan 779cf49f38 Kernel: Fix Clang not initializing s_bsp_processor correctly
Initializing the variable this way fixes a kernel panic in Clang where
the object was zero-initialized, so the `m_in_scheduler` contained the
wrong value. GCC got it right, but we're better off making this change,
as leaving uninitialized fields in constant-initialized objects can
cause other weird situations like this. Also, initializing only a single
field to a non-zero value isn't worth the cost of no longer fitting in
`.bss`.

Another two variables suffer from the same problem, even though their
values are supposed to be zero. Removing these causes the
`_GLOBAL_sub_I_` function to no longer be generated and the (not
handled) `.init_array` section to be omitted.
2021-08-30 13:20:34 +02:00
..
ASM_wrapper.cpp Kernel: Move special sections into Sections.h 2021-06-24 00:38:23 +02:00
CPU.cpp Kernel: Make Process::current() return a Process& instead of Process* 2021-08-19 23:49:53 +02:00
Interrupts.cpp Kernel: Rename Spinlock::is_owned_by_current_thread() 2021-08-29 22:19:42 +02:00
Processor.cpp Kernel: Fix Clang not initializing s_bsp_processor correctly 2021-08-30 13:20:34 +02:00
ProcessorInfo.cpp Kernel: Add stubs for missing x86_64 functionality 2021-06-24 09:27:13 +02:00
SafeMem.cpp Kernel: Consolidate a bunch of i386/x86_64 code paths 2021-08-19 23:22:02 +02:00
TrapFrame.cpp Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00