* Add Python 2.7 build

* Add pkgutil
* Fix the log() function, enable ELF linking against some libsystem_m asm symbols
* Compat fix in NS* symbol resolution functions

The Rudix Package Manager now seems to work!
This commit is contained in:
Lubos Dolezel 2016-02-26 22:58:08 +01:00
parent 8932b02c3b
commit 57a054ba4f
12 changed files with 22 additions and 7 deletions

View File

@ -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

@ -1 +1 @@
Subproject commit 8d637fefb26d44aff142f3bf8f57af68089387a3
Subproject commit bb1874a131cee003a775746f941fd357249cc6f2

2
src/external/python vendored

@ -1 +1 @@
Subproject commit dbff40fba379d939b8a833f3ed4b861ae8a8eb7e
Subproject commit 5d52dfef842ca832c39ae50c3870921396cee242

View File

@ -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);
}

View File

@ -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")

View File

@ -7,10 +7,12 @@
* Copyright 2009, Apple Inc.
*/
.type ceil, @function
#ifdef __i386__
#ifdef __SSE3__
.text
.align (1<<4)
.globl ceil

View File

@ -4,6 +4,7 @@
* Steve Canon, March 2009.
*/
.type ceilf, @function
#if defined __i386__
#include <System/i386/cpu_capabilities.h>

View File

@ -12,6 +12,8 @@
#include <machine/asm.h>
#include "abi.h"
.type cosh, @function
//.const
.align (1<<4)
// Polynomial coefficients, offset from exp2table

View File

@ -11,6 +11,8 @@
#include <machine/asm.h>
#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.

View File

@ -22,6 +22,7 @@
*/
#define ENTRY(name) \
.type name, @function; \
.globl name; \
.align (2<<4); \
name##:

View File

@ -11,6 +11,8 @@
#include <machine/asm.h>
#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.

View File

@ -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; })