#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.

Reply via email to