mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-26 12:41:05 +00:00
20c894d21e
Since the _FORTIFY_SOURCE feature uses some routines of Glibc, they need to be excluded from the fortification. On top of that: - some tests explicitly verify that some level of fortification works appropriately, we therefore shouldn't modify the level set for them. - some objects need to be build with optimization disabled, which prevents _FORTIFY_SOURCE to be used for them. Assembler files that implement architecture specific versions of the fortified routines were not excluded from _FORTIFY_SOURCE as there is no C header included that would impact their behavior. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
96 lines
2.4 KiB
Makefile
96 lines
2.4 KiB
Makefile
# Copyright (C) 1991-2023 Free Software Foundation, Inc.
|
|
# This file is part of the GNU C Library.
|
|
|
|
# The GNU C Library is free software; you can redistribute it and/or
|
|
# 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.
|
|
|
|
# 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
|
|
# Lesser General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with the GNU C Library; if not, see
|
|
# <https://www.gnu.org/licenses/>.
|
|
|
|
#
|
|
# Sub-makefile for socket portion of the library.
|
|
#
|
|
subdir := socket
|
|
|
|
include ../Makeconfig
|
|
|
|
headers := \
|
|
bits/sockaddr.h \
|
|
bits/socket.h \
|
|
bits/socket2.h \
|
|
bits/types/struct_osockaddr.h \
|
|
net/if.h \
|
|
sys/socket.h \
|
|
sys/socketvar.h \
|
|
sys/un.h \
|
|
# headers
|
|
|
|
routines := \
|
|
accept \
|
|
accept4 \
|
|
bind \
|
|
connect \
|
|
getpeername \
|
|
getsockname \
|
|
getsockopt \
|
|
isfdtype \
|
|
listen \
|
|
opensock \
|
|
recv \
|
|
recvfrom \
|
|
recvmmsg \
|
|
recvmsg \
|
|
send \
|
|
sendmmsg \
|
|
sendmsg \
|
|
sendto \
|
|
setsockopt \
|
|
shutdown \
|
|
sockaddr_un_set \
|
|
sockatmark \
|
|
socket \
|
|
socketpair \
|
|
# routines
|
|
|
|
# Exclude fortified routines from being built with _FORTIFY_SOURCE
|
|
routines_no_fortify += \
|
|
recv \
|
|
recvfrom \
|
|
# routines_no_fortify
|
|
|
|
tests := \
|
|
tst-accept4 \
|
|
tst-cmsg_cloexec \
|
|
tst-cmsghdr \
|
|
tst-sockopt \
|
|
# tests
|
|
|
|
tests-internal := \
|
|
tst-sockaddr_un_set \
|
|
# tests-internal
|
|
|
|
tests-time64 := \
|
|
tst-sockopt-time64 \
|
|
# tests
|
|
|
|
aux := sa_len
|
|
|
|
include ../Rules
|
|
|
|
CFLAGS-recv.c += -fexceptions -fasynchronous-unwind-tables $(config-cflags-wno-ignored-attributes)
|
|
CFLAGS-recvfrom.c += -fexceptions -fasynchronous-unwind-tables
|
|
CFLAGS-sendto.c += -fexceptions -fasynchronous-unwind-tables
|
|
CFLAGS-recvmsg.c += -fexceptions -fasynchronous-unwind-tables
|
|
CFLAGS-sendmsg.c += -fexceptions -fasynchronous-unwind-tables $(config-cflags-wno-ignored-attributes)
|
|
CFLAGS-send.c += -fexceptions -fasynchronous-unwind-tables $(config-cflags-wno-ignored-attributes)
|
|
CFLAGS-connect.c += -fexceptions -fasynchronous-unwind-tables $(config-cflags-wno-ignored-attributes)
|
|
CFLAGS-accept.c += -fexceptions -fasynchronous-unwind-tables $(config-cflags-wno-ignored-attributes)
|