diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2015-10-14 16:58:41 +0100 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2015-10-14 17:01:12 +0100 |
commit | 1fae5a6800b07d0a8225664ac65a628bbe98cae7 (patch) | |
tree | a56d1b35fec55a7326d7bee2dfea7a9fd57396b1 /ChangeLog | |
parent | f45e45a3e07ccd555a3130a9413fcebe6d8f5213 (diff) | |
download | glibc-1fae5a6800b07d0a8225664ac65a628bbe98cae7.tar.gz glibc-1fae5a6800b07d0a8225664ac65a628bbe98cae7.tar.xz glibc-1fae5a6800b07d0a8225664ac65a628bbe98cae7.zip |
[BZ #19129][ARM] Fix _dl_tlsdesc_resolve_hold to save r0
_dl_tlsdesc_resolve_hold calls into a C function that clobbers r0, but it assumes the original argument is still in r0 after the call. This can cause crash in case of concurrent TLS access when TLSDESC is in use (-mtls-dialect=gnu2). Run into this while fixing BZ 18572. Both r0 and r1 are saved/restored so the stack remains 8 byte aligned. [BZ #19129] * sysdeps/arm/dl-tlsdesc.S (_dl_tlsdesc_resolve_hold): Save and restore r0 and r1.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 5b825cd3f4..8a308891ea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2015-10-14 Szabolcs Nagy <szabolcs.nagy@arm.com> + + [BZ #19129] + * sysdeps/arm/dl-tlsdesc.S (_dl_tlsdesc_resolve_hold): Save and restore + r0 and r1. + 2015-10-14 Namhyung Kim <namhyung@gmail.com> * manaual/argp.texi (Specifying Argp Parsers): Fix typo. |