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

r5390 - in glibc-package/trunk/debian: . debhelper.in patches patches/arm



Author: adconrad
Date: 2012-11-19 22:00:23 +0000 (Mon, 19 Nov 2012)
New Revision: 5390

Added:
   glibc-package/trunk/debian/patches/arm/cvs-ldconfig-cache-abi.diff
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/debhelper.in/libc.preinst
   glibc-package/trunk/debian/patches/arm/unsubmitted-ldconfig-cache-abi.diff
   glibc-package/trunk/debian/patches/series
Log:
* debian/patches/arm/cvs-ldconfig-cache-abi.diff: Backport upstream
  patch to re-enable ldconfig cache tagging for armhf binaries again.
* debian/patches/arm/unsubmitted-ldconfig-cache-abi.diff: Re-enable
  and adjust to account for changes in cvs-ldconfig-cache-abi.diff.
* debian/debhelper.in/libc.preinst: Remove old ld.so.cache on upgrade.

Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2012-11-19 07:56:17 UTC (rev 5389)
+++ glibc-package/trunk/debian/changelog	2012-11-19 22:00:23 UTC (rev 5390)
@@ -1,3 +1,13 @@
+eglibc (2.13-38) UNRELEASED; urgency=low
+
+  * debian/patches/arm/cvs-ldconfig-cache-abi.diff: Backport upstream
+    patch to re-enable ldconfig cache tagging for armhf binaries again.
+  * debian/patches/arm/unsubmitted-ldconfig-cache-abi.diff: Re-enable
+    and adjust to account for changes in cvs-ldconfig-cache-abi.diff.
+  * debian/debhelper.in/libc.preinst: Remove old ld.so.cache on upgrade.
+
+ -- Adam Conrad <adconrad@0c3.net>  Mon, 19 Nov 2012 14:23:26 -0700
+
 eglibc (2.13-37) unstable; urgency=low
 
   [ Aurelien Jarno ]

Modified: glibc-package/trunk/debian/debhelper.in/libc.preinst
===================================================================
--- glibc-package/trunk/debian/debhelper.in/libc.preinst	2012-11-19 07:56:17 UTC (rev 5389)
+++ glibc-package/trunk/debian/debhelper.in/libc.preinst	2012-11-19 22:00:23 UTC (rev 5390)
@@ -438,12 +438,13 @@
 esac
 
 if [ -n "$preversion" ]; then
-    if dpkg --compare-versions "$preversion" lt 2.13-5; then
+    if dpkg --compare-versions "$preversion" lt 2.13-38; then
        # upgrading from a pre-multiarch libc to a multiarch libc; we have
        # to blow away /etc/ld.so.cache, otherwise the old unpacked libc
        # is still first in the cache and segfaults when combined with
        # our newly-unpacked ld.so. Do this last to avoid slowing down the
-       # rest of the upgrade.
+       # rest of the upgrade.  Version number bumped to 2.13-38 to also
+       # cover cache format upgrades for ARM.
        rm -f /etc/ld.so.cache
     fi
 fi

Added: glibc-package/trunk/debian/patches/arm/cvs-ldconfig-cache-abi.diff
===================================================================
--- glibc-package/trunk/debian/patches/arm/cvs-ldconfig-cache-abi.diff	                        (rev 0)
+++ glibc-package/trunk/debian/patches/arm/cvs-ldconfig-cache-abi.diff	2012-11-19 22:00:23 UTC (rev 5390)
@@ -0,0 +1,40 @@
+commit 6665d4a25da6dc1788010466f6f52e1df94a048b
+Author: Steve McIntyre <steve.mcintyre@linaro.org>
+Date:   Mon Nov 19 01:12:53 2012 -0500
+
+    Add ldconfig cache tag handling for ARM hard-float ABI
+    
+    	* sysdeps/generic/ldconfig.h (FLAG_ARM_LIBHF): New macro.
+    	* elf/cache.c (print_entry): Print ",hard-float" for
+    	FLAG_ARM_LIBHF.
+    
+    Signed-off-by: Steve McIntyre <steve.mcintyre@linaro.org>
+    Reviewed-by: Carlos O'Donell <carlos@systemhalted.org>
+
+diff --git a/elf/cache.c b/elf/cache.c
+index db8b9fa..3336bab 100644
+--- a/elf/cache.c
++++ b/elf/cache.c
+@@ -94,6 +94,10 @@ print_entry (const char *lib, int flag, unsigned int osversion,
+       break;
+     case FLAG_MIPS64_LIBN64:
+       fputs (",64bit", stdout);
++      break;
++    case FLAG_ARM_LIBHF:
++      fputs (",hard-float", stdout);
++      break;
+     case 0:
+       break;
+     default:
+diff --git a/sysdeps/generic/ldconfig.h b/sysdeps/generic/ldconfig.h
+index ef3f4b9..a805284 100644
+--- a/sysdeps/generic/ldconfig.h
++++ b/sysdeps/generic/ldconfig.h
+@@ -34,6 +34,7 @@
+ #define FLAG_POWERPC_LIB64	0x0500
+ #define FLAG_MIPS64_LIBN32	0x0600
+ #define FLAG_MIPS64_LIBN64	0x0700
++#define FLAG_ARM_LIBHF		0x0900
+ 
+ /* Name of auxiliary cache.  */
+ #define _PATH_LDCONFIG_AUX_CACHE "/var/cache/ldconfig/aux-cache"

Modified: glibc-package/trunk/debian/patches/arm/unsubmitted-ldconfig-cache-abi.diff
===================================================================
--- glibc-package/trunk/debian/patches/arm/unsubmitted-ldconfig-cache-abi.diff	2012-11-19 07:56:17 UTC (rev 5389)
+++ glibc-package/trunk/debian/patches/arm/unsubmitted-ldconfig-cache-abi.diff	2012-11-19 22:00:23 UTC (rev 5390)
@@ -1,32 +1,8 @@
 ---
- elf/cache.c                                    |    2 
  ports/sysdeps/unix/sysv/linux/arm/dl-cache.h   |   34 ++++
  ports/sysdeps/unix/sysv/linux/arm/readelflib.c |  186 +++++++++++++++++++++++++
- sysdeps/generic/ldconfig.h                     |    1 
  4 files changed, 223 insertions(+)
 
---- a/elf/cache.c
-+++ b/elf/cache.c
-@@ -91,6 +91,9 @@
-       break;
-     case FLAG_MIPS64_LIBN64:
-       fputs (",64bit", stdout);
-+      break;
-+    case FLAG_ARM_HFABI:
-+      fputs (",hard-float", stdout);
-     case 0:
-       break;
-     default:
---- a/sysdeps/generic/ldconfig.h
-+++ b/sysdeps/generic/ldconfig.h
-@@ -34,6 +34,7 @@
- #define FLAG_POWERPC_LIB64	0x0500
- #define FLAG_MIPS64_LIBN32	0x0600
- #define FLAG_MIPS64_LIBN64	0x0700
-+#define FLAG_ARM_HFABI		0x0800
- 
- /* Name of auxiliary cache.  */
- #define _PATH_LDCONFIG_AUX_CACHE "/var/cache/ldconfig/aux-cache"
 --- /dev/null
 +++ b/ports/sysdeps/unix/sysv/linux/arm/dl-cache.h
 @@ -0,0 +1,34 @@
@@ -53,7 +29,7 @@
 +#include <ldconfig.h>
 +
 +/* Redefine the cache ID for the new hf ABI; the sf ABI inverts the check.  */
-+#define _DL_CACHE_ARMHF_ID  (FLAG_ARM_HFABI | FLAG_ELF_LIBC6)
++#define _DL_CACHE_ARMHF_ID  (FLAG_ARM_LIBHF | FLAG_ELF_LIBC6)
 +
 +#ifdef __ARM_PCS_VFP
 +#define _dl_cache_check_flags(flags) \
@@ -131,7 +107,7 @@
 +
 +  shdrs = file_contents + ehdr->e_shoff;
 +  for (i = 0; i < ehdr->e_shnum; i++)
-+    {        
++    {
 +      if (SHT_ARM_ATTRIBUTES == shdrs[i].sh_type)
 +        {
 +	  /* We've found a likely section. Load the contents and
@@ -147,14 +123,14 @@
 +	      unsigned long len = shdrs[i].sh_size - 1;
 +	      unsigned long namelen;
 +	      p++;
-+                
++
 +	      while (len > 0)
 +                {
 +		  unsigned long section_len = p[0] | p[1] << 8 | p[2] << 16 | p[3] << 24;
 +		  if (section_len > len)
 +		    section_len = len;
 +
-+		  p += 4;                    
++		  p += 4;
 +		  len -= section_len;
 +		  section_len -= 4;
 +
@@ -166,7 +142,7 @@
 +		  namelen = strlen((char *)p) + 1;
 +		  p += namelen;
 +		  section_len -= namelen;
-+                    
++
 +		  /* We're in a valid section. Walk through this
 +		   * section looking for the tag we care about
 +		   * (ABI_VFP_args) */
@@ -182,7 +158,7 @@
 +		      if (size > section_len)
 +			size = section_len;
 +		      p += 4;
-+                        
++
 +		      section_len -= size;
 +		      end += size;
 +		      if (ATTR_TAG_FILE != tag)
@@ -210,8 +186,8 @@
 +                        }
 +                    }
 +                }
-+            }                
-+        }            
++            }
++        }
 +    }
 +  return 0;
 +}
@@ -240,11 +216,11 @@
 +    }
 +  ret = process_elf32_file (file_name, lib, flag, osversion, soname,
 +			    file_contents, file_length);
-+  
++
 +  if (!ret)
 +    /* Do we have a hard-float ABI library? */
 +    if (is_library_hf(file_name, file_contents, file_length))
-+      *flag = FLAG_ARM_HFABI|FLAG_ELF_LIBC6;
++      *flag = FLAG_ARM_LIBHF|FLAG_ELF_LIBC6;
 +  return ret;
 +}
 +

Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series	2012-11-19 07:56:17 UTC (rev 5389)
+++ glibc-package/trunk/debian/patches/series	2012-11-19 22:00:23 UTC (rev 5390)
@@ -92,13 +92,14 @@
 arm/local-sigaction.diff
 arm/submitted-armhf-triplet.diff
 arm/cvs-clone-cantunwind.diff
-#arm/unsubmitted-ldconfig-cache-abi.diff
+arm/unsubmitted-ldconfig-cache-abi.diff
 arm/unsubmitted-ldso-abi-check.diff
 arm/cvs-syscall-mcount.diff
 arm/cvs-ucontext.diff
 arm/unsubmitted-armhf-linker.diff
 arm/local-soname-hack.diff
 arm/cvs-make-get-set-swap-context.diff
+arm/cvs-ldconfig-cache-abi.diff
 
 hppa/local-inlining.diff
 hppa/local-linuxthreads.diff


Reply to: