aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Kummerlaender2016-02-26 15:22:04 +0100
committerAdrian Kummerlaender2016-02-26 15:22:04 +0100
commit43232eb8a1482f21cbedee74e532f77a2813ad54 (patch)
tree842747d2822148d760e26e692bc0238e7a16316d
parente5ba37f58ae896f53f18c5acbd5af0e610937437 (diff)
downloadblog.kummerlaender.eu-43232eb8a1482f21cbedee74e532f77a2813ad54.tar
blog.kummerlaender.eu-43232eb8a1482f21cbedee74e532f77a2813ad54.tar.gz
blog.kummerlaender.eu-43232eb8a1482f21cbedee74e532f77a2813ad54.tar.bz2
blog.kummerlaender.eu-43232eb8a1482f21cbedee74e532f77a2813ad54.tar.lz
blog.kummerlaender.eu-43232eb8a1482f21cbedee74e532f77a2813ad54.tar.xz
blog.kummerlaender.eu-43232eb8a1482f21cbedee74e532f77a2813ad54.tar.zst
blog.kummerlaender.eu-43232eb8a1482f21cbedee74e532f77a2813ad54.zip
Add missing word in latest article
-rw-r--r--source/00_content/articles/2016-02-21_notes_on_function_interposition_in_cpp.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/source/00_content/articles/2016-02-21_notes_on_function_interposition_in_cpp.md b/source/00_content/articles/2016-02-21_notes_on_function_interposition_in_cpp.md
index a7337ea..8a0bd12 100644
--- a/source/00_content/articles/2016-02-21_notes_on_function_interposition_in_cpp.md
+++ b/source/00_content/articles/2016-02-21_notes_on_function_interposition_in_cpp.md
@@ -22,7 +22,7 @@ However the use case that led me to dive into this topic was to develop a tool t
To interpose a given function the library provided to the dynamic linker via `LD_PRELOAD` simply needs to contain a function symbol of the same name and signature.While this is not a problem in C it can be problematic in C++ as the compiler per default performs _name mangling_ to convert a given function signature to a plain string[^1]. Luckily this can be prevented by enclosing the functions to be interposed in an `external "C"` block.
-Note that this only applies if we want to specifically interpose C functions from C++. There is nothing stopping us from interposing any function in a shared library as long as we can get the compiler to generate the correct symbol name. Accordingly also works for C++ class member functions or functions of libraries written in other languages such as D.
+Note that this only applies if we want to specifically interpose C functions from C++. There is nothing stopping us from interposing any function in a shared library as long as we can get the compiler to generate the correct symbol name. Accordingly this also works for C++ class member functions or functions of libraries written in other languages such as D.
To check if the symbols are exported correctly we can use `nm` which ĺists the symbols in ELF object files.