[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[patches] Fix ARM localplt failures, add C++ types data
- To: patches@xxxxxxxxxx
- Subject: [patches] Fix ARM localplt failures, add C++ types data
- From: "Joseph S. Myers" <joseph@xxxxxxxxxxxxxxxx>
- Date: Tue, 8 Jul 2008 16:19:53 +0000 (UTC)
I've applied this patch (to trunk only) to fix check-localplt failures for
ARM EABI, adding baseline data for both that and the C++ types test now
that trunk has the required support for ports to provide such data for
ports platforms.
Index: ChangeLog.eglibc
===================================================================
--- ChangeLog.eglibc (revision 6510)
+++ ChangeLog.eglibc (working copy)
@@ -1,3 +1,23 @@
+2008-07-08 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * c++-types-arm-linux-gnueabi.data: New.
+ * localplt-arm-linux-gnueabi.data: New.
+ * sysdeps/arm/bsd-_setjmp.S: Use HIDDEN_JUMPTARGET to call
+ __sigsetjmp.
+ * sysdeps/arm/bsd-setjmp.S: Likewise.
+ * sysdeps/arm/eabi/aeabi_localeconv.c: Use __localeconv.
+ * sysdeps/arm/eabi/find_exidx.c (__gnu_Unwind_Find_exidx): Use
+ __dl_iterate_phdr.
+ * sysdeps/arm/eabi/setjmp.S: Add hidden_def (__sigsetjmp).
+ * sysdeps/arm/memmove.S: Use HIDDEN_JUMPTARGET to call memcpy from
+ within libc.
+ * sysdeps/arm/setjmp.S: Add hidden_def (__sigsetjmp).
+ * sysdeps/unix/sysv/linux/arm/clone.S: Use HIDDEN_JUMPTARGET to
+ call _exit.
+ * sysdeps/unix/sysv/linux/arm/ioperm.c (init_iosys): Use __sysctl,
+ __readlink and fgets_unlocked.
+ (_ioperm): Use __open and __close.
+
2008-06-30 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
* sysdeps/arm/eabi/fgetexcptflg.c: New.
Index: sysdeps/arm/setjmp.S
===================================================================
--- sysdeps/arm/setjmp.S (revision 6510)
+++ sysdeps/arm/setjmp.S (working copy)
@@ -1,5 +1,5 @@
/* setjmp for ARM.
- Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -29,3 +29,5 @@
/* Make a tail call to __sigjmp_save; it takes the same args. */
B PLTJMP(C_SYMBOL_NAME(__sigjmp_save))
END (__sigsetjmp)
+
+hidden_def (__sigsetjmp)
Index: sysdeps/arm/bsd-_setjmp.S
===================================================================
--- sysdeps/arm/bsd-_setjmp.S (revision 6510)
+++ sysdeps/arm/bsd-_setjmp.S (working copy)
@@ -1,5 +1,5 @@
/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. ARM version.
- Copyright (C) 1997, 1998, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 2002, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -25,6 +25,6 @@
ENTRY (_setjmp)
mov r1, #0
- b PLTJMP(C_SYMBOL_NAME(__sigsetjmp))
+ b PLTJMP(HIDDEN_JUMPTARGET(__sigsetjmp))
END (_setjmp)
libc_hidden_def (_setjmp)
Index: sysdeps/arm/eabi/find_exidx.c
===================================================================
--- sysdeps/arm/eabi/find_exidx.c (revision 6510)
+++ sysdeps/arm/eabi/find_exidx.c (working copy)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -72,7 +72,7 @@
data.pc = pc;
data.exidx_start = 0;
- if (dl_iterate_phdr (find_exidx_callback, &data) <= 0)
+ if (__dl_iterate_phdr (find_exidx_callback, &data) <= 0)
return 0;
*pcount = data.exidx_len / 8;
Index: sysdeps/arm/eabi/setjmp.S
===================================================================
--- sysdeps/arm/eabi/setjmp.S (revision 6510)
+++ sysdeps/arm/eabi/setjmp.S (working copy)
@@ -1,5 +1,5 @@
/* setjmp for ARM.
- Copyright (C) 1997, 1998, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 2005, 2006, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -94,3 +94,4 @@
END (__sigsetjmp)
+hidden_def (__sigsetjmp)
Index: sysdeps/arm/eabi/aeabi_localeconv.c
===================================================================
--- sysdeps/arm/eabi/aeabi_localeconv.c (revision 6510)
+++ sysdeps/arm/eabi/aeabi_localeconv.c (working copy)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -21,5 +21,5 @@
struct lconv *
__aeabi_localeconv (void)
{
- return localeconv ();
+ return __localeconv ();
}
Index: sysdeps/arm/memmove.S
===================================================================
--- sysdeps/arm/memmove.S (revision 6510)
+++ sysdeps/arm/memmove.S (working copy)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2006, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by MontaVista Software, Inc. (written by Nicolas Pitre)
@@ -66,7 +66,11 @@
subs ip, r0, r1
cmphi r2, ip
+#ifdef NOT_IN_libc
bls memcpy
+#else
+ bls HIDDEN_JUMPTARGET(memcpy)
+#endif
stmfd sp!, {r0, r4, lr}
add r1, r1, r2
Index: sysdeps/arm/bsd-setjmp.S
===================================================================
--- sysdeps/arm/bsd-setjmp.S (revision 6510)
+++ sysdeps/arm/bsd-setjmp.S (working copy)
@@ -1,5 +1,5 @@
/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. ARM version.
- Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -25,5 +25,5 @@
ENTRY (setjmp)
mov r1, #1
- b PLTJMP(C_SYMBOL_NAME(__sigsetjmp))
+ b PLTJMP(HIDDEN_JUMPTARGET(__sigsetjmp))
END (setjmp)
Index: sysdeps/unix/sysv/linux/arm/clone.S
===================================================================
--- sysdeps/unix/sysv/linux/arm/clone.S (revision 6510)
+++ sysdeps/unix/sysv/linux/arm/clone.S (working copy)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999, 2002, 2005
+/* Copyright (C) 1996, 1997, 1998, 1999, 2002, 2005, 2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Pat Beirne <patb@xxxxxxxxxxxxxxxxx>
@@ -100,7 +100,7 @@
ldr pc, [sp], #8
@ and we are done, passing the return value through r0
- b PLTJMP(_exit)
+ b PLTJMP(HIDDEN_JUMPTARGET(_exit))
PSEUDO_END (__clone)
Index: sysdeps/unix/sysv/linux/arm/ioperm.c
===================================================================
--- sysdeps/unix/sysv/linux/arm/ioperm.c (revision 6510)
+++ sysdeps/unix/sysv/linux/arm/ioperm.c (working copy)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2003, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2003, 2005, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Phil Blundell, based on the Alpha version by
David Mosberger.
@@ -110,14 +110,14 @@
static int ioshift_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_SHIFT };
size_t len = sizeof(io.base);
- if (! sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0)
- && ! sysctl (ioshift_name, 3, &io.shift, &len, NULL, 0))
+ if (! __sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0)
+ && ! __sysctl (ioshift_name, 3, &io.shift, &len, NULL, 0))
{
io.initdone = 1;
return 0;
}
- n = readlink (PATH_ARM_SYSTYPE, systype, sizeof (systype) - 1);
+ n = __readlink (PATH_ARM_SYSTYPE, systype, sizeof (systype) - 1);
if (n > 0)
{
systype[n] = '\0';
@@ -144,7 +144,7 @@
if (n == 1)
break;
else
- fgets (systype, 256, fp);
+ fgets_unlocked (systype, 256, fp);
}
fclose (fp);
@@ -195,7 +195,7 @@
{
int fd;
- fd = open ("/dev/mem", O_RDWR);
+ fd = __open ("/dev/mem", O_RDWR);
if (fd < 0)
return -1;
@@ -203,7 +203,7 @@
(unsigned long int) __mmap (0, MAX_PORT << io.shift,
PROT_READ | PROT_WRITE,
MAP_SHARED, fd, io.io_base);
- close (fd);
+ __close (fd);
if ((long) io.base == -1)
return -1;
}
Index: localplt-arm-linux-gnueabi.data
===================================================================
--- localplt-arm-linux-gnueabi.data (revision 0)
+++ localplt-arm-linux-gnueabi.data (revision 0)
@@ -0,0 +1,13 @@
+libc.so: __signbit
+libc.so: calloc
+libc.so: free
+libc.so: fscanf
+libc.so: malloc
+libc.so: memalign
+libc.so: raise
+libc.so: realloc
+libm.so: __signbit
+libm.so: __signbitf
+libm.so: matherr
+libpthread.so: __errno_location
+libpthread.so: raise
Index: c++-types-arm-linux-gnueabi.data
===================================================================
--- c++-types-arm-linux-gnueabi.data (revision 0)
+++ c++-types-arm-linux-gnueabi.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
--
Joseph S. Myers
joseph@xxxxxxxxxxxxxxxx