From 736c304a1ab4cee36a2f3343f1698bc0abae4608 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Thu, 16 Jan 2014 06:53:18 -0600 Subject: PowerPC: Fix ftime gettimeofday internal call returning bogus data This patches fixes BZ#16430 by setting a different symbol for internal GLIBC calls that points to ifunc resolvers. For PPC32, if the symbol is defined as hidden (which is the case for gettimeofday and time) the compiler will create local branches (symbol@local) and linker will not create PLT calls (required for IFUNC). This will leads to internal symbol calling the IFUNC resolver instead of the resolved symbol. For PPC64 this behavior does not occur because a call to a function in another translation unit might use a different toc pointer thus requiring a PLT call. --- ChangeLog | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 69d89744ee..9f766c1365 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2014-01-16 Adhemerval Zanella + + [BZ#16430] + * sysdeps/unix/sysv/linux/powerpc/gettimeofday.c + (__GI___gettimeofday): Alias for a different internal symbol to avoid + local calls issues by not having a PLT stub required for IFUNC calls. + * sysdeps/unix/sysv/linux/powerpc/time.c (__GI_time): Likewise. + 2014-01-16 Joseph Myers * math/test-fpucw-ieee.c: Use <> in #include of test-fpucw.c. -- cgit v1.2.3