From e556691e4f2411bddc228266e9fcb8dbbf122ac6 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Thu, 6 Nov 2003 22:38:49 +0000 Subject: [PATCH] Begin converting the client utils --- Makefile | 39 ++-------------- ldso/Makefile | 7 +-- ldso/util/Makefile | 87 ---------------------------------- {ldso/util => utils}/.cvsignore | 2 - utils/Makefile | 95 ++++++++++++++++++++++++++++++++++++++ {ldso/util => utils}/bswap.h | 0 {ldso/util => utils}/ldconfig.c | 1 - {ldso/util => utils}/ldd.c | 0 {ldso/util => utils}/readelf.c | 0 {ldso/util => utils}/readsoname.c | 0 {ldso/util => utils}/readsoname.h | 0 {ldso/util => utils}/readsoname2.c | 0 12 files changed, 102 insertions(+), 129 deletions(-) delete mode 100644 ldso/util/Makefile rename {ldso/util => utils}/.cvsignore (50%) create mode 100644 utils/Makefile rename {ldso/util => utils}/bswap.h (100%) rename {ldso/util => utils}/ldconfig.c (99%) rename {ldso/util => utils}/ldd.c (100%) rename {ldso/util => utils}/readelf.c (100%) rename {ldso/util => utils}/readsoname.c (100%) rename {ldso/util => utils}/readsoname.h (100%) rename {ldso/util => utils}/readsoname2.c (100%) diff --git a/Makefile b/Makefile index 0bca5e269..636bd6c89 100644 --- a/Makefile +++ b/Makefile @@ -35,7 +35,7 @@ endif ifeq ($(strip $(HAVE_DOT_CONFIG)),y) -all: headers pregen subdirs shared utils finished +all: headers pregen subdirs shared finished # In this section, we need .config -include .config.cmd @@ -271,8 +271,8 @@ ifeq ($(strip $(HAVE_SHARED)),y) endif ifeq ($(strip $(HAVE_SHARED)),y) -utils: $(TOPDIR)ldso/util/ldd - $(MAKE) -C ldso utils +utils: $(TOPDIR)utils/ldd + $(MAKE) -C utils else utils: dummy endif @@ -290,39 +290,10 @@ ifeq ($(strip $(HAVE_SHARED)),y) #$(INSTALL) -m 755 ldso/util/readelf \ # $(PREFIX)$(RUNTIME_PREFIX)usr/bin/readelf endif - -# Installs run-time libraries and helper apps in preparation for -# deploying onto a target system, but installed below wherever -# $PREFIX is set to, allowing you to package up the result for -# deployment onto your target system. -install_target: -ifeq ($(strip $(HAVE_SHARED)),y) - $(INSTALL) -d $(PREFIX)$(TARGET_PREFIX)/lib - $(INSTALL) -d $(PREFIX)$(TARGET_PREFIX)/usr/bin - $(INSTALL) -m 644 lib/lib*-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so \ - $(PREFIX)$(TARGET_PREFIX)/lib - cp -fa lib/*.so.* $(PREFIX)$(TARGET_PREFIX)/lib - @if [ -x lib/ld-uClibc-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so ] ; then \ - set -x -e; \ - $(INSTALL) -m 755 lib/ld-uClibc-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so \ - $(PREFIX)$(TARGET_PREFIX)/lib; \ - fi; -endif - -install_target_utils: -ifeq ($(strip $(HAVE_SHARED)),y) - @$(MAKE) -C ldso/util ldd.target ldconfig.target #readelf.target - $(INSTALL) -d $(PREFIX)$(TARGET_PREFIX)/etc; - $(INSTALL) -d $(PREFIX)$(TARGET_PREFIX)/sbin; - $(INSTALL) -d $(PREFIX)$(TARGET_PREFIX)/usr/bin; - $(INSTALL) -m 755 ldso/util/ldd.target $(PREFIX)$(TARGET_PREFIX)/usr/bin/ldd - $(INSTALL) -m 755 ldso/util/ldconfig.target $(PREFIX)$(TARGET_PREFIX)/sbin/ldconfig; - #$(INSTALL) -m 755 ldso/util/readelf.target $(PREFIX)$(TARGET_PREFIX)/usr/bin/readelf; -endif ifeq ($(strip $(UCLIBC_HAS_LOCALE)),y) @$(MAKE) -C libc/misc/wchar iconv.target - $(INSTALL) -d $(PREFIX)$(TARGET_PREFIX)/usr/bin; - $(INSTALL) -m 755 libc/misc/wchar/iconv.target $(PREFIX)$(TARGET_PREFIX)/usr/bin/iconv + $(INSTALL) -d $(PREFIX)$(RUNTIME_PREFIX)/usr/bin; + $(INSTALL) -m 755 libc/misc/wchar/iconv.target $(PREFIX)$(RUNTIME_PREFIX)/usr/bin/iconv endif finished2: diff --git a/ldso/Makefile b/ldso/Makefile index d4e16ec91..9aa450015 100644 --- a/ldso/Makefile +++ b/ldso/Makefile @@ -23,7 +23,7 @@ TOPDIR=../ include $(TOPDIR)Rules.mak -ALL_SUBDIRS = ldso libdl util +ALL_SUBDIRS = ldso libdl all: headers @@ -33,16 +33,13 @@ else echo "Not building ld-uClibc" endif -shared: utils +shared: ifeq ($(strip $(BUILD_UCLIBC_LDSO)),y) $(MAKE) -C libdl; else echo "Not building libdl" endif -utils: - $(MAKE) -C util; - headers: $(LN) -fs $(TOPDIR)../include/elf.h include/ $(LN) -fs ../ldso/$(TARGET_ARCH)/boot1_arch.h include/ diff --git a/ldso/util/Makefile b/ldso/util/Makefile deleted file mode 100644 index 0d0c96845..000000000 --- a/ldso/util/Makefile +++ /dev/null @@ -1,87 +0,0 @@ -# Makefile for uClibc -# -# Copyright (C) 2000,2001 Erik Andersen -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, or (at your option) any -# later version. -# -# This program 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 Library General Public License for more -# details. -# -# You should have received a copy of the GNU Library General Public License -# along with this program; if not, write to the Free Software Foundation, Inc., -# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Derived in part from the Linux-8086 C library, the GNU C Library, and several -# other sundry sources. Files within this library are copyright by their -# respective copyright holders. - -TOPDIR=../../ -include $(TOPDIR)Rules.mak -TARGET_CC = $(TOPDIR)extra/gcc-uClibc/$(TARGET_ARCH)-uclibc-gcc - -TARGETS = ldd ldconfig -ifeq ($(OSTYPE),linux) -TARGETS += readelf -endif -#ifneq ($(strip $(LIBRARY_CACHE)),) -#TARGETS += ldconfig -#endif - -ifeq ($(strip $(LDSO_LDD_SUPPORT)),y) -XXFLAGS = -D__LDSO_LDD_SUPPORT -endif - -all: $(TARGETS) - -headers: - $(LN) -fs $(TOPDIR)include/elf.h - -readelf: readelf.c - $(HOSTCC) $(HOSTCFLAGS) -I. -I../include $^ -o $@ - strip -x -R .note -R .comment $@ - -readelf.target: readelf.c - $(TARGET_CC) $(CFLAGS) -Wl,-s $^ -o $@ $(LDADD_LIBFLOAT) - $(STRIPTOOL) -x -R .note -R .comment $@ - -readsoname.o: readsoname.c readsoname2.c - $(HOSTCC) $(HOSTCFLAGS) -I. -I../include -c $< -o $@ - strip -x -R .note -R .comment $*.o - -ldconfig: ldconfig.c readsoname.c - $(HOSTCC) $(HOSTCFLAGS) $(XXFLAGS) \ - -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" \ - -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\" -I. -I../include \ - $^ -o $@ - strip -x -R .note -R .comment $@ - -ldconfig.target: ldconfig.c readsoname.c - $(TARGET_CC) $(CFLAGS) $(XXFLAGS) -Wl,-s \ - -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" \ - -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\" -I. -I../include \ - $^ -o $@ $(LDADD_LIBFLOAT) - $(STRIPTOOL) -x -R .note -R .comment $@ - -ldd: ldd.c - $(HOSTCC) $(HOSTCFLAGS) $(XXFLAGS) \ - -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" \ - -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\" -I. -I../include \ - $^ -o $@ - strip -x -R .note -R .comment $@ - -ldd.target: ldd.c - $(TARGET_CC) $(CFLAGS) $(XXFLAGS) -Wl,-s \ - -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" \ - -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\" \ - $^ -o $@ $(LDADD_LIBFLOAT) - $(STRIPTOOL) -x -R .note -R .comment $@ - -clean: - $(RM) $(TARGETS) *.o *~ core *.target elf.h - -readelf.c readsoname.c ldconfig.c ldd.c: headers diff --git a/ldso/util/.cvsignore b/utils/.cvsignore similarity index 50% rename from ldso/util/.cvsignore rename to utils/.cvsignore index 987ab3d9f..ffa8a1a88 100644 --- a/ldso/util/.cvsignore +++ b/utils/.cvsignore @@ -1,6 +1,4 @@ ldd -ldd.target readelf -readelf.target ldconfig elf.h diff --git a/utils/Makefile b/utils/Makefile new file mode 100644 index 000000000..3d0a5c3a9 --- /dev/null +++ b/utils/Makefile @@ -0,0 +1,95 @@ +# Makefile for uClibc +# +# Copyright (C) 2000-2003 Erik Andersen +# +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU Library General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) any +# later version. +# +# This program 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 Library General Public License for more +# details. +# +# You should have received a copy of the GNU Library General Public License +# along with this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +# Pull in the user's uClibc configuration, but do not +# include Rules.mak..... +TOPDIR=../ +include $(TOPDIR).config + +# A nifty macro to make testing gcc features easier +check_gcc=$(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; \ + then echo "$(1)"; else echo "$(2)"; fi) + +# use '-Os' optimization if available, else use -O2, allow Config to override +OPTIMIZATION+=$(call check_gcc,-Os,-O2) +XWARNINGS=$(subst ",, $(strip $(WARNINGS))) -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing + +MAJOR_VERSION:=0 +UCLIBC_LDSO:=ld-uClibc.so.$(MAJOR_VERSION) + +ifndef CROSS +CROSS= +endif +CC= $(CROSS)gcc +AR= $(CROSS)ar +LD= $(CROSS)ld +NM= $(CROSS)nm +STRIP= $(CROSS)strip +LN=ln + +ifeq ($(DODEBUG),y) + CFLAGS = $(XWARNINGS) -O0 -g3 + LDFLAGS = +else + CFLAGS=$(XWARNINGS) $(OPTIMIZATION) + LDFLAGS = -s +endif + +# Make certain these contain a final "/", but no "//"s. +RUNTIME_PREFIX:=$(strip $(subst //,/, $(subst ,/, $(subst ",, $(strip $(RUNTIME_PREFIX)))))) +DEVEL_PREFIX:=$(strip $(subst //,/, $(subst ,/, $(subst ",, $(strip $(DEVEL_PREFIX)))))) +export RUNTIME_PREFIX DEVEL_PREFIX + + +TARGETS = ldd ldconfig readelf + +ifeq ($(strip $(LDSO_LDD_SUPPORT)),y) +XXFLAGS = -D__LDSO_LDD_SUPPORT +endif + +ifeq ($(strip $(HAVE_SHARED)),y) +all: $(TARGETS) +else +all: +endif + +headers: + $(LN) -fs $(TOPDIR)include/elf.h + +readelf: readelf.c + $(CC) $(CFLAGS) -Wl,-s $^ -o $@ $(LDADD_LIBFLOAT) + $(STRIP) -x -R .note -R .comment $@ + +ldconfig: ldconfig.c readsoname.c + $(CC) $(CFLAGS) $(XXFLAGS) -Wl,-s \ + -DUCLIBC_RUNTIME_PREFIX=$(R_PREFIX) \ + -DUCLIBC_LDSO=$(UCLIBC_LDSO) -I. -I../ldso/include \ + $^ -o $@ $(LDADD_LIBFLOAT) + $(STRIP) -x -R .note -R .comment $@ + +ldd: ldd.c + $(CC) $(CFLAGS) $(XXFLAGS) -Wl,-s \ + -DUCLIBC_RUNTIME_PREFIX=$(R_PREFIX) \ + -DUCLIBC_LDSO=$(UCLIBC_LDSO) \ + $^ -o $@ $(LDADD_LIBFLOAT) + $(STRIP) -x -R .note -R .comment $@ + +clean: + $(RM) $(TARGETS) *.o *~ core *.target elf.h + +readelf.c readsoname.c ldconfig.c ldd.c: headers diff --git a/ldso/util/bswap.h b/utils/bswap.h similarity index 100% rename from ldso/util/bswap.h rename to utils/bswap.h diff --git a/ldso/util/ldconfig.c b/utils/ldconfig.c similarity index 99% rename from ldso/util/ldconfig.c rename to utils/ldconfig.c index 0b6890ff1..806604edd 100644 --- a/ldso/util/ldconfig.c +++ b/utils/ldconfig.c @@ -34,7 +34,6 @@ #include #include #include -//#include #include #include #include diff --git a/ldso/util/ldd.c b/utils/ldd.c similarity index 100% rename from ldso/util/ldd.c rename to utils/ldd.c diff --git a/ldso/util/readelf.c b/utils/readelf.c similarity index 100% rename from ldso/util/readelf.c rename to utils/readelf.c diff --git a/ldso/util/readsoname.c b/utils/readsoname.c similarity index 100% rename from ldso/util/readsoname.c rename to utils/readsoname.c diff --git a/ldso/util/readsoname.h b/utils/readsoname.h similarity index 100% rename from ldso/util/readsoname.h rename to utils/readsoname.h diff --git a/ldso/util/readsoname2.c b/utils/readsoname2.c similarity index 100% rename from ldso/util/readsoname2.c rename to utils/readsoname2.c -- 2.11.0