diff options
author | johannst <johannes.stoelp@gmail.com> | 2021-04-26 21:48:01 +0200 |
---|---|---|
committer | johannst <johannes.stoelp@gmail.com> | 2021-04-26 21:48:01 +0200 |
commit | 7da4d2b9cfa1d09991431f849d62a8a8d30f5e51 (patch) | |
tree | ba061f2e5f4355e0e24d33e85b0a2f3d0fd51984 /04_dynld_nostd/libgreet.c | |
parent | 96cf3e4ee49c256b214795e30eb66801bcdcef6d (diff) | |
download | dynld-7da4d2b9cfa1d09991431f849d62a8a8d30f5e51.tar.gz dynld-7da4d2b9cfa1d09991431f849d62a8a8d30f5e51.zip |
libgreet/main: updated comments
Diffstat (limited to '04_dynld_nostd/libgreet.c')
-rw-r--r-- | 04_dynld_nostd/libgreet.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/04_dynld_nostd/libgreet.c b/04_dynld_nostd/libgreet.c index e697690..f90bdbf 100644 --- a/04_dynld_nostd/libgreet.c +++ b/04_dynld_nostd/libgreet.c @@ -5,19 +5,25 @@ int gCalled = 0; const char* get_greet() { + // Reference global variable -> generates RELA relocation (R_X86_64_GLOB_DAT). ++gCalled; return "Hello from libgreet.so!"; } const char* get_greet2() { + // Reference global variable -> generates RELA relocation (R_X86_64_GLOB_DAT). ++gCalled; return "Hello 2 from libgreet.so!"; } -__attribute__((constructor)) static void libinit() { /* static -> generates R_X86_64_RELATIVE relocation */ +// Definition of `static` function which is referenced from the `INIT` dynamic +// section entry -> generates R_X86_64_RELATIVE relocation. +__attribute__((constructor)) static void libinit() { pfmt("libgreet.so: libinit\n"); } -__attribute__((destructor)) void libfini() { /* non static -> generates R_X86_64_64 relocation */ +// Definition of `non static` function which is referenced from the `FINI` +// dynamic section entry -> generates R_X86_64_64 relocation. +__attribute__((destructor)) void libfini() { pfmt("libgreet.so: libfini\n"); } |