diff options
Diffstat (limited to 'python3/i100492-freebsd.patch.1')
-rw-r--r-- | python3/i100492-freebsd.patch.1 | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/python3/i100492-freebsd.patch.1 b/python3/i100492-freebsd.patch.1 new file mode 100644 index 000000000000..d797ac14f826 --- /dev/null +++ b/python3/i100492-freebsd.patch.1 @@ -0,0 +1,80 @@ +FreeBSD porting fixes, patch by maho@openoffice.org + +--- Python-3.3.0/configure 2012-11-28 09:00:41.094955090 +0000 ++++ Python-3.3.0/configure 2012-11-28 09:01:13.033329526 +0000 +@@ -5545,11 +5545,6 @@ + LDLIBRARY='libpython$(LDVERSION).so' + BLDLIBRARY='-L. -lpython$(LDVERSION)' + RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} +- case $ac_sys_system in +- FreeBSD*) +- SOVERSION=`echo $SOVERSION|cut -d "." -f 1` +- ;; +- esac + INSTSONAME="$LDLIBRARY".$SOVERSION + if test "$with_pydebug" != yes + then +--- Python-3.3.0/Lib/test/test_threading.py 2012-11-28 09:00:41.292957412 +0000 ++++ Python-3.3.0/Lib/test/test_threading.py 2012-11-28 09:01:13.017329339 +0000 +@@ -451,7 +451,7 @@ + # #12316 and #11870), and fork() from a worker thread is known to trigger + # problems with some operating systems (issue #3863): skip problematic tests + # on platforms known to behave badly. +- platforms_to_skip = ('freebsd4', 'freebsd5', 'freebsd6', 'netbsd5', ++ platforms_to_skip = ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'netbsd5', + 'os2emx') + + def _run_and_join(self, script): +--- Python-3.3.0/Python/thread_pthread.h 2012-11-28 09:00:41.097955124 +0000 ++++ Python-3.3.0/Python/thread_pthread.h 2012-11-28 09:01:13.018329351 +0000 +@@ -42,6 +42,10 @@ + #endif + #endif + ++#ifdef __FreeBSD__ ++#include <osreldate.h> ++#endif ++ + /* The POSIX spec says that implementations supporting the sem_* + family of functions must indicate this by defining + _POSIX_SEMAPHORES. */ +@@ -60,7 +64,6 @@ + in default setting. So the process scope is preferred to get + enough number of threads to work. */ + #ifdef __FreeBSD__ +-#include <osreldate.h> + #if __FreeBSD_version >= 500000 && __FreeBSD_version < 504101 + #undef PTHREAD_SYSTEM_SCHED_SUPPORTED + #endif +@@ -186,6 +189,9 @@ + { + pthread_t th; + int status; ++#ifdef __FreeBSD__ ++ sigset_t set, oset; ++#endif + #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) + pthread_attr_t attrs; + #endif +@@ -214,7 +220,10 @@ + #if defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) + pthread_attr_setscope(&attrs, PTHREAD_SCOPE_SYSTEM); + #endif +- ++#ifdef __FreeBSD__ ++ sigfillset(&set); ++ SET_THREAD_SIGMASK(SIG_BLOCK, &set, &oset); ++#endif + status = pthread_create(&th, + #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) + &attrs, +@@ -225,6 +234,9 @@ + (void *)arg + ); + ++#ifdef __FreeBSD__ ++ SET_THREAD_SIGMASK(SIG_SETMASK, &oset, NULL); ++#endif + #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) + pthread_attr_destroy(&attrs); + #endif |