mirror of git://sourceware.org/git/glibc.git
Further _FloatN / _FloatNx type alias support will involve making architecture-specific .S files use the common macros for libm function aliases. Making them use those macros will also serve to simplify existing code for aliases / symbol versions in various cases, similar to such simplifications for ldbl-opt code. The libm-alias-*.h files sometimes need to include <bits/floatn.h> to determine which aliases they should define. At present, this does not work for inclusion from .S files because <bits/floatn.h> can define typedefs for old compilers. This patch changes all the <bits/floatn.h> and <bits/floatn-common.h> headers to include __ASSEMBLER__ conditionals. Those conditionals disable everything related to C syntax in the __ASSEMBLER__ case, not just the problem typedefs, as that seemed cleanest. The __HAVE_* definitions remain in the __ASSEMBLER__ case, as those provide information that is required to define the correct set of aliases. Tested with build-many-glibcs.py for a representative set of configurations (x86_64-linux-gnu i686-linux-gnu ia64-linux-gnu powerpc64le-linux-gnu mips64-linux-gnu-n64 sparc64-linux-gnu) with GCC 6. Also tested with GCC 6 for i686-linux-gnu in conjunction with changes to use alias macros in .S files. * bits/floatn-common.h [!__ASSEMBLER]: Disable everything related to C syntax instead of availability and properties of types. * bits/floatn.h [!__ASSEMBLER]: Likewise. * sysdeps/ia64/bits/floatn.h [!__ASSEMBLER]: Likewise. * sysdeps/ieee754/ldbl-128/bits/floatn.h [!__ASSEMBLER]: Likewise. * sysdeps/mips/ieee754/bits/floatn.h [!__ASSEMBLER]: Likewise. * sysdeps/powerpc/bits/floatn.h [!__ASSEMBLER]: Likewise. * sysdeps/x86/bits/floatn.h [!__ASSEMBLER]: Likewise. |
||
|---|---|---|
| .. | ||
| bits | ||
| fpu | ||
| nofpu | ||
| nptl | ||
| power4 | ||
| power5+/fpu | ||
| power6 | ||
| power7/fpu | ||
| powerpc32 | ||
| powerpc64 | ||
| powerpc64le | ||
| soft-fp | ||
| sys/platform | ||
| Implies | ||
| Makefile | ||
| Versions | ||
| abort-instr.h | ||
| atomic-machine.h | ||
| dl-procinfo.c | ||
| dl-procinfo.h | ||
| dl-tls.c | ||
| dl-tls.h | ||
| ffs.c | ||
| fpu_control.h | ||
| gccframe.h | ||
| hwcapinfo.c | ||
| hwcapinfo.h | ||
| ifunc-sel.h | ||
| jmpbuf-offsets.h | ||
| jmpbuf-unwind.h | ||
| ldsodefs.h | ||
| libc-tls.c | ||
| locale-defines.sym | ||
| longjmp.c | ||
| machine-gmon.h | ||
| math-tests.h | ||
| memusage.h | ||
| mod-tlsopt-powerpc.c | ||
| mp_clz_tab.c | ||
| novmx-longjmp.c | ||
| novmx-sigjmp.c | ||
| novmxsetjmp.h | ||
| preconfigure | ||
| rtld-global-offsets.sym | ||
| sched_cpucount.c | ||
| sigjmp.c | ||
| sotruss-lib.c | ||
| stackinfo.h | ||
| sysdep.h | ||
| test-arith.c | ||
| test-arithf.c | ||
| test-get_hwcap-static.c | ||
| test-get_hwcap.c | ||
| test-gettimebase.c | ||
| tls-macros.h | ||
| tst-set_ppr.c | ||
| tst-stack-align.h | ||
| tst-tlsifunc-static.c | ||
| tst-tlsifunc.c | ||
| tst-tlsopt-powerpc.c | ||