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

Commit

Permalink
trac 19233: change ".align 2^n" to ".p2align n"
Browse files Browse the repository at this point in the history
in the files x86_64/mulredc*.asm, so that ecm will build with
Xcode 7 and OS X 10.11.
  • Loading branch information
jhpalmieri committed Sep 24, 2015
1 parent aeeddeb commit 1f3e8dc
Show file tree
Hide file tree
Showing 2 changed files with 631 additions and 137 deletions.
141 changes: 4 additions & 137 deletions build/pkgs/ecm/SPKG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,140 +48,7 @@ LGPL V3+
files for later versions of Microsoft Visual C get added.)

=== Patches ===
* Currently none

== Changelog ==

=== ecm-6.4.4 (Jeroen Demeyer, 11 April 2013) ===
* Trac #14151: upgrade to GMP-ECM 6.4.4, remove all Sage patches
since they are upstream now.

=== ecm-6.3.p8 (Jeroen Demeyer, 28 May 2012) ===
* Trac #12751: remove the gcc-4.7.0 workaround for ia64 since this bug
has been fixed in gcc-4.7.1 and we will not support building Sage
with gcc-4.7.0 on Itanium.
* Remove unused variable SAGE_CONF_OPTS.
* Rename ECM_EXTRA_OPTS to ECM_CONFIGURE for consistency with MPIR.
* Don't override user-set CFLAGS.

=== ecm-6.3.p7 (Leif Leonhardy, April 19th 2012) ===
* #12830: Add `-m[no-]power*` to the processor-specific options recognized;
these are used to enable/disable specific instruction set extensions of the
POWER and PowerPC (PPC) CPUs.

=== ecm-6.3.p6 (Leif Leonhardy, April 16th 2012) ===
* #12830: Add a work-around for GCC 4.7.x on ia64 (Itanium), since GMP-ECM
currently won't build with that and anything but `-O0` on that platform.
* Use `\{1,\}` instead of `\+` in `sed` patterns, which is more portable.
* Also support newer system-wide MPIR installations for printing their
settings.
* Use `patch` to apply patches. Since the pre-patched `configure` in
`patches/` was created with a newer version of autotools (or, rather, the
original `configure` was created with an outdated version), the patch would
have been almost as large as the patched `configure` file itself. Hence
I `autoreconf`ed the source tree with a patched `configure.in` (and almost
the latest versions of autotools), then created a patch to `configure`
from the resulting file(s). Note that therefore `src/` isn't really vanilla
any more, although just the auto-generated files differ (which are still
made from vanilla upstream sources, including `configure.in`).
Add a "Patches" subsection and update "Special Update/Build Instructions".
Remove files in `patches/` from `.hgignore` (and also remove pre-patched
files from that directory); the patch to `configure` and the diff of
`configure.in` are [now] under revision control, which IMHO makes sense.
* Beautify (and simplify) the output with respect to options passed to
`configure`; print the settings of a few more environment variables that
GMP-ECM uses (in case they're set); add some messages, also mention
`--enable-assert` etc. if `SAGE_DEBUG=yes`.
* Remove unused test for GCC.

=== ecm-6.3.p5 (Leif Leonhardy, April 11th 2012) ===
* #12830: Don't add `-march=native` if the assembler doesn't understand the
instructions the compiler emits with that. (E.g. the Apple/XCode assembler
on Darwin doesn't yet support AVX.)
* Fix extraction of `__GMP_CC` and `__GMP_CFLAGS` (from `gmp.h`) for newer
versions of MPIR, which define these to preprocessor macros rather than
strings.
* Redirect warnings and error messages to `stderr`; add some messages.
* Correct `SPKG.txt` w.r.t. applied patches.

=== ecm-6.3.p4 (Jeroen Demeyer, 13 February 2012) ===
* #12501: Do not patch configure.in in spkg-install (to prevent
automake from running).
* Restore upstream sources.

=== ecm-6.3.p3 (Simon King, December 11th, 2011) ===
* #12131: Use --libdir, to make the package work on openSUSE.

=== ecm-6.3.p2 (Leif Leonhardy, November 25th, 2010) ===
* #5847: Apply another patch from upstream to 'configure.in' to fix com-
pilation on 32-bit x86 processors supporting SSE2. (Also #10252.)
(There's only a single, cumulative patch file since both patches are to
'configure.in'.)
* Work around linker bug on MacOS X 10.5 PPC (see Special Update/Build
Instructions above, and #5847 comment 35 ff.).
* Allow passing extra arguments to 'configure' through ECM_EXTRA_OPTS.
* Add "-march=native" to CFLAGS on platforms that support it, or use
processor-specific CFLAGS from GMP's / MPIR's 'gmp.h' if available,
but only if CFLAGS do not already contain similar (i.e., don't over-
ride a user's choice). [Subject to further improvement.]
* Print settings of CC, CFLAGS etc. and how we configure.
* Print settings of CC and CFLAGS found in 'SAGE_LOCAL/include/gmp.h'
and eventually a system-wide 'gmp.h', although the latter aren't (yet)
used at all, and only processor-specific parts of the former.
* Add '-fPIC' conditionally, i.e. not if we're also building a shared
library (or '--with-pic' was given).
* Don't delete previous installations unless the build succeeded.
* Further clean-up.

=== ecm-6.3.p1 (Jeroen Demeyer, November 10th, 2010) ===
* #5847: Apply a patch from upstream to configure.in to fix compilation
on 32-bit PowerPC processors.

=== ecm-6.3.p0 (Leif Leonhardy, November 4th, 2010) ===
* #5847: Reviewer patch applied to Mike's spkg (upgrade to 6.3)
* There are no patches, but to avoid confusion with the previous
one, it's now 'p0'.
* Added sanity checks to spkg-install and spkg-check.
* Add debug symbols by default, disable optimization if SAGE_DEBUG=yes,
enable optimization (-O3) otherwise.
* Remove also the manual page of previous installations.
* Typo: 'rm -r' -> 'rm -f' (header file)
* Removed setting of CXXFLAGS, since we don't have C++ code.
* Don't overwrite CFLAGS if SAGE64=yes (instead, append).
Removed -O2 -g in that case. Make use of CFLAG64 if set.
* Quote $SAGE_LOCAL in the parameters to configure, too.
* Use $MAKE instead of 'make' in spkg-check, too.
* Some messages changed (e.g. all failures now starting with "Error"),
some added.
* A few comments/notes added (SPKG.txt, spkg-install).

=== ecm-6.3 (Mike Hansen, August 16th, 2010) ===
* #5847: Update GMP-ECM to 6.3

=== ecm-6.2.1.p2 (Jaap Spies, Jan 25th, 2010) ===
* Made SAGE64="yes" work also for Open Solaris 64 bit
* Removed Michael Mabshoff as maintainer

=== ecm-6.2.1.p1 (Fran�ois Bissey, October 26th, 2009) ===
* The removal of the old version of ecm in ecm-6.2.1_p0.spkg is
broken because of the typo "SAGE_LCOAL"; notice that it should be
"SAGE_LOCAL".

=== ecm-6.2.1.p0 (Michael Abshoff, January 19th, 2008) ===
* bump version to force recompile due to gmp -> MPIR switch

=== ecm-6.2.1 (Michael Abshoff, December 23rd, 2008) ===
* upgrade to latest upstream release (#3237)
* clean up old static library, headers and binary
* improve SPKG.txt

=== ecm-6.1.3.p0 (Michael Abshoff, May 18th, 2008) ===
* add 64 bit OSX support

=== ecm-6.1.3 (Michael Abshoff, Sept. 24th, 2007) ===
* update to ecm 6.1.3

* Initial version - date unknown:

I obtained the package from http://gforge.inria.fr/projects/ecm/

* asm-align.patch: on OS X using Xcode 7, ".align 64" in the files
"x86_64/mulredc*.asm" causes an error, and similarly with ".align
32,,16". These need to be changed to ".p2align 6" and ".p2align
5,,4", respectively
Loading

0 comments on commit 1f3e8dc

Please sign in to comment.