Makefile 1.5 KB

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