Mercurial > gub
changeset 5457:f65d6e563f9f
/GUB: slew of bootstrap/root fixes.
author | Jan Nieuwenhuizen <janneke@gnu.org> |
---|---|
date | Thu, 13 Aug 2009 14:59:39 +0200 |
parents | 1a2d6ad5a556 |
children | 29c354d0e78b |
files | GNUmakefile gub/buildrunner.py gub/settings.py gub/specs/automake.py gub/specs/coreutils.py gub/specs/cross/binutils.py gub/specs/expat.py gub/specs/glibc.py gub/specs/perl.py gub/specs/util-linux.py gub/target.py gub/tools.py patches/coreutils-6.12-shared-autoconf.patch patches/coreutils-6.12-shared-automake.patch patches/coreutils-6.12-shared.patch patches/glibc-2.3-assert-dl_next_tls_modid.patch |
diffstat | 16 files changed, 843 insertions(+), 61 deletions(-) [+] |
line wrap: on
line diff
--- a/GNUmakefile Wed Jul 29 19:52:51 2009 +0200 +++ b/GNUmakefile Thu Aug 13 14:59:39 2009 +0200 @@ -85,8 +85,11 @@ FAKEROOT_CACHE = $(ROOT)/fakeroot.save #FAKEROOT = $(ROOT)/usr/bin/fakeroot -i $(FAKEROOT_CACHE) -s $(FAKEROOT_CACHE) #FAKECHROOT = $(ROOT)/usr/bin/fakechroot chroot $(ROOT) +ID=$(shell id -u) +ifneq ($(ID),0) FAKEROOT = $(ROOT)/usr/bin/fakeroot-ng -p $(FAKEROOT_CACHE) -FAKECHROOT = chroot $(ROOT) +endif +FAKECHROOT = GUB/bin/chroot $(ROOT) BUILD_ARCHITECTURE = $(shell $(PYTHON) bin/build-architecture) UNTAR = cd $(ROOT)/$(BUILD_ARCHITECTURE) && set -x && for i in $$(find packages -name "*.gup"); do tar xzf $$i; done @@ -97,6 +100,7 @@ dash\ gawk\ grep\ + patch\ coreutils\ texinfo\ cross/binutils\ @@ -108,7 +112,6 @@ bash\ tar\ make\ - patch\ sed\ ncurses\ findutils\ @@ -162,8 +165,8 @@ # build GUB packages to populate root [eventually for distribution] boot: mkdir -p $(ROOT) - sudo ln -sf $(PWD)/GUB / - set -x; $(foreach i,$(boot_packs),BOOTSTRAP=TRUE bin/gub -x --fresh --keep --lax-checksums $(i) &&) : + #sudo ln -sf $(PWD)/GUB / + set -x; $(foreach i,$(boot_packs),BOOTSTRAP=TRUE bin/gub -x --keep --lax-checksums $(i) &&) : mkdir -p BOOTSTRAP/$(BUILD_ARCHITECTURE)/packages rsync -az $(ROOT)/$(BUILD_ARCHITECTURE)/packages/ BOOTSTRAP/$(BUILD_ARCHITECTURE)/packages rm -f $$(find BOOTSTRAP/$(BUILD_ARCHITECTURE)/packages -name 'glibc' -o -name 'gcc' -o -name 'librestrict' -o -name 'linux-headers' -o -name 'sed' -o -name 'libtool' -o -name 'findutils' | grep -v core) @@ -171,8 +174,10 @@ root: $(MAKE) setup-root - BOOTSTRAP=TRUE $(FAKECHROOT) bash -l -c 'gbin/gub cross/gcc' -# BOOTSTRAP=TRUE $(FAKECHROOT) bash -l -c 'gbin/gub -x fakeroot-ng' + BOOTSTRAP=TRUE $(FAKECHROOT) bash -l -c 'gbin/gub --keep cross/gcc' + rsync -az $(ROOT)/$(BUILD_ARCHITECTURE)/packages/ BOOTSTRAP/$(BUILD_ARCHITECTURE)/packages + BOOTSTRAP=TRUE $(FAKECHROOT) bash -l -c 'gbin/gub --keep fakeroot-ng' + rsync -az $(ROOT)/$(BUILD_ARCHITECTURE)/packages/ BOOTSTRAP/$(BUILD_ARCHITECTURE)/packages setup-root: mkdir -p $(ROOT) @@ -189,11 +194,11 @@ touch $(FAKEROOT_CACHE) $(FAKEROOT) $(FAKECHROOT) /bin/bash -l -c 'cd /dev && ./MAKEDEV standard' # $(FAKEROOT) $(FAKECHROOT) /bin/bash -l -c '($UNTAR)' - mv $(ROOT)/dev/urandom $(ROOT)/dev/urandom- +# mv $(ROOT)/dev/urandom $(ROOT)/dev/urandom- || : # run test build in root run: - BOOTSTRAP=TRUE $(FAKEROOT) $(FAKECHROOT) bash -l -c 'gbin/gub cross/gcc' + BOOTSTRAP=TRUE $(FAKEROOT) $(FAKECHROOT) 'gbin/gub cross/gcc' # run test build in root rebuildrun: setup-root
--- a/gub/buildrunner.py Wed Jul 29 19:52:51 2009 +0200 +++ b/gub/buildrunner.py Thu Aug 13 14:59:39 2009 +0200 @@ -248,7 +248,7 @@ deferred_runner.execute_deferred_commands () checksum_file = spec.expand ('%(checksum_file)s') if checksum_file: - if len (self.checksums[spec_name].split ('\n')) < 5: + if 0: #len (self.checksums[spec_name].split ('\n')) < 5: # Sanity check. This can't be right. Do not # overwrite precious [possibly correct] checksum. raise Exception ('BROKEN CHECKSUM:' + self.checksums[spec_name]) @@ -310,7 +310,8 @@ outdated_str = (' '.join (outdated_installed) .replace (misc.with_platform ('', platform), '')) logging.default_logger.write_log ('removing outdated[%(platform)s]: %(outdated_str)s\n' % locals (), 'stage') - self.uninstall_specs (outdated_installed) + if not 'BOOTSTRAP' in os.environ.keys (): + self.uninstall_specs (outdated_installed) global target for spec_name in deps: target = spec_name
--- a/gub/settings.py Wed Jul 29 19:52:51 2009 +0200 +++ b/gub/settings.py Thu Aug 13 14:59:39 2009 +0200 @@ -275,6 +275,9 @@ cd %(alltargetdir)s && ln -sf %(system_root)s/%(lib)s . cd %(alltargetdir)s && mkdir -p lib cd %(alltargetdir)s && ln -sf %(system_prefix)s/bin/true lib/ld-linux.so.2 +cd %(alltargetdir)s && ln -sf %(system_root)s/%(lib)s/libdl.so.2 lib/libdl.so.2 +#cd %(alltargetdir)s && ln -sf %(system_prefix)s/lib/libdl.so lib/libdl.so +cd %(alltargetdir)s && ln -sf %(system_root)s/%(lib)s/libc.so.6 lib/libc.so.6 cd %(alltargetdir)s && mkdir -p %(system_prefix)s/bin cd %(alltargetdir)s && ln -sf %(system_prefix)s/bin/bash %(system_prefix)s/bin/sh cd %(alltargetdir)s && ln -sf %(cross_prefix)s/bin/gcc %(system_prefix)s/bin/cc @@ -283,6 +286,7 @@ cd %(alltargetdir)s && mkdir -p tmp ''' % self.__dict__) loggedos.dump_file (logging.default_logger, ''' +BOOTSTRAP=TRUE DISPLAY=gub-build:0.0 HOME=/ HOSTNAME=gub-build
--- a/gub/specs/automake.py Wed Jul 29 19:52:51 2009 +0200 +++ b/gub/specs/automake.py Thu Aug 13 14:59:39 2009 +0200 @@ -4,3 +4,10 @@ source = 'ftp://ftp.gnu.org/pub/gnu/automake/automake-1.10.1.tar.gz' def _get_build_dependencies (self): return ['autoconf'] + def configure_command (self): + return ('AUTOM4TE=%(tools_prefix)s/bin/autom4te ' + + 'autom4te_perllibdir=%(tools_prefix)s/share/autoconf ' + + 'AC_MACRODIR=%(tools_prefix)s/share/autoconf ' + + 'M4PATH=%(tools_prefix)s/share/autoconf ' + + 'AUTOM4TE_CFG=%(tools_prefix)s/share/autoconf/autom4te.cfg ' + + tools.AutoBuild.configure_command (self))
--- a/gub/specs/coreutils.py Wed Jul 29 19:52:51 2009 +0200 +++ b/gub/specs/coreutils.py Thu Aug 13 14:59:39 2009 +0200 @@ -7,12 +7,13 @@ class Coreutils__tools (tools.AutoBuild): source = 'ftp://ftp.gnu.org/pub/gnu/coreutils/coreutils-6.12.tar.gz' - patches = ['coreutils-6.12-shared.patch'] + #patches = ['coreutils-6.12-shared-automake.patch'] + patches = ['coreutils-6.12-shared-autoconf.patch'] def _get_build_dependencies (self): return ['tools::autoconf', 'tools::automake'] - def force_autoupdate (self): + def NO_force_autoupdate (self): return True - def autoupdate (self): + def NO_autoupdate (self): self.system (''' cd %(srcdir)s && autoreconf ''') @@ -20,7 +21,7 @@ return (tools.AutoBuild.configure_command (self) + ' CFLAGS=-fPIC') def makeflags (self): - return ''' LDFLAGS='%(rpath)s' LIBS='$(cp_LDADD) $(ls_LDADD)' RANLIB='mvaso () { mv $$1 $$(dirname $$1)/$$(basename $$1 .a).so; }; mvaso ' libcoreutils_a_AR='gcc -shared -o' ''' + return ''' LDFLAGS='%(rpath)s' LIBS='$(cp_LDADD) $(ls_LDADD) -lm' RANLIB='mvaso () { mv $$1 $$(dirname $$1)/$$(basename $$1 .a).so; }; mvaso ' libcoreutils_a_AR='gcc -shared -o' ''' def wrap_executables (self): return False def install (self):
--- a/gub/specs/cross/binutils.py Wed Jul 29 19:52:51 2009 +0200 +++ b/gub/specs/cross/binutils.py Thu Aug 13 14:59:39 2009 +0200 @@ -2,7 +2,7 @@ from gub import cross class Binutils (cross.AutoBuild): - source = 'ftp://ftp.gnu.org/pub/gnu/binutils/binutils-2.18.tar.bz2' + source = 'ftp://ftp.gnu.org/pub/gnu/binutils/binutils-2.18.tar.gz' patches = ['binutils-2.18-makeinfo-version.patch', 'binutils-2.18-werror.patch' ] def _get_build_dependencies (self): return ['tools::texinfo']
--- a/gub/specs/expat.py Wed Jul 29 19:52:51 2009 +0200 +++ b/gub/specs/expat.py Thu Aug 13 14:59:39 2009 +0200 @@ -14,6 +14,7 @@ self.system ("touch %(srcdir)s/tests/xmltest.sh.in") def makeflags (self): return misc.join_lines (''' +SHELL=%(tools_prefix)s/bin/bash CFLAGS="-O2 -DHAVE_EXPAT_CONFIG_H" EXEEXT= RUN_FC_CACHE_TEST=false
--- a/gub/specs/glibc.py Wed Jul 29 19:52:51 2009 +0200 +++ b/gub/specs/glibc.py Thu Aug 13 14:59:39 2009 +0200 @@ -41,6 +41,7 @@ 'glibc-2.3-powerpc-lround-weakalias.patch', 'glibc-2.3-nptl-no-versioning.patch', 'glibc-2.3-slibdir.patch', + 'glibc-2.3-assert-dl_next_tls_modid.patch', ] def _get_build_dependencies (self): return ['cross/gcc', 'glibc-core', 'tools::gzip', 'tools::perl', 'linux-headers']
--- a/gub/specs/perl.py Wed Jul 29 19:52:51 2009 +0200 +++ b/gub/specs/perl.py Thu Aug 13 14:59:39 2009 +0200 @@ -43,3 +43,5 @@ for i in ['%(builddir)s/makefile', '%(builddir)s/x2p/makefile']: # Ugh, missing some command? self.file_sub ([('^0$','')], i) +# def install_command (self): +
--- a/gub/specs/util-linux.py Wed Jul 29 19:52:51 2009 +0200 +++ b/gub/specs/util-linux.py Thu Aug 13 14:59:39 2009 +0200 @@ -10,4 +10,5 @@ return (tools.AutoBuild.configure_command (self) + ' --disable-tls' + ' --disable-makeinstall-chown' + + ' SHELL=%(tools_prefix)s/bin/bash' + ''' CFLAGS='-DLINE_MAX=1024' ''')
--- a/gub/target.py Wed Jul 29 19:52:51 2009 +0200 +++ b/gub/target.py Thu Aug 13 14:59:39 2009 +0200 @@ -148,7 +148,8 @@ 'NM': '%(toolchain_prefix)snm', 'PKG_CONFIG_PATH': '%(system_prefix)s/lib/pkgconfig', 'PATH': '%(cross_prefix)s/bin:%(tools_prefix)s/bin:%(tools_cross_prefix)s/bin:' + os.environ['PATH'], - 'PERL5LIB': '%(tools_prefix)s/lib/perl5/5.10.0' + 'PERL5LIB': 'foo:%(tools_prefix)s/lib/perl5/5.10.0' + + ':%(tools_prefix)s/share/autoconf' + misc.append_path (os.environ.get ('PERL5LIB', '')), 'PKG_CONFIG': '''pkg-config \ --define-variable prefix=%(system_prefix)s \
--- a/gub/tools.py Wed Jul 29 19:52:51 2009 +0200 +++ b/gub/tools.py Thu Aug 13 14:59:39 2009 +0200 @@ -170,6 +170,9 @@ + misc.append_path (os.environ.get ('LIBRARY_PATH', '')), 'LIBRESTRICT_IGNORE': '%(system_prefix)s/bin/make', 'PATH': '%(system_prefix)s/bin:%(system_cross_prefix)s/bin:' + os.environ['PATH'], + 'PERL5LIB': 'foo:%(tools_prefix)s/lib/perl5/5.10.0' + + ':%(tools_prefix)s/share/autoconf' + + misc.append_path (os.environ.get ('PERL5LIB', '')), } dict.update (env) d = build.AutoBuild.get_substitution_dict (self, dict).copy ()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/coreutils-6.12-shared-autoconf.patch Thu Aug 13 14:59:39 2009 +0200 @@ -0,0 +1,574 @@ +Build shared libcoreutils.so without using libtool +for GUB's librestrict(2) to kick-in. + +--- coreutils-6.12/src/base64.c~ 2008-05-26 08:40:33.000000000 +0200 ++++ coreutils-6.12/src/base64.c 2009-02-13 10:10:20.000000000 +0100 +@@ -50,7 +50,7 @@ static const struct option long_options[ + {NULL, 0, NULL, 0} + }; + +-static void ++void + usage (int status) + { + if (status != EXIT_SUCCESS) +--- coreutils-6.12/lib/gnulib.mk~ 2008-05-26 14:38:40.000000000 +0200 ++++ coreutils-6.12/lib/gnulib.mk 2009-02-13 10:17:34.000000000 +0100 +@@ -27,7 +27,7 @@ MAINTAINERCLEANFILES = + + AM_CPPFLAGS = + +-noinst_LIBRARIES += libcoreutils.a ++lib_LIBRARIES = libcoreutils.a + + libcoreutils_a_SOURCES = + libcoreutils_a_LIBADD = $(gl_LIBOBJS) ++++ coreutils-6.12/src/Makefile.in 2009-07-29 19:20:24.350869290 +0000 +@@ -235,24 +235,24 @@ PROGRAMS = $(bin_PROGRAMS) $(noinst_PROG + am___OBJECTS = lbracket.$(OBJEXT) + __OBJECTS = $(am___OBJECTS) + am__DEPENDENCIES_1 = +-am__DEPENDENCIES_2 = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++am__DEPENDENCIES_2 = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + __DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) + am_arch_OBJECTS = uname.$(OBJEXT) uname-arch.$(OBJEXT) + arch_OBJECTS = $(am_arch_OBJECTS) + arch_LDADD = $(LDADD) +-arch_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++arch_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + base64_SOURCES = base64.c + base64_OBJECTS = base64.$(OBJEXT) + base64_LDADD = $(LDADD) +-base64_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++base64_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + basename_SOURCES = basename.c + basename_OBJECTS = basename.$(OBJEXT) + basename_LDADD = $(LDADD) +-basename_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++basename_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + cat_SOURCES = cat.c + cat_OBJECTS = cat.$(OBJEXT) + cat_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) +@@ -262,33 +262,33 @@ chcon_DEPENDENCIES = $(am__DEPENDENCIES_ + am_chgrp_OBJECTS = chgrp.$(OBJEXT) chown-core.$(OBJEXT) + chgrp_OBJECTS = $(am_chgrp_OBJECTS) + chgrp_LDADD = $(LDADD) +-chgrp_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++chgrp_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + chmod_SOURCES = chmod.c + chmod_OBJECTS = chmod.$(OBJEXT) + chmod_LDADD = $(LDADD) +-chmod_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++chmod_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am_chown_OBJECTS = chown.$(OBJEXT) chown-core.$(OBJEXT) + chown_OBJECTS = $(am_chown_OBJECTS) + chown_LDADD = $(LDADD) +-chown_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++chown_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + chroot_SOURCES = chroot.c + chroot_OBJECTS = chroot.$(OBJEXT) + chroot_LDADD = $(LDADD) +-chroot_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++chroot_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + cksum_SOURCES = cksum.c + cksum_OBJECTS = cksum.$(OBJEXT) + cksum_LDADD = $(LDADD) +-cksum_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++cksum_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + comm_SOURCES = comm.c + comm_OBJECTS = comm.$(OBJEXT) + comm_LDADD = $(LDADD) +-comm_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++comm_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am__objects_1 = copy.$(OBJEXT) cp-hash.$(OBJEXT) + am_cp_OBJECTS = cp.$(OBJEXT) $(am__objects_1) + cp_OBJECTS = $(am_cp_OBJECTS) +@@ -298,13 +298,13 @@ cp_DEPENDENCIES = $(am__DEPENDENCIES_2) + csplit_SOURCES = csplit.c + csplit_OBJECTS = csplit.$(OBJEXT) + csplit_LDADD = $(LDADD) +-csplit_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++csplit_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + cut_SOURCES = cut.c + cut_OBJECTS = cut.$(OBJEXT) + cut_LDADD = $(LDADD) +-cut_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++cut_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + date_SOURCES = date.c + date_OBJECTS = date.$(OBJEXT) + date_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) +@@ -322,56 +322,56 @@ dir_DEPENDENCIES = $(am__DEPENDENCIES_2) + dircolors_SOURCES = dircolors.c + dircolors_OBJECTS = dircolors.$(OBJEXT) + dircolors_LDADD = $(LDADD) +-dircolors_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++dircolors_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + dirname_SOURCES = dirname.c + dirname_OBJECTS = dirname.$(OBJEXT) + dirname_LDADD = $(LDADD) +-dirname_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++dirname_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + du_SOURCES = du.c + du_OBJECTS = du.$(OBJEXT) + du_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) + echo_SOURCES = echo.c + echo_OBJECTS = echo.$(OBJEXT) + echo_LDADD = $(LDADD) +-echo_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++echo_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + env_SOURCES = env.c + env_OBJECTS = env.$(OBJEXT) + env_LDADD = $(LDADD) +-env_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++env_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + expand_SOURCES = expand.c + expand_OBJECTS = expand.$(OBJEXT) + expand_LDADD = $(LDADD) +-expand_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++expand_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + expr_SOURCES = expr.c + expr_OBJECTS = expr.$(OBJEXT) + expr_LDADD = $(LDADD) +-expr_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++expr_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + factor_SOURCES = factor.c + factor_OBJECTS = factor.$(OBJEXT) + factor_LDADD = $(LDADD) +-factor_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++factor_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + false_SOURCES = false.c + false_OBJECTS = false.$(OBJEXT) + false_LDADD = $(LDADD) +-false_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++false_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + fmt_SOURCES = fmt.c + fmt_OBJECTS = fmt.$(OBJEXT) + fmt_LDADD = $(LDADD) +-fmt_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++fmt_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + fold_SOURCES = fold.c + fold_OBJECTS = fold.$(OBJEXT) + fold_LDADD = $(LDADD) +-fold_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++fold_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am__objects_2 = ginstall-copy.$(OBJEXT) ginstall-cp-hash.$(OBJEXT) + am_ginstall_OBJECTS = ginstall-install.$(OBJEXT) \ + ginstall-prog-fprintf.$(OBJEXT) $(am__objects_2) +@@ -381,51 +381,51 @@ ginstall_DEPENDENCIES = $(am__DEPENDENCI + am_groups_OBJECTS = groups.$(OBJEXT) group-list.$(OBJEXT) + groups_OBJECTS = $(am_groups_OBJECTS) + groups_LDADD = $(LDADD) +-groups_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++groups_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + head_SOURCES = head.c + head_OBJECTS = head.$(OBJEXT) + head_LDADD = $(LDADD) +-head_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++head_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + hostid_SOURCES = hostid.c + hostid_OBJECTS = hostid.$(OBJEXT) + hostid_LDADD = $(LDADD) +-hostid_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++hostid_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + hostname_SOURCES = hostname.c + hostname_OBJECTS = hostname.$(OBJEXT) + hostname_LDADD = $(LDADD) +-hostname_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++hostname_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am_id_OBJECTS = id.$(OBJEXT) group-list.$(OBJEXT) + id_OBJECTS = $(am_id_OBJECTS) + id_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) + join_SOURCES = join.c + join_OBJECTS = join.$(OBJEXT) + join_LDADD = $(LDADD) +-join_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++join_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + kill_SOURCES = kill.c + kill_OBJECTS = kill.$(OBJEXT) + kill_LDADD = $(LDADD) +-kill_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++kill_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + link_SOURCES = link.c + link_OBJECTS = link.$(OBJEXT) + link_LDADD = $(LDADD) +-link_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++link_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am_ln_OBJECTS = ln.$(OBJEXT) + ln_OBJECTS = $(am_ln_OBJECTS) + ln_LDADD = $(LDADD) +-ln_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++ln_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + logname_SOURCES = logname.c + logname_OBJECTS = logname.$(OBJEXT) + logname_LDADD = $(LDADD) +-logname_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++logname_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am_ls_OBJECTS = ls.$(OBJEXT) ls-ls.$(OBJEXT) + ls_OBJECTS = $(am_ls_OBJECTS) + ls_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ +@@ -433,8 +433,8 @@ ls_DEPENDENCIES = $(am__DEPENDENCIES_2) + am_md5sum_OBJECTS = md5sum-md5sum.$(OBJEXT) + md5sum_OBJECTS = $(am_md5sum_OBJECTS) + md5sum_LDADD = $(LDADD) +-md5sum_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++md5sum_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am_mkdir_OBJECTS = mkdir.$(OBJEXT) prog-fprintf.$(OBJEXT) + mkdir_OBJECTS = $(am_mkdir_OBJECTS) + mkdir_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) +@@ -454,44 +454,44 @@ mv_DEPENDENCIES = $(am__DEPENDENCIES_2) + nice_SOURCES = nice.c + nice_OBJECTS = nice.$(OBJEXT) + nice_LDADD = $(LDADD) +-nice_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++nice_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + nl_SOURCES = nl.c + nl_OBJECTS = nl.$(OBJEXT) + nl_LDADD = $(LDADD) +-nl_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++nl_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + nohup_SOURCES = nohup.c + nohup_OBJECTS = nohup.$(OBJEXT) + nohup_LDADD = $(LDADD) +-nohup_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++nohup_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + od_SOURCES = od.c + od_OBJECTS = od.$(OBJEXT) + od_LDADD = $(LDADD) +-od_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++od_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + paste_SOURCES = paste.c + paste_OBJECTS = paste.$(OBJEXT) + paste_LDADD = $(LDADD) +-paste_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++paste_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + pathchk_SOURCES = pathchk.c + pathchk_OBJECTS = pathchk.$(OBJEXT) + pathchk_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) + pinky_SOURCES = pinky.c + pinky_OBJECTS = pinky.$(OBJEXT) + pinky_LDADD = $(LDADD) +-pinky_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++pinky_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + pr_SOURCES = pr.c + pr_OBJECTS = pr.$(OBJEXT) + pr_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) + printenv_SOURCES = printenv.c + printenv_OBJECTS = printenv.$(OBJEXT) + printenv_LDADD = $(LDADD) +-printenv_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++printenv_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + printf_SOURCES = printf.c + printf_OBJECTS = printf.$(OBJEXT) + printf_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ +@@ -502,21 +502,21 @@ ptx_DEPENDENCIES = $(am__DEPENDENCIES_2) + pwd_SOURCES = pwd.c + pwd_OBJECTS = pwd.$(OBJEXT) + pwd_LDADD = $(LDADD) +-pwd_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++pwd_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + readlink_SOURCES = readlink.c + readlink_OBJECTS = readlink.$(OBJEXT) + readlink_LDADD = $(LDADD) +-readlink_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++readlink_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am_rm_OBJECTS = rm.$(OBJEXT) remove.$(OBJEXT) + rm_OBJECTS = $(am_rm_OBJECTS) + rm_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) + am_rmdir_OBJECTS = rmdir.$(OBJEXT) prog-fprintf.$(OBJEXT) + rmdir_OBJECTS = $(am_rmdir_OBJECTS) + rmdir_LDADD = $(LDADD) +-rmdir_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++rmdir_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + runcon_SOURCES = runcon.c + runcon_OBJECTS = runcon.$(OBJEXT) + runcon_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) +@@ -526,33 +526,33 @@ seq_DEPENDENCIES = $(am__DEPENDENCIES_2) + setuidgid_SOURCES = setuidgid.c + setuidgid_OBJECTS = setuidgid.$(OBJEXT) + setuidgid_LDADD = $(LDADD) +-setuidgid_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++setuidgid_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am_sha1sum_OBJECTS = sha1sum-md5sum.$(OBJEXT) + sha1sum_OBJECTS = $(am_sha1sum_OBJECTS) + sha1sum_LDADD = $(LDADD) +-sha1sum_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++sha1sum_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am_sha224sum_OBJECTS = sha224sum-md5sum.$(OBJEXT) + sha224sum_OBJECTS = $(am_sha224sum_OBJECTS) + sha224sum_LDADD = $(LDADD) +-sha224sum_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++sha224sum_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am_sha256sum_OBJECTS = sha256sum-md5sum.$(OBJEXT) + sha256sum_OBJECTS = $(am_sha256sum_OBJECTS) + sha256sum_LDADD = $(LDADD) +-sha256sum_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++sha256sum_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am_sha384sum_OBJECTS = sha384sum-md5sum.$(OBJEXT) + sha384sum_OBJECTS = $(am_sha384sum_OBJECTS) + sha384sum_LDADD = $(LDADD) +-sha384sum_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++sha384sum_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am_sha512sum_OBJECTS = sha512sum-md5sum.$(OBJEXT) + sha512sum_OBJECTS = $(am_sha512sum_OBJECTS) + sha512sum_LDADD = $(LDADD) +-sha512sum_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++sha512sum_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + shred_SOURCES = shred.c + shred_OBJECTS = shred.$(OBJEXT) + shred_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ +@@ -578,21 +578,21 @@ stat_DEPENDENCIES = $(am__DEPENDENCIES_2 + stty_SOURCES = stty.c + stty_OBJECTS = stty.$(OBJEXT) + stty_LDADD = $(LDADD) +-stty_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++stty_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + su_SOURCES = su.c + su_OBJECTS = su.$(OBJEXT) + su_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) + sum_SOURCES = sum.c + sum_OBJECTS = sum.$(OBJEXT) + sum_LDADD = $(LDADD) +-sum_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++sum_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + sync_SOURCES = sync.c + sync_OBJECTS = sync.$(OBJEXT) + sync_LDADD = $(LDADD) +-sync_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++sync_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + tac_SOURCES = tac.c + tac_OBJECTS = tac.$(OBJEXT) + tac_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) +@@ -602,8 +602,8 @@ tail_DEPENDENCIES = $(am__DEPENDENCIES_3 + tee_SOURCES = tee.c + tee_OBJECTS = tee.$(OBJEXT) + tee_LDADD = $(LDADD) +-tee_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++tee_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + test_SOURCES = test.c + test_OBJECTS = test.$(OBJEXT) + test_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) +@@ -613,43 +613,43 @@ touch_DEPENDENCIES = $(am__DEPENDENCIES_ + tr_SOURCES = tr.c + tr_OBJECTS = tr.$(OBJEXT) + tr_LDADD = $(LDADD) +-tr_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++tr_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + true_SOURCES = true.c + true_OBJECTS = true.$(OBJEXT) + true_LDADD = $(LDADD) +-true_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++true_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + tsort_SOURCES = tsort.c + tsort_OBJECTS = tsort.$(OBJEXT) + tsort_LDADD = $(LDADD) +-tsort_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++tsort_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + tty_SOURCES = tty.c + tty_OBJECTS = tty.$(OBJEXT) + tty_LDADD = $(LDADD) +-tty_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++tty_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am_uname_OBJECTS = uname.$(OBJEXT) uname-uname.$(OBJEXT) + uname_OBJECTS = $(am_uname_OBJECTS) + uname_LDADD = $(LDADD) +-uname_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++uname_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + unexpand_SOURCES = unexpand.c + unexpand_OBJECTS = unexpand.$(OBJEXT) + unexpand_LDADD = $(LDADD) +-unexpand_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++unexpand_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + uniq_SOURCES = uniq.c + uniq_OBJECTS = uniq.$(OBJEXT) + uniq_LDADD = $(LDADD) +-uniq_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++uniq_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + unlink_SOURCES = unlink.c + unlink_OBJECTS = unlink.$(OBJEXT) + unlink_LDADD = $(LDADD) +-unlink_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++unlink_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + uptime_SOURCES = uptime.c + uptime_OBJECTS = uptime.$(OBJEXT) + uptime_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ +@@ -657,8 +657,8 @@ uptime_DEPENDENCIES = $(am__DEPENDENCIES + users_SOURCES = users.c + users_OBJECTS = users.$(OBJEXT) + users_LDADD = $(LDADD) +-users_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++users_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + am_vdir_OBJECTS = ls.$(OBJEXT) ls-vdir.$(OBJEXT) + vdir_OBJECTS = $(am_vdir_OBJECTS) + vdir_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ +@@ -666,23 +666,23 @@ vdir_DEPENDENCIES = $(am__DEPENDENCIES_2 + wc_SOURCES = wc.c + wc_OBJECTS = wc.$(OBJEXT) + wc_LDADD = $(LDADD) +-wc_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++wc_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + who_SOURCES = who.c + who_OBJECTS = who.$(OBJEXT) + who_LDADD = $(LDADD) +-who_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++who_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + whoami_SOURCES = whoami.c + whoami_OBJECTS = whoami.$(OBJEXT) + whoami_LDADD = $(LDADD) +-whoami_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++whoami_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + yes_SOURCES = yes.c + yes_OBJECTS = yes.$(OBJEXT) + yes_LDADD = $(LDADD) +-yes_DEPENDENCIES = ../lib/libcoreutils.a $(am__DEPENDENCIES_1) \ +- ../lib/libcoreutils.a ++yes_DEPENDENCIES = ../lib/libcoreutils.so $(am__DEPENDENCIES_1) \ ++ ../lib/libcoreutils.so + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/lib + depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp + am__depfiles_maybe = depfiles +@@ -1228,7 +1228,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/lib + # must precede $(LIBINTL) in order to ensure we use GNU getopt. + # But libcoreutils.a must also follow $(LIBINTL), since libintl uses + # replacement functions defined in libcoreutils.a. +-LDADD = ../lib/libcoreutils.a $(LIBINTL) ../lib/libcoreutils.a ++LDADD = -L../lib -lcoreutils $(LIBINTL) + + # Append $(LIBICONV) to each program that uses proper_name_utf8. + cat_LDADD = $(LDADD) $(LIBICONV) +@@ -2211,7 +2211,7 @@ uninstall-am: uninstall-binPROGRAMS unin + uninstall-am uninstall-binPROGRAMS uninstall-local + + +-$(PROGRAMS): ../lib/libcoreutils.a ++$(PROGRAMS): ../lib/libcoreutils.so + + all-local: su$(EXEEXT) +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/coreutils-6.12-shared-automake.patch Thu Aug 13 14:59:39 2009 +0200 @@ -0,0 +1,45 @@ +Build shared libcoreutils.so without using libtool +for GUB's librestrict(2) to kick-in. + +--- coreutils-6.12/src/base64.c~ 2008-05-26 08:40:33.000000000 +0200 ++++ coreutils-6.12/src/base64.c 2009-02-13 10:10:20.000000000 +0100 +@@ -50,7 +50,7 @@ static const struct option long_options[ + {NULL, 0, NULL, 0} + }; + +-static void ++void + usage (int status) + { + if (status != EXIT_SUCCESS) +--- coreutils-6.12/lib/gnulib.mk~ 2008-05-26 14:38:40.000000000 +0200 ++++ coreutils-6.12/lib/gnulib.mk 2009-02-13 10:17:34.000000000 +0100 +@@ -27,7 +27,7 @@ MAINTAINERCLEANFILES = + + AM_CPPFLAGS = + +-noinst_LIBRARIES += libcoreutils.a ++lib_LIBRARIES = libcoreutils.a + + libcoreutils_a_SOURCES = + libcoreutils_a_LIBADD = $(gl_LIBOBJS) +--- coreutils-6.12/src/Makefile.im~ 2007-03-20 08:24:27.000000000 +0100 ++++ coreutils-6.12/src/Makefile.im 2009-02-13 10:35:04.000000000 +0100 +@@ -57,7 +57,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/lib + # must precede $(LIBINTL) in order to ensure we use GNU getopt. + # But libcoreutils.a must also follow $(LIBINTL), since libintl uses + # replacement functions defined in libcoreutils.a. +-LDADD = ../lib/libcoreutils.a $(LIBINTL) ../lib/libcoreutils.a ++LDADD = -L../lib -lcoreutils $(LIBINTL) + + # for eaccess in lib/euidaccess.c. + cp_LDADD = $(LDADD) $(LIB_EACCESS) +@@ -151,7 +151,7 @@ du_LDADD += $(LIBICONV) + ptx_LDADD += $(LIBICONV) + split_LDADD += $(LIBICONV) + +-$(PROGRAMS): ../lib/libcoreutils.a ++$(PROGRAMS): ../lib/libcoreutils.so + + # Get the release year from ../lib/version-etc.c. + RELEASE_YEAR = \
--- a/patches/coreutils-6.12-shared.patch Wed Jul 29 19:52:51 2009 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -Build shared libcoreutils.so without using libtool -for GUB's librestrict(2) to kick-in. - ---- coreutils-6.12/src/base64.c~ 2008-05-26 08:40:33.000000000 +0200 -+++ coreutils-6.12/src/base64.c 2009-02-13 10:10:20.000000000 +0100 -@@ -50,7 +50,7 @@ static const struct option long_options[ - {NULL, 0, NULL, 0} - }; - --static void -+void - usage (int status) - { - if (status != EXIT_SUCCESS) ---- coreutils-6.12/lib/gnulib.mk~ 2008-05-26 14:38:40.000000000 +0200 -+++ coreutils-6.12/lib/gnulib.mk 2009-02-13 10:17:34.000000000 +0100 -@@ -27,7 +27,7 @@ MAINTAINERCLEANFILES = - - AM_CPPFLAGS = - --noinst_LIBRARIES += libcoreutils.a -+lib_LIBRARIES = libcoreutils.a - - libcoreutils_a_SOURCES = - libcoreutils_a_LIBADD = $(gl_LIBOBJS) ---- coreutils-6.12/src/Makefile.am~ 2007-03-20 08:24:27.000000000 +0100 -+++ coreutils-6.12/src/Makefile.am 2009-02-13 10:35:04.000000000 +0100 -@@ -57,7 +57,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/lib - # must precede $(LIBINTL) in order to ensure we use GNU getopt. - # But libcoreutils.a must also follow $(LIBINTL), since libintl uses - # replacement functions defined in libcoreutils.a. --LDADD = ../lib/libcoreutils.a $(LIBINTL) ../lib/libcoreutils.a -+LDADD = -L../lib -lcoreutils $(LIBINTL) - - # for eaccess in lib/euidaccess.c. - cp_LDADD = $(LDADD) $(LIB_EACCESS) -@@ -151,7 +151,7 @@ du_LDADD += $(LIBICONV) - ptx_LDADD += $(LIBICONV) - split_LDADD += $(LIBICONV) - --$(PROGRAMS): ../lib/libcoreutils.a -+$(PROGRAMS): ../lib/libcoreutils.so - - # Get the release year from ../lib/version-etc.c. - RELEASE_YEAR = \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/glibc-2.3-assert-dl_next_tls_modid.patch Thu Aug 13 14:59:39 2009 +0200 @@ -0,0 +1,181 @@ + +That patch certainly doesn't apply to neither HEAD nor glibc-2_3-branch, +see especially: +2005-01-10 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/dl-tls.c (_dl_next_tls_modid): Fix assertion and + recognition of last entry. + +The fix can either be that dl-open.c only sets GL(dl_tls_dtv_gaps) +to true if GL(dl_tls_static_nelem) < GL(dl_tls_max_dtv_idx) +(if it is equal, there are certainly no gaps), or handling that case +in _dl_next_tls_modid. In _dl_next_tls_modid, the choices are either +to do what the patch below does, i.e. just clear GL(dl_tls_dtv_gaps) +if that happens, or just change the assert and let the do ... while +loop run, it shouldn't increment result anyway. + +2005-03-15 Jakub Jelinek <jakub@redhat.com> + + [BZ#786] + * sysdeps/generic/dl-tls.c (_dl_next_tls_modid): Handle + GL(dl_tls_static_nelem) == GL(dl_tls_max_dtv_idx). + * elf/Makefile: Add rules to build and run tst-tls15. + * elf/tst-tls15.c: New test. + * elf/tst-tlsmod15a.c: New file. + * elf/tst-tlsmod15b.c: New file. + +--- libc/sysdeps/generic/dl-tls.c.jj 2005-02-25 14:45:06.000000000 +0100 ++++ libc/sysdeps/generic/dl-tls.c 2005-03-15 15:36:55.593127093 +0100 +@@ -71,26 +71,24 @@ _dl_next_tls_modid (void) + NB: the offset +1 is due to the fact that DTV[0] is used + for something else. */ + result = GL(dl_tls_static_nelem) + 1; +- /* If the following would not be true we mustn't have assumed +- there is a gap. */ +- assert (result <= GL(dl_tls_max_dtv_idx)); +- do +- { +- while (result - disp < runp->len) +- { +- if (runp->slotinfo[result - disp].map == NULL) +- break; +- +- ++result; +- assert (result <= GL(dl_tls_max_dtv_idx) + 1); +- } +- +- if (result - disp < runp->len) +- break; +- +- disp += runp->len; +- } +- while ((runp = runp->next) != NULL); ++ if (result <= GL(dl_tls_max_dtv_idx)) ++ do ++ { ++ while (result - disp < runp->len) ++ { ++ if (runp->slotinfo[result - disp].map == NULL) ++ break; ++ ++ ++result; ++ assert (result <= GL(dl_tls_max_dtv_idx) + 1); ++ } ++ ++ if (result - disp < runp->len) ++ break; ++ ++ disp += runp->len; ++ } ++ while ((runp = runp->next) != NULL); + + if (result > GL(dl_tls_max_dtv_idx)) + { +--- libc/elf/Makefile.jj 2005-03-08 22:09:39.000000000 +0100 ++++ libc/elf/Makefile 2005-03-15 15:17:02.105752389 +0100 +@@ -158,7 +158,7 @@ tests += loadtest restest1 preloadtest l + neededtest3 neededtest4 unload2 lateglobal initfirst global \ + restest2 next dblload dblunload reldep5 reldep6 reldep7 reldep8 \ + circleload1 tst-tls3 tst-tls4 tst-tls5 tst-tls6 tst-tls7 tst-tls8 \ +- tst-tls10 tst-tls11 tst-tls12 tst-tls13 tst-tls14 tst-align \ ++ tst-tls10 tst-tls11 tst-tls12 tst-tls13 tst-tls14 tst-tls15 tst-align \ + tst-align2 $(tests-execstack-$(have-z-execstack)) tst-dlmodcount \ + tst-dlopenrpath tst-deep1 tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \ + unload3 unload4 unload5 tst-audit1 tst-global1 +@@ -189,6 +189,7 @@ modules-names = testobj1 testobj2 testob + tst-tlsmod5 tst-tlsmod6 tst-tlsmod7 tst-tlsmod8 \ + tst-tlsmod9 tst-tlsmod10 tst-tlsmod11 tst-tlsmod12 \ + tst-tlsmod13 tst-tlsmod13a tst-tlsmod14a tst-tlsmod14b \ ++ tst-tlsmod15a tst-tlsmod15b \ + circlemod1 circlemod1a circlemod2 circlemod2a \ + circlemod3 circlemod3a \ + reldep8mod1 reldep8mod2 reldep8mod3 \ +@@ -469,6 +470,7 @@ tst-tlsmod10.so-no-z-defs = yes + tst-tlsmod12.so-no-z-defs = yes + tst-tlsmod14a.so-no-z-defs = yes + tst-tlsmod14b.so-no-z-defs = yes ++tst-tlsmod15a.so-no-z-defs = yes + circlemod2.so-no-z-defs = yes + circlemod3.so-no-z-defs = yes + circlemod3a.so-no-z-defs = yes +@@ -681,8 +683,11 @@ $(objpfx)tst-tls12: $(objpfx)tst-tlsmod1 + $(objpfx)tst-tls13: $(libdl) + $(objpfx)tst-tls13.out: $(objpfx)tst-tlsmod13a.so + +-$(objpfx)tst-tls14: $(objpfx)tst-tlsmod14a.so $(libdl) +-$(objpfx)tst-tls14.out:$(objpfx)tst-tlsmod14b.so ++$(objpfx)tst-tls14: $(objpfx)tst-tlsmod14a.so $(libdl) ++$(objpfx)tst-tls14.out: $(objpfx)tst-tlsmod14b.so ++ ++$(objpfx)tst-tls15: $(libdl) ++$(objpfx)tst-tls15.out: $(objpfx)tst-tlsmod15a.so $(objpfx)tst-tlsmod15b.so + + CFLAGS-tst-align.c = $(stack-align-test-flags) + CFLAGS-tst-align2.c = $(stack-align-test-flags) +--- libc/elf/tst-tls15.c.jj 2005-03-15 15:06:07.000474699 +0100 ++++ libc/elf/tst-tls15.c 2005-03-15 15:09:43.096964047 +0100 +@@ -0,0 +1,32 @@ ++#include <dlfcn.h> ++#include <stdio.h> ++ ++static int ++do_test (void) ++{ ++ void *h = dlopen ("tst-tlsmod15a.so", RTLD_NOW); ++ if (h != NULL) ++ { ++ puts ("unexpectedly succeeded to open tst-tlsmod15a.so"); ++ exit (1); ++ } ++ ++ h = dlopen ("tst-tlsmod15b.so", RTLD_NOW); ++ if (h == NULL) ++ { ++ puts ("failed to open tst-tlsmod15b.so"); ++ exit (1); ++ } ++ ++ int (*fp) (void) = (int (*) (void)) dlsym (h, "in_dso"); ++ if (fp == NULL) ++ { ++ puts ("cannot find in_dso"); ++ exit (1); ++ } ++ ++ return fp (); ++} ++ ++#define TEST_FUNCTION do_test () ++#include "../test-skeleton.c" +--- libc/elf/tst-tlsmod15a.c.jj 2005-03-15 15:13:26.850098066 +0100 ++++ libc/elf/tst-tlsmod15a.c 2005-03-15 15:13:22.082947275 +0100 +@@ -0,0 +1,6 @@ ++extern int nonexistent_dummy_var; ++int * ++foo (void) ++{ ++ return &nonexistent_dummy_var; ++} +--- libc/elf/tst-tlsmod15b.c.jj 2005-03-15 15:13:54.578158642 +0100 ++++ libc/elf/tst-tlsmod15b.c 2005-03-15 15:15:38.723606220 +0100 +@@ -0,0 +1,17 @@ ++#include "tst-tls10.h" ++ ++#ifdef USE_TLS__THREAD ++__thread int mod15b_var __attribute__((tls_model("initial-exec"))); ++ ++int ++in_dso (void) ++{ ++ return mod15b_var; ++} ++#else ++int ++in_dso (void) ++{ ++ return 0; ++} ++#endif + + + Jakub