about summary refs log tree commit diff
path: root/NEWS
diff options
context:
space:
mode:
authorJulian Brown <julian@codesourcery.com>2014-04-30 16:17:59 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-04-30 16:17:59 +0000
commit60c8f1f60b45fb5ba02a0f76ff4b9fda203935e5 (patch)
treea2a09590b09d8d191392b1a9bc958167c321cbce /NEWS
parentd0f5b3f851cfced84e3228977eb8dfdc9c607231 (diff)
downloadglibc-60c8f1f60b45fb5ba02a0f76ff4b9fda203935e5.tar.gz
glibc-60c8f1f60b45fb5ba02a0f76ff4b9fda203935e5.tar.xz
glibc-60c8f1f60b45fb5ba02a0f76ff4b9fda203935e5.zip
ARM: Fix R_ARM_IRELATIVE RELA relocations.
This patch fixes what I believe to be a bug in the handling of
R_ARM_IRELATIVE RELA relocations. At present, these are handled the
same as REL relocations: i.e. the addend is loaded from the relocation
address. Most of the time this isn't a problem because RELA relocations
aren't used on ARM (GNU/Linux at least) anyway, but it causes problems
with prelink, which uses RELA on all targets for its conflict table.
(Support for ifunc prelinking requires a prelink patch, not yet posted.)

Anyway, this patch works, though I'm not 100% sure if it is correct: I
notice that this code path received attention last year:

https://sourceware.org/ml/libc-ports/2013-07/msg00000.html

I'm not sure under what circumstances that patch would have had an
effect, nor if my patch conflicts with that case.

No regressions using Mentor's usual glibc cross-testing infrastructure.

	[BZ #16888]
	* sysdeps/arm/dl-machine.h (elf_machine_rela): Fix R_ARM_IRELATIVE
	handling.
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS2
1 files changed, 1 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 9d4db05d42..445acab17d 100644
--- a/NEWS
+++ b/NEWS
@@ -15,7 +15,7 @@ Version 2.20
   16632, 16634, 16639, 16642, 16648, 16649, 16670, 16674, 16677, 16680,
   16683, 16689, 16695, 16701, 16706, 16707, 16712, 16713, 16714, 16731,
   16739, 16740, 16743, 16754, 16758, 16759, 16760, 16770, 16786, 16789,
-  16791, 16799, 16800, 16815, 16823, 16824, 16831, 16838, 16854.
+  16791, 16799, 16800, 16815, 16823, 16824, 16831, 16838, 16854, 16888.
 
 * The minimum Linux kernel version that this version of the GNU C Library
   can be used with is 2.6.32.