summaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
Diffstat (limited to 'ports')
-rw-r--r--ports/ChangeLog.arm5
-rw-r--r--ports/ChangeLog.m68k5
-rw-r--r--ports/ChangeLog.mips9
-rw-r--r--ports/sysdeps/m68k/stackinfo.h10
-rw-r--r--ports/sysdeps/mips/dl-lookup.c4
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/ioperm.c5
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw64.c1
8 files changed, 35 insertions, 5 deletions
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index c61cfe461..8c14f0898 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,3 +1,8 @@
+2011-11-16 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/arm/ioperm.c (init_iosys): Use "c" and
+ "e" in fopen.
+
2011-10-26 Joseph Myers <joseph@codesourcery.com>
* sysdeps/arm/dl-machine.h, sysdeps/unix/arm/sysdep.S: Restore
diff --git a/ports/ChangeLog.m68k b/ports/ChangeLog.m68k
index 09de15987..42dcf75db 100644
--- a/ports/ChangeLog.m68k
+++ b/ports/ChangeLog.m68k
@@ -1,3 +1,8 @@
+2011-11-01 Andreas Schwab <schwab@linux-m68k.org>
+
+ * sysdeps/m68k/stackinfo.h (stackinfo_get_sp, stackinfo_sub_sp):
+ Define.
+
2011-10-26 Andreas Schwab <schwab@linux-m68k.org>
* sysdeps/m68k/m680x0/fpu/math_private.h: New file.
diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips
index 78932d7a0..abfc2b447 100644
--- a/ports/ChangeLog.mips
+++ b/ports/ChangeLog.mips
@@ -1,3 +1,12 @@
+2011-11-17 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/mips/mips64/n64/ftw.c,
+ sysdeps/unix/sysv/linux/mips/mips64/n64/ftw64.c: New.
+
+2011-11-11 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/mips/dl-lookup.c: Update from generic version.
+
2011-10-12 Joseph Myers <joseph@codesourcery.com>
* sysdeps/mips/fpu/e_sqrt.c: Add __sqrt_finite alias.
diff --git a/ports/sysdeps/m68k/stackinfo.h b/ports/sysdeps/m68k/stackinfo.h
index b44d4d0ee..bcfdb1285 100644
--- a/ports/sysdeps/m68k/stackinfo.h
+++ b/ports/sysdeps/m68k/stackinfo.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2010, 2011 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
@@ -31,4 +31,12 @@
is present, but it is presumed absent. */
#define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X)
+/* Access to the stack pointer. */
+#define stackinfo_get_sp() \
+ ({ void *p__; asm volatile ("move.l %%sp, %0" : "=r" (p__)); p__; })
+#define stackinfo_sub_sp(ptr) \
+ ({ ptrdiff_t d__; \
+ asm volatile ("sub.l %%sp, %0" : "=r" (d__) : "0" (ptr)); \
+ d__; })
+
#endif /* stackinfo.h */
diff --git a/ports/sysdeps/mips/dl-lookup.c b/ports/sysdeps/mips/dl-lookup.c
index 6b36c34a8..fed3b6c66 100644
--- a/ports/sysdeps/mips/dl-lookup.c
+++ b/ports/sysdeps/mips/dl-lookup.c
@@ -877,7 +877,6 @@ internal_function
_dl_setup_hash (struct link_map *map)
{
Elf_Symndx *hash;
- Elf_Symndx nchain;
if (__builtin_expect (map->l_info[DT_ADDRTAGIDX (DT_GNU_HASH) + DT_NUM
+ DT_THISPROCNUM + DT_VERSIONTAGNUM
@@ -909,7 +908,8 @@ _dl_setup_hash (struct link_map *map)
hash = (void *) D_PTR (map, l_info[DT_HASH]);
map->l_nbuckets = *hash++;
- nchain = *hash++;
+ /* Skip nchain. */
+ hash++;
map->l_buckets = hash;
hash += map->l_nbuckets;
map->l_chain = hash;
diff --git a/ports/sysdeps/unix/sysv/linux/arm/ioperm.c b/ports/sysdeps/unix/sysv/linux/arm/ioperm.c
index 8af1ea356..8ac9b09c2 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/ioperm.c
+++ b/ports/sysdeps/unix/sysv/linux/arm/ioperm.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1998, 1999, 2003, 2005, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2003, 2005, 2008, 2011
+ 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.
@@ -135,7 +136,7 @@ init_iosys (void)
{
FILE * fp;
- fp = fopen (PATH_CPUINFO, "r");
+ fp = fopen (PATH_CPUINFO, "rce");
if (! fp)
return -1;
while ((n = fscanf (fp, "Hardware\t: %256[^\n]\n", systype))
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw.c
new file mode 100644
index 000000000..46389568b
--- /dev/null
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw.c
@@ -0,0 +1 @@
+#include <io/ftw.c>
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw64.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw64.c
new file mode 100644
index 000000000..cb02172b3
--- /dev/null
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw64.c
@@ -0,0 +1 @@
+#include <io/ftw64.c>