From edd4cbcf83fb466dd8a1b5d63d55b1fea96356fe Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Fri, 7 Aug 2015 01:38:39 +0200 Subject: Fix gcrt0.o compilation When static-start-installed-name is different from start-installed-name, we must not use the shared objects. * csu/Makefile (extra-objs): Add gmon-start.o when building shared library and $(static-start-installed-name) is different from $(start-installed-name). $(objpfx)g$(static-start-installed-name): When building shared library and $(static-start-installed-name) is different from $(static-start-installed-name), revert to non-shared rule, i.e. using $(objpfx)% and gmon-start.o. --- csu/Makefile | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'csu') diff --git a/csu/Makefile b/csu/Makefile index 9f0855a6ac..4df5d107a1 100644 --- a/csu/Makefile +++ b/csu/Makefile @@ -47,6 +47,9 @@ tests-static := tst-empty ifeq (yes,$(build-shared)) extra-objs += S$(start-installed-name) gmon-start.os +ifneq ($(start-installed-name),$(static-start-installed-name)) +extra-objs += gmon-start.o +endif install-lib += S$(start-installed-name) generated += start.os else @@ -98,10 +101,14 @@ endif # startfile with gmon-start.o, which defines a constructor function # to turn on profiling code at startup. ifeq (yes,$(build-shared)) -$(addprefix $(objpfx),$(sort g$(start-installed-name) \ - g$(static-start-installed-name))): \ +$(objpfx)g$(start-installed-name): \ $(objpfx)g%: $(objpfx)S% $(objpfx)gmon-start.os $(link-relocatable) +ifneq ($(start-installed-name),$(static-start-installed-name)) +$(objpfx)g$(static-start-installed-name): \ + $(objpfx)g%: $(objpfx)% $(objpfx)gmon-start.o + $(link-relocatable) +endif else $(addprefix $(objpfx),$(sort g$(start-installed-name) \ g$(static-start-installed-name))): \ -- cgit v1.2.3