aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/powerpc64/sysdep.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/powerpc/powerpc64/sysdep.h')
-rw-r--r--sysdeps/powerpc/powerpc64/sysdep.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/sysdeps/powerpc/powerpc64/sysdep.h b/sysdeps/powerpc/powerpc64/sysdep.h
index 3fec06e0df..011068b290 100644
--- a/sysdeps/powerpc/powerpc64/sysdep.h
+++ b/sysdeps/powerpc/powerpc64/sysdep.h
@@ -469,14 +469,16 @@ LT_LABELSUFFIX(name,_name_end): ; \
.tc _rtld_global_ro[TC],_rtld_global_ro
# endif
# define __GLRO(rOUT, var, offset) \
- ld rOUT,.LC__ ## var@toc(r2); \
+ addis rOUT,r2,.LC__ ## var@toc@ha; \
+ ld rOUT,.LC__ ## var@toc@l(rOUT); \
lwz rOUT,offset(rOUT)
#else
# define __GLRO_DEF(var) \
.LC__ ## var: \
.tc _ ## var[TC],_ ## var
# define __GLRO(rOUT, var, offset) \
- ld rOUT,.LC__ ## var@toc(r2); \
+ addis rOUT,r2,.LC__ ## var@toc@ha; \
+ ld rOUT,.LC__ ## var@toc@l(rOUT); \
lwz rOUT,0(rOUT)
#endif