Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F140706995
D1224.id2586.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
7 KB
Referenced Files
None
Subscribers
None
D1224.id2586.diff
View Options
Index: head/Makefile.inc1
===================================================================
--- head/Makefile.inc1
+++ head/Makefile.inc1
@@ -1415,6 +1415,14 @@
# If we're given an XAS, don't build binutils.
.if ${XAS:M/*} == "" && ${MK_BINUTILS_BOOTSTRAP} != "no"
_binutils= gnu/usr.bin/binutils
+.if ${MK_ELFTOOLCHAIN_TOOLS} != "no"
+_elftctools= lib/libelftc \
+ usr.bin/addr2line \
+ usr.bin/elfcopy \
+ usr.bin/nm \
+ usr.bin/size \
+ usr.bin/strings
+.endif
.endif
# If an full path to an external cross compiler is given, don't build
@@ -1434,6 +1442,7 @@
${_clang_libs} \
${_clang} \
${_binutils} \
+ ${_elftctools} \
${_cc} \
usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \
${_btxld} \
@@ -1491,6 +1500,7 @@
${_clang_tblgen} \
usr.bin/ar \
${_binutils} \
+ ${_elftctools} \
${_cc} \
${_gcc_tools} \
${_clang_libs} \
@@ -2045,6 +2055,7 @@
_xb-cross-tools:
.for _tool in \
${_binutils} \
+ ${_elftctools} \
usr.bin/ar \
${_clang_libs} \
${_clang} \
@@ -2077,6 +2088,7 @@
@echo "_xi-cross-tools"
.for _tool in \
${_binutils} \
+ ${_elftctools} \
usr.bin/ar \
${_clang_libs} \
${_clang} \
Index: head/gnu/usr.bin/binutils/Makefile
===================================================================
--- head/gnu/usr.bin/binutils/Makefile
+++ head/gnu/usr.bin/binutils/Makefile
@@ -1,19 +1,29 @@
# $FreeBSD$
+.include <src.opts.mk>
+
SUBDIR= libiberty \
libbfd \
libopcodes \
libbinutils \
- addr2line \
+ ${_addr2line} \
as \
ld \
- nm \
+ ${_nm} \
objcopy \
objdump \
readelf \
- size \
- strings \
- strip \
+ ${_size} \
+ ${_strings} \
+ ${_strip} \
doc
+
+.if ${MK_ELFTOOLCHAIN_TOOLS} == "no"
+_addr2line= addr2line
+_nm= nm
+_size= size
+_strings= strings
+_strip= strip
+.endif
.include <bsd.subdir.mk>
Index: head/lib/Makefile
===================================================================
--- head/lib/Makefile
+++ head/lib/Makefile
@@ -45,6 +45,7 @@
libdpv \
libdwarf \
libedit \
+ ${_libelftc} \
${_libevent} \
libexecinfo \
libexpat \
@@ -190,6 +191,10 @@
_cuse= libcuse
.endif
+.if ${MK_ELFTOOLCHAIN_TOOLS} != "no"
+_libelftc= libelftc
+.endif
+
.if ${MK_GPIB} != "no"
_libgpib= libgpib
.endif
Index: head/lib/libelftc/Makefile
===================================================================
--- head/lib/libelftc/Makefile
+++ head/lib/libelftc/Makefile
@@ -0,0 +1,30 @@
+# $FreeBSD$
+.include <bsd.own.mk>
+
+INTERNALLIB=
+
+ELFTCDIR= ${.CURDIR}/../../contrib/elftoolchain
+
+.PATH: ${ELFTCDIR}/libelftc
+
+LIB= elftc
+
+SRCS= elftc_bfdtarget.c \
+ elftc_copyfile.c \
+ elftc_demangle.c \
+ elftc_set_timestamps.c \
+ elftc_string_table.c \
+ elftc_version.c \
+ libelftc_bfdtarget.c \
+ libelftc_dem_arm.c \
+ libelftc_dem_gnu2.c \
+ libelftc_dem_gnu3.c \
+ libelftc_hash.c \
+ libelftc_vstr.c
+
+INCS= libelftc.h
+CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
+
+NO_MAN= yes
+
+.include <bsd.lib.mk>
Index: head/lib/libelftc/elftc_version.c
===================================================================
--- head/lib/libelftc/elftc_version.c
+++ head/lib/libelftc/elftc_version.c
@@ -0,0 +1,10 @@
+/* $FreeBSD$ */
+
+#include <sys/types.h>
+#include <libelftc.h>
+
+const char *
+elftc_version(void)
+{
+ return "libelftc r2974";
+}
Index: head/share/mk/src.libnames.mk
===================================================================
--- head/share/mk/src.libnames.mk
+++ head/share/mk/src.libnames.mk
@@ -27,6 +27,7 @@
amu \
bsnmptools \
cron \
+ elftc \
event \
fifolog \
ipf \
@@ -286,6 +287,10 @@
LIBBSDSTATDIR= ${ROOTOBJDIR}/lib/libbsdstat
LIBBSDSTAT?= ${LIBBSDSTATDIR}/libbsdstat.a
+LIBELFTCDIR= ${ROOTOBJDIR}/lib/libelftc
+LDELFTC?= ${LIBELFTCDIR}/libelftc.a
+LIBELFTC?= ${LIBELFTCDIR}/libelftc.a
+
LIBEVENTDIR= ${ROOTOBJDIR}/lib/libevent
LIBEVENT?= ${LIBEVENTDIR}/libevent.a
Index: head/share/mk/src.opts.mk
===================================================================
--- head/share/mk/src.opts.mk
+++ head/share/mk/src.opts.mk
@@ -160,6 +160,7 @@
BSD_GREP \
CLANG_EXTRAS \
EISA \
+ ELFTOOLCHAIN_TOOLS \
FMAKE \
HESIOD \
LLDB \
Index: head/tools/build/options/WITH_ELFTOOLCHAIN_TOOLS
===================================================================
--- head/tools/build/options/WITH_ELFTOOLCHAIN_TOOLS
+++ head/tools/build/options/WITH_ELFTOOLCHAIN_TOOLS
@@ -0,0 +1,9 @@
+.\" $FreeBSD$
+Set to use
+.Xr addr2line 1 ,
+.Xr nm 1 ,
+.Xr size 1 ,
+.Xr strings 1 ,
+and
+.Xr strip 1
+from the elftoolchain project instead of GNU binutils.
Index: head/usr.bin/Makefile
===================================================================
--- head/usr.bin/Makefile
+++ head/usr.bin/Makefile
@@ -9,7 +9,8 @@
# Moved to secure: bdes
#
-SUBDIR= alias \
+SUBDIR= ${_addr2line} \
+ alias \
apply \
asa \
awk \
@@ -41,6 +42,7 @@
du \
ee \
elf2aout \
+ ${_elfcopy} \
elfdump \
enigma \
env \
@@ -119,6 +121,7 @@
nfsstat \
nice \
nl \
+ ${_nm} \
nohup \
opieinfo \
opiekey \
@@ -150,12 +153,14 @@
seq \
shar \
showmount \
+ ${_size} \
sockstat \
soeliminate \
sort \
split \
stat \
stdbuf \
+ ${_strings} \
su \
systat \
tabs \
@@ -236,6 +241,14 @@
_clang= clang
.endif
+.if ${MK_ELFTOOLCHAIN_TOOLS} != "no"
+_addr2line= addr2line
+_elfcopy= elfcopy
+_nm= nm
+_size= size
+_strings= strings
+.endif
+
.if ${MK_FMAKE} != "no"
SUBDIR+= make
.endif
Index: head/usr.bin/addr2line/Makefile
===================================================================
--- head/usr.bin/addr2line/Makefile
+++ head/usr.bin/addr2line/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <src.opts.mk>
+
+ELFTCDIR= ${.CURDIR}/../../contrib/elftoolchain
+ADDR2LINEDIR= ${ELFTCDIR}/addr2line
+
+.PATH: ${ADDR2LINEDIR}
+
+PROG= addr2line
+
+LIBADD= elftc dwarf elf
+
+CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
+
+.include <bsd.prog.mk>
Index: head/usr.bin/elfcopy/Makefile
===================================================================
--- head/usr.bin/elfcopy/Makefile
+++ head/usr.bin/elfcopy/Makefile
@@ -0,0 +1,24 @@
+# $FreeBSD$
+
+.include <src.opts.mk>
+
+ELFTCDIR= ${.CURDIR}/../../contrib/elftoolchain
+ELFCOPYDIR= ${ELFTCDIR}/elfcopy
+
+.PATH: ${ELFCOPYDIR}
+
+PROG= elfcopy
+
+SRCS= archive.c ascii.c binary.c main.c sections.c segments.c symbols.c
+
+WARNS?= 5
+
+LIBADD= archive elftc elf
+
+CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
+
+MAN= elfcopy.1 strip.1
+
+LINKS= ${BINDIR}/elfcopy ${BINDIR}/strip
+
+.include <bsd.prog.mk>
Index: head/usr.bin/nm/Makefile
===================================================================
--- head/usr.bin/nm/Makefile
+++ head/usr.bin/nm/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <src.opts.mk>
+
+ELFTCDIR= ${.CURDIR}/../../contrib/elftoolchain
+NMDIR= ${ELFTCDIR}/nm
+
+.PATH: ${NMDIR}
+
+PROG= nm
+
+LIBADD= dwarf elftc elf
+
+CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
+
+.include <bsd.prog.mk>
Index: head/usr.bin/size/Makefile
===================================================================
--- head/usr.bin/size/Makefile
+++ head/usr.bin/size/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <src.opts.mk>
+
+ELFTCDIR= ${.CURDIR}/../../contrib/elftoolchain
+SIZEDIR= ${ELFTCDIR}/size
+
+.PATH: ${SIZEDIR}
+
+PROG= size
+
+LIBADD= elftc elf
+
+CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
+
+.include <bsd.prog.mk>
Index: head/usr.bin/strings/Makefile
===================================================================
--- head/usr.bin/strings/Makefile
+++ head/usr.bin/strings/Makefile
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+.include <src.opts.mk>
+
+ELFTCDIR= ${.CURDIR}/../../contrib/elftoolchain
+
+.PATH: ${ELFTCDIR}/strings
+
+PROG= strings
+
+LIBADD= elftc elf
+
+CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
+
+.include <bsd.prog.mk>
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Dec 28, 3:19 AM (15 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27320862
Default Alt Text
D1224.id2586.diff (7 KB)
Attached To
Mode
D1224: Add a number of binutils replacements from the elftoolchain project
Attached
Detach File
Event Timeline
Log In to Comment