[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r5778 - in glibc-package/branches/eglibc-2.18/debian: . debhelper.in patches patches/any rules.d



Author: adconrad
Date: 2013-11-21 09:46:57 +0000 (Thu, 21 Nov 2013)
New Revision: 5778

Added:
   glibc-package/branches/eglibc-2.18/debian/patches/any/local-rtlddir-cross.diff
Modified:
   glibc-package/branches/eglibc-2.18/debian/changelog
   glibc-package/branches/eglibc-2.18/debian/debhelper.in/libc.install
   glibc-package/branches/eglibc-2.18/debian/patches/series
   glibc-package/branches/eglibc-2.18/debian/rules.d/build.mk
Log:
Install ld.so to slibdir again, fixing pure cross toolchain builds and restoring original package layout

Modified: glibc-package/branches/eglibc-2.18/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/changelog	2013-11-21 08:48:39 UTC (rev 5777)
+++ glibc-package/branches/eglibc-2.18/debian/changelog	2013-11-21 09:46:57 UTC (rev 5778)
@@ -44,7 +44,6 @@
     stdlib/tst-tls-atexit with binutils defaulting to ld --as-needed.
   * debian/control: Build-dep on netbase for service lookups in tests.
   * debian/sysdeps/{linux,hurd}.mk: Force on pt_chown on linux and hurd.
-  * debian/debhelper.in/libc.install: ld.so is installed to RTLDDIR now.
   * debian/rules.d/debhelper.mk: Compress $(libc), multiarch-support, and
     libc-bin with gzip, and let the rest default to dpkg's new defaults.
   * debian/patches/svn-updates.diff: Update to r24485 from SVN and 2.18.1.
@@ -54,6 +53,8 @@
   * debian/patches/powerpc/unsubmitted-tst-auxv.diff: Fix regression in the
     tst-setcontext-fpscr.c test introduced by kfreebsd/submitted-auxv.diff.
   * debian/testsuite-checking/*: Allow powerpc to fail test-{double,float}.
+  * debian/patches/any/local-rtlddir-cross.diff: Revert to the state found
+    in 2.17 where ld.so was installed to slibdir and so listed in libc.so.
 
   [ Samuel Thibault ]
   * patches/hurd-i386/libpthread_hurd_cond_timedwait.diff: Rebased.
@@ -82,7 +83,6 @@
 
   [ Petr Salinger ]
   * debian/*: change version occurences from 2.17 to 2.18 for upgrades/deps.
-  * rules.d/build.mk: do not explicitly install symlink in rtlddir
   * kfreebsd/local-sysdeps.diff: update to revision 5148 (from glibc-bsd).
   * kfreebsd/local-fbtl.diff: likewise
   * sysdeps/kfreebsd.mk: pt_chown is mandatory

Modified: glibc-package/branches/eglibc-2.18/debian/debhelper.in/libc.install
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/debhelper.in/libc.install	2013-11-21 08:48:39 UTC (rev 5777)
+++ glibc-package/branches/eglibc-2.18/debian/debhelper.in/libc.install	2013-11-21 09:46:57 UTC (rev 5778)
@@ -1,4 +1,4 @@
-TMPDIR/RTLDDIR/*.so* RTLDDIR
+TMPDIR/lib/*.so* RTLDDIR
 TMPDIR/SLIBDIR/*.so* SLIBDIR
 TMPDIR/LIBDIR/gconv/* LIBDIR/gconv
 TMPDIR/LIBDIR/audit/* LIBDIR/audit

Added: glibc-package/branches/eglibc-2.18/debian/patches/any/local-rtlddir-cross.diff
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/patches/any/local-rtlddir-cross.diff	                        (rev 0)
+++ glibc-package/branches/eglibc-2.18/debian/patches/any/local-rtlddir-cross.diff	2013-11-21 09:46:57 UTC (rev 5778)
@@ -0,0 +1,33 @@
+Description: Install ld.so to slibdir instead of rtlddir to fix cross builds
+ When installing a cross-libc purely for linking purposes but not
+ runtime use, the linker shouldn't be installed in rtlddir, since
+ we won't actually be USING it, and thus referencing the rtlddir
+ path in libc.so ends up blowing up cross-compilers for no reason.
+Author: Adam Conrad <adconrad@ubuntu.com>
+
+diff --git a/Makeconfig b/Makeconfig
+index 6618987..b9f8680 100644
+--- a/Makeconfig
++++ b/Makeconfig
+@@ -161,7 +161,7 @@ inst_slibdir = $(install_root)$(slibdir)
+ ifndef rtlddir
+ rtlddir = $(slibdir)
+ endif
+-inst_rtlddir = $(install_root)$(rtlddir)
++inst_rtlddir = $(install_root)$(slibdir)
+ 
+ # Prefix to put on files installed in $(libdir).  For libraries `libNAME.a',
+ # the prefix is spliced between `lib' and the name, so the linker switch
+diff --git a/Makerules b/Makerules
+index 92c2872..cb45f90 100644
+--- a/Makerules
++++ b/Makerules
+@@ -960,7 +960,7 @@ $(inst_libdir)/libc.so: $(common-objpfx)format.lds \
+ 	 cat $<; \
+ 	 echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \
+ 	      '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
+-	      ' AS_NEEDED (' $(rtlddir)/$(rtld-installed-name) ') )' \
++	      ' AS_NEEDED (' $(slibdir)/$(rtld-installed-name) ') )' \
+ 	) > $@.new
+ ifeq ($(patsubst gnu%,,$(config-os)),)
+ 	echo 'INPUT ( AS_NEEDED ( -lmachuser -lhurduser ) )' >> $@.new

Modified: glibc-package/branches/eglibc-2.18/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/patches/series	2013-11-21 08:48:39 UTC (rev 5777)
+++ glibc-package/branches/eglibc-2.18/debian/patches/series	2013-11-21 09:46:57 UTC (rev 5778)
@@ -186,6 +186,7 @@
 all/local-ldd.diff
 all/local-nis-shadow.diff
 
+any/local-rtlddir-cross.diff
 any/local-asserth-decls.diff
 any/local-bindresvport_blacklist.diff
 any/local-allocalim-header.diff

Modified: glibc-package/branches/eglibc-2.18/debian/rules.d/build.mk
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/rules.d/build.mk	2013-11-21 08:48:39 UTC (rev 5777)
+++ glibc-package/branches/eglibc-2.18/debian/rules.d/build.mk	2013-11-21 09:46:57 UTC (rev 5778)
@@ -256,9 +256,7 @@
 	fi
 
 	# Create the ld.so symlink to the multiarch directory
-	#if [ $(curpass) = libc ]; then \
-	# it seems that the 2.18 Makefile already install symlink in rtlddir
-	if false ; then \
+	if [ $(curpass) = libc ]; then \
 	  rtld_so="$$(LANG=C LC_ALL=C readelf -l debian/tmp-$(curpass)/usr/bin/iconv | grep 'interpreter' | sed -e 's/.*interpreter: \(.*\)]/\1/g')" ; \
 	  rtld_so="$$(basename $$rtld_so)" ; \
 	  link_name="debian/tmp-$(curpass)/lib/$$rtld_so" ; \


Reply to: