glibc/sysdeps/tile
Chris Metcalf 8622092d58 [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.
2014-09-06 12:24:03 -04:00
..
bits
nptl Add adaptive elision to rwlocks 2014-06-13 13:15:28 -07:00
tilegx Fix Wundef warning for MEMCPY_OK_FOR_FWD_MEMMOVE 2014-06-28 06:05:24 +05:30
tilepro
__longjmp.S
__tls_get_addr.S
_mcount.S
abort-instr.h
backtrace.c
bsd-_setjmp.S
bsd-setjmp.S
bzero.S
crti.S
crtn.S
dl-lookupcfg.h
dl-machine.h [BZ #17354] tile: Fix up corner cases with signed relocations 2014-09-06 12:24:03 -04:00
dl-runtime.c
dl-start.S
dl-tls.c
dl-tls.h
dl-trampoline.S
ffs.c
ffsll.c
gccframe.h
Implies
jmpbuf-offsets.h
jmpbuf-unwind.h
ldsodefs.h
libm-test-ulps
machine-gmon.h
Makefile
math_private.h
memcopy.h Fix Wundef warning for MEMCPY_OK_FOR_FWD_MEMMOVE 2014-06-28 06:05:24 +05:30
preconfigure Remove relro configure test. 2014-06-27 16:51:22 +00:00
s_fma.c
s_fmaf.c
setjmp.S
sfp-machine.h
sotruss-lib.c
stackguard-macros.h
stackinfo.h
start.S
sysdep.h
tls-macros.h
tst-audit.h
Versions
wordcopy.c