--- /dev/null
+// PLDLOG uses write by default so redefine it to do nothing
+#define PLDLOG(err, buf, len) (void)err, (void)buf, (void)len
+#include "../pld.h"
+
+PLD("libc.so.6");
+long write(int fd, void *buf, unsigned long len)
+{
+ return PFN(write)(fd, buf, len);
+}
+
+int main(void)
+{
+ write(1, "Hello World!\n", 13);
+ return 0;
+}
\r
#ifdef _WIN32\r
#include <windows.h>\r
-static void *PLD_Private_ErrCode(void)\r
-{\r
- return (void *)(DWORD_PTR)GetLastError();\r
-}\r
static void PLD_Private_WriteString(const char *s)\r
{\r
DWORD dummy;\r
(va_list *)&arg);\r
}\r
#else // _WIN32\r
-#include <unistd.h>\r
#include <dlfcn.h>\r
-static void *PLD_Private_ErrCode(void)\r
-{\r
- return dlerror();\r
-}\r
static void PLD_Private_WriteString(const char *s)\r
{\r
write(2, s, PLD_Private_strlen(s));\r
return GetProcAddress(handle, name);\r
}\r
\r
+static void *PLD_Private_ErrCode(void)\r
+{\r
+ return (void *)(DWORD_PTR)GetLastError();\r
+}\r
+\r
#else // _WIN32\r
\r
#ifndef PLD_PRIVATE_LOG_INCLUDED\r
#include <dlfcn.h>\r
+#include <stddef.h>\r
#endif\r
\r
typedef void *PLD_LibHandle;\r
return dlsym(handle, name);\r
}\r
\r
+static void *PLD_Private_ErrCode(void)\r
+{\r
+ return dlerror();\r
+}\r
+\r
#endif // _WIN32\r
\r
static PLD_ProcAddress PLD_Private_dlsym_wrapper(PLD_LibHandle handle, const char *name)\r