This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Consistently use $(elf-objpfx)
- From: Siddhesh Poyarekar <siddhesh at redhat dot com>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: libc-alpha at sourceware dot org
- Date: Tue, 20 May 2014 10:06:18 +0530
- Subject: Re: Consistently use $(elf-objpfx)
- Authentication-results: sourceware.org; auth=none
- References: <Pine dot LNX dot 4 dot 64 dot 1405192152211 dot 743 at digraph dot polyomino dot org dot uk>
On Mon, May 19, 2014 at 09:54:26PM +0000, Joseph S. Myers wrote:
> As previously noted
> <https://sourceware.org/ml/libc-alpha/2013-05/msg00696.html>,
> $(elf-objpfx) and $(elfobjdir) are redundant and should be
> consolidated. This patch consolidates on $(elf-objpfx) (for
> consistency with $(csu-objpfx)), also changing direct uses of
> $(common-objpfx)elf/ to use $(elf-objpfx).
>
> Tested x86_64, including that installed shared libraries are unchanged
> by the patch.
Looks good to me.
Siddhesh
>
> 2014-05-19 Joseph Myers <joseph@codesourcery.com>
>
> * Makeconfig [$(build-hardcoded-path-in-tests) = yes]
> (rtld-tests-LDFLAGS): Use $(elf-objpfx) instead of
> $(common-objpfx)elf/.
> (link-libc-before-gnulib): Likewise.
> (elfobjdir): Remove variable.
> * Makefile (install): Use $(elf-objpfx) instead of
> $(common-objpfx)elf/.
> * Makerules (link-libc-args): Use $(elf-objpfx) instead of
> $(elfobjdir)/.
> (link-libc-deps): Likewise.
> ($(common-objpfx)libc.so): Likewise.
> ($(common-objpfx)linkobj/libc.so): Likewise.
> [$(cross-compiling) = no] (symbolic-link-prog): Use $(elf-objpfx)
> instead of $(common-objpfx)elf/.
> (symbolic-link-list): Likewise.
> * iconvdata/Makefile ($(inst_gconvdir)/gconv-modules)
> [$(cross-compiling) = no]: Likewise.
> * sysdeps/arm/Makefile (gnulib-arch): Use $(elf-objpfx) instead of
> $(elfobjdir)/.
> (static-gnulib-arch): Likewise.
> * sysdeps/s390/s390-64/Makefile ($(inst_gconvdir)/gconv-modules)
> [$(cross-compiling) = no]: Use $(elf-objpfx) instead of
> $(common-objpfx)elf/.
>
> localedata/ChangeLog:
> 2014-05-19 Joseph Myers <joseph@codesourcery.com>
>
> * Makefile (LOCALEDEF): Use $(elf-objpfx) instead of
> $(common-objpfx)elf/.
>
> diff --git a/Makeconfig b/Makeconfig
> index 2df4c88..736190b 100644
> --- a/Makeconfig
> +++ b/Makeconfig
> @@ -451,7 +451,7 @@ rtld-LDFLAGS = -Wl,-dynamic-linker=$(rtlddir)/$(rtld-installed-name)
> endif
> ifndef rtld-tests-LDFLAGS
> ifeq (yes,$(build-hardcoded-path-in-tests))
> -rtld-tests-LDFLAGS = -Wl,-dynamic-linker=$(common-objpfx)elf/ld.so
> +rtld-tests-LDFLAGS = -Wl,-dynamic-linker=$(elf-objpfx)ld.so
> else
> rtld-tests-LDFLAGS = $(rtld-LDFLAGS)
> endif
> @@ -470,7 +470,7 @@ link-libc-tests-rpath-link = $(link-libc-rpath-link)
> endif
> link-libc-before-gnulib = $(common-objpfx)libc.so$(libc.so-version) \
> $(common-objpfx)$(patsubst %,$(libtype.oS),c) \
> - $(as-needed) $(common-objpfx)elf/ld.so \
> + $(as-needed) $(elf-objpfx)ld.so \
> $(no-as-needed)
> link-libc = $(link-libc-rpath-link) $(link-libc-before-gnulib) $(gnulib)
> link-libc-tests = $(link-libc-tests-rpath-link) \
> @@ -485,8 +485,6 @@ link-libc-tests = $(common-objpfx)libc.a $(otherlibs) $(gnulib-tests) $(common-o
> endif
> endif
>
> -elfobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)elf)
> -
> # Differences in the linkers on the various platforms.
> LDFLAGS-rpath-ORIGIN = -Wl,-rpath,'$$ORIGIN'
> LDFLAGS-soname-fname = -Wl,-soname,$(@F)
> diff --git a/Makefile b/Makefile
> index e026fb1..2eab98c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -105,9 +105,9 @@ install-symbolic-link: subdir_install
> rm -f $(symbolic-link-list)
>
> install:
> - -test ! -x $(common-objpfx)elf/ldconfig || LC_ALL=C LANGUAGE=C \
> - $(common-objpfx)elf/ldconfig $(addprefix -r ,$(install_root)) \
> - $(slibdir) $(libdir)
> + -test ! -x $(elf-objpfx)ldconfig || LC_ALL=C LANGUAGE=C \
> + $(elf-objpfx)ldconfig $(addprefix -r ,$(install_root)) \
> + $(slibdir) $(libdir)
> ifneq (no,$(PERL))
> ifeq (/usr,$(prefix))
> ifeq (,$(install_root))
> diff --git a/Makerules b/Makerules
> index 4427f4e..817d07e 100644
> --- a/Makerules
> +++ b/Makerules
> @@ -417,7 +417,7 @@ endif
> link-libc-args = -Wl,--start-group \
> $(libc-for-link) \
> $(common-objpfx)libc_nonshared.a \
> - $(as-needed) $(elfobjdir)/ld.so $(no-as-needed) \
> + $(as-needed) $(elf-objpfx)ld.so $(no-as-needed) \
> -Wl,--end-group
>
> # The corresponding shared libc to use. This may be modified for a
> @@ -428,7 +428,7 @@ libc-for-link = $(common-objpfx)libc.so
> # not just commands, they cannot use target-specific variables so need
> # to name both possible libc.so objects.
> link-libc-deps = $(common-objpfx)libc.so $(common-objpfx)linkobj/libc.so \
> - $(common-objpfx)libc_nonshared.a $(elfobjdir)/ld.so
> + $(common-objpfx)libc_nonshared.a $(elf-objpfx)ld.so
>
> # Pattern rule to build a shared object from an archive of PIC objects.
> # This must come after the installation rules so Make doesn't try to
> @@ -592,19 +592,19 @@ $(common-objpfx)linkobj/libc.so: link-libc-deps = # empty
>
> # Use our own special initializer and finalizer files for the libc.so
> # libraries.
> -$(common-objpfx)libc.so: $(elfobjdir)/soinit.os \
> +$(common-objpfx)libc.so: $(elf-objpfx)soinit.os \
> $(common-objpfx)libc_pic.os$(libc_pic_clean) \
> - $(elfobjdir)/sofini.os \
> - $(elfobjdir)/interp.os \
> - $(elfobjdir)/ld.so \
> + $(elf-objpfx)sofini.os \
> + $(elf-objpfx)interp.os \
> + $(elf-objpfx)ld.so \
> $(shlib-lds)
> $(build-shlib)
>
> -$(common-objpfx)linkobj/libc.so: $(elfobjdir)/soinit.os \
> +$(common-objpfx)linkobj/libc.so: $(elf-objpfx)soinit.os \
> $(common-objpfx)linkobj/libc_pic.a \
> - $(elfobjdir)/sofini.os \
> - $(elfobjdir)/interp.os \
> - $(elfobjdir)/ld.so \
> + $(elf-objpfx)sofini.os \
> + $(elf-objpfx)interp.os \
> + $(elf-objpfx)ld.so \
> $(shlib-lds)
> $(build-shlib)
>
> @@ -895,8 +895,8 @@ endif
>
> ifeq (yes,$(build-shared))
> ifeq (no,$(cross-compiling))
> -symbolic-link-prog := $(common-objpfx)elf/sln
> -symbolic-link-list := $(common-objpfx)elf/symlink.list
> +symbolic-link-prog := $(elf-objpfx)sln
> +symbolic-link-list := $(elf-objpfx)symlink.list
> define make-shlib-link
> echo `$(..)scripts/rellns-sh -p $< $@` $@ >> $(symbolic-link-list)
> endef
> diff --git a/iconvdata/Makefile b/iconvdata/Makefile
> index 60d8bd3..074d330 100644
> --- a/iconvdata/Makefile
> +++ b/iconvdata/Makefile
> @@ -255,7 +255,7 @@ ifeq (no,$(cross-compiling))
> # if this libc has more gconv modules than the previously installed one.
> if test -f "$(inst_gconvdir)/gconv-modules.cache"; then \
> LC_ALL=C LANGUAGE=C \
> - $(common-objpfx)elf/ld.so --library-path $(rpath-link) \
> + $(elf-objpfx)ld.so --library-path $(rpath-link) \
> $(common-objpfx)iconv/iconvconfig \
> $(addprefix --prefix=,$(install_root)); \
> fi
> diff --git a/localedata/Makefile b/localedata/Makefile
> index 94562be..f2dd24c 100644
> --- a/localedata/Makefile
> +++ b/localedata/Makefile
> @@ -209,7 +209,7 @@ INSTALL-SUPPORTED-LOCALES=$(addprefix install-, $(SUPPORTED-LOCALES))
>
> # Sometimes the whole collection of locale files should be installed.
> LOCALEDEF=I18NPATH=. GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
> -$(common-objpfx)elf/ld.so --library-path $(rpath-link) $(common-objpfx)locale/localedef
> +$(elf-objpfx)ld.so --library-path $(rpath-link) $(common-objpfx)locale/localedef
> install-locales: $(INSTALL-SUPPORTED-LOCALES)
>
> install-locales-dir:
> diff --git a/sysdeps/arm/Makefile b/sysdeps/arm/Makefile
> index b218e76..daaf4aa 100644
> --- a/sysdeps/arm/Makefile
> +++ b/sysdeps/arm/Makefile
> @@ -1,5 +1,5 @@
> -gnulib-arch = $(elfobjdir)/libgcc-stubs.a
> -static-gnulib-arch = $(elfobjdir)/libgcc-stubs.a
> +gnulib-arch = $(elf-objpfx)libgcc-stubs.a
> +static-gnulib-arch = $(elf-objpfx)libgcc-stubs.a
>
> ifeq ($(subdir),elf)
> sysdep-dl-routines += tlsdesc dl-tlsdesc
> diff --git a/sysdeps/s390/s390-64/Makefile b/sysdeps/s390/s390-64/Makefile
> index 37f021c..9fee71b 100644
> --- a/sysdeps/s390/s390-64/Makefile
> +++ b/sysdeps/s390/s390-64/Makefile
> @@ -77,7 +77,7 @@ ifeq (no,$(cross-compiling))
> # if this libc has more gconv modules than the previously installed one.
> if test -f "$(inst_gconvdir)/gconv-modules.cache"; then \
> LC_ALL=C LANGUAGE=C \
> - $(common-objpfx)elf/ld.so --library-path $(rpath-link) \
> + $(elf-objpfx)ld.so --library-path $(rpath-link) \
> $(common-objpfx)iconv/iconvconfig \
> $(addprefix --prefix=,$(install_root)); \
> fi
>
> --
> Joseph S. Myers
> joseph@codesourcery.com