svn commit: r356631 - in head/libexec/rtld-elf: . amd64 arm i386 mips powerpc64 sparc64
Konstantin Belousov
kib at FreeBSD.org
Sat Jan 11 09:19:00 UTC 2020
Author: kib
Date: Sat Jan 11 09:18:58 2020
New Revision: 356631
URL: https://svnweb.freebsd.org/changeset/base/356631
Log:
rtld: clean up Makefile.
Move all MD statements into $MACHINE_ARCH/Makefile.inc.
Unconditionally apply version script to rtld, the interpreter is not
functional without it for long time.
Reviewed by: brooks, emaste
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D23083
Added:
head/libexec/rtld-elf/mips/Makefile.inc (contents, props changed)
Modified:
head/libexec/rtld-elf/Makefile
head/libexec/rtld-elf/amd64/Makefile.inc
head/libexec/rtld-elf/arm/Makefile.inc
head/libexec/rtld-elf/i386/Makefile.inc
head/libexec/rtld-elf/powerpc64/Makefile.inc
head/libexec/rtld-elf/sparc64/Makefile.inc
Modified: head/libexec/rtld-elf/Makefile
==============================================================================
--- head/libexec/rtld-elf/Makefile Sat Jan 11 09:08:02 2020 (r356630)
+++ head/libexec/rtld-elf/Makefile Sat Jan 11 09:18:58 2020 (r356631)
@@ -37,11 +37,6 @@ RTLD_ARCH= ${MACHINE_ARCH}
RTLD_ARCH= ${MACHINE_CPUARCH}
.endif
CFLAGS+= -I${RTLD_ELF_DIR}/${RTLD_ARCH} -I${RTLD_ELF_DIR}
-.if ${MACHINE_ARCH} == "powerpc64"
-LDFLAGS+= -nostdlib -e _rtld_start
-.else
-LDFLAGS+= -nostdlib -e .rtld_start
-.endif
NO_WCAST_ALIGN= yes
WARNS?= 6
@@ -52,36 +47,14 @@ SYMLINKS= ../..${BINDIR}/${PROG} ${LIBEXECDIR}/${PROG}
MLINKS?= rtld.1 ld-elf.so.1.1 \
rtld.1 ld.so.1
-.if ${MACHINE_CPUARCH} == "sparc64"
-CFLAGS+= -fPIC
-.else
-CFLAGS+= -fpic
-.endif
-CFLAGS+= -DPIC $(DEBUG)
-.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
-CFLAGS+= -fvisibility=hidden
-.endif
-.if ${MACHINE_CPUARCH} == "mips"
-CFLAGS.reloc.c+=-fno-jump-tables
-.endif
-LDFLAGS+= -shared -Wl,-Bsymbolic -Wl,-z,defs
+CFLAGS+= -fpic -DPIC $(DEBUG)
+LDFLAGS+= -shared -Wl,-Bsymbolic -Wl,-z,defs -nostdlib -e ${RTLD_ENTRY}
# Pull in the dependencies that we use from libc
.include "rtld-libc/Makefile.inc"
.if ${MK_TOOLCHAIN} == "no"
LDFLAGS+= -L${LIBCDIR}
.endif
-.if ${MACHINE_CPUARCH} == "arm"
-# Some of the required math functions (div & mod) are implemented in
-# libcompiler_rt on ARM. The library also needs to be placed first to be
-# correctly linked. As some of the functions are used before we have
-# shared libraries.
-LIBADD+= compiler_rt
-.endif
-
-
-
-.if ${MK_SYMVER} == "yes"
VERSION_DEF= ${LIBCSRCDIR}/Versions.def
SYMBOL_MAPS= ${RTLD_ELF_DIR}/Symbol.map
VERSION_MAP= Version.map
@@ -90,9 +63,9 @@ LDFLAGS+= -Wl,--version-script=${VERSION_MAP}
.if exists(${RTLD_ELF_DIR}/${RTLD_ARCH}/Symbol.map)
SYMBOL_MAPS+= ${RTLD_ELF_DIR}/${RTLD_ARCH}/Symbol.map
.endif
-.endif
.sinclude "${RTLD_ELF_DIR}/${RTLD_ARCH}/Makefile.inc"
+RTLD_ENTRY?= .rtld_start
# Since moving rtld-elf to /libexec, we need to create a symlink.
# Fixup the existing binary that's there so we can symlink over it.
Modified: head/libexec/rtld-elf/amd64/Makefile.inc
==============================================================================
--- head/libexec/rtld-elf/amd64/Makefile.inc Sat Jan 11 09:08:02 2020 (r356630)
+++ head/libexec/rtld-elf/amd64/Makefile.inc Sat Jan 11 09:18:58 2020 (r356631)
@@ -1,3 +1,3 @@
# $FreeBSD$
-CFLAGS+= ${CFLAGS_NO_SIMD} -msoft-float
+CFLAGS+= ${CFLAGS_NO_SIMD} -msoft-float -fvisibility=hidden
Modified: head/libexec/rtld-elf/arm/Makefile.inc
==============================================================================
--- head/libexec/rtld-elf/arm/Makefile.inc Sat Jan 11 09:08:02 2020 (r356630)
+++ head/libexec/rtld-elf/arm/Makefile.inc Sat Jan 11 09:18:58 2020 (r356631)
@@ -1 +1,7 @@
# $FreeBSD$
+
+# Some of the required math functions (div & mod) are implemented in
+# libcompiler_rt on ARM. The library also needs to be placed first to be
+# correctly linked. As some of the functions are used before we have
+# shared libraries.
+LIBADD+= compiler_rt
Modified: head/libexec/rtld-elf/i386/Makefile.inc
==============================================================================
--- head/libexec/rtld-elf/i386/Makefile.inc Sat Jan 11 09:08:02 2020 (r356630)
+++ head/libexec/rtld-elf/i386/Makefile.inc Sat Jan 11 09:18:58 2020 (r356631)
@@ -1,3 +1,3 @@
# $FreeBSD$
-CFLAGS+= ${CFLAGS_NO_SIMD} -msoft-float
+CFLAGS+= ${CFLAGS_NO_SIMD} -msoft-float -fvisibility=hidden
Added: head/libexec/rtld-elf/mips/Makefile.inc
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/libexec/rtld-elf/mips/Makefile.inc Sat Jan 11 09:18:58 2020 (r356631)
@@ -0,0 +1,3 @@
+# $FreeBSD$
+
+CFLAGS.reloc.c+=-fno-jump-tables
Modified: head/libexec/rtld-elf/powerpc64/Makefile.inc
==============================================================================
--- head/libexec/rtld-elf/powerpc64/Makefile.inc Sat Jan 11 09:08:02 2020 (r356630)
+++ head/libexec/rtld-elf/powerpc64/Makefile.inc Sat Jan 11 09:18:58 2020 (r356631)
@@ -1 +1,3 @@
# $FreeBSD$
+
+RTLD_ENTRY= _rtld_start
Modified: head/libexec/rtld-elf/sparc64/Makefile.inc
==============================================================================
--- head/libexec/rtld-elf/sparc64/Makefile.inc Sat Jan 11 09:08:02 2020 (r356630)
+++ head/libexec/rtld-elf/sparc64/Makefile.inc Sat Jan 11 09:18:58 2020 (r356631)
@@ -1 +1,3 @@
# $FreeBSD$
+
+CFLAGS:=${CFLAGS:S/-fpic/-fPIC/}
More information about the svn-src-all
mailing list