public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc] hurd: Add rules for static PIE build
@ 2021-12-12  0:12 Samuel Thibault
  0 siblings, 0 replies; only message in thread
From: Samuel Thibault @ 2021-12-12  0:12 UTC (permalink / raw)
  To: glibc-cvs

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=556a6126f8764bc66d03368b5ac3e26631556559

commit 556a6126f8764bc66d03368b5ac3e26631556559
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sat Dec 11 23:08:32 2021 +0100

    hurd: Add rules for static PIE build
    
    This fixes [BZ #28671].

Diff:
---
 csu/Makefile               | 17 ++++++++++++-----
 sysdeps/mach/hurd/Makefile |  2 ++
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/csu/Makefile b/csu/Makefile
index e2390e4a7d..b52a98ffda 100644
--- a/csu/Makefile
+++ b/csu/Makefile
@@ -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) \
diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile
index 393e92210b..6a6a25ca1f 100644
--- a/sysdeps/mach/hurd/Makefile
+++ b/sysdeps/mach/hurd/Makefile
@@ -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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-12-12  0:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-12  0:12 [glibc] hurd: Add rules for static PIE build Samuel Thibault

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).