aboutsummaryrefslogtreecommitdiff
path: root/nptl/tst-tls1.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2010-05-11 23:43:15 -0500
committerRyan Arnold <ryanarn@etna.rchland.ibm.com>2010-05-11 23:43:41 -0500
commitdd1f42ad8afb25e6930b0e7251520925208f5bc8 (patch)
tree9aa1304d21116a3b513652513c3d8e0d505708e0 /nptl/tst-tls1.c
parent3ad0390e7f8f8401f714a9bd989f4f32df105a97 (diff)
downloadglibc-dd1f42ad8afb25e6930b0e7251520925208f5bc8.zip
glibc-dd1f42ad8afb25e6930b0e7251520925208f5bc8.tar.gz
glibc-dd1f42ad8afb25e6930b0e7251520925208f5bc8.tar.bz2
Fix PowerPC64 glibc assembly to properly work with the linker automatic
multiple toc support, which may be needed when a static libc is linked into a large app. The requirements are: a) No tail calls are allowed to functions in a different object file, ie. a plain branch is not allowed. b) All calls to functions in a different object file must be followed by a nop. On PowerPC64, the parameter save area and the cr save location for the current function are in the previous frame, just like the lr save location. The parameter save area, cr save location and lr save location in the current frame are for use by *called* functions. In a number of places, glibc assembly used the wrong area, leaving those functions at the mercy of any called functions. We just happen to be lucky so far, but that may change with future versions of gcc.
Diffstat (limited to 'nptl/tst-tls1.c')
0 files changed, 0 insertions, 0 deletions