mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-06 17:18:32 +00:00
99ea675731
Continue to filter the public interface (elf_aux_info()), but entierly
relocate the private interfaces (_elf_aux_info(),
__init_elf_aux_vector(), and __elf_aux_vector) to libsys.
This ensures that rtld updates the correct (only) copy of
__elf_aux_vector. After 968a18975a
updates were confused and __getosreldate was failing, causing
the system to fall back to compat compat12 syscalls in some cases.
Return to explicitly linking libc to libsys and link libthr with libc
and libsys (in that order).
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D43910
61 lines
1.5 KiB
Makefile
61 lines
1.5 KiB
Makefile
|
|
.include <bsd.own.mk>
|
|
|
|
MK_WERROR= no
|
|
WARNS?= 2
|
|
|
|
CFLAGS.h_raw+= -fstack-protector-all -Wstack-protector
|
|
.if ${COMPILER_TYPE} == "clang"
|
|
# Only use -fsanitize=bounds when using clang. Otherwise we are not able to
|
|
# override the sanitizer runtime libraries to be the ones installed on the
|
|
# target system.
|
|
CFLAGS.h_raw+= -fsanitize=bounds
|
|
LIBADD+=sys
|
|
.elif ${COMPILER_TYPE} == "gcc"
|
|
CFLAGS.h_raw+= --param ssp-buffer-size=1
|
|
LDADD+= -lssp
|
|
.endif
|
|
|
|
NETBSD_ATF_TESTS_SH= ssp_test
|
|
|
|
BINDIR= ${TESTSDIR}
|
|
|
|
PROGS= h_fgets
|
|
PROGS+= h_gets
|
|
PROGS+= h_getcwd
|
|
PROGS+= h_memcpy
|
|
PROGS+= h_memmove
|
|
PROGS+= h_memset
|
|
# XXX: the h_raw/h_read testcases don't cause a SIGABRT with in-tree gcc right
|
|
# now on amd64 when it trips the stack bounds specified in t_ssp.sh . This
|
|
# probably needs to be fixed as it's currently hardcoded.
|
|
.if ${COMPILER_TYPE} == "clang" && !defined(_SKIP_BUILD) && \
|
|
(!defined(_RECURSING_PROGS) || ${PROG} == "h_raw")
|
|
.include "${SRCTOP}/lib/libclang_rt/compiler-rt-vars.mk"
|
|
_libclang_rt_ubsan= ${SYSROOT}${SANITIZER_LIBDIR}/libclang_rt.ubsan_standalone-${CRTARCH}.a
|
|
.if exists(${_libclang_rt_ubsan})
|
|
PROGS+= h_raw
|
|
LDADD.h_raw+= ${SANITIZER_LDFLAGS}
|
|
.else
|
|
.if make(all)
|
|
.info Could not find runtime library ${_libclang_rt_ubsan}, skipping h_raw
|
|
.endif
|
|
.endif
|
|
.endif
|
|
PROGS+= h_read
|
|
PROGS+= h_readlink
|
|
PROGS+= h_snprintf
|
|
PROGS+= h_sprintf
|
|
PROGS+= h_stpcpy
|
|
PROGS+= h_stpncpy
|
|
PROGS+= h_strcat
|
|
PROGS+= h_strcpy
|
|
PROGS+= h_strncat
|
|
PROGS+= h_strncpy
|
|
PROGS+= h_vsnprintf
|
|
PROGS+= h_vsprintf
|
|
|
|
.include "../Makefile.netbsd-tests"
|
|
|
|
.include <bsd.test.mk>
|