Community source repository for glibc add-on ports branch, master, updated. glibc-2.12-14-g690d264

schwab@sourceware.org schwab@sourceware.org
Mon Aug 2 18:01:00 GMT 2010


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Community source repository for glibc add-on ports".

The branch, master has been updated
       via  690d264a40288c024fd8c59ca3cd42e70434a018 (commit)
       via  2aed4f91fd55c07675dc656dc35418d99b35c4fd (commit)
      from  71feaf72066abfe0e434e49d56e26b54152fb221 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=690d264a40288c024fd8c59ca3cd42e70434a018

commit 690d264a40288c024fd8c59ca3cd42e70434a018
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Mon Aug 2 18:48:56 2010 +0200

    m68k: fix loading of GOT for Coldfire

diff --git a/ChangeLog.m68k b/ChangeLog.m68k
index 6fdd4e1..284a3bf 100644
--- a/ChangeLog.m68k
+++ b/ChangeLog.m68k
@@ -6,9 +6,13 @@
 	(PCREL_OP): Define.
 	* sysdeps/m68k/sysdep.h (PCREL_OP): Don't define here.
 	* sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h: New file.
+	(SYSCALL_ERROR_LOAD_GOT): Define.
 	* sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h: New file.
+	(SYSCALL_ERROR_LOAD_GOT): Define.
 	* sysdeps/unix/sysv/linux/m68k/sysdep.h: Don't include subordinate
 	sysdep files.
+	(SYSCALL_ERROR_HANDLER) [PIC && USE___THREAD]: Use
+	SYSCALL_ERROR_LOAD_GOT.
 
 2010-06-24  Joseph Myers  <joseph@codesourcery.com>
 
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h b/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h
index d7c523d..e129dc1 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h
@@ -23,4 +23,8 @@
 #include <sysdeps/m68k/coldfire/sysdep.h>
 #include <sysdeps/unix/sysv/linux/m68k/sysdep.h>
 
+#define SYSCALL_ERROR_LOAD_GOT(reg)					      \
+    move.l #_GLOBAL_OFFSET_TABLE_@GOTPC, reg;				      \
+    lea (-6, %pc, reg), reg
+
 #endif
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h b/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h
index 651128c..371befb 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h
@@ -23,4 +23,7 @@
 #include <sysdeps/m68k/m680x0/sysdep.h>
 #include <sysdeps/unix/sysv/linux/m68k/sysdep.h>
 
+#define SYSCALL_ERROR_LOAD_GOT(reg)					      \
+    lea (_GLOBAL_OFFSET_TABLE_@GOTPC, %pc), reg
+
 #endif
diff --git a/sysdeps/unix/sysv/linux/m68k/sysdep.h b/sysdeps/unix/sysv/linux/m68k/sysdep.h
index 3e7b105..d381189 100644
--- a/sysdeps/unix/sysv/linux/m68k/sysdep.h
+++ b/sysdeps/unix/sysv/linux/m68k/sysdep.h
@@ -117,7 +117,7 @@ SYSCALL_ERROR_LABEL:							      \
     neg.l %d0;								      \
     move.l %d0, -(%sp);							      \
     jbsr __m68k_read_tp@PLTPC;						      \
-    lea (_GLOBAL_OFFSET_TABLE_@GOTPC, %pc), %a1;			      \
+    SYSCALL_ERROR_LOAD_GOT (%a1);					      \
     add.l (SYSCALL_ERROR_ERRNO@TLSIE, %a1), %a0;			      \
     move.l (%sp)+, (%a0);						      \
     move.l &-1, %d0;							      \

http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=2aed4f91fd55c07675dc656dc35418d99b35c4fd

commit 2aed4f91fd55c07675dc656dc35418d99b35c4fd
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Mon Aug 2 18:47:27 2010 +0200

    m68k: cleanup sysdep files
    
    Use sysdep files in subdirectories instead of testing cpu macros.

diff --git a/ChangeLog.m68k b/ChangeLog.m68k
index be4956b..6fdd4e1 100644
--- a/ChangeLog.m68k
+++ b/ChangeLog.m68k
@@ -1,3 +1,15 @@
+2010-08-02  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* sysdeps/m68k/coldfire/sysdep.h: New file.
+	(PCREL_OP): Define.
+	* sysdeps/m68k/m680x0/sysdep.h: New file.
+	(PCREL_OP): Define.
+	* sysdeps/m68k/sysdep.h (PCREL_OP): Don't define here.
+	* sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h: New file.
+	* sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h: New file.
+	* sysdeps/unix/sysv/linux/m68k/sysdep.h: Don't include subordinate
+	sysdep files.
+
 2010-06-24  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (F_SETPIPE_SZ,
diff --git a/sysdeps/m68k/coldfire/sysdep.h b/sysdeps/m68k/coldfire/sysdep.h
new file mode 100644
index 0000000..37f66d1
--- /dev/null
+++ b/sysdeps/m68k/coldfire/sysdep.h
@@ -0,0 +1,36 @@
+/* Assembler macros for Coldfire.
+   Copyright (C) 1998, 2003, 2010 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <sysdeps/m68k/sysdep.h>
+
+#ifdef __ASSEMBLER__
+
+/* Perform operation OP with PC-relative SRC as the first operand and
+   DST as the second.  TMP is available as a temporary if needed.  */
+# define PCREL_OP(OP, SRC, DST, TMP) \
+  move.l &SRC - ., TMP; OP (-8, %pc, TMP), DST
+
+#else
+
+/* As above, but PC is the spelling of the PC register.  We need this
+   so that the macro can be used in both normal and extended asms.  */
+# define PCREL_OP(OP, SRC, DST, TMP, PC) \
+  "move.l #" SRC " - ., " TMP "\n\t" OP " (-8, " PC ", " TMP "), " DST
+
+#endif	/* __ASSEMBLER__ */
diff --git a/sysdeps/m68k/m680x0/sysdep.h b/sysdeps/m68k/m680x0/sysdep.h
new file mode 100644
index 0000000..013bc5e
--- /dev/null
+++ b/sysdeps/m68k/m680x0/sysdep.h
@@ -0,0 +1,36 @@
+/* Assembler macros for m680x0.
+   Copyright (C) 2010 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <sysdeps/m68k/sysdep.h>
+
+#ifdef __ASSEMBLER__
+
+/* Perform operation OP with PC-relative SRC as the first operand and
+   DST as the second.  TMP is available as a temporary if needed.  */
+#define PCREL_OP(OP, SRC, DST, TMP) \
+  OP SRC(%pc), DST
+
+#else
+
+/* As above, but PC is the spelling of the PC register.  We need this
+   so that the macro can be used in both normal and extended asms.  */
+#define PCREL_OP(OP, SRC, DST, TMP, PC) \
+  OP " " SRC "(" PC "), " DST
+
+#endif	/* __ASSEMBLER__ */
diff --git a/sysdeps/m68k/sysdep.h b/sysdeps/m68k/sysdep.h
index 3698628..ce70a0d 100644
--- a/sysdeps/m68k/sysdep.h
+++ b/sysdeps/m68k/sysdep.h
@@ -1,5 +1,5 @@
 /* Assembler macros for m68k.
-   Copyright (C) 1998, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1998, 2003, 2010 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
@@ -97,26 +97,4 @@
 #  define JUMPTARGET(name)	name
 # endif
 
-/* Perform operation OP with PC-relative SRC as the first operand and
-   DST as the second.  TMP is available as a temporary if needed.  */
-#ifdef __mcoldfire__
-#define PCREL_OP(OP, SRC, DST, TMP) \
-  move.l &SRC - ., TMP; OP (-8, %pc, TMP), DST
-#else
-#define PCREL_OP(OP, SRC, DST, TMP) \
-  OP SRC(%pc), DST
-#endif
-
-#else
-
-/* As above, but PC is the spelling of the PC register.  We need this
-   so that the macro can be used in both normal and extended asms.  */
-#ifdef __mcoldfire__
-#define PCREL_OP(OP, SRC, DST, TMP, PC) \
-  "move.l #" SRC " - ., " TMP "\n\t" OP " (-8, " PC ", " TMP "), " DST
-#else
-#define PCREL_OP(OP, SRC, DST, TMP, PC) \
-  OP " " SRC "(" PC "), " DST
-#endif
-
 #endif	/* __ASSEMBLER__ */
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h b/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h
new file mode 100644
index 0000000..d7c523d
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2010 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _LINUX_M68K_COLDFIRE_SYSDEP_H
+#define _LINUX_M68K_COLDFIRE_SYSDEP_H 1
+
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/m68k/coldfire/sysdep.h>
+#include <sysdeps/unix/sysv/linux/m68k/sysdep.h>
+
+#endif
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h b/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h
new file mode 100644
index 0000000..651128c
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2010 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _LINUX_M68K_M680X0_SYSDEP_H
+#define _LINUX_M68K_M680X0_SYSDEP_H 1
+
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/m68k/m680x0/sysdep.h>
+#include <sysdeps/unix/sysv/linux/m68k/sysdep.h>
+
+#endif
diff --git a/sysdeps/unix/sysv/linux/m68k/sysdep.h b/sysdeps/unix/sysv/linux/m68k/sysdep.h
index 8bd188b..3e7b105 100644
--- a/sysdeps/unix/sysv/linux/m68k/sysdep.h
+++ b/sysdeps/unix/sysv/linux/m68k/sysdep.h
@@ -19,11 +19,6 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-#ifndef _LINUX_M68K_SYSDEP_H
-#define _LINUX_M68K_SYSDEP_H 1
-
-#include <sysdeps/unix/sysdep.h>
-#include <sysdeps/m68k/sysdep.h>
 #include <tls.h>
 
 /* Defines RTLD_PRIVATE_ERRNO.  */
@@ -333,5 +328,3 @@ SYSCALL_ERROR_LABEL:							      \
    even when statically linked.  */
 # define NEED_STATIC_SYSINFO_DSO 1
 #endif
-
-#endif

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog.m68k                                     |   16 ++++++++++
 .../{unix/bsd/osf/alpha => m68k/coldfire}/sysdep.h |   24 ++++++++++------
 sysdeps/m68k/{libc-tls.c => m680x0/sysdep.h}       |   30 +++++++++----------
 sysdeps/m68k/sysdep.h                              |   24 +---------------
 .../sysv/linux/m68k/coldfire/sysdep.h}             |   21 ++++++-------
 .../sysv/linux/m68k/m680x0/sysdep.h}               |   20 ++++++-------
 sysdeps/unix/sysv/linux/m68k/sysdep.h              |    9 +-----
 7 files changed, 66 insertions(+), 78 deletions(-)
 copy sysdeps/{unix/bsd/osf/alpha => m68k/coldfire}/sysdep.h (56%)
 copy sysdeps/m68k/{libc-tls.c => m680x0/sysdep.h} (59%)
 copy sysdeps/{m68k/nptl/pthread_spin_lock.c => unix/sysv/linux/m68k/coldfire/sysdep.h} (71%)
 copy sysdeps/{m68k/nptl/pthread_spin_lock.c => unix/sysv/linux/m68k/m680x0/sysdep.h} (74%)


hooks/post-receive
-- 
Community source repository for glibc add-on ports



More information about the Glibc-cvs mailing list