1 define SOURCE_HELLO 2 #include <stdio.h> 3 int main(void) 4 { 5 return puts(\"hi\"); 6 } 7 endef 8 9 ifndef NO_DWARF 10 define SOURCE_DWARF 11 #include <dwarf.h> 12 #include <elfutils/libdw.h> 13 #include <elfutils/version.h> 14 #ifndef _ELFUTILS_PREREQ 15 #error 16 #endif 17 18 int main(void) 19 { 20 Dwarf *dbg = dwarf_begin(0, DWARF_C_READ); 21 return (long)dbg; 22 } 23 endef 24 endif 25 26 define SOURCE_LIBELF 27 #include <libelf.h> 28 29 int main(void) 30 { 31 Elf *elf = elf_begin(0, ELF_C_READ, 0); 32 return (long)elf; 33 } 34 endef 35 36 define SOURCE_GLIBC 37 #include <gnu/libc-version.h> 38 39 int main(void) 40 { 41 const char *version = gnu_get_libc_version(); 42 return (long)version; 43 } 44 endef 45 46 define SOURCE_ELF_MMAP 47 #include <libelf.h> 48 int main(void) 49 { 50 Elf *elf = elf_begin(0, ELF_C_READ_MMAP, 0); 51 return (long)elf; 52 } 53 endef 54 55 ifndef NO_NEWT 56 define SOURCE_NEWT 57 #include <newt.h> 58 59 int main(void) 60 { 61 newtInit(); 62 newtCls(); 63 return newtFinished(); 64 } 65 endef 66 endif 67 68 ifndef NO_LIBPERL 69 define SOURCE_PERL_EMBED 70 #include <EXTERN.h> 71 #include <perl.h> 72 73 int main(void) 74 { 75 perl_alloc(); 76 return 0; 77 } 78 endef 79 endif 80 81 ifndef NO_LIBPYTHON 82 define SOURCE_PYTHON_VERSION 83 #include <Python.h> 84 #if PY_VERSION_HEX >= 0x03000000 85 #error 86 #endif 87 int main(void){} 88 endef 89 define SOURCE_PYTHON_EMBED 90 #include <Python.h> 91 int main(void) 92 { 93 Py_Initialize(); 94 return 0; 95 } 96 endef 97 endif 98 99 define SOURCE_BFD 100 #include <bfd.h> 101 102 int main(void) 103 { 104 bfd_demangle(0, 0, 0); 105 return 0; 106 } 107 endef 108 109 define SOURCE_CPLUS_DEMANGLE 110 extern char *cplus_demangle(const char *, int); 111 112 int main(void) 113 { 114 cplus_demangle(0, 0); 115 return 0; 116 } 117 endef 118 119 define SOURCE_STRLCPY 120 #include <stdlib.h> 121 extern size_t strlcpy(char *dest, const char *src, size_t size); 122 123 int main(void) 124 { 125 strlcpy(NULL, NULL, 0); 126 return 0; 127 } 128 endef 129