blob: 08098a8d20b7eabe1bd082a1116d6c7c982e3eb2 [file] [log] [blame]
xf.libdd93d52023-05-12 07:10:14 -07001# Copyright (C) 2000-2016 Free Software Foundation, Inc.
2# This file is part of the GNU C Library.
3# Contributed by David Huggins-Daines (dhd@debian.org)
4
5# The GNU C Library is free software; you can redistribute it and/or
6# modify it under the terms of the GNU Lesser General Public
7# License as published by the Free Software Foundation; either
8# version 2.1 of the License, or (at your option) any later version.
9
10# The GNU C Library is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13# Lesser General Public License for more details.
14
15# You should have received a copy of the GNU Lesser General Public
16# License along with the GNU C Library. If not, see
17# <http://www.gnu.org/licenses/>.
18
19# We used to need this since the build process uses ld -r. Now we use
20# ld -r --unique=.text* which does more or less the same thing, but better.
21# CFLAGS-.os += -ffunction-sections
22LDFLAGS-c_pic.os += -Wl,--unique=.text*
23
24ifeq ($(subdir),elf)
25CFLAGS-rtld.c += -mdisable-fpregs
26sysdep-dl-routines += dl-symaddr dl-fptr
27# dl-fptr.c needs a complete rewrite to fix ISO C aliasing violations.
28CFLAGS-dl-fptr.c = -Wno-error
29endif
30
31ifeq ($(subdir),csu)
32ifeq (yes,$(build-shared))
33# Compatibility
34ifeq (yes,$(have-protected))
35CPPFLAGS-libgcc-compat.c = -DHAVE_DOT_HIDDEN
36endif
37sysdep_routines += libgcc-compat
38shared-only-routines += libgcc-compat
39endif
40endif
41
42# We implement a 64-bit `long double'. The standard says we can do this.
43# This means our `long double' and `double' are identical.
44long-double-fcts = no