Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
Merge branch 'master' into ticket/15278
Browse files Browse the repository at this point in the history
* master: (162 commits)
  [FIXUP] 5.13.beta4: update git specific files
  5.13.beta4
  5.13.beta4
  [FIXUP] 5.13.beta3: update git specific files
  5.13.beta3
  5.13.beta3
  Trac #15402: fix eint1() precision
  #14706: fix visibility of symbols for built-in libintl.
  also remove untracked directories after an aborted import patch
  trac_interface: encode fields with utf-8 as well
  sage.dev: don't textwrap during doctesting
  patch.py: deal with hg's silly copy commands
  remove reference to sage/misc/hg from docbuild
  SageDev: fix pull doctest
  SageDev: remove branch keyword from pull
  fix doctest errors in SageDev.push
  remove (now) bad uses of SageDev.pull
  remove unused garbage
  dumb down pull to fix it
  don't abort ticket editing on nop push
  ...
  • Loading branch information
simon-king-jena committed Dec 6, 2013
2 parents c774057 + 0c6fcdf commit 126b036
Show file tree
Hide file tree
Showing 466 changed files with 27,020 additions and 34,471 deletions.
49 changes: 49 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,52 @@
/local
/logs
/upstream

###################
# Temporary Files #
###################

# Various editors
*~

# Emacs
\#*\#
.\#*

# Vim
*.s[a-w][a-z]
*.un~
.netrwhist

# PyCharm
.idea
.iml

# Eclipse
*.pydevproject
.project
.metadata
*.tmp
*.bak
*.swp
*~.nib
.classpath
.settings/
.loadpath
.externalToolBuilders/
.cproject
.buildpath

# OSX specific temporary files
.DS_Store
._*
.AppleDouble
.LSOverride
.Spotlight-V100
.Trashes

# Windows
$RECYCLE.BIN/

# SublimeText
*.sublime-workspace
6 changes: 6 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ build: logs
"tee -a ../logs/install.log"
./sage -b

# Preemptively download all standard upstream source tarballs.
download:
export SAGE_ROOT=$$(pwd) && \
export PATH=$$SAGE_ROOT/src/bin:$$PATH && \
./src/bin/sage-download-upstream

# ssl: build Sage, and also install pyOpenSSL. This is necessary for
# running the secure notebook. This make target requires internet
# access. Note that this requires that your system have OpenSSL
Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Sage version 5.13.beta0, released 2013-10-08
Sage version 5.13.beta4, released 2013-11-24
51 changes: 51 additions & 0 deletions build/install
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,15 @@ if [ "$SAGE_UPGRADING" = yes ]; then
export RM="rm -f"
fi

# Unset AS and LD if they are set to their default values,
# otherwise the AS and LD test from #14296 below will fail.
if [ "$AS" = as ]; then
unset AS
fi
if [ "$LD" = ld ]; then
unset LD
fi

# If we have an old version of sage-location,
# then manually fix the .la (libtool) files.
if grep 'lib64' "$SAGE_LOCAL/bin/sage-location" &>/dev/null; then
Expand Down Expand Up @@ -252,6 +261,48 @@ else
fi
fi

# If we are not installing GCC: check that the assembler and linker
# used by $CC match $AS and $LD.
# See http://trac.sagemath.org/sage_trac/ticket/14296
if [ $need_to_install_gcc != yes ]; then
if [ "$AS" != "" ]; then
CC_as=`$CC -print-file-name=as 2>/dev/null`
CC_as=`command -v $CC_as 2>/dev/null`
cmd_AS=`command -v $AS`

if [ "$CC_as" != "" -a "$CC_as" != "$cmd_AS" ]; then
echo >&2 "Error: Mismatch of assemblers between"
echo >&2 " * $CC using $CC_as"
echo >&2 " * \$AS equal to $AS"
if [ "$SAGE_PORT" = "" ]; then
echo >&2 "Aborting, either change or unset AS or set SAGE_PORT=yes or set"
echo >&2 "SAGE_INSTALL_GCC=yes (this GCC would use assembler $AS)"
exit 1
else
echo >&2 "Continuing since SAGE_PORT is set."
fi
fi
fi
if [ "$LD" != "" ]; then
CC_ld=`$CC -print-file-name=ld 2>/dev/null`
CC_ld=`command -v $CC_ld 2>/dev/null`
cmd_LD=`command -v $LD`

if [ "$CC_ld" != "" -a "$CC_ld" != "$cmd_LD" ]; then
echo >&2 "Error: Mismatch of linkers between"
echo >&2 " * $CC using $CC_ld"
echo >&2 " * \$LD equal to $LD"
if [ "$SAGE_PORT" = "" ]; then
echo >&2 "Aborting, either change or unset LD or set SAGE_PORT=yes or set"
echo >&2 "SAGE_INSTALL_GCC=yes (this GCC would use linker $LD)"
exit 1
else
echo >&2 "Continuing since SAGE_PORT is set."
fi
fi
fi
fi

###############################################################################
# Create the sage_fortran script.
###############################################################################
Expand Down
5 changes: 5 additions & 0 deletions build/pkgs/atlas/SPKG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,11 @@ The package can be configured via three environment variables:

== ChangeLog ==

=== atlas-3.10.1.p6, lapack-3.4.2 (Volker Braun, 11 October 2013) ===
* Trac #15270: Do not give up if the upstream shared library build
fails
* Solaris / ZFS fixes

=== atlas-3.10.1.p5, lapack-3.4.2 (Volker Braun, 30 August 2013) ===
* Trac #15045: Another workaround for shared library bug that does
not involve static libraries
Expand Down
2 changes: 1 addition & 1 deletion build/pkgs/atlas/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.10.1.p5
3.10.1.p6
30 changes: 16 additions & 14 deletions build/pkgs/atlas/spkg-install
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,7 @@ def configure(arch=None, isa_ext=None):
print 'Running configure with arch = '+str(arch)+ \
', isa extensions '+str(isa_ext), ' thread limit '+str(thread_limit)
if os.path.isdir(BUILD_DIR):
os.chdir(conf['SPKG_DIR']) # Solaris/ZFS can't delete cwd
shutil.rmtree(BUILD_DIR)
os.mkdir(BUILD_DIR)
os.chdir(BUILD_DIR)
Expand Down Expand Up @@ -529,38 +530,39 @@ build_and_save_archdef()
######################################################################

rc = make_atlas_library('shared')
assert_success(rc, bad='Failed to install ATLAS single-threaded shared library',
good='Installed ATLAS single-threaded shared library')
if rc!=0:
print 'Failed to build shared library (using the ATLAS build system)'
else:
print 'Installed ATLAS shared library (ATLAS build system)'

rc = make_atlas_library('ptshared')
if rc!=0:
print 'Failed to build threaded library, possibly because your'
print 'system does not support it.'
print 'Failed to build threaded library (using the ATLAS build system)'
else:
print 'Installed ATLAS multi-threaded shared library'
print 'Installed ATLAS multi-threaded shared library (ATLAS build system)'


######################################################################
### configure and build atlas and lapack shared library hack
######################################################################

rc = configure_shared_library()
assert_success(rc, bad='Configuring shared ATLAS library failed.',
good='Finished configuring shared ATLAS library.')
assert_success(rc, bad='Configuring shared ATLAS library failed (libtool).',
good='Finished configuring shared ATLAS library (libtool).')

have_serial_libs = False
have_parallel_libs = False

rc = make_shared_library()
if rc!=0:
print 'Failed to build serial+parallel shared libraries, possibly because your'
print 'system does not support both. Trying to build serial libraries only.'
print 'system does not support both. Trying to build serial libraries only (libtool).'
rc = make_shared_library('all_serial')
if rc!=0:
print 'Failed to build any shared library, installing static library as last resort.'
print 'Failed to build any shared library, installing static library as last resort (libtool).'
INSTALL_STATIC_LIBRARIES = True
else:
print 'Finished building serial shared ATLAS library.'
print 'Finished building serial shared ATLAS library (libtool).'
have_serial_libs = True
else:
have_parallel_libs = True
Expand All @@ -572,13 +574,13 @@ else:

if have_parallel_libs:
rc = make_shared_library('install')
assert_success(rc, bad='Installing the parallel+serial shared ATLAS library failed.',
good='Finished installing parallel+serial shared ATLAS library.')
assert_success(rc, bad='Installing the parallel+serial shared ATLAS library failed (libtool).',
good='Finished installing parallel+serial shared ATLAS library (libtool).')

if have_serial_libs:
rc = make_shared_library('install_serial')
assert_success(rc, bad='Installing the serial shared ATLAS library failed.',
good='Finished installing serial shared ATLAS library.')
assert_success(rc, bad='Installing the serial shared ATLAS library failed (libtool).',
good='Finished installing serial shared ATLAS library (libtool).')


######################################################################
Expand Down
16 changes: 9 additions & 7 deletions build/pkgs/boehm_gc/SPKG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,7 @@ The Boehm-Demers-Weiser conservative garbage collector.

== License ==

Permissive BSD + GPL 2.0+

== SPKG Maintainers ==

* William Stein
* Permissive BSD + GPL 2.0+

== Upstream Contact ==

Expand All @@ -23,10 +19,17 @@ None.

== Special Update/Build Instructions ==

None. Sources in src are vanilla.
=== Patches ===
* cygwin64.patch: let libgc build on Cygwin64.

== Changelog ==

=== boehm_gc-7.2d.p0 (Jean-Pierre Flori, 11 June 2013) ===
* #14710: Update to version 7.2d.
* Remove patches integrated upstream.
* Add cygwin64.patch from Cygwin64 libgc package to let it build
on Cygwin64.

=== boehm_gc-7.2.alpha6.p2 (Simon King, Dec 10 2011) ===
* #12131: Use --libdir, to make the package work on openSUSE

Expand Down Expand Up @@ -78,4 +81,3 @@ None. Sources in src are vanilla.

=== boehm_gc-7.1 (Gary Furnish) ===
* Initial version

6 changes: 3 additions & 3 deletions build/pkgs/boehm_gc/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
sha1=d2b73db75ea173ebd07a3ee04b4cd91e1af81eaf
md5=1eee767e11296fb1b7d11d273fe072c7
cksum=2375122679
sha1=4013e5d6b685e1a3c7ff9b5447405a2b452731be
md5=48232de5b36573da6415ece66a9b9084
cksum=2689595432
2 changes: 1 addition & 1 deletion build/pkgs/boehm_gc/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7.2.alpha6.p2
7.2d.p0
104 changes: 104 additions & 0 deletions build/pkgs/boehm_gc/patches/cygwin64.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
--- a/include/gc.h 2012-08-09 16:25:13.000000000 -0400
+++ b/include/gc.h 2013-04-22 13:10:01.101686000 -0400
@@ -1385,7 +1385,14 @@
/* THREAD_LOCAL_ALLOC defined and the initial allocation call is not */
/* to GC_malloc() or GC_malloc_atomic(). */

-#ifdef __CYGWIN32__
+#ifdef __CYGWIN__
+#ifdef __x86_64__
+ extern int __data_start__[], __data_end__[], __bss_start__[], __bss_end__[];
+#define GC_DATASTART (__data_start__ < __bss_start__ ?\
+ (void *)__data_start__ : (void *)__bss_start__)
+#define GC_DATAEND (__data_end__ < __bss_end__ ?\
+ (void *)__data_end__ : (void *)__bss_end__)
+#else
/* Similarly gnu-win32 DLLs need explicit initialization from the */
/* main program, as does AIX. */
extern int _data_start__[], _data_end__[], _bss_start__[], _bss_end__[];
@@ -1393,6 +1400,7 @@
(void *)_data_start__ : (void *)_bss_start__)
# define GC_DATAEND (_data_end__ > _bss_end__ ? \
(void *)_data_end__ : (void *)_bss_end__)
+#endif
# define GC_INIT_CONF_ROOTS GC_add_roots(GC_DATASTART, GC_DATAEND); \
GC_gcollect() /* For blacklisting. */
/* Required at least if GC is in a DLL. And doesn't hurt. */
--- a/include/private/gcconfig.h 2012-08-09 16:25:13.000000000 -0400
+++ b/include/private/gcconfig.h 2013-04-21 12:52:28.024399600 -0400
@@ -432,10 +432,20 @@
# endif
# define mach_type_known
# endif
-# if defined(__CYGWIN32__) || defined(__CYGWIN__)
+# if defined(__CYGWIN32__)
# define I386
# define CYGWIN32
# define mach_type_known
+#if defined(__CYGWIN__)
+# if defined(__LP64__)
+# define X86_64
+# define mach_type_known
+# else
+# define I386
+# endif
+# define CYGWIN32
+# define mach_type_known
+#endif
# endif
# if defined(__MINGW32__) && !defined(mach_type_known)
# define I386
@@ -502,6 +512,16 @@
# define mach_type_known
# endif

+#if defined(__CYGWIN__)
+# if defined(__LP64__)
+# define X86_64
+# define mach_type_known
+# else
+# define I386
+# endif
+# define CYGWIN32
+# define mach_type_known
+#endif
/* Feel free to add more clauses here */

/* Or manually define the machine type here. A machine type is */
@@ -2259,6 +2279,19 @@
# define GWW_VDB
# define DATAEND /* not needed */
# endif
+
+# ifdef CYGWIN32
+# define OS_TYPE "CYGWIN32"
+# define DATASTART ((ptr_t)GC_DATASTART) /* From gc.h */
+# define DATAEND ((ptr_t)GC_DATAEND)
+# define ALIGNMENT 8
+# undef STACK_GRAN
+# define STACK_GRAN 0x10000
+# ifdef USE_MMAP
+# define NEED_FIND_LIMIT
+# define USE_MMAP_ANON
+# endif
+# endif
# endif /* X86_64 */

# ifdef HEXAGON
--- a/os_dep.c 2012-08-09 16:25:13.000000000 -0400
+++ b/os_dep.c 2013-04-22 12:43:32.202498600 -0400
@@ -770,7 +770,14 @@
/* gcc version of boehm-gc). */
GC_API int GC_CALL GC_get_stack_base(struct GC_stack_base *sb)
{
+# ifdef __x86_64__
+ PNT_TIB pTib = NtCurrentTeb();
+ void * _tlsbase = pTib->StackBase;
+ /*void * _tlsbase = NtCurrentTeb()->pTib.StackBase;*/
+ /*extern void * _tlsbase __asm__ ("%gs:8");*/
+# else
extern void * _tlsbase __asm__ ("%fs:4");
+# endif
sb -> mem_base = _tlsbase;
return GC_SUCCESS;
}
Loading

0 comments on commit 126b036

Please sign in to comment.