diff options
author | Chris Metcalf <cmetcalf@tilera.com> | 2014-09-05 14:40:23 -0400 |
---|---|---|
committer | Chris Metcalf <cmetcalf@tilera.com> | 2014-09-06 12:24:03 -0400 |
commit | 8622092d584962801e4248cd4bb4bef6e71827b0 (patch) | |
tree | 59a1913ca848fa3818327716497d4355afb667fa /NEWS | |
parent | 41488498b6d9440ee66ab033808cce8323bba7ac (diff) | |
download | glibc-8622092d584962801e4248cd4bb4bef6e71827b0.zip glibc-8622092d584962801e4248cd4bb4bef6e71827b0.tar.gz glibc-8622092d584962801e4248cd4bb4bef6e71827b0.tar.bz2 |
[BZ #17354] tile: Fix up corner cases with signed relocations
Some types of relocations technically need to be signed rather than
unsigned: in particular ones that are used with moveli or movei,
or for jump and branch. This is almost never a problem. Jump and
branch opcodes are pretty much uniformly resolved by the static linker
(unless you omit -fpic for a shared library, which is not recommended).
The moveli and movei opcodes that need to be sign-extended generally
are for positive displacements, like the construction of the address of
main() from _start(). However, tst-pie1 ends up with main below _start
(in a different module) and the test failed due to signedness issues in
relocation handling.
This commit treats the value as signed when shifting (to preserve the
high bit) and also sign-extends the value generated from the updated
bundle when comparing with the desired bundle, which we do to make sure
no overflow occurred. As a result, the tst-pie1 test now passes.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -23,7 +23,7 @@ Version 2.20 16966, 16967, 16977, 16978, 16984, 16990, 16996, 17009, 17022, 17031, 17042, 17048, 17050, 17058, 17061, 17062, 17069, 17075, 17078, 17079, 17084, 17086, 17088, 17092, 17097, 17125, 17135, 17137, 17150, 17153, - 17187, 17213, 17259, 17261, 17262, 17263, 17319, 17325. + 17187, 17213, 17259, 17261, 17262, 17263, 17319, 17325, 17354. * Reverted change of ABI data structures for s390 and s390x: On s390 and s390x the size of struct ucontext and jmp_buf was increased in |