This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug build/20621] glibc 2.27 fails to compile on x86_64 with "operand type mismatch" in fpu/e_expl.S
- From: "michael.tremer at ipfire dot org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Wed, 21 Sep 2016 09:16:12 +0000
- Subject: [Bug build/20621] glibc 2.27 fails to compile on x86_64 with "operand type mismatch" in fpu/e_expl.S
- Auto-submitted: auto-generated
- References: <bug-20621-131@http.sourceware.org/bugzilla/>
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.