- Misc changes
[tpg/acess2.git] / AcessNative / ld-acess.so_src / elf.c
index 11bd2df..3ab5a50 100644 (file)
 #define PTRMK(_type,_val)      MKPTR(_type,_val)\r
 #define PTR(_val)      ((void*)(uintptr_t)(_val))\r
 \r
-#if 0\r
+#if DEBUG\r
 # define ENTER(...)\r
 # define LOG(s, ...)   printf("%s: " s, __func__, __VA_ARGS__)\r
 # define LOGS(s)       printf("%s: " s, __func__)\r
 # define LEAVE(...)\r
 #else\r
-#define ENTER(...)\r
-#define LOG(...)\r
-#define LOGS(...)\r
-#define LEAVE(...)\r
+# define ENTER(...)\r
+# define LOG(...)\r
+# define LOGS(...)\r
+# define LEAVE(...)\r
 #endif\r
 \r
 // === PROTOTYPES ===\r
@@ -274,9 +274,16 @@ uintptr_t Elf_Relocate(void *Base)
        // Alter Symbols to true base\r
        for(i = 0; i < iSymCount; i ++)\r
        {\r
-               dynsymtab[i].value += iBaseDiff;\r
                dynsymtab[i].nameOfs += (uintptr_t)dynstrtab;\r
-               LOG("Sym '%s' = 0x%x (relocated)\n", MKPTR(char,dynsymtab[i].name), dynsymtab[i].value);\r
+               if( dynsymtab[i].shndx == SHN_UNDEF )\r
+               {\r
+                       LOG("Sym '%s' = UNDEF\n", MKPTR(char,dynsymtab[i].name));\r
+               }\r
+               else\r
+               {\r
+                       dynsymtab[i].value += iBaseDiff;\r
+                       LOG("Sym '%s' = 0x%x (relocated)\n", MKPTR(char,dynsymtab[i].name), dynsymtab[i].value);\r
+               }\r
        }\r
        \r
        // === Add to loaded list (can be imported now) ===\r

UCC git Repository :: git.ucc.asn.au