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 build/20621] glibc 2.27 fails to compile on x86_64 with "operand type mismatch" in fpu/e_expl.S


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

--- Comment #8 from Michael Tremer <michael.tremer at ipfire dot org> ---
I didn't use GCC 6, yet, but my compiler is essentially patched to do the same.
From https://gcc.gnu.org/gcc-6/changes.html:

> The --enable-default-pie configure option enables generation of PIE by default.

So in that case -fPIE is always on.

That results in configure putting these lines into config.make:

> # Configuration options.
> build-shared = yes
> build-pic-default= yes
> build-pie-default= yes

That will add -DPIC to CPPFLAGS:

> # If everything is compiled with -fPIC (implicitly) we must tell this by
> # defining the PIC symbol.
> ifeq (yes,$(build-pic-default))
> pic-default = -DPIC
> endif
> ...
> CPPFLAGS-.o = $(pic-default)

Hence, when I remove -fPIC from my CFLAGS, the buildsystem will still add -DPIC
which compiled and ran fine until glibc 2.23.

The compiler command is this then:

> gcc ../sysdeps/x86_64/fpu/s_expm1l.S -c    -D__NO_MATH_INLINES -D__LIBC_INTERNAL_MATH_INLINES -I../include -I/builddir/source/glibc-build/math  -I/builddir/source/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/multiarch  -I../sysdeps/x86_64/fpu  -I../sysdeps/x86/fpu/include -I../sysdeps/x86/fpu  -I../sysdeps/x86_64/multiarch  -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.   -D_LIBC_REENTRANT -include /builddir/source/glibc-build/libc-modules.h -DMODULE_NAME=libm -include ../include/libc-symbols.h  -DPIC     -DASSEMBLER  -g -Werror=undef -Wa,--noexecstack   -o /builddir/source/glibc-build/math/s_expm1l.o -MD -MP -MF /builddir/source/glibc-build/math/s_expm1l.o.dt -MT /builddir/source/glibc-build/math/s_expm1l.o

So all of that leaves me with the impression that this potentially was
supported but isn't any more. The buildsystem is then causing an invalid
configuration.

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