this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

secure, regex and pthreads building

+134 -6
+1 -1
CMakeLists.txt
··· 2 2 3 3 cmake_minimum_required(VERSION 2.4.0) 4 4 5 - add_definitions(-D_DARWIN_C_SOURCE -D_POSIX_C_SOURCE) 5 + add_definitions(-D_DARWIN_C_SOURCE -D_POSIX_C_SOURCE -DDARLING) 6 6 include_directories("${CMAKE_CURRENT_SOURCE_DIR}/libc/include") 7 7 include_directories("${CMAKE_CURRENT_SOURCE_DIR}/libm/Source") 8 8 include_directories("${CMAKE_CURRENT_SOURCE_DIR}/platform-include")
+1
duct/include/commpage.h
··· 46 46 47 47 #define _COMM_PAGE_END (_COMM_PAGE_START_ADDRESS+0xfff) /* end of common page */ 48 48 49 + #define _COMM_PAGE_TEXT_START (_COMM_PAGE_START_ADDRESS+0x1000) 49 50 50 51 #endif
+11 -2
libc/CMakeLists.txt
··· 22 22 add_definitions(-DTARGET_OS_MAC=1) 23 23 add_definitions(-DHAVE_STDINT_H=1) 24 24 add_definitions(-D__APPLE__) 25 + add_definitions(-D__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__=1080) 25 26 add_definitions("'-D__weak_reference(sym,alias)=__asm__(\".weak alias\");__asm__(\".equ alias, sym\")'") 26 27 add_definitions("'-D__warn_references(name,warning)='") 27 28 28 - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -nostdinc -D__DARWIN_UNIX03 -fPIC") 29 + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -nostdinc -D__DARWIN_UNIX03 -fPIC -w") 29 30 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -nostdlib -Wl,--unresolved-symbols=ignore-all") 30 31 31 32 include_directories("${CMAKE_CURRENT_SOURCE_DIR}/fbsdcompat") ··· 52 53 add_subdirectory(sys) 53 54 add_subdirectory(stdlib) 54 55 add_subdirectory(stdio) 56 + add_subdirectory(secure) 57 + add_subdirectory(regex) 58 + add_subdirectory(pthreads) 55 59 56 60 add_library(system_c SHARED 57 61 $<TARGET_OBJECTS:libc-db> ··· 65 69 $<TARGET_OBJECTS:libc-stdtime> 66 70 $<TARGET_OBJECTS:libc-sys> 67 71 $<TARGET_OBJECTS:libc-stdlib> 68 - $<TARGET_OBJECTS:libc-stdio>) 72 + $<TARGET_OBJECTS:libc-stdio> 73 + $<TARGET_OBJECTS:libc-secure> 74 + $<TARGET_OBJECTS:libc-regex> 75 + $<TARGET_OBJECTS:libc-pthreads>) 76 + 77 + # TODO: see ./xcodescripts/variants.xcconfig 69 78 70 79 #SET_TARGET_PROPERTIES(system_c PROPERTIES LINKER_LANGUAGE C)
+2 -2
libc/gen/CMakeLists.txt
··· 123 123 FreeBSD/termios.c 124 124 FreeBSD/time.c 125 125 FreeBSD/times.c 126 - FreeBSD/timezone.c 126 + # FreeBSD/timezone.c # incompatible with 'long timezone' 127 127 FreeBSD/ttyname.c 128 128 FreeBSD/ttyslot.c 129 129 FreeBSD/ualarm.c ··· 148 148 SET_SOURCE_FILES_PROPERTIES(FreeBSD/rewinddir.c PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -DLIBC_ALIAS_REWINDDIR -include __dirent.h") 149 149 SET_SOURCE_FILES_PROPERTIES(FreeBSD/seekdir.c PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -DLIBC_ALIAS_SEEKDIR -include __dirent.h") 150 150 SET_SOURCE_FILES_PROPERTIES(FreeBSD/sleep.c PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -DLIBC_ALIAS_SLEEP") 151 - SET_SOURCE_FILES_PROPERTIES(FreeBSD/telldir.c PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -DLIBC_ALIAS__SEEKDIR -DLIBC_ALIAS_TELLDIR -include __dirent.h") 151 + SET_SOURCE_FILES_PROPERTIES(FreeBSD/telldir.c PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -include __dirent.h") 152 152 SET_SOURCE_FILES_PROPERTIES(FreeBSD/termios.c PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -DLIBC_ALIAS_TCDRAIN") 153 153 SET_SOURCE_FILES_PROPERTIES(FreeBSD/timezone.c PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -U__DARWIN_UNIX03 -D__DARWIN_UNIX03=0") 154 154 SET_SOURCE_FILES_PROPERTIES(FreeBSD/ttyname.c PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -DLIBC_ALIAS_TTYNAME_R")
+1 -1
libc/include/libc-features.h
··· 20 20 # error Feature mismatch: __DARWIN_ONLY_64_BIT_INO_T == 1 21 21 #endif /* __DARWIN_ONLY_64_BIT_INO_T */ 22 22 #define __APPLE_PR3417676_HACK__ 1 23 - #define PLOCKSTAT 1 23 + /* #undef PLOCKSTAT 1 */ 24 24 #define NOTIFY_TZ 1 25 25 /* #undef LIBC_NO_LIBCRASHREPORTERCLIENT */ 26 26 /* #undef FEATURE_SMALL_STDIOBUF */
+19
libc/include/sys/cdefs.h
··· 89 89 /* 90 90 * symbol versioning macros 91 91 */ 92 + #ifndef DARLING 92 93 #define LIBC_ALIAS(sym) __asm("_" __STRING(sym) LIBC_SUF_UNIX03) 93 94 #define LIBC_ALIAS_C(sym) __asm("_" __STRING(sym) LIBC_SUF_NON_CANCELABLE LIBC_SUF_UNIX03) 94 95 #define LIBC_ALIAS_I(sym) __asm("_" __STRING(sym) LIBC_SUF_64_BIT_INO_T LIBC_SUF_UNIX03) ··· 102 103 103 104 #define LIBC_EXTSN(sym) __asm("_" __STRING(sym) LIBC_SUF_EXTSN) 104 105 #define LIBC_EXTSN_C(sym) __asm("_" __STRING(sym) LIBC_SUF_EXTSN LIBC_SUF_NON_CANCELABLE) 106 + 107 + #else // DARLING 108 + 109 + #define LIBC_ALIAS(sym) __asm(__STRING(sym) LIBC_SUF_UNIX03) 110 + #define LIBC_ALIAS_C(sym) __asm(__STRING(sym) LIBC_SUF_NON_CANCELABLE LIBC_SUF_UNIX03) 111 + #define LIBC_ALIAS_I(sym) __asm(__STRING(sym) LIBC_SUF_64_BIT_INO_T LIBC_SUF_UNIX03) 112 + #define LIBC_INODE64(sym) __asm(__STRING(sym) LIBC_SUF_64_BIT_INO_T) 113 + 114 + #define LIBC_1050(sym) __asm(__STRING(sym) LIBC_SUF_1050) 115 + #define LIBC_1050ALIAS(sym) __asm(__STRING(sym) LIBC_SUF_1050 LIBC_SUF_UNIX03) 116 + #define LIBC_1050ALIAS_C(sym) __asm(__STRING(sym) LIBC_SUF_1050 LIBC_SUF_NON_CANCELABLE LIBC_SUF_UNIX03) 117 + #define LIBC_1050ALIAS_I(sym) __asm(__STRING(sym) LIBC_SUF_1050 LIBC_SUF_64_BIT_INO_T LIBC_SUF_UNIX03) 118 + #define LIBC_1050INODE64(sym) __asm(__STRING(sym) LIBC_SUF_1050 LIBC_SUF_64_BIT_INO_T) 119 + 120 + #define LIBC_EXTSN(sym) __asm(__STRING(sym) LIBC_SUF_EXTSN) 121 + #define LIBC_EXTSN_C(sym) __asm(__STRING(sym) LIBC_SUF_EXTSN LIBC_SUF_NON_CANCELABLE) 122 + 123 + #endif // DARLING 105 124 106 125 extern int __pthread_tsd_first; 107 126 extern int pthread_key_init_np(int, void (*)(void *));
+22
libc/pthreads/CMakeLists.txt
··· 1 + project(libc-pthreads) 2 + 3 + cmake_minimum_required(VERSION 2.4.0) 4 + 5 + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -include ${CMAKE_CURRENT_SOURCE_DIR}/../../duct/include/commpage.h -include ${CMAKE_CURRENT_SOURCE_DIR}/../../platform-include/sys/time.h") 6 + 7 + set(pthreads_sources 8 + pthread.c 9 + pthread_cancelable.c 10 + pthread_cond.c 11 + pthread_mutex.c 12 + pthread_rwlock.c 13 + pthread_tsd.c 14 + thread_setup.c 15 + ) 16 + 17 + SET_SOURCE_FILES_PROPERTIES(pthread.c PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -DLIBC_ALIAS_PTHREAD_CANCEL -DLIBC_ALIAS_PTHREAD_SETCANCELSTATE -DLIBC_ALIAS_PTHREAD_SETCANCELTYPE -DLIBC_ALIAS_PTHREAD_SIGMASK -DLIBC_ALIAS_PTHREAD_TESTCANCEL") 18 + SET_SOURCE_FILES_PROPERTIES(pthread_cancelable.c PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -DLIBC_ALIAS_PTHREAD_COND_TIMEDWAIT -DLIBC_ALIAS_PTHREAD_COND_WAIT -DLIBC_ALIAS_PTHREAD_JOIN -DLIBC_ALIAS_SIGWAIT") 19 + SET_SOURCE_FILES_PROPERTIES(thread_setup.c PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -U__DARWIN_UNIX03 -D__DARWIN_UNIX03=0") 20 + 21 + add_library(libc-pthreads OBJECT ${pthreads_sources}) 22 +
+25
libc/regex/CMakeLists.txt
··· 1 + project(libc-regex) 2 + 3 + cmake_minimum_required(VERSION 2.4.0) 4 + 5 + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -D_C99_SOURCE -D_FORTIFY_SOURCE=0 -D__va_list=__builtin_va_list -DHAVE_CONFIG_H") 6 + include_directories("${CMAKE_CURRENT_SOURCE_DIR}/TRE") 7 + include_directories("${CMAKE_CURRENT_SOURCE_DIR}/FreeBSD") 8 + 9 + set(regex_sources 10 + FreeBSD/regerror.c 11 + TRE/lib/regcomp.c 12 + TRE/lib/regexec.c 13 + TRE/lib/tre-ast.c 14 + TRE/lib/tre-compile.c 15 + TRE/lib/tre-match-backtrack.c 16 + TRE/lib/tre-match-parallel.c 17 + TRE/lib/tre-mem.c 18 + TRE/lib/tre-parse.c 19 + TRE/lib/tre-stack.c 20 + ) 21 + 22 + #SET_SOURCE_FILES_PROPERTIES(FreeBSD/snprintf.c PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS}") 23 + 24 + add_library(libc-regex OBJECT ${regex_sources}) 25 +
+28
libc/secure/CMakeLists.txt
··· 1 + project(libc-secure) 2 + 3 + cmake_minimum_required(VERSION 2.4.0) 4 + 5 + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -D_C99_SOURCE -D_FORTIFY_SOURCE=0 -D__va_list=__builtin_va_list") 6 + include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../gdtoa/FreeBSD") 7 + include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../gdtoa") 8 + 9 + set(secure_sources 10 + chk_fail.c 11 + memcpy_chk.c 12 + memmove_chk.c 13 + memset_chk.c 14 + snprintf_chk.c 15 + sprintf_chk.c 16 + stpcpy_chk.c 17 + stpncpy_chk.c 18 + strcat_chk.c 19 + strcpy_chk.c 20 + strncat_chk.c 21 + strncpy_chk.c 22 + vsnprintf_chk.c 23 + vsprintf_chk.c 24 + ) 25 + 26 + #SET_SOURCE_FILES_PROPERTIES(FreeBSD/snprintf.c PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS}") 27 + 28 + add_library(libc-secure OBJECT ${secure_sources})
+24
platform-include/sys/cdefs.h
··· 485 485 /* 486 486 * symbol versioning macros 487 487 */ 488 + #ifndef DARLING 488 489 #define __DARWIN_ALIAS(sym) __asm("_" __STRING(sym) __DARWIN_SUF_UNIX03) 489 490 #define __DARWIN_ALIAS_C(sym) __asm("_" __STRING(sym) __DARWIN_SUF_NON_CANCELABLE __DARWIN_SUF_UNIX03) 490 491 #define __DARWIN_ALIAS_I(sym) __asm("_" __STRING(sym) __DARWIN_SUF_64_BIT_INO_T __DARWIN_SUF_UNIX03) ··· 499 500 500 501 #define __DARWIN_EXTSN(sym) __asm("_" __STRING(sym) __DARWIN_SUF_EXTSN) 501 502 #define __DARWIN_EXTSN_C(sym) __asm("_" __STRING(sym) __DARWIN_SUF_EXTSN __DARWIN_SUF_NON_CANCELABLE) 503 + #else // DARLING 504 + /* 505 + * Darling doesn't use underscore prefixing for symbols just like the rest of the Linux world. 506 + * Using prefixing causes symbol naming conflicts, i.e. the following declarations result in the same symbol name: 507 + * * pthread_testcancel() asm("_pthread_testcancel"); 508 + * * _pthread_testcancel() 509 + * while on OS X, the latter would have symbol name __pthread_testcancel(). 510 + */ 511 + #define __DARWIN_ALIAS(sym) __asm(__STRING(sym) __DARWIN_SUF_UNIX03) 512 + #define __DARWIN_ALIAS_C(sym) __asm(__STRING(sym) __DARWIN_SUF_NON_CANCELABLE __DARWIN_SUF_UNIX03) 513 + #define __DARWIN_ALIAS_I(sym) __asm(__STRING(sym) __DARWIN_SUF_64_BIT_INO_T __DARWIN_SUF_UNIX03) 514 + #define __DARWIN_NOCANCEL(sym) __asm(__STRING(sym) __DARWIN_SUF_NON_CANCELABLE) 515 + #define __DARWIN_INODE64(sym) __asm(__STRING(sym) __DARWIN_SUF_64_BIT_INO_T) 516 + 517 + #define __DARWIN_1050(sym) __asm(__STRING(sym) __DARWIN_SUF_1050) 518 + #define __DARWIN_1050ALIAS(sym) __asm(__STRING(sym) __DARWIN_SUF_1050 __DARWIN_SUF_UNIX03) 519 + #define __DARWIN_1050ALIAS_C(sym) __asm(__STRING(sym) __DARWIN_SUF_1050 __DARWIN_SUF_NON_CANCELABLE __DARWIN_SUF_UNIX03) 520 + #define __DARWIN_1050ALIAS_I(sym) __asm(__STRING(sym) __DARWIN_SUF_1050 __DARWIN_SUF_64_BIT_INO_T __DARWIN_SUF_UNIX03) 521 + #define __DARWIN_1050INODE64(sym) __asm(__STRING(sym) __DARWIN_SUF_1050 __DARWIN_SUF_64_BIT_INO_T) 522 + 523 + #define __DARWIN_EXTSN(sym) __asm(__STRING(sym) __DARWIN_SUF_EXTSN) 524 + #define __DARWIN_EXTSN_C(sym) __asm(__STRING(sym) __DARWIN_SUF_EXTSN __DARWIN_SUF_NON_CANCELABLE) 525 + #endif // DARLING 502 526 503 527 /* 504 528 * symbol release macros