#15316: Make gf2x respect SAGE_FAT_BINARY and use --libdir
-------------------------------------+-------------------------------------
Reporter: jpflori | Owner:
Type: defect | Status: needs_work
Priority: critical | Milestone: sage-6.1
Component: packages: | Resolution:
standard | Merged in:
Keywords: spkg gf2x | Reviewers: Jeroen Demeyer
Authors: Jean-Pierre Flori | Work issues:
Report Upstream: N/A | Commit:
Branch: | 1fb1afe23d755de863d6c8f17b317f2349b8955b
u/jpflori/ticket/15316 | Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Comment (by jpflori):
Replying to [comment:35 jdemeyer]:
> I'm confused because it seems that you're solving the same problem
twice:
> 1. You supply the `hwdir` option to configure
> 1. You supply the `--disable-hardware-specific-code` option to
configure
>
> Wouldn't either of these two work by itself?
Not right now.
With "--disable-hardware-specific-code" you only use the generic32,
generic64 targets.
With only hwdir set, the configure script still checks whether SSE2 and
pclmul are supported and can add the corresponding flags to CFLAGS.
>
> A more serious issue is that you should not assume that SSE2 code can be
''compiled'' properly, the compiler and assembler need to support it.
Hardware support and software support are orthogonal. On `x86_64`, you may
assume hardware support but you still need `CHECK_SSE2_SUPPORT()` to check
for software support.
I agree with the hardware/software dichotomy.
The problem is that the CHECK_SSE2_SUPPORT macro does not only checks for
SSE2 support but can add things to CFLAGS (for example on 32 bits where
-msse2 is needed)... so we cannot just call it unconditionally and that's
why it is not called upstream when "--disable-hardware-specific-code" is
passed, and the upstream choice to only use generic32/64 seems the right
one.
If we want to use the x86_64 hwdir (with sse2) for sage generic builds, we
should still pass "--disable-hardware-specific-code" to ensure pclmul is
not used, nor sse2 on x86, but still call CHECK_SSE2_SUPPORT() on x86_64
and if that succeeds, set hwdir to x86_64.
The other solution is to modify the symlinks as before so that the x86_64
does not require sse2 (but could still use plain assembly).
--
Ticket URL: <http://trac.sagemath.org/ticket/15316#comment:38>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.