Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Consistently use $(elf-objpfx).
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.

	* 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:
	* Makefile (LOCALEDEF): Use $(elf-objpfx) instead of
	$(common-objpfx)elf/.
  • Loading branch information
Joseph Myers committed May 21, 2014
1 parent a6b3657 commit 4134b50
Show file tree
Hide file tree
Showing 9 changed files with 53 additions and 24 deletions.
26 changes: 26 additions & 0 deletions ChangeLog
@@ -1,3 +1,29 @@
2014-05-21 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/.

2014-05-21 Richard Henderson <rth@redhat.com>

* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
Expand Down
6 changes: 2 additions & 4 deletions Makeconfig
Expand Up @@ -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
Expand All @@ -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) \
Expand All @@ -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)
Expand Down
6 changes: 3 additions & 3 deletions Makefile
Expand Up @@ -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))
Expand Down
24 changes: 12 additions & 12 deletions Makerules
Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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)

Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion iconvdata/Makefile
Expand Up @@ -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
Expand Down
5 changes: 5 additions & 0 deletions localedata/ChangeLog
@@ -1,3 +1,8 @@
2014-05-21 Joseph Myers <joseph@codesourcery.com>

* Makefile (LOCALEDEF): Use $(elf-objpfx) instead of
$(common-objpfx)elf/.

2014-03-07 Joseph Myers <joseph@codesourcery.com>

* Makefile (LOCALES): Move definition above include of Rules.
Expand Down
2 changes: 1 addition & 1 deletion localedata/Makefile
Expand Up @@ -216,7 +216,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:
Expand Down
4 changes: 2 additions & 2 deletions 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
Expand Down
2 changes: 1 addition & 1 deletion sysdeps/s390/s390-64/Makefile
Expand Up @@ -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
Expand Down

0 comments on commit 4134b50

Please sign in to comment.