12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
- /* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
- #include "pal.h"
- #include "pal_debug.h"
- #define symbol_addr(sym) \
- ({ void * _sym; \
- asm volatile ("movq " #sym "@GOTPCREL(%%rip), %0" \
- : "=r"(_sym)); \
- _sym; })
- #define print_symbol(sym) pal_printf(#sym " = %p\n", symbol_addr(sym))
- int main (int argc, char ** argv, char ** envp)
- {
- print_symbol(DkVirtualMemoryAlloc);
- print_symbol(DkVirtualMemoryFree);
- print_symbol(DkVirtualMemoryProtect);
- print_symbol(DkProcessCreate);
- print_symbol(DkProcessExit);
- print_symbol(DkProcessSandboxCreate);
- print_symbol(DkStreamOpen);
- print_symbol(DkStreamWaitForClient);
- print_symbol(DkStreamRead);
- print_symbol(DkStreamWrite);
- print_symbol(DkStreamDelete);
- print_symbol(DkStreamMap);
- print_symbol(DkStreamUnmap);
- print_symbol(DkStreamSetLength);
- print_symbol(DkStreamFlush);
- print_symbol(DkSendHandle);
- print_symbol(DkReceiveHandle);
- print_symbol(DkStreamAttributesQuery);
- print_symbol(DkStreamAttributesQuerybyHandle);
- print_symbol(DkStreamAttributesSetbyHandle);
- print_symbol(DkStreamGetName);
- print_symbol(DkStreamChangeName);
- print_symbol(DkThreadCreate);
- print_symbol(DkThreadDelayExecution);
- print_symbol(DkThreadYieldExecution);
- print_symbol(DkThreadExit);
- print_symbol(DkThreadResume);
- print_symbol(DkSetExceptionHandler);
- print_symbol(DkExceptionReturn);
- print_symbol(DkSemaphoreCreate);
- print_symbol(DkSemaphoreRelease);
- print_symbol(DkNotificationEventCreate);
- print_symbol(DkSynchronizationEventCreate);
- print_symbol(DkEventSet);
- print_symbol(DkEventClear);
- print_symbol(DkObjectsWaitAny);
- print_symbol(DkObjectReference);
- print_symbol(DkObjectClose);
- print_symbol(DkSystemTimeQuery);
- print_symbol(DkRandomBitsRead);
- print_symbol(DkInstructionCacheFlush);
- print_symbol(DkSegmentRegister);
- print_symbol(DkMemoryAvailableQuota);
- print_symbol(DkCreatePhysicalMemoryChannel);
- print_symbol(DkPhysicalMemoryCommit);
- print_symbol(DkPhysicalMemoryMap);
- return 0;
- }
|