[Gmp-commit] /var/hg/www: Update plans file.

mercurial at gmplib.org mercurial at gmplib.org
Sat Feb 9 10:25:06 CET 2013


details:   /var/hg/www/rev/270cc7a0eacf
changeset: 24:270cc7a0eacf
user:      Torbjorn Granlund <tege at gmplib.org>
date:      Sat Feb 09 10:25:03 2013 +0100
description:
Update plans file.

diffstat:

 devel/GMPng.html |   42 ++-
 testclient.sh    |  601 -------------------------------------------------------
 2 files changed, 23 insertions(+), 620 deletions(-)

diffs (truncated from 689 to 300 lines):

diff -r 0da054ca8f84 -r 270cc7a0eacf devel/GMPng.html
--- a/devel/GMPng.html	Thu Feb 07 20:48:52 2013 +0100
+++ b/devel/GMPng.html	Sat Feb 09 10:25:03 2013 +0100
@@ -270,7 +270,7 @@
   </font>
 
 
-<h2> Intra-library references  </h2>
+<h2> Calls and linkage  </h2>
 
   <p> Intra-library references, i.e., function calls and reads/writes of global
   variables, use various access structures like GOT and PLT.  These are not
@@ -279,13 +279,20 @@
   here the compiler adds a .private_extern to the declaration of a function,
   but does not change calls [until supposedly in the final link].)
 
+  <p> This can also be used to enforce the policy that certain functions ae
+  really internal to the library.  Depending on how one sees such policies,
+  such enforcing might be good or bad.  We should probably use it with care.
+  Calls that are declared with attribute "internal" will be the fastest, since
+  then the GOT pointer can be assumed correct, which is a technical reaon XXX
+
   <font color="#a00000">
-  <p> Fix calls to strictly internal routines. <br>
-      Fix references to strictly internal variables (e.g., alloc func pointers). <br>
+  <p> Fix calls to strictly internal routines, using the "internal" attribute,
+  e.g. allowing compiler suppression of GOT setup code.  <br> Fix references to
+  strictly internal variables (e.g., alloc func pointers).
   </font>
 
   <font color="#a00000">
-  <p> Fix calls to remaining mpn routines (perhaps using hidden+alias). <br>
+  <p> Fix calls to remaining mpn routines (perhaps using hidden+alias).
   </font>
 
   <font color="#a00000">
@@ -293,6 +300,17 @@
   The table itself needs a GOT and each entry points to a PLT entry...
   </font>
 
+  <font color="#a00000">
+  <p> Use <code>restrict</code> keyword in most <code>mpn</code> functions.
+  </font>
+
+  <font color="#a00000">
+  <p> Use <code>visibility hidden</code> for <b>all</b> symbols used
+  internally, then make documented symbols visible with alias.  See star
+  hacker <a href="http://www.airs.com/blog/archives/307" style="color:
+  rgb(160,0,0)">Ian Lance Taylor's explanations</a>.
+  </font>
+
 
 <h2> Configuru </h2>
 
@@ -348,20 +366,6 @@
   </font>
 
 
-<h2> Annotations for efficiency </h2>
-
-  <font color="#a00000">
-  <p> Use <code>restrict</code> keyword in most <code>mpn</code> functions.
-  </font>
-
-  <font color="#a00000">
-  <p> Use <code>visibility hidden</code> for <b>all</b> symbols used
-  internally, then make documented symbols visible with alias.  See star
-  hacker <a href="http://www.airs.com/blog/archives/307" style="color:
-  rgb(160,0,0)">Ian Lance Taylor's explanations</a>.
-  </font>
-
-
 <h2> Misc </h2>
 
   <font color="#a00000">
@@ -389,7 +393,7 @@
 
 </div>
 
-<font size="-4">Last modified: 2012-12-25 </font>
+<font size="-4">Last modified: 2013-01-02 </font>
 <div id="footer">
 <table cellpadding=0 width="100%" bgcolor="#e8e8e8">
   <tr>
diff -r 0da054ca8f84 -r 270cc7a0eacf testclient.sh
--- a/testclient.sh	Thu Feb 07 20:48:52 2013 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,601 +0,0 @@
-#!/bin/sh
-
-# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Torbjorn Granlund.
-# All rights reserved.
-
-# This is unreleased software.  You have no right whatsoever to use it, run it,
-# examine it, or distribute it.
-
-# If you have a copy of this software, please notify tg at gmplib.org immediately.
-
-
-SNAME=gmp-restricted-snap
-HTTPHOST=130.237.222.241
-UNCOMPRESS=bunzip2
-EXT=bz2
-MAXTUNETIME=4000
-SUPPRESS_tune=false
-SUPPRESS_try=false
-SUPPRESS_demos=false
-TUNEPROGS=allprogs
-EXEEXT=
-MDEP_OPTIONS=""
-
-set +e			# experiment addressing testremote.sh problems
-
-unset LC_CTYPE
-unset LANG
-
-if [ x$DOMAINNAME = x ]
-  then
-    eval `grep DOMAINNAME= $HOME/.profile`
-  fi
-
-HOSTNAME=`hostname | tr [A-Z] [a-z] | tr -d '\r'`
-
-while true
-  do
-    case "$1" in
-      --hostname=* | -hostname=* | hostname=*)
-	HOSTNAME="`echo $1 | sed 's;.*=;;'`"
-	shift
-	;;
-      --abi=* | -abi=* | abi=*)
-	ABI="`echo $1 | sed 's;.*=;;'`"
-	ABIopt="ABI=$ABI"
-	shift
-	;;
-      --fat | -fat | fat)
-	HOSTNAME="tjock$HOSTNAME"
-	MDEP_OPTIONS="--enable-fat"
-	TUNEPROGS=speed		# just build 'speed' not 'tuneup'
-	SUPPRESS_try=true
-	shift
-	;;
-      *)
-	break
-	;;
-    esac
-  done
-
-case $HOSTNAME in
-  *.*)
-    HOSTFULLNAME=$HOSTNAME
-    BUILDDIR=`echo $HOSTNAME | awk -F. '{print $1}'` ;;
-  *)
-    HOSTFULLNAME=$HOSTNAME.$DOMAINNAME
-    BUILDDIR=$HOSTNAME ;;
-esac
-
-[ -n "$ABI" ] && BUILDDIR="$BUILDDIR-$ABI"
-
-# Try to increase stack to allowed limit, but not more than 65536
-stacklim=`ulimit -H -s 2>/dev/null`
-case "$stacklim" in
-  [0-9]*)
-    if [ $stacklim -gt 65536 ]
-      then stacklim=65536
-      fi
-    ;;
-  *)
-    stacklim=65536
-    ;;
-esac
-ulimit -s $stacklim 2>/dev/null
-
-# Try to increase data segment as much as possible
-datalim=`ulimit -H -d 2>/dev/null`
-case "$datalim" in
-  ?*)   # if we got something back, try using it as limit
-    ;;
-  *)    # default to something that ought to work on most systems
-    datalim=262144;;
-esac
-ulimit -d $datalim 2>/dev/null
-
-ulimit -c 0			# no core dumps, please
-
-case $HOSTFULLNAME in
-  *)
-    MUNGE_PROFILE=true;;
-esac
-
-# Munge profile unless we already did
-if [ x$1 = xagain ]
-  then
-    shift
-  else
-    $MUNGE_PROFILE && test -f /etc/profile && . /etc/profile
-    $MUNGE_PROFILE && . $HOME/.profile
-  fi
-
-RUNMAKE=true
-
-# Choose "mailx" if it exists, else "mail"
-MAIL=mailx
-found_mailx=false
-for i in `echo $PATH | sed 's/:/ /g'`
-  do
-    if [ -x $i/$MAIL ]
-      then found_mailx=true
-      fi
-  done
-if $found_mailx; then true
-  else
-    MAIL=mail
-  fi
-
-ENABLE_CXX=--enable-cxx
-TUNEUPARGS="-f 500000 -p 50000"
-
-SRC=$HOME/prec/gmp-snap
-OBJDIR=/var/tmp/gmp-obj
-
-if [ ! -d "$OBJDIR" ]
-  then if [ -d $HOME/prec/gmp-obj ]
-     then OBJDIR=$HOME/prec/gmp-obj
-     fi
-  fi
-
-mkdir $OBJDIR 2>/dev/null
-
-# Let fast machines run more tests...
-GMP_CHECK_FFT=26; export GMP_CHECK_FFT
-GMP_CHECK_REPFACTOR=1; export GMP_CHECK_REPFACTOR
-
-# OSes with lame "make", where we need gmake:
-case `uname`-`uname -r` in
-  IRIX-* | \
-  IRIX64-* | \
-  HP-UX-* | \
-  FreeBSD-* | \
-  NetBSD-1.[0-5]* | \
-  SunOS-* | \
-  OSF1-* | \
-  NOMACHINE)
-    MAKEPROG=gmake;;
-  *)
-    MAKEPROG=make;;
-esac
-
-# Machines that cannot build cxx
-case $HOSTFULLNAME in
-  ev56.gmplib.org          | \
-  *dos64.gmplib.org        | \
-  louis.sics.se | louis.sics.se.sics.se | \
-  zeipel.astro.uu.se       | \
-  agnesi.math.su.se        | \
-  herschel.math.su.se      | \
-  moufang.math.su.se       | \
-  noether.math.su.se       | \
-  chatelet.math.su.se      | \
-  gcc54.fsffrance.org      | \
-  gcc42.fsffrance.org      | \
-  gcc52.fsffrance.org      | \
-  deluxe.fsffrance.org     | \
-  ps3gccfarm.fsffrance.org | \
-  fast.homeunix.org        | \
-  kolga.bibsys.no          | \
-  NOMACHINE)
-    # ev56:			throw/catch segfaults (tried many gcc versions)
-    # dos64:			iostream unavailable as shared lib
-    # louis:			bogus gcc 2.9-aix51-020209 considered too old
-    # agnesi,herschel,moufang:	throw/catch crashes
-    # noether:			segfaults in several tests (not isolated)
-    # gcc54:			All C++ test segfault
-    # gcc42: /usr/lib/gcc/mipsel-linux-gnu/4.3.1/libstdc++.so: could not read symbols: File in wrong format [happens with both -mabi=n32 and -mabi=64]
-    ENABLE_CXX="";;
-esac
-
-case `uname` in
-  AIX)
-    # libtool limitations for AIX allow shared *or* static to be built
-    # FIXME: is that still true?
-    MDEP_OPTIONS="$MDEP_OPTIONS --disable-shared";;
-  *)
-    ;;
-esac
-
-case $HOSTFULLNAME:$ABI in
-  *bobcat.gmplib.org:32     | \
-  *element.gmplib.org:32    | \
-  *hehe.gmplib.org:32       | \
-  *nana.gmplib.org:32       | \
-  *panther.gmplib.org:32    | \
-  *repentium.gmplib.org:32  | \
-  *shell.gmplib.org:32      | \
-  *tiger.gmplib.org:32      | \
-  *tutu.gmplib.org:32       | \
-  *tigris.csc.kth.se:32     | \
-  NOMACHINE)
-    ENABLE_CXX=""
-    MDEP_OPTIONS="$MDEP_OPTIONS --disable-shared"


More information about the gmp-commit mailing list