summaryrefslogtreecommitdiff
path: root/AK/Demangle.h
AgeCommit message (Collapse)Author
2021-09-20AK: Remove unused ifdef for BUILDING_SERENITY_TOOLCHAINAndrew Kaster
The only use of this define was removed in commit 5f724b6ca1aae3a5a8c7189069649e8a9347cca2, over a year ago. The define was there to prevent the LibC build we built before libstdc++ from complaining about missing libgcc symbols. However, as noted in that commit, we never actually needed to build LibC at all.
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2020-05-20Revert "AK: Don't demangle in serenity :("Andreas Kling
This reverts commit 4361a502255e409f04c9325ef73f3cd10f9cafdb.
2020-05-20AK: Don't demangle in serenity :(Andrew Kaster
In order to remove libstdc++ completely, we need to give up on their implementation of abi::__cxa_demangle. The demangler logic will actually have to be quite complex, and included in both the kernel and userspace. A definite fixme for the future, to parse the mangled names into real deal names.
2020-05-06Misc: Replace "String(string_view)" with "string_view.to_string()"Linus Groh
StringView::to_string() was added in 917ccb1 but not actually used anywhere yet.
2020-03-23AK: Reduce header dependency graph of String.hAndreas Kling
String.h no longer pulls in StringView.h. We do this by moving a bunch of String functions out-of-line.
2020-02-21Toolchain: Build demangling into LibC except during toolchain buildAndreas Kling
2020-02-03AK: The <cxxabi.h> header is not available during Toolchain buildAndreas Kling
This will need some refinement, but basically since we build LibC during the toolchain build, we don't have libstdc++ headers yet.
2020-02-02AK: Turn demangling back on for userspaceAndreas Kling
This didn't work at some point, but now it apparently works again. :^)
2020-01-18Meta: Add license header to source filesAndreas Kling
As suggested by Joshua, this commit adds the 2-clause BSD license as a comment block to the top of every source file. For the first pass, I've just added myself for simplicity. I encourage everyone to add themselves as copyright holders of any file they've added or modified in some significant way. If I've added myself in error somewhere, feel free to replace it with the appropriate copyright holder instead. Going forward, all new source files should include a license header.
2020-01-16Kernel+LibELF: Don't blindly trust ELF symbol offsets in symbolicationAndreas Kling
It was possible to craft a custom ELF executable that when symbolicated would cause the kernel to read from user-controlled addresses anywhere in memory. You could then fetch this memory via /proc/PID/stack We fix this by making ELFImage hand out StringView rather than raw const char* for symbol names. In case a symbol offset is outside the ELF image, you get a null StringView. :^) Test: Kernel/elf-symbolication-kernel-read-exploit.cpp
2020-01-01AK: Turn off demangler in userlandAndrew Kaster
For some reason, the default CXXFLAGS and such don't get us the __cxa_demangle symbol in userland.
2019-11-29Kernel: Demangle kernel C++ symbols correctly againAndreas Kling
I broke this while implementing module linking. Also move the actual demangling work to AK, in AK::demangle(const char*)