diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 249335031..34a6c80a9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -123,6 +123,7 @@ add_subdirectory(external/compiler-rt/lib/builtins) add_subdirectory(CommonCrypto) add_subdirectory(csu) add_subdirectory(external/python/2.6/Python-2.6.9) +add_subdirectory(external/python/2.7/Python-2.7.10) add_subdirectory(external/expat) add_subdirectory(external/libauto) #add_subdirectory(external/security) # work in progress diff --git a/src/external/installer b/src/external/installer index 8d637fefb..bb1874a13 160000 --- a/src/external/installer +++ b/src/external/installer @@ -1 +1 @@ -Subproject commit 8d637fefb26d44aff142f3bf8f57af68089387a3 +Subproject commit bb1874a131cee003a775746f941fd357249cc6f2 diff --git a/src/external/python b/src/external/python index dbff40fba..5d52dfef8 160000 --- a/src/external/python +++ b/src/external/python @@ -1 +1 @@ -Subproject commit dbff40fba379d939b8a833f3ed4b861ae8a8eb7e +Subproject commit 5d52dfef842ca832c39ae50c3870921396cee242 diff --git a/src/libdyld/dl_public.cpp b/src/libdyld/dl_public.cpp index 816837297..300d22916 100644 --- a/src/libdyld/dl_public.cpp +++ b/src/libdyld/dl_public.cpp @@ -238,11 +238,15 @@ int __darwin_dladdr(void *addr, Dl_info *info) NSSymbol NSLookupAndBindSymbol(const char* symbolName) { + if (*symbolName == '_') + symbolName++; return __darwin_dlsym(DARWIN_RTLD_DEFAULT, symbolName); } NSSymbol NSLookupSymbolInModule(NSModule module, const char* symbolName) { + if (*symbolName == '_') + symbolName++; return __darwin_dlsym(module, symbolName); } diff --git a/src/libm/CMakeLists.txt b/src/libm/CMakeLists.txt index a1ebf0afb..6b3747847 100644 --- a/src/libm/CMakeLists.txt +++ b/src/libm/CMakeLists.txt @@ -3,7 +3,7 @@ project(darling-libsystem_m) cmake_minimum_required(VERSION 2.4.0) enable_language(C ASM) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse -msse2 -msse3 -w") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse -msse2 -msse3 -w -ggdb -O0") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__DARWIN_UNIX03 -fPIC -w -DBUILDING_FOR_CARBONCORE_LEGACY -funroll-loops -msse3") # -DBUILDING_FOR_CARBONCORE_LEGACY") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -nostdlib -Wl,--version-script=${DARLING_TOP_DIRECTORY}/darwin.map") @@ -257,7 +257,7 @@ SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) add_library(system_m_extra OBJECT Source/Intel/xmm_misc.c Source/Intel/xmm_log.c) -set_target_properties(system_m_extra PROPERTIES COMPILE_FLAGS "-UBUILDING_FOR_CARBONCORE_LEGACY") +set_target_properties(system_m_extra PROPERTIES COMPILE_FLAGS "-UBUILDING_FOR_CARBONCORE_LEGACY -O0 -ggdb") #add_library(system_m_extra_no_fenv OBJECT Source/Intel/xmm_log.c) #set_target_properties(system_m_extra_no_fenv PROPERTIES COMPILE_FLAGS "-UBUILDING_FOR_CARBONCORE_LEGACY -ftrapping-math -fPIC -DNO_FENV") diff --git a/src/libm/Source/Intel/ceil.S b/src/libm/Source/Intel/ceil.S index 5d8158160..34b300aa6 100644 --- a/src/libm/Source/Intel/ceil.S +++ b/src/libm/Source/Intel/ceil.S @@ -7,10 +7,12 @@ * Copyright 2009, Apple Inc. */ +.type ceil, @function #ifdef __i386__ #ifdef __SSE3__ + .text .align (1<<4) .globl ceil diff --git a/src/libm/Source/Intel/ceilf.S b/src/libm/Source/Intel/ceilf.S index 5c67ff2d0..82eaad58a 100644 --- a/src/libm/Source/Intel/ceilf.S +++ b/src/libm/Source/Intel/ceilf.S @@ -3,7 +3,8 @@ * * Steve Canon, March 2009. */ - + +.type ceilf, @function #if defined __i386__ #include diff --git a/src/libm/Source/Intel/cosh.S b/src/libm/Source/Intel/cosh.S index a03d2276a..e528cc5c6 100644 --- a/src/libm/Source/Intel/cosh.S +++ b/src/libm/Source/Intel/cosh.S @@ -12,6 +12,8 @@ #include #include "abi.h" +.type cosh, @function + //.const .align (1<<4) // Polynomial coefficients, offset from exp2table diff --git a/src/libm/Source/Intel/coshf.S b/src/libm/Source/Intel/coshf.S index e8aa9f575..fb078d8a6 100644 --- a/src/libm/Source/Intel/coshf.S +++ b/src/libm/Source/Intel/coshf.S @@ -11,6 +11,8 @@ #include #include "abi.h" +.type coshf, @function + // This is identical to sinhf with some indices permuted to compute cosh instead. // Read the detailed comments in that file for more information. diff --git a/src/libm/Source/Intel/machine/asm.h b/src/libm/Source/Intel/machine/asm.h index 4a471d545..a526b283f 100644 --- a/src/libm/Source/Intel/machine/asm.h +++ b/src/libm/Source/Intel/machine/asm.h @@ -22,6 +22,7 @@ */ #define ENTRY(name) \ + .type name, @function; \ .globl name; \ .align (2<<4); \ name##: diff --git a/src/libm/Source/Intel/tanhf.S b/src/libm/Source/Intel/tanhf.S index e5e32d71d..3de5b1ddb 100644 --- a/src/libm/Source/Intel/tanhf.S +++ b/src/libm/Source/Intel/tanhf.S @@ -11,6 +11,8 @@ #include #include "abi.h" +.type tanhf, @function + // This is identical to sinhf with some indices permuted to compute tanh instead. // Read the detailed comments in that file for more information. diff --git a/src/libm/Source/Intel/xmmLibm_prefix.h b/src/libm/Source/Intel/xmmLibm_prefix.h index b4e3f370f..7b41c01f1 100644 --- a/src/libm/Source/Intel/xmmLibm_prefix.h +++ b/src/libm/Source/Intel/xmmLibm_prefix.h @@ -86,8 +86,8 @@ typedef union //Macros to extend the set of intrinsics to allow for memory operands #define _mm_cmplt_sdm( _xd, _m64 ) ({ register xDouble _r = _xd; asm( "cmpltsd %1, %0" : "+x" (_r) : "m" (*(_m64)) ); /*return*/ _r; }) #define _mm_cmple_sdm( _xd, _m64 ) ({ register xDouble _r = _xd; asm( "cmplesd %1, %0" : "+x" (_r) : "m" (*(_m64)) ); /*return*/ _r; }) - #define _mm_cmpgt_sdm( _xd, _m64 ) ({ register xDouble _r; asm( "movsd %1, %0" : "=x" (_r) : "m" (*(_m64)) ); _r = (xDouble) _mm_cmplt_sdm( _r, &_xd ); /*return*/ _r; }) - #define _mm_cmpge_sdm( _xd, _m64 ) ({ register xDouble _r; asm( "movsd %1, %0" : "=x" (_r) : "m" (*(_m64)) ); _r = (xDouble) _mm_cmple_sdm( _r, &_xd ); /*return*/ _r; }) + #define _mm_cmpgt_sdm( _xd, _m64 ) ({ register xDouble _r; asm( "movsd %1, %0" : "=x" (_r) : "m" (*(_m64)) ); _r = (xDouble) __builtin_ia32_cmpltsd( _r, _xd ); /*return*/ _r; }) + #define _mm_cmpge_sdm( _xd, _m64 ) ({ register xDouble _r; asm( "movsd %1, %0" : "=x" (_r) : "m" (*(_m64)) ); _r = (xDouble) __builtin_ia32_cmplesd( _r, _xd ); /*return*/ _r; }) #define _mm_cmpeq_sdm( _xd, _m64 ) ({ register xDouble _r = _xd; asm( "cmpeqsd %1, %0" : "+x" (_r) : "m" (*(_m64)) ); /*return*/ _r; }) #define _mm_cmpne_sdm( _xd, _m64 ) ({ register xDouble _r = _xd; asm( "cmpneqsd %1, %0" : "+x" (_r) : "m" (*(_m64)) ); /*return*/ _r; }) #define _mm_add_sdm( _xd, _m64 ) ({ register xDouble _r = _xd; asm( "addsd %1, %0" : "+x" (_r) : "m" (*(_m64)) ); /*return*/ _r; })