glibc/sysdeps/alpha/Makefile

75 lines
2.3 KiB
Makefile
Raw Normal View History

# Copyright (C) 1993-2020 Free Software Foundation, Inc.
1997-01-20 02:49:42 +00:00
# This file is part of the GNU C Library.
1993-12-23 06:27:57 +00:00
# Contributed by Brendan Kehoe (brendan@zen.org).
# The GNU C Library is free software; you can redistribute it and/or
2001-07-06 04:56:23 +00:00
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
1993-12-23 06:27:57 +00:00
# The GNU C Library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2001-07-06 04:56:23 +00:00
# Lesser General Public License for more details.
1993-12-23 06:27:57 +00:00
2001-07-06 04:56:23 +00:00
# You should have received a copy of the GNU Lesser General Public
2012-03-09 23:56:38 +00:00
# License along with the GNU C Library. If not, see
Prefer https to http for gnu.org and fsf.org URLs Also, change sources.redhat.com to sourceware.org. This patch was automatically generated by running the following shell script, which uses GNU sed, and which avoids modifying files imported from upstream: sed -ri ' s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g ' \ $(find $(git ls-files) -prune -type f \ ! -name '*.po' \ ! -name 'ChangeLog*' \ ! -path COPYING ! -path COPYING.LIB \ ! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \ ! -path manual/texinfo.tex ! -path scripts/config.guess \ ! -path scripts/config.sub ! -path scripts/install-sh \ ! -path scripts/mkinstalldirs ! -path scripts/move-if-change \ ! -path INSTALL ! -path locale/programs/charmap-kw.h \ ! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \ ! '(' -name configure \ -execdir test -f configure.ac -o -f configure.in ';' ')' \ ! '(' -name preconfigure \ -execdir test -f preconfigure.ac ';' ')' \ -print) and then by running 'make dist-prepare' to regenerate files built from the altered files, and then executing the following to cleanup: chmod a+x sysdeps/unix/sysv/linux/riscv/configure # Omit irrelevant whitespace and comment-only changes, # perhaps from a slightly-different Autoconf version. git checkout -f \ sysdeps/csky/configure \ sysdeps/hppa/configure \ sysdeps/riscv/configure \ sysdeps/unix/sysv/linux/csky/configure # Omit changes that caused a pre-commit check to fail like this: # remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines git checkout -f \ sysdeps/powerpc/powerpc64/ppc-mcount.S \ sysdeps/unix/sysv/linux/s390/s390-64/syscall.S # Omit change that caused a pre-commit check to fail like this: # remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
2019-09-07 05:40:42 +00:00
# <https://www.gnu.org/licenses/>.
1993-12-23 06:27:57 +00:00
ifeq ($(subdir),db2)
CPPFLAGS += -DHAVE_SPINLOCKS=1 -DHAVE_ASSEM_ALPHA=1
endif
ifeq ($(subdir),debug)
# Consider making this GCC's default...
CFLAGS-backtrace.c = -fasynchronous-unwind-tables
endif
ifeq ($(subdir),gmon)
sysdep_routines += _mcount
endif
1993-12-23 06:27:57 +00:00
ifeq ($(subdir),gnulib)
sysdep_routines += divl divlu divq divqu reml remlu remq remqu
1996-10-06 02:02:37 +00:00
endif
ifeq ($(subdir),string)
sysdep_routines += stxcpy stxncpy
endif
1993-12-23 06:27:57 +00:00
ifeq ($(subdir),elf)
1996-10-06 02:02:37 +00:00
# The ld.so startup code cannot use literals until it self-relocates.
1998-06-27 09:50:41 +00:00
CFLAGS-rtld.c = -mbuild-constants
endif
ifeq ($(subdir),math)
# The fma routines rely on inexact being raised for correct results.
CFLAGS-s_fma.c = -mieee-with-inexact
CFLAGS-s_fmaf.c = -mieee-with-inexact
# This test tries to check for inexact being raised by arithmetic.
CFLAGS-test-misc.c += -mieee-with-inexact
# Avoid "conflicting types for built-in function" warnings
CFLAGS-s_isnan.c += -fno-builtin-isnanf
endif
# Build everything with full IEEE math support, and with dynamic rounding;
# there are a number of math routines that are defined to work with the
# "current" rounding mode, and it's easiest to set this with all of them.
sysdep-CFLAGS += -mieee -mfp-rounding-mode=d
2002-01-29 03:53:32 +00:00
# libc.so requires about 16k for the small data area, which is well
# below the 64k maximum.
pic-ccflag = -fpic
Remove sysdeps/alpha/soft-fp directory. As per <https://sourceware.org/ml/libc-alpha/2014-10/msg00369.html>, there should not be separate sysdeps/<arch>/soft-fp directories when those are used by all configurations that use sysdeps/<arch>, and, more generally, should not be sysdeps/foo/Implies files pointing to a subdirectory foo/bar. This patch eliminates the sysdeps/alpha/soft-fp directory accordingly, merging its contents into sysdeps/alpha. Tested with build-many-glibcs.py that installed stripped shared libraries for alpha-linux-gnu are unchanged by this patch. * sysdeps/alpha/Implies: Remove alpha/soft-fp. * sysdeps/alpha/Makefile [$(subdir) = soft-fp] (sysdep_routines): Add functions moved from .... [$(subdir) = math] (CPPFLAGS): Add -I../soft-fp. Moved from .... * sysdeps/alpha/soft-fp/Makefile: ... here. Remove file. * sysdeps/alpha/Versions (libc): Add GLIBC_2.3.4 symbols moved from .... * sysdeps/alpha/soft-fp/Versions: ... here. Remove file. * sysdeps/alpha/soft-fp/e_sqrtl.c: Move to .... * sysdeps/alpha/e_sqrtl.c: ... here. * sysdeps/alpha/soft-fp/local-soft-fp.h: Move to .... * sysdeps/alpha/local-soft-fp.h: ... here. * sysdeps/alpha/soft-fp/ots_add.c: Move to .... * sysdeps/alpha/ots_add.c: ... here. * sysdeps/alpha/soft-fp/ots_cmp.c: Move to .... * sysdeps/alpha/ots_cmp.c: ... here. * sysdeps/alpha/soft-fp/ots_cmpe.c: Move to .... * sysdeps/alpha/ots_cmpe.c: ... here. * sysdeps/alpha/soft-fp/ots_cvtqux.c: Move to .... * sysdeps/alpha/ots_cvtqux.c: ... here. * sysdeps/alpha/soft-fp/ots_cvtqx.c: Move to .... * sysdeps/alpha/ots_cvtqx.c: ... here. * sysdeps/alpha/soft-fp/ots_cvttx.c: Move to .... * sysdeps/alpha/ots_cvttx.c: ... here. * sysdeps/alpha/soft-fp/ots_cvtxq.c: Move to .... * sysdeps/alpha/ots_cvtxq.c: ... here. * sysdeps/alpha/soft-fp/ots_cvtxt.c: Move to .... * sysdeps/alpha/ots_cvtxt.c: ... here. * sysdeps/alpha/soft-fp/ots_div.c: Move to .... * sysdeps/alpha/ots_div.c: ... here. * sysdeps/alpha/soft-fp/ots_mul.c: Move to .... * sysdeps/alpha/ots_mul.c: ... here. * sysdeps/alpha/soft-fp/ots_nintxq.c: Move to .... * sysdeps/alpha/ots_nintxq.c: ... here. * sysdeps/alpha/soft-fp/ots_sub.c: Move to .... * sysdeps/alpha/ots_sub.c: ... here. * sysdeps/alpha/soft-fp/sfp-machine.h: Move to .... * sysdeps/alpha/sfp-machine.h: ... here.
2018-05-23 17:29:20 +00:00
# Software floating-point emulation.
ifeq ($(subdir),soft-fp)
sysdep_routines += ots_add ots_sub ots_mul ots_div ots_cmp ots_cmpe \
ots_cvtxq ots_cvtqx ots_cvtqux ots_cvttx ots_cvtxt ots_nintxq \
fraiseexcpt
endif
ifeq ($(subdir),math)
CPPFLAGS += -I../soft-fp
endif