This is the mail archive of the libc-alpha@sources.redhat.com 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]

glibc-2.3.2: cmov generated even for --target=i486-pc-linux-gnu


Yay. I was SIGILLed on Pentium classic! 8(

I had saved entire configure and make logs when I built 2.3.2,
Today they will be very useful.

../configure \
--prefix=/usr                           \
--exec-prefix=$STATIC                   \
--bindir=$STATIC/bin                    \
--sbindir=$STATIC/sbin                  \
--libexecdir=$STATIC/libexec            \
--datadir=$STATIC/share                 \
--sysconfdir=/etc                       \
--sharedstatedir=$PERBOX/com            \
--localstatedir=$PERBOX                 \
--libdir=/usr/lib                       \
--includedir=$STATIC/include            \
--oldincludedir=/usr/include            \
--infodir=$STATIC/info                  \
--mandir=$STATIC/man                    \
\
--with-headers=/usr/src2/$NAME/.linux-2.4.25_include    \
--enable-add-ons=linuxthreads           \
--enable-kernel=2.4.25                  \
\
--enable-shared                         \
--disable-static                        \
--disable-profile                       \
\
--target=i486-pc-linux-gnu              \
\
2>&1 | tee !cfg.log

CFLAGS="-march=i486 -mcpu=i486" LANGUAGE=C LC_ALL=C make 2>&1 | tee !mk.log

!mk.log:
========
make -r PARALLELMFLAGS="" CVSOPTS="" -C .. objdir=`pwd` all
make[1]: Entering directory `/.share/usr/src2/glibc-2.3.2'
(echo 'sysd-rules-sysdirs := sysdeps/i386/elf linuxthreads/sysdeps
/unix/sysv/linux/i386 linuxthreads/sysdeps/unix/sysv/linux linuxth
reads/sysdeps/pthread sysdeps/pthread linuxthreads/sysdeps/unix/sy
sv linuxthreads/sysdeps/unix linuxthreads/sysdeps/i386/i686 linuxt
hreads/sysdeps/i386 sysdeps/unix/sysv/linux/i386 sysdeps/unix/sysv
/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysdeps/u
nix/inet sysdeps/unix/sysv/i386 sysdeps/unix/sysv sysdeps/unix/i38
6 sysdeps/unix sysdeps/posix sysdeps/i386/i686/fpu sysdeps/i386/i6
                                          ^^^^^^^^              ^^
86 sysdeps/i386/i486 sysdeps/i386/fpu sysdeps/i386 sysdeps/wordsiz
^^
e-32 sysdeps/ieee754/ldbl-96 sysdeps/ieee754/dbl-64 sysdeps/ieee75
4/flt-32 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic';
 for dir in '$(..)sysdeps/i386/elf' '$(..)linuxthreads/sysdeps/uni
x/sysv/linux/i386' '$(..)linuxthreads/sysdeps/unix/sysv/linux' '$(
..)linuxthreads/sysdeps/pthread' '$(..)sysdeps/pthread' '$(..)linu
xthreads/sysdeps/unix/sysv' '$(..)linuxthreads/sysdeps/unix' '$(..
)linuxthreads/sysdeps/i386/i686' '$(..)linuxthreads/sysdeps/i386'
'$(..)sysdeps/unix/sysv/linux/i386' '$(..)sysdeps/unix/sysv/linux'
 '$(..)sysdeps/gnu' '$(..)sysdeps/unix/common' '$(..)sysdeps/unix/
mman' '$(..)sysdeps/unix/inet' '$(..)sysdeps/unix/sysv/i386' '$(..
)sysdeps/unix/sysv' '$(..)sysdeps/unix/i386' '$(..)sysdeps/unix' '
$(..)sysdeps/posix' '$(..)sysdeps/i386/i686/fpu' '$(..)sysdeps/i38
6/i686' '$(..)sysdeps/i386/i486' '$(..)sysdeps/i386/fpu' '$(..)sys
deps/i386' '$(..)sysdeps/wordsize-32' '$(..)sysdeps/ieee754/ldbl-9
6' '$(..)sysdeps/ieee754/dbl-64' '$(..)sysdeps/ieee754/flt-32' '$(
..)sysdeps/ieee754' '$(..)sysdeps/generic/elf' '$(..)sysdeps/gener
ic'; do                       \
...

hunt_cmov
=========
#!/bin/sh
find -name '*.o' \
| while read -r file; do
    if objdump -d "$file" 2>/dev/null | grep -q -F cmov; then
        echo "$file: "
        objdump -d "$file" | grep -F cmov
    fi
done

# ./hunt_cmov
./math/s_fdimf.o:
  12:   da c1                   fcmovb %st(1),%st
  18:   db d9                   fcmovnu %st(1),%st
./math/s_fdiml.o:
  12:   da c1                   fcmovb %st(1),%st
  18:   db d9                   fcmovnu %st(1),%st
./math/s_fmaxf.o:
   a:   da d9                   fcmovu %st(1),%st
  10:   da c1                   fcmovb %st(1),%st
./math/s_fmaxl.o:
   a:   da d9                   fcmovu %st(1),%st
  10:   da c1                   fcmovb %st(1),%st
./math/s_fminf.o:
   a:   da d9                   fcmovu %st(1),%st
   e:   db c1                   fcmovnb %st(1),%st
./math/s_fminl.o:
   a:   da d9                   fcmovu %st(1),%st
   e:   db c1                   fcmovnb %st(1),%st
./math/s_fdim.o:
  12:   da c1                   fcmovb %st(1),%st
  18:   db d9                   fcmovnu %st(1),%st
./math/s_fmax.o:
   a:   da d9                   fcmovu %st(1),%st
  10:   da c1                   fcmovb %st(1),%st
./math/s_fmin.o:
   a:   da d9                   fcmovu %st(1),%st
   e:   db c1                   fcmovnb %st(1),%st
./string/strtok_r.o:
  29:   0f 44 d0                cmove  %eax,%edx
  c5:   0f 45 d1                cmovne %ecx,%edx
./string/ffs.o:
   e:   0f 44 ca                cmove  %edx,%ecx
./string/strcmp.o:
  21:   0f 42 c1                cmovb  %ecx,%eax
./string/strtok.o:
  25:   0f 44 d0                cmove  %eax,%edx
  c1:   0f 45 d1                cmovne %ecx,%edx
--
vda


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