summaryrefslogtreecommitdiff
path: root/Kernel/mkmap.sh
AgeCommit message (Collapse)Author
2021-12-30Kernel: Use the toolchain's `nm` in mkmap.shDaniel Bertalan
By using the binary from our build of binutils, we can be sure that `nm` supports demangling symbols, so we can avoid spawning a separate `c++filt` process.
2021-07-29Kernel: Use our toolchain's c++filt tool for the kernel mapGunnar Beutner
The host's version of c++filt might not work on some operating systems, e.g. macOS.
2021-07-29Kernel: Embed the right symbol count into the kernel.map file on macOSGunnar Beutner
On macOS the wc tool prefixes its output with a bunch of spaces which resulted in us incorrectly using "00000000" as the symbol count. Fixes #9080.
2021-07-18Kernel: Introduce basic pre-kernel environmentGunnar Beutner
This implements a simple bootloader that is capable of loading ELF64 kernel images. It does this by using QEMU/GRUB to load the kernel image from disk and pass it to our bootloader as a Multiboot module. The bootloader then parses the ELF image and sets it up appropriately. The kernel's entry point is a C++ function with architecture-native code. Co-authored-by: Liav A <liavalb@gmail.com>
2021-07-18Kernel: Ignore KUBSAN symbols in the kernel symbol mapGunnar Beutner
2021-07-06Kernel+LibELF: Don't demangle symbols in the kernelGunnar Beutner
Instead we should just generate kernel.map in such a way that it already contains demangled symbols.
2021-06-25Kernel: Build the x86_64 kernel as an ELF32 executableGunnar Beutner
Multiboot only supports ELF32 executables. This changes the build process to build an ELF32 executable which has a 32-bit entry point, but consists of mostly 64-bit code.
2020-05-14Build: Switch to CMake :^)Sergey Bugaev
Closes https://github.com/SerenityOS/serenity/issues/2080
2020-02-10Meta: Fix shellcheck warnings in various scriptsShannon Booth
Warnings fixed: * SC2086: Double quote to prevent globbing and word splitting. * SC2006: Use $(...) notation instead of legacy backticked `...` * SC2039: In POSIX sh, echo flags are undefined * SC2209: Use var=$(command) to assign output (or quote to assign string) * SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails * SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. * SC2034: i appears unused. Verify use (or export if used externally) * SC2046: Quote this to prevent word splitting. * SC2236: Use -z instead of ! -n. There are still a lot of warnings in Kernel/run about: - SC2086: Double quote to prevent globbing and word splitting. However, splitting on space is intentional in this case, and not trivial to change. Therefore ignore the warning for now - but we should fix this in the future.
2019-11-28Kernel: Allow modules to link against anything in kernel.map :^)Andreas Kling
We now use the symbols from kernel.map to link modules as they are loaded into the kernel. This is pretty fricken cool!
2019-04-30Kernel: Don't symbolicate symbol+offset for obvious non-kernel addresses.Andreas Kling
2018-12-03Omit duplicate lines from the ksyms map.Andreas Kling
2018-11-09Pre-size the ksyms vector for speedier loading.Andreas Kling
Also show loading progress on the screen because it looks neat.
2018-10-26Add a very hackish /proc/PID/stack.Andreas Kling
It walks the stack and identifies anything that looks like a kernel symbol. This could be a lot more sophisticated.