this repo has no description
1
fork

Configure Feed

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

Support building Mach-O static libs, build static libc for dyld (initial version)

+52 -9
+2
src/CMakeLists.txt
··· 17 17 18 18 add_subdirectory(bootstrap_cmds) 19 19 add_subdirectory(external/cctools-port/cctools/ld64/src) 20 + add_subdirectory(external/cctools-port/cctools/ar) 21 + add_subdirectory(external/cctools-port/cctools/misc) 20 22 add_subdirectory(util) 21 23 #add_subdirectory(libmach-o) 22 24 #add_subdirectory(libdyld)
+3 -2
src/duct/include/CrashReporterClient.h
··· 5 5 extern "C" { 6 6 #endif 7 7 8 - void CRSetCrashLogMessage(const char* text); 9 - void CRSetCrashLogMessage2(const char* path); 8 + inline void CRSetCrashLogMessage(const char* text) {} 9 + inline void CRSetCrashLogMessage2(const char* path) {} 10 + inline const char* CRGetCrashLogMessage(void) { return 0; } 10 11 11 12 #ifdef __cplusplus 12 13 }
+2 -2
src/duct/src/CRGetCrashLogMessage.c
··· 1 - int CRGetCrashLogMessage() 1 + const char* CRGetCrashLogMessage(void) 2 2 { 3 - return 1; 3 + return 0; 4 4 } 5 5 6 6 void CRSetCrashLogMessage(const char* msg)
+2 -2
src/dyld-apple/CMakeLists.txt
··· 9 9 include (darling_exe) 10 10 11 11 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -nostdinc") 12 - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostdinc -std=c++11") 12 + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostdinc -std=c++11 -include ${CMAKE_SOURCE_DIR}/src/duct/include/CrashReporterClient.h") 13 13 set(CMAKE_SHARED_LINKER_FLAGS_SAVED "${CMAKE_SHARED_LINKER_FLAGS}") 14 14 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -nostdlib -Wl,-flat_namespace -Wl,-undefined,suppress") 15 15 ··· 65 65 #use_ld64(system_loader) 66 66 set_target_properties(system_loader PROPERTIES OUTPUT_NAME "dyld") 67 67 set_property(TARGET system_loader APPEND_STRING PROPERTY LINK_FLAGS " -dylinker") 68 - target_link_libraries(system_loader crt1.10.6.o) 68 + target_link_libraries(system_loader crt1.10.6.o libc_static) 69 69 70 70 install(TARGETS system_dyld DESTINATION ${CMAKE_INSTALL_LIBDIR}/darling)
+1 -1
src/dyld-apple/src/dyld.cpp
··· 1209 1209 1210 1210 static bool sandboxBlocked(const char* path, const char* kind) 1211 1211 { 1212 - #if TARGET_IPHONE_SIMULATOR 1212 + #if TARGET_IPHONE_SIMULATOR || DARLING 1213 1213 // sandbox calls not yet supported in simulator runtime 1214 1214 return false; 1215 1215 #else
+12 -1
src/libc/CMakeLists.txt
··· 20 20 #add_definitions("'-D__weak_reference(sym,alias)='") 21 21 add_definitions("'-D__warn_references(name,warning)='") 22 22 #add_definitions(-Ddladdr=__darwin_dladdr) 23 - add_definitions(-DBUILDING_LIBC) 23 + add_definitions(-DBUILDING_LIBC -DPRIVATE) 24 24 25 25 # Hide warnings that get spammed 26 26 add_definitions( ··· 143 143 target_link_libraries(system_c system_kernel system_m) 144 144 145 145 install(TARGETS system_c DESTINATION ${CMAKE_INSTALL_LIBDIR}/darling) 146 + 147 + set(CMAKE_AR "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/ar/x86_64-apple-darwin11-ar") 148 + set(CMAKE_RANLIB "${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/ranlib") 149 + add_library(libc_static STATIC 150 + $<TARGET_OBJECTS:libc-gen_dyld> 151 + $<TARGET_OBJECTS:libc-pthreads_dyld> 152 + $<TARGET_OBJECTS:libc-stdlib_dyld> 153 + $<TARGET_OBJECTS:libc-string_dyld> 154 + $<TARGET_OBJECTS:libc-sys_dyld> 155 + $<TARGET_OBJECTS:libc-threads_dyld> 156 + $<TARGET_OBJECTS:libc-hwplat_dyld>) 146 157 147 158 # TODO: see ./xcodescripts/variants.xcconfig 148 159
+9 -1
src/libc/gen/CMakeLists.txt
··· 59 59 set(gen_sources ${gen_sources} 60 60 FreeBSD/alarm.c 61 61 FreeBSD/arc4random.c 62 - FreeBSD/assert.c 62 + FreeBSD/assert.c 63 63 FreeBSD/basename.c 64 64 FreeBSD/clock.c 65 65 FreeBSD/closedir.c ··· 233 233 add_library(libc-gen_pre1050 OBJECT ${gen-pre1050_sources}) 234 234 SET_TARGET_PROPERTIES(libc-gen_pre1050 PROPERTIES COMPILE_FLAGS "-DBUILDING_VARIANT -DVARIANT_PRE1050 -U__DARWIN_UNIX03 -D__DARWIN_UNIX03=0") 235 235 236 + # *** 237 + # DYLD variants 238 + # *** 239 + 240 + add_library(libc-gen_dyld OBJECT _simple.c FreeBSD/arc4random.c FreeBSD/closedir.c dirfd.c FreeBSD/getcwd.c FreeBSD/getpagesize.c nanosleep.c FreeBSD/opendir.c FreeBSD/readdir.c FreeBSD/scandir.c FreeBSD/sysctl.c FreeBSD/sysctlbyname.c FreeBSD/telldir.c FreeBSD/usleep.c) 241 + 242 + SET_TARGET_PROPERTIES(libc-gen_dyld PROPERTIES COMPILE_FLAGS "-UBUILDING_VARIANT -DVARIANT_DYLD -DVARIANT_CANCELABLE -DVARIANT_DARWINEXTSN") 243 +
+4
src/libc/pthreads/CMakeLists.txt
··· 41 41 add_library(libc-pthreads_legacy OBJECT ${pthreads-legacy_sources}) 42 42 SET_TARGET_PROPERTIES(libc-pthreads_legacy PROPERTIES COMPILE_FLAGS "-DBUILDING_VARIANT -DVARIANT_LEGACY -U_DARWIN_C_SOURCE -U_POSIX_C_SOURCE -U__DARWIN_UNIX03 -D__DARWIN_UNIX03=0") 43 43 44 + # DYLD variant 45 + 46 + add_library(libc-pthreads_dyld OBJECT pthread.c pthread_mutex.c pthread_tsd.c) 47 + SET_TARGET_PROPERTIES(libc-pthreads_dyld PROPERTIES COMPILE_FLAGS "-UBUILDING_VARIANT -DVARIANT_DYLD -DVARIANT_CANCELABLE -DVARIANT_DARWINEXTSN")
+5
src/libc/stdlib/CMakeLists.txt
··· 99 99 set(stdlib-extsn_sources FreeBSD/realpath.c) 100 100 add_library(libc-stdlib_extsn OBJECT ${stdlib-extsn_sources}) 101 101 SET_TARGET_PROPERTIES(libc-stdlib_extsn PROPERTIES COMPILE_DEFINITIONS "BUILDING_VARIANT;VARIANT_DARWINEXTSN") 102 + 103 + # DYLD variant 104 + add_library(libc-stdlib_dyld OBJECT FreeBSD/atexit.c FreeBSD/exit.c FreeBSD/heapsort.c FreeBSD/merge.c FreeBSD/qsort.c FreeBSD/reallocf.c FreeBSD/realpath.c) 105 + SET_TARGET_PROPERTIES(libc-stdlib_dyld PROPERTIES COMPILE_FLAGS "-UBUILDING_VARIANT -DVARIANT_DYLD -DVARIANT_CANCELABLE -DVARIANT_DARWINEXTSN") 106 +
+4
src/libc/string/CMakeLists.txt
··· 95 95 add_library(libc-string_legacy OBJECT ${string-legacy_sources}) 96 96 SET_TARGET_PROPERTIES(libc-string_legacy PROPERTIES COMPILE_DEFINITIONS "BUILDING_VARIANT;VARIANT_LEGACY") 97 97 98 + # DYLD variant 99 + add_library(libc-string_dyld OBJECT strcat.c FreeBSD/strchr.c strcpy.c FreeBSD/strdup.c strlcat.c strlcpy.c FreeBSD/strncmp.c FreeBSD/strnlen.c FreeBSD/strrchr.c FreeBSD/strstr.c) 100 + SET_TARGET_PROPERTIES(libc-string_dyld PROPERTIES COMPILE_FLAGS "-UBUILDING_VARIANT -DVARIANT_DYLD -DVARIANT_CANCELABLE -DVARIANT_DARWINEXTSN") 101 +
+3
src/libc/sys/CMakeLists.txt
··· 48 48 add_library(libc-sys_noinode64 OBJECT ${sys-noinode64_sources}) 49 49 SET_TARGET_PROPERTIES(libc-sys_noinode64 PROPERTIES COMPILE_FLAGS "-U__DARWIN_UNIX03 -U__DARWIN_64_BIT_INO_T -DVARIANT_INODE32 -DBUILDING_VARIANT -D_DARWIN_NO_64_BIT_INODE") 50 50 51 + add_library(libc-sys_dyld OBJECT gettimeofday.c) 52 + SET_TARGET_PROPERTIES(libc-sys_dyld PROPERTIES COMPILE_FLAGS "-UBUILDING_VARIANT -DVARIANT_DYLD -DVARIANT_CANCELABLE -DVARIANT_DARWINEXTSN") 53 +
+4
src/libc/threads/CMakeLists.txt
··· 11 11 ) 12 12 13 13 add_library(libc-threads OBJECT ${threads_sources}) 14 + 15 + add_library(libc-threads_dyld OBJECT mig_support.c) 16 + SET_TARGET_PROPERTIES(libc-threads_dyld PROPERTIES COMPILE_FLAGS "-UBUILDING_VARIANT -DVARIANT_DYLD -DVARIANT_CANCELABLE -DVARIANT_DARWINEXTSN") 17 +
+1
src/libc/x86_64/CMakeLists.txt
··· 91 91 92 92 add_library(libc-hwplat OBJECT ${x86_64_sources}) 93 93 94 + add_library(libc-hwplat_dyld OBJECT pthreads/pthread_set_self.S pthreads/pthread_self.S pthreads/pthread_getspecific.S pthreads/preempt.S string/__bzero.S string/bcopy_sse3x.S string/bzero_sse2.S string/ffs.S string/longcopy_sse3x.S string/strcmp.S string/strlen.S string/strncpy.S sys/OSAtomic.S sys/i386_gettimeofday_asm.S sys/spinlocks_asm.S) 94 95