[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patches] localplt fixes for E500



I've applied this patch to trunk to fix localplt test failures for E500, 
both E500v1 and E500v2.

Index: localplt-powerpce500v1-linux-gnu.data
===================================================================
--- localplt-powerpce500v1-linux-gnu.data	(revision 0)
+++ localplt-powerpce500v1-linux-gnu.data	(revision 0)
@@ -0,0 +1,31 @@
+libc.so: __adddf3
+libc.so: __divdf3
+libc.so: __eqdf2
+libc.so: __extendsfdf2
+libc.so: __fixdfsi
+libc.so: __fixunsdfsi
+libc.so: __floatsidf
+libc.so: __floatunsidf
+libc.so: __gedf2
+libc.so: __gtdf2
+libc.so: __ledf2
+libc.so: __ltdf2
+libc.so: __muldf3
+libc.so: __nedf2
+libc.so: __signbit
+libc.so: __signbitl
+libc.so: __subdf3
+libc.so: __truncdfsf2
+libc.so: __unorddf2
+libc.so: abort
+libc.so: calloc
+libc.so: free
+libc.so: malloc
+libc.so: memalign
+libc.so: realloc
+libm.so: __signbit
+libm.so: __signbitf
+libm.so: __signbitl
+libm.so: copysignl
+libm.so: fegetround
+libm.so: matherr
Index: c++-types-powerpce500v1-linux-gnu.data
===================================================================
--- c++-types-powerpce500v1-linux-gnu.data	(revision 0)
+++ c++-types-powerpce500v1-linux-gnu.data	(revision 0)
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:l
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:i
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
Index: c++-types-powerpce500v2-linux-gnu.data
===================================================================
--- c++-types-powerpce500v2-linux-gnu.data	(revision 0)
+++ c++-types-powerpce500v2-linux-gnu.data	(revision 0)
@@ -0,0 +1,67 @@
+blkcnt64_t:x
+blkcnt_t:l
+blksize_t:l
+caddr_t:Pc
+clockid_t:i
+clock_t:l
+daddr_t:i
+dev_t:y
+fd_mask:l
+fsblkcnt64_t:y
+fsblkcnt_t:m
+fsfilcnt64_t:y
+fsfilcnt_t:m
+fsid_t:8__fsid_t
+gid_t:j
+id_t:j
+ino64_t:y
+ino_t:m
+int16_t:s
+int32_t:i
+int64_t:x
+int8_t:a
+intptr_t:i
+key_t:i
+loff_t:x
+mode_t:j
+nlink_t:j
+off64_t:x
+off_t:l
+pid_t:i
+pthread_attr_t:14pthread_attr_t
+pthread_barrier_t:17pthread_barrier_t
+pthread_barrierattr_t:21pthread_barrierattr_t
+pthread_cond_t:14pthread_cond_t
+pthread_condattr_t:18pthread_condattr_t
+pthread_key_t:j
+pthread_mutex_t:15pthread_mutex_t
+pthread_mutexattr_t:19pthread_mutexattr_t
+pthread_once_t:i
+pthread_rwlock_t:16pthread_rwlock_t
+pthread_rwlockattr_t:20pthread_rwlockattr_t
+pthread_spinlock_t:i
+pthread_t:m
+quad_t:x
+register_t:i
+rlim64_t:y
+rlim_t:m
+sigset_t:10__sigset_t
+size_t:j
+socklen_t:j
+ssize_t:i
+suseconds_t:l
+time_t:l
+u_char:h
+uid_t:j
+uint:j
+u_int:j
+u_int16_t:t
+u_int32_t:j
+u_int64_t:y
+u_int8_t:h
+ulong:m
+u_long:m
+u_quad_t:y
+useconds_t:j
+ushort:t
+u_short:t
Index: localplt-powerpce500v2-linux-gnu.data
===================================================================
--- localplt-powerpce500v2-linux-gnu.data	(revision 0)
+++ localplt-powerpce500v2-linux-gnu.data	(revision 0)
@@ -0,0 +1,13 @@
+libc.so: __signbit
+libc.so: __signbitl
+libc.so: abort
+libc.so: calloc
+libc.so: free
+libc.so: malloc
+libc.so: memalign
+libc.so: realloc
+libm.so: __signbit
+libm.so: __signbitf
+libm.so: __signbitl
+libm.so: fegetround
+libm.so: matherr
Index: sysdeps/powerpc/powerpc32/e500/fpu/strtofix.c
===================================================================
--- sysdeps/powerpc/powerpc32/e500/fpu/strtofix.c	(revision 6518)
+++ sysdeps/powerpc/powerpc32/e500/fpu/strtofix.c	(working copy)
@@ -1,5 +1,6 @@
 /* Convert string representing a number to float value, using given locale.
-   Copyright (C) 1997,1998,2002,2004,2005,2006 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,2002,2004,2005,2006,2008
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
 
@@ -28,6 +29,7 @@
 #include <locale/localeinfo.h>
 #include <locale.h>
 #include <math.h>
+#include <spe.h>
 #include <stdlib.h>
 #include <string.h>
 
@@ -696,3 +698,5 @@
 #endif
   return round_and_set_sign (val, negative, half, extra);
 }
+
+libc_hidden_def (STRTOFIX)
Index: sysdeps/powerpc/powerpc32/e500/fpu/spe.h
===================================================================
--- sysdeps/powerpc/powerpc32/e500/fpu/spe.h	(revision 0)
+++ sysdeps/powerpc/powerpc32/e500/fpu/spe.h	(revision 0)
@@ -0,0 +1,12 @@
+#ifndef _SPE_H
+
+#include_next <spe.h>
+
+libc_hidden_proto (strtosfix16)
+libc_hidden_proto (strtosfix32)
+libc_hidden_proto (strtosfix64)
+libc_hidden_proto (strtoufix16)
+libc_hidden_proto (strtoufix32)
+libc_hidden_proto (strtoufix64)
+
+#endif
Index: sysdeps/powerpc/powerpc32/e500/soft-fp/sfp-machine.h
===================================================================
--- sysdeps/powerpc/powerpc32/e500/soft-fp/sfp-machine.h	(revision 6518)
+++ sysdeps/powerpc/powerpc32/e500/soft-fp/sfp-machine.h	(working copy)
@@ -1,7 +1,11 @@
 #ifndef _SFP_MACHINE_H_
 #define _SFP_MACHINE_H_
 #include <fenv_libc.h>
+#include <libc-symbols.h>
 
+int __feraiseexcept_soft (int);
+libc_hidden_proto (__feraiseexcept_soft)
+
 #define _FP_W_TYPE_SIZE		32
 #define _FP_W_TYPE		unsigned long
 #define _FP_WS_TYPE		signed long
Index: sysdeps/powerpc/powerpc32/e500/soft-fp/fraiseexcept-soft.c
===================================================================
--- sysdeps/powerpc/powerpc32/e500/soft-fp/fraiseexcept-soft.c	(revision 6518)
+++ sysdeps/powerpc/powerpc32/e500/soft-fp/fraiseexcept-soft.c	(working copy)
@@ -1,5 +1,5 @@
 /* Raise given exceptions.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Aldy Hernandez <aldyh@xxxxxxxxxx>, 2004.
 
@@ -20,6 +20,11 @@
 
 #include <fenv_libc.h>
 #include <bp-sym.h>
+#include <libc-symbols.h>
 
+int __feraiseexcept_soft (int);
+libc_hidden_proto (__feraiseexcept_soft)
+
 #define __FERAISEEXCEPT_INTERNAL __feraiseexcept_soft
 #include "../spe-raise.c"
+libc_hidden_def (__feraiseexcept_soft)
Index: sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/shlib-versions
===================================================================
--- sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/shlib-versions	(revision 0)
+++ sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/shlib-versions	(revision 0)
@@ -0,0 +1 @@
+powerpc.*-.*-.*		ABI			powerpce500v1-linux-gnu
Index: sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/shlib-versions
===================================================================
--- sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/shlib-versions	(revision 0)
+++ sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/shlib-versions	(revision 0)
@@ -0,0 +1 @@
+powerpc.*-.*-.*		ABI			powerpce500v2-linux-gnu
Index: ChangeLog.eglibc
===================================================================
--- ChangeLog.eglibc	(revision 6518)
+++ ChangeLog.eglibc	(working copy)
@@ -1,3 +1,22 @@
+2008-07-09  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/shlib-versions:
+	New.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/shlib-versions:
+	New.
+	* c++-types-powerpce500v1-linux-gnu.data: New.
+	* c++-types-powerpce500v2-linux-gnu.data: New.
+	* localplt-powerpce500v1-linux-gnu.data: New.
+	* localplt-powerpce500v2-linux-gnu.data: New.
+	* sysdeps/powerpc/powerpc32/e500/fpu/spe.h: New.
+	* sysdeps/powerpc/powerpc32/e500/fpu/strtofix.c: Include <spe.h>.
+	Use libc_hidden_def for STRTOFIX.
+	* sysdeps/powerpc/powerpc32/e500/soft-fp/sfp-machine.h: Declare
+	__feraiseexcept_soft and use libc_hidden_proto.
+	* sysdeps/powerpc/powerpc32/e500/soft-fp/fraiseexcept-soft.c:
+	Declare __feraiseexcept_soft.  Use libc_hidden_proto and
+	libc_hidden_def.
+
 2008-07-08  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/powerpc/nofpu/shlib-versions: New.

-- 
Joseph S. Myers
joseph@xxxxxxxxxxxxxxxx