This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug math/13633] New: stripped libm drops ifunc identifiers


http://sourceware.org/bugzilla/show_bug.cgi?id=13633

             Bug #: 13633
           Summary: stripped libm drops ifunc identifiers
           Product: glibc
           Version: 2.15
            Status: NEW
          Severity: normal
          Priority: P2
         Component: math
        AssignedTo: aj@suse.de
        ReportedBy: pcpa@mandriva.com.br
    Classification: Unclassified


Both, eu-strip and binutils strip drop some identifiers from newer libm with
sse4.1 optimizations.

  Before strip:
000000000001a980 <floor>:
   1a980:       e8 1b a7 fe ff          callq  50a0 <__get_cpu_features@plt>
   1a985:       48 89 c2                mov    %rax,%rdx
   1a988:       48 8d 05 11 00 00 00    lea    0x11(%rip),%rax        # 1a9a0
<__floor_sse41>
   1a98f:       f7 42 10 00 00 08 00    testl  $0x80000,0x10(%rdx)
   1a996:       75 07                   jne    1a99f <floor+0x1f>
   1a998:       48 8d 05 b1 77 02 00    lea    0x277b1(%rip),%rax        #
42150 <__floor_c>
   1a99f:       c3                      retq   

000000000001a9a0 <__floor_sse41>:
   1a9a0:       66 0f 3a 0b c0 01       roundsd $0x1,%xmm0,%xmm0
   1a9a6:       c3                      retq   

  After strip:
000000000001a980 <floor>:
   1a980:       e8 1b a7 fe ff          callq  50a0 <__get_cpu_features@plt>
   1a985:       48 89 c2                mov    %rax,%rdx
   1a988:       48 8d 05 11 00 00 00    lea    0x11(%rip),%rax        # 1a9a0
<floor+0x20>
   1a98f:       f7 42 10 00 00 08 00    testl  $0x80000,0x10(%rdx)
   1a996:       75 07                   jne    1a99f <floor+0x1f>
   1a998:       48 8d 05 b1 77 02 00    lea    0x277b1(%rip),%rax        #
42150 <__signbitl+0x6950>
   1a99f:       c3                      retq   
   1a9a0:       66 0f 3a 0b c0 01       roundsd $0x1,%xmm0,%xmm0
   1a9a6:       c3                      retq   

  Most times this happens to work, but will break on special conditions if libm
is loaded as a
dependency of a dynamic module, for example, apache mod_php (using LD_PRELOAD
on these special
cases also "corrects" the problem).

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]