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

[glibc] 01/01: debian/patches/git-updates.diff: update from upstream stable branch:



This is an automated email from the git hooks/post-receive script.

aurel32 pushed a commit to branch sid
in repository glibc.

commit 741cbe1479259e28e5641a749be0a02e5b50435c
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Fri Jan 26 12:14:33 2018 +0100

    debian/patches/git-updates.diff: update from upstream stable branch:
    
    * debian/patches/git-updates.diff: update from upstream stable branch:
      - Fix build with binutils 2.30 on arm64.  Closes: #888477.
---
 debian/changelog                |  8 ++++++
 debian/patches/git-updates.diff | 59 +++++++++++++++++++++++++++++++++++++++--
 2 files changed, 65 insertions(+), 2 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index c0372ce..b1c4649 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+glibc (2.26-6) UNRELEASED; urgency=medium
+
+  [ Aurelien Jarno ]
+  * debian/patches/git-updates.diff: update from upstream stable branch:
+    - Fix build with binutils 2.30 on arm64.  Closes: #888477.
+
+ -- Aurelien Jarno <aurel32@debian.org>  Fri, 26 Jan 2018 12:13:38 +0100
+
 glibc (2.26-5) unstable; urgency=medium
 
   [ Samuel Thibault ]
diff --git a/debian/patches/git-updates.diff b/debian/patches/git-updates.diff
index 3d55a83..e7dbbd1 100644
--- a/debian/patches/git-updates.diff
+++ b/debian/patches/git-updates.diff
@@ -1,10 +1,15 @@
 GIT update of https://sourceware.org/git/glibc.git/release/2.26/master from glibc-2.26
 
 diff --git a/ChangeLog b/ChangeLog
-index 8dbfc7eaff..d1a23a4f1b 100644
+index 8dbfc7eaff..9f65a5cca1 100644
 --- a/ChangeLog
 +++ b/ChangeLog
-@@ -1,3 +1,1201 @@
+@@ -1,3 +1,1206 @@
++2017-10-18  Renlin Li  <renlin.li@arm.com>
++
++	* sysdeps/aarch64/dl-machine.h (elf_machine_load_address): Use
++	_DYNAMIC symbol to calculate load address.
++
 +2018-01-19  H.J. Lu  <hongjiu.lu@intel.com>
 +
 +	[BZ #22715]
@@ -15037,6 +15042,56 @@ index 134e8ee4c1..bbaae9130a 100644
     This file is part of the GNU C Library.
  
     The GNU C Library is free software; you can redistribute it and/or
+diff --git a/sysdeps/aarch64/dl-machine.h b/sysdeps/aarch64/dl-machine.h
+index 60472036f5..3fb00e6e2d 100644
+--- a/sysdeps/aarch64/dl-machine.h
++++ b/sysdeps/aarch64/dl-machine.h
+@@ -51,40 +51,11 @@ elf_machine_load_address (void)
+   /* To figure out the load address we use the definition that for any symbol:
+      dynamic_addr(symbol) = static_addr(symbol) + load_addr
+ 
+-     The choice of symbol is arbitrary. The static address we obtain
+-     by constructing a non GOT reference to the symbol, the dynamic
+-     address of the symbol we compute using adrp/add to compute the
+-     symbol's address relative to the PC.
+-     This depends on 32/16bit relocations being resolved at link time
+-     and that the static address fits in the 32/16 bits.  */
+-
+-  ElfW(Addr) static_addr;
+-  ElfW(Addr) dynamic_addr;
+-
+-  asm ("					\n"
+-"	adrp	%1, _dl_start;			\n"
+-#ifdef __LP64__
+-"	add	%1, %1, #:lo12:_dl_start	\n"
+-#else
+-"	add	%w1, %w1, #:lo12:_dl_start	\n"
+-#endif
+-"	ldr	%w0, 1f				\n"
+-"	b	2f				\n"
+-"1:						\n"
+-#ifdef __LP64__
+-"	.word	_dl_start			\n"
+-#else
+-# ifdef __AARCH64EB__
+-"	.short  0                               \n"
+-# endif
+-"	.short  _dl_start                       \n"
+-# ifndef __AARCH64EB__
+-"	.short  0                               \n"
+-# endif
+-#endif
+-"2:						\n"
+-    : "=r" (static_addr),  "=r" (dynamic_addr));
+-  return dynamic_addr - static_addr;
++    _DYNAMIC sysmbol is used here as its link-time address stored in
++    the special unrelocated first GOT entry.  */
++
++    extern ElfW(Dyn) _DYNAMIC[] attribute_hidden;
++    return (ElfW(Addr)) &_DYNAMIC - elf_machine_dynamic ();
+ }
+ 
+ /* Set up the loaded object described by L so its unrelocated PLT
 diff --git a/sysdeps/aarch64/multiarch/Makefile b/sysdeps/aarch64/multiarch/Makefile
 index 78d52c717d..9aa1e79a80 100644
 --- a/sysdeps/aarch64/multiarch/Makefile

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git


Reply to: