From 85230524414b6d27664bf77c8584bfeced6c71cb Mon Sep 17 00:00:00 2001 From: johannst Date: Wed, 21 Apr 2021 23:41:59 +0200 Subject: add support to resolve all relocations in PLT & RELA tables; add global variable as example to libgreet.so --- 04_dynld_nostd/main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to '04_dynld_nostd/main.c') diff --git a/04_dynld_nostd/main.c b/04_dynld_nostd/main.c index ca250ef..a787158 100644 --- a/04_dynld_nostd/main.c +++ b/04_dynld_nostd/main.c @@ -6,13 +6,17 @@ // API of `libgreet.so`. extern const char* get_greet(); extern const char* get_greet2(); +extern int gCalled; void _start() { pfmt("Running _start() @ %s\n", __FILE__); - // Call function from libgreet.so -> generates PLT entry. + // Call function from libgreet.so -> generates PLT relocations. pfmt("get_greet() -> %s\n", get_greet()); pfmt("get_greet2() -> %s\n", get_greet2()); + // Reference global variable from libgreet.so -> generates RELA relocation. + pfmt("libgreet.so called %d times\n", gCalled); + _exit(0); } -- cgit v1.2.3