Symbols.c 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
  2. /* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
  3. #include "pal.h"
  4. #include "pal_debug.h"
  5. #define SYMBOL_ADDR(sym) \
  6. ({ void * _sym; \
  7. __asm__ volatile ("movq " #sym "@GOTPCREL(%%rip), %0" \
  8. : "=r"(_sym)); \
  9. _sym; })
  10. #define PRINT_SYMBOL(sym) pal_printf(#sym " = %p\n", SYMBOL_ADDR(sym))
  11. int main (int argc, char ** argv, char ** envp)
  12. {
  13. PRINT_SYMBOL(DkVirtualMemoryAlloc);
  14. PRINT_SYMBOL(DkVirtualMemoryFree);
  15. PRINT_SYMBOL(DkVirtualMemoryProtect);
  16. PRINT_SYMBOL(DkProcessCreate);
  17. PRINT_SYMBOL(DkProcessExit);
  18. PRINT_SYMBOL(DkProcessSandboxCreate);
  19. PRINT_SYMBOL(DkStreamOpen);
  20. PRINT_SYMBOL(DkStreamWaitForClient);
  21. PRINT_SYMBOL(DkStreamRead);
  22. PRINT_SYMBOL(DkStreamWrite);
  23. PRINT_SYMBOL(DkStreamDelete);
  24. PRINT_SYMBOL(DkStreamMap);
  25. PRINT_SYMBOL(DkStreamUnmap);
  26. PRINT_SYMBOL(DkStreamSetLength);
  27. PRINT_SYMBOL(DkStreamFlush);
  28. PRINT_SYMBOL(DkSendHandle);
  29. PRINT_SYMBOL(DkReceiveHandle);
  30. PRINT_SYMBOL(DkStreamAttributesQuery);
  31. PRINT_SYMBOL(DkStreamAttributesQueryByHandle);
  32. PRINT_SYMBOL(DkStreamAttributesSetByHandle);
  33. PRINT_SYMBOL(DkStreamGetName);
  34. PRINT_SYMBOL(DkStreamChangeName);
  35. PRINT_SYMBOL(DkThreadCreate);
  36. PRINT_SYMBOL(DkThreadDelayExecution);
  37. PRINT_SYMBOL(DkThreadYieldExecution);
  38. PRINT_SYMBOL(DkThreadExit);
  39. PRINT_SYMBOL(DkThreadResume);
  40. PRINT_SYMBOL(DkSetExceptionHandler);
  41. PRINT_SYMBOL(DkExceptionReturn);
  42. PRINT_SYMBOL(DkMutexCreate);
  43. PRINT_SYMBOL(DkMutexRelease);
  44. PRINT_SYMBOL(DkNotificationEventCreate);
  45. PRINT_SYMBOL(DkSynchronizationEventCreate);
  46. PRINT_SYMBOL(DkEventSet);
  47. PRINT_SYMBOL(DkEventClear);
  48. PRINT_SYMBOL(DkObjectsWaitAny);
  49. PRINT_SYMBOL(DkObjectClose);
  50. PRINT_SYMBOL(DkSystemTimeQuery);
  51. PRINT_SYMBOL(DkRandomBitsRead);
  52. PRINT_SYMBOL(DkInstructionCacheFlush);
  53. PRINT_SYMBOL(DkSegmentRegister);
  54. PRINT_SYMBOL(DkMemoryAvailableQuota);
  55. PRINT_SYMBOL(DkCreatePhysicalMemoryChannel);
  56. PRINT_SYMBOL(DkPhysicalMemoryCommit);
  57. PRINT_SYMBOL(DkPhysicalMemoryMap);
  58. return 0;
  59. }