Makefile 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. # Copyright (C) 1991-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. #
  15. # Makefile for setjmp/longjmp routines
  16. #
  17. subdir := setjmp
  18. include ../Makeconfig
  19. headers := setjmp.h bits/setjmp.h bits/setjmp2.h \
  20. bits/types/struct___jmp_buf_tag.h
  21. routines := setjmp sigjmp bsd-setjmp bsd-_setjmp \
  22. longjmp __longjmp jmp-unwind
  23. tests := tst-setjmp jmpbug bug269-setjmp tst-setjmp-fp \
  24. tst-sigsetjmp tst-setjmp-static
  25. tests-static := tst-setjmp-static
  26. tests-internal := \
  27. tst-setjmp-check
  28. gen-as-const-headers += jmp_buf-macros.sym
  29. include ../Rules
  30. # This test messes the stack on purpose, which triggers longjump fortify
  31. # failure
  32. CFLAGS-bug269-setjmp.c += $(no-fortify-source)
  33. # Exclude fortified routines from being built with _FORTIFY_SOURCE
  34. routines_no_fortify += \
  35. longjmp \
  36. # routines_no_fortify
  37. $(objpfx)tst-setjmp-fp: $(libm)