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 dynamic-link/19289] New: gcc-6 emits movaps instructions for dl-lookup.o with -O3


https://sourceware.org/bugzilla/show_bug.cgi?id=19289

            Bug ID: 19289
           Summary: gcc-6 emits movaps instructions for dl-lookup.o with
                    -O3
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: dynamic-link
          Assignee: unassigned at sourceware dot org
          Reporter: markus at trippelsdorf dot de
  Target Milestone: ---

markus@x4 elf % gcc dl-lookup.c -c -std=gnu11 -fgnu89-inline -O3 -Wall -Wundef
-Wwrite-strings -fmerge-all-constants -frounding-math -g3 -pipe
-Wstrict-prototypes -Wold-style-definition -fexceptions
-fasynchronous-unwind-tables -ftls-model=initial-exec -I../include
-I/var/tmp/glibc-build/elf -I/var/tmp/glibc-build
-I../sysdeps/unix/sysv/linux/x86_64/64 -I../sysdeps/unix/sysv/linux/x86_64
-I../sysdeps/unix/sysv/linux/x86 -I../sysdeps/unix/sysv/linux/wordsize-64
-I../sysdeps/x86_64/nptl -I../sysdeps/unix/sysv/linux/include
-I../sysdeps/unix/sysv/linux -I../sysdeps/nptl -I../sysdeps/pthread
-I../sysdeps/gnu -I../sysdeps/unix/inet -I../sysdeps/unix/sysv
-I../sysdeps/unix/x86_64 -I../sysdeps/unix -I../sysdeps/posix
-I../sysdeps/x86_64/64 -I../sysdeps/x86_64/fpu -I../sysdeps/x86/fpu/include
-I../sysdeps/x86/fpu -I../sysdeps/x86_64 -I../sysdeps/x86
-I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64/wordsize-64
-I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32
-I../sysdeps/wordsize-64 -I../sysdeps/ieee754 -I../sysdeps/generic -I..
-I../libio -I. -nostdinc -isystem
/usr/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include -isystem
/usr/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include-fixed -isystem /usr/include
-D_LIBC_REENTRANT -include /var/tmp/glibc-build/libc-modules.h
-DMODULE_NAME=libc -include ../include/libc-symbols.h -o
/var/tmp/glibc-build/elf/dl-lookup.o -MD -MP -MF
/var/tmp/glibc-build/elf/dl-lookup.o.dt -MT 
/var/tmp/glibc-build/elf/dl-lookup.o                                            
markus@x4 elf % objdump -dr /var/tmp/glibc-build/elf/dl-lookup.o | grep movaps
     d74:       0f 29 45 80             movaps %xmm0,-0x80(%rbp)
     ebb:       0f 29 45 90             movaps %xmm0,-0x70(%rbp)

Naively adding "-mno-sse -mno-mmx" doesn't work:

markus@x4 elf % gcc dl-lookup.c -c -std=gnu11 -fgnu89-inline -mno-sse -mno-mmx
-O3 -Wall -Wundef -Wwrite-strings -fmerge-all-constants -frounding-math -g3
-pipe -Wstrict-prototypes -Wold-style-definition -fexceptions
-fasynchronous-unwind-tables -ftls-model=initial-exec -I../include
-I/var/tmp/glibc-build/elf -I/var/tmp/glibc-build
-I../sysdeps/unix/sysv/linux/x86_64/64 -I../sysdeps/unix/sysv/linux/x86_64
-I../sysdeps/unix/sysv/linux/x86 -I../sysdeps/unix/sysv/linux/wordsize-64
-I../sysdeps/x86_64/nptl -I../sysdeps/unix/sysv/linux/include
-I../sysdeps/unix/sysv/linux -I../sysdeps/nptl -I../sysdeps/pthread
-I../sysdeps/gnu -I../sysdeps/unix/inet -I../sysdeps/unix/sysv
-I../sysdeps/unix/x86_64 -I../sysdeps/unix -I../sysdeps/posix
-I../sysdeps/x86_64/64 -I../sysdeps/x86_64/fpu -I../sysdeps/x86/fpu/include
-I../sysdeps/x86/fpu -I../sysdeps/x86_64 -I../sysdeps/x86
-I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64/wordsize-64
-I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32
-I../sysdeps/wordsize-64 -I../sysdeps/ieee754 -I../sysdeps/generic -I..
-I../libio -I. -nostdinc -isystem
/usr/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include -isystem
/usr/lib/gcc/x86_64-pc-linux-gnu/6.0.0/include-fixed -isystem /usr/include
-D_LIBC_REENTRANT -include /var/tmp/glibc-build/libc-modules.h
-DMODULE_NAME=libc -include ../include/libc-symbols.h -o
/var/tmp/glibc-build/elf/dl-lookup.o -MD -MP -MF
/var/tmp/glibc-build/elf/dl-lookup.o.dt -MT
/var/tmp/glibc-build/elf/dl-lookup.o                                            
In file included from ../include/bits/stdlib-float.h:6:0,
                 from ../stdlib/stdlib.h:954,
                 from ../include/stdlib.h:10,
                 from dl-lookup.c:21:
../stdlib/bits/stdlib-float.h: In function âatofâ:
../stdlib/bits/stdlib-float.h:27:1: error: SSE register return with SSE
disabled
 {
 ^

Unfortunately "make check" doesn't catch this issue (although
tst-ld-sse-use.out really should).

-- 
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]