hurd: Add rules for static PIE build

This fixes [BZ #28671].
This commit is contained in:
Samuel Thibault 2021-12-11 23:08:32 +01:00
parent 26803075e4
commit 556a6126f8
2 changed files with 14 additions and 5 deletions

View File

@ -71,17 +71,21 @@ else
extra-objs += gmon-start.o
endif
ifeq (yes,$(enable-static-pie))
extra-objs += r$(start-installed-name) gr$(start-installed-name)
install-lib += r$(start-installed-name) gr$(start-installed-name)
endif
ifneq ($(start-installed-name),$(static-start-installed-name))
# FIXME: Only Hurd defines static-start-installed-name. Hurd needs to
# provide special rules to support static PIE.
extra-objs += $(static-start-installed-name) g$(static-start-installed-name)
omit-deps += $(patsubst %.o,%,$(static-start-installed-name) \
g$(static-start-installed-name))
install-lib += $(static-start-installed-name) g$(static-start-installed-name)
else
ifeq (yes,$(enable-static-pie))
extra-objs += r$(start-installed-name) gr$(start-installed-name)
install-lib += r$(start-installed-name) gr$(start-installed-name)
extra-objs += r$(static-start-installed-name) gr$(static-start-installed-name)
omit-deps += $(patsubst %.o,%,r$(static-start-installed-name) \
gr$(static-start-installed-name))
install-lib += r$(static-start-installed-name) gr$(static-start-installed-name)
endif
endif
@ -150,6 +154,9 @@ ifneq ($(start-installed-name),$(static-start-installed-name))
$(objpfx)g$(static-start-installed-name): \
$(objpfx)g%: $(objpfx)% $(objpfx)gmon-start.o
$(link-relocatable)
$(objpfx)gr$(static-start-installed-name): \
$(objpfx)gr%: $(objpfx)r% $(objpfx)gmon-start.o
$(link-relocatable)
endif
else
$(addprefix $(objpfx),$(sort g$(start-installed-name) \

View File

@ -188,6 +188,8 @@ extra-objs += static-start.o
# We need special startup code for statically linked binaries.
$(objpfx)crt0.o: $(objpfx)static-start.o $(objpfx)abi-note.o $(objpfx)init.o $(objpfx)static-reloc.o
$(link-relocatable)
$(objpfx)rcrt0.o: $(objpfx)static-start.o $(objpfx)abi-note.o $(objpfx)init.o
$(link-relocatable)
endif