#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
// 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