mirror of
https://github.com/RGBCube/serenity
synced 2025-05-30 21:38:11 +00:00
Kernel: Build the kernel as a position-independent executable
This is a prerequisite for KASLR, which we should eventually be doing.
This commit is contained in:
parent
53bda09d15
commit
0614c3dd3c
2 changed files with 6 additions and 1 deletions
|
@ -118,7 +118,7 @@ KERNEL = 1
|
||||||
|
|
||||||
PROGRAM = kernel
|
PROGRAM = kernel
|
||||||
|
|
||||||
SUBPROJECT_CXXFLAGS += -ffreestanding -mno-80387 -mno-mmx -mno-sse -mno-sse2 -fno-asynchronous-unwind-tables
|
SUBPROJECT_CXXFLAGS += -pie -fPIE -ffreestanding -mno-80387 -mno-mmx -mno-sse -mno-sse2 -fno-asynchronous-unwind-tables
|
||||||
SUBPROJECT_CXXFLAGS += -nostdlib -nostdinc -nostdinc++
|
SUBPROJECT_CXXFLAGS += -nostdlib -nostdinc -nostdinc++
|
||||||
SUBPROJECT_CXXFLAGS += -I../Toolchain/Local/i686-pc-serenity/include/c++/9.2.0/
|
SUBPROJECT_CXXFLAGS += -I../Toolchain/Local/i686-pc-serenity/include/c++/9.2.0/
|
||||||
SUBPROJECT_CXXFLAGS += -I../Toolchain/Local/i686-pc-serenity/include/c++/9.2.0/i686-pc-serenity/
|
SUBPROJECT_CXXFLAGS += -I../Toolchain/Local/i686-pc-serenity/include/c++/9.2.0/i686-pc-serenity/
|
||||||
|
|
|
@ -220,4 +220,9 @@ u32 __stack_chk_guard = (u32)0xc0000c13;
|
||||||
{
|
{
|
||||||
ASSERT_NOT_REACHED();
|
ASSERT_NOT_REACHED();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[[noreturn]] void __stack_chk_fail_local()
|
||||||
|
{
|
||||||
|
ASSERT_NOT_REACHED();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue