Fix build with recent binutils

Recent binutils considered the .gnu.warning.symbol section as a fatal error when
run with --fatal-warnings which makes any users of "insecure" functions from
libc failing to build with recent binutils.

Introduce a new macro: LD_FATAL_WARNINGS=no to run ld(1) with
--no-fatal-warnings for the users of "insecure" functions

Differential Revision:	https://reviews.freebsd.org/D1320
This commit is contained in:
Baptiste Daroussin 2014-12-23 10:43:35 +00:00
parent 1f69310e70
commit 70d099afe0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=276128
3 changed files with 8 additions and 1 deletions

View file

@ -15,6 +15,7 @@ SRCDIR= ${GCCLIB}/libssp
LIB= ssp
SHLIB_MAJOR= 0
LD_FATAL_WARNINGS= no
SRCS= ssp.c gets-chk.c memcpy-chk.c memmove-chk.c mempcpy-chk.c \
memset-chk.c snprintf-chk.c sprintf-chk.c stpcpy-chk.c \

View file

@ -9,6 +9,7 @@ CONTRIB= ${.CURDIR}/../../../contrib/bsnmp/lib
LIB= bsnmp
SHLIB_MAJOR= 6
LD_FATAL_WARNINGS= no
CFLAGS+= -I${CONTRIB} -DHAVE_ERR_H -DHAVE_GETADDRINFO -DHAVE_STRLCPY
CFLAGS+= -DHAVE_STDINT_H -DHAVE_INTTYPES_H -DQUADFMT='"llu"' -DQUADXFMT='"llx"'

View file

@ -207,7 +207,12 @@ _LIBS+= ${SHLIB_NAME}
SOLINKOPTS= -shared -Wl,-x
.if !defined(ALLOW_SHARED_TEXTREL)
SOLINKOPTS+= -Wl,--fatal-warnings -Wl,--warn-shared-textrel
.if defined(LD_FATAL_WARNINGS) && ${LD_FATAL_WARNINGS} == "no"
SOLINKOPTS+= -Wl,--no-fatal-warnings
.else
SOLINKOPTS+= -Wl,--fatal-warnings
.endif
SOLINKOPTS+= -Wl,--warn-shared-textrel
.endif
.if target(beforelinking)