diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-11-06 08:29:48 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-11-06 08:29:57 -0800 |
commit | abcb584d0eae7270b35e1b3fed1f9661e26b8be0 (patch) | |
tree | 135e0a2bd7688a052a8bc3b1ddc9cbce570d3873 /csu | |
parent | 4e2dff67beeb063cb36fe100d9d2b3f2f88d80c6 (diff) | |
download | glibc-abcb584d0eae7270b35e1b3fed1f9661e26b8be0.zip glibc-abcb584d0eae7270b35e1b3fed1f9661e26b8be0.tar.gz glibc-abcb584d0eae7270b35e1b3fed1f9661e26b8be0.tar.bz2 |
Use newly built crt*.o files to build shared objects [BZ #22362]
When multi-lib GCC is used to build glibc, the search order of GCC driver
for crt*.o is -B*/`gcc -print-multi-directory`, the installed diretory,
-B*/. This patch adds multi-lib support to csu/Makefile so that
-B/glibc-build-directory/csu/ will pick up the newly built crt*.o.
Tested on x86-64 for i686 and x32.
[BZ #22362]
* Makerules (make-link-multidir): New.
* config.make.in (multidir): New.
* configure.ac (libc_cv_multidir): New. AC_SUBST.
* configure: Regenerated.
* csu/Makefile [$(multidir) != .](multilib-extra-objs): New.
[$(multidir) != .](extra-objs): Add $(multilib-extra-objs).
[$(multidir) != .]($(addprefix $(objpfx)$(multidir)/, $(install-lib))):
New target.
Diffstat (limited to 'csu')
-rw-r--r-- | csu/Makefile | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/csu/Makefile b/csu/Makefile index fd668a5..e42a32b 100644 --- a/csu/Makefile +++ b/csu/Makefile @@ -77,6 +77,11 @@ crtstuff = crti crtn install-lib += $(crtstuff:=.o) extra-objs += $(crtstuff:=.o) +ifneq ($(multidir),.) +multilib-extra-objs = $(addprefix $(multidir)/, $(install-lib)) +extra-objs += $(multilib-extra-objs) +endif + extra-objs += abi-note.o init.o asm-CPPFLAGS += -I$(objpfx). @@ -147,3 +152,8 @@ $(objpfx)abi-tag.h: $(..)abi-tags done if test -r $@.new; then mv -f $@.new $@; \ else echo >&2 'This configuration not matched in $<'; exit 1; fi + +ifneq ($(multidir),.) +$(addprefix $(objpfx)$(multidir)/, $(install-lib)): $(addprefix $(objpfx), $(install-lib)) + $(make-link-multidir) +endif |