From bd525a6ec0b0c380de628f196dbaba2d8b81a0f0 Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Sat, 17 Jun 2017 16:24:41 +0300 Subject: libc: try -shared instead of -lc for lddstub --- libc/debian/patches/binaries-use-gnu-ld.patch | 35 +++++++++++++-------------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/libc/debian/patches/binaries-use-gnu-ld.patch b/libc/debian/patches/binaries-use-gnu-ld.patch index 72ed2a3..51b4e02 100644 --- a/libc/debian/patches/binaries-use-gnu-ld.patch +++ b/libc/debian/patches/binaries-use-gnu-ld.patch @@ -1,10 +1,10 @@ Description: crt1.o: R_AMD64_GOT32 not supported by sunld Probably, caused by crt1.o-amd64-PIE.patch -Index: b/usr/src/cmd/sgs/ld/Makefile.com +Index: libc/usr/src/cmd/sgs/ld/Makefile.com =================================================================== ---- a/usr/src/cmd/sgs/ld/Makefile.com 2014-03-02 23:23:10.729056700 +0400 -+++ b/usr/src/cmd/sgs/ld/Makefile.com 2014-03-02 23:24:46.289213769 +0400 -@@ -34,7 +34,6 @@ +--- libc.orig/usr/src/cmd/sgs/ld/Makefile.com ++++ libc/usr/src/cmd/sgs/ld/Makefile.com +@@ -34,7 +34,6 @@ BLTOBJ = msg.o OBJS = $(BLTOBJ) $(COMOBJS) .PARALLEL: $(OBJS) @@ -12,11 +12,11 @@ Index: b/usr/src/cmd/sgs/ld/Makefile.com MAPOPTS = $(MAPFILES:%=-M%) LDFLAGS += $(VERSREF) $(CC_USE_PROTO) $(MAPOPTS) $(VAR_LD_LLDFLAGS) -Index: b/usr/src/cmd/Makefile.cmd +Index: libc/usr/src/cmd/Makefile.cmd =================================================================== ---- a/usr/src/cmd/Makefile.cmd 2014-03-02 23:19:27.258663145 +0400 -+++ b/usr/src/cmd/Makefile.cmd 2014-03-02 23:24:46.291538360 +0400 -@@ -502,3 +502,10 @@ +--- libc.orig/usr/src/cmd/Makefile.cmd ++++ libc/usr/src/cmd/Makefile.cmd +@@ -508,3 +508,10 @@ CLOBBERFILES += $(XPG4) $(XPG6) $(DCFILE # This flag is for programs which should not build a 32-bit binary sparc_64ONLY= $(POUND_SIGN) 64ONLY= $($(MACH)_64ONLY) @@ -27,11 +27,11 @@ Index: b/usr/src/cmd/Makefile.cmd +MAPFILE.PGA= +MAPFILE.NED= + -Index: b/usr/src/cmd/sgs/lddstub/i386/Makefile +Index: libc/usr/src/cmd/sgs/lddstub/i386/Makefile =================================================================== ---- a/usr/src/cmd/sgs/lddstub/i386/Makefile 2014-03-02 23:22:25.404260135 +0400 -+++ b/usr/src/cmd/sgs/lddstub/i386/Makefile 2014-03-02 23:24:46.293425850 +0400 -@@ -29,6 +29,8 @@ +--- libc.orig/usr/src/cmd/sgs/lddstub/i386/Makefile ++++ libc/usr/src/cmd/sgs/lddstub/i386/Makefile +@@ -29,6 +29,8 @@ include ../Makefile.com .KEEP_STATE: @@ -40,15 +40,14 @@ Index: b/usr/src/cmd/sgs/lddstub/i386/Makefile install: all .WAIT $(ROOT)/$(DEB_USRLIBDIR_32)/$(PROG) $(ROOT)/$(DEB_USRLIBDIR_32)/$(PROG): $(PROG) $(INS.file) -Index: b/usr/src/cmd/sgs/lddstub/Makefile.com +Index: libc/usr/src/cmd/sgs/lddstub/Makefile.com =================================================================== ---- a/usr/src/cmd/sgs/lddstub/Makefile.com 2014-03-02 23:22:25.399941117 +0400 -+++ b/usr/src/cmd/sgs/lddstub/Makefile.com 2014-03-02 23:24:46.294716814 +0400 -@@ -36,5 +36,6 @@ +--- libc.orig/usr/src/cmd/sgs/lddstub/Makefile.com ++++ libc/usr/src/cmd/sgs/lddstub/Makefile.com +@@ -36,5 +36,5 @@ include ../../Makefile.com # As of Solaris 9 the kernel accepts $ORIGIN within the interpreter field. ASFLAGS= -P -D_ASM -LDFLAGS= $(VERSREF) $(INTERP) $(CONVLIBDIR) -lconv -e stub \ -+# GNU ld will not create dynamic executable unless some library is linked in (-lc) -+LDFLAGS= $(VERSREF) $(INTERP) $(CONVLIBDIR) -lc -lconv -e stub \ ++LDFLAGS= $(VERSREF) $(INTERP) $(CONVLIBDIR) -shared -lconv -e stub \ $(LDFLAGS.cmd) -- cgit v1.2.3