r1970 - in glibc-package/branches/glibc-2.5/debian: . patches patches/m68k
Author: aurel32
Date: 2007-02-10 13:42:47 +0100 (Sat, 10 Feb 2007)
New Revision: 1970
Added:
glibc-package/branches/glibc-2.5/debian/patches/m68k/cvs-m68k-update.diff
Modified:
glibc-package/branches/glibc-2.5/debian/changelog
glibc-package/branches/glibc-2.5/debian/patches/series
Log:
* m68k/cvs-m68k-update.diff: new patch (bits from CVS).
Modified: glibc-package/branches/glibc-2.5/debian/changelog
===================================================================
--- glibc-package/branches/glibc-2.5/debian/changelog 2007-02-10 10:20:43 UTC (rev 1969)
+++ glibc-package/branches/glibc-2.5/debian/changelog 2007-02-10 12:42:47 UTC (rev 1970)
@@ -112,6 +112,7 @@
(workaround the missing MSG_NOSIGNAL support).
* kfreebsd/local-amd64-dl-machine.diff: new patch from Petr Salinger (fix
ld.so segfault on GNU/kFreeBSD amd64).
+ * m68k/cvs-m68k-update.diff: new patch (bits from CVS).
[ Denis Barbier ]
* Remove localedata/locale-en_NZ.diff (merged upstream).
Added: glibc-package/branches/glibc-2.5/debian/patches/m68k/cvs-m68k-update.diff
===================================================================
--- glibc-package/branches/glibc-2.5/debian/patches/m68k/cvs-m68k-update.diff 2007-02-10 10:20:43 UTC (rev 1969)
+++ glibc-package/branches/glibc-2.5/debian/patches/m68k/cvs-m68k-update.diff 2007-02-10 12:42:47 UTC (rev 1970)
@@ -0,0 +1,433 @@
+diff -Nurd ports/ChangeLog.m68k ports/ChangeLog.m68k
+--- ports/ChangeLog.m68k 2006-02-28 11:12:50.000000000 +0100
++++ ports/ChangeLog.m68k 2007-02-10 13:35:42.000000000 +0100
+@@ -1,3 +1,25 @@
++2006-10-03 Richard Sandiford <richard@codesourcery.com>
++
++ * sysdeps/m68k/dl-trampoline.S (_dl_runtime_profile): Round up the
++ frame size to longword rather than word alignment. Add missing
++ initialization of lrv_a0 and restore a0 from it after calling
++ _dl_call_pltexit. Adjust the stack offsets of later data accordingly,
++ fixing a previously incorrect offset for the inregs parameter.
++ * sysdeps/m68k/fpu/feholdexcpt.c (feholdexcept): Add missing
++ libm_hidden_def.
++ * sysdeps/m68k/fpu/fesetround.c (fesetround): Add missing
++ libm_hidden_def.
++ * sysdeps/unix/sysv/linux/m68k/sysdep.h: Guard against multiple
++ inclusion.
++ * sysdeps/m68k/ldsodefs.h: New file.
++ * sysdeps/m68k/tst-audit.h: New file.
++ * sysdeps/m68k/wcpcpy.c: Likewise.
++ * sysdeps/m68k/wcpcpy_chk.c: Likewise.
++ * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (fpregset): Sync field
++ order with linux.
++ (ucontext): Sync field order with linux.
++ * sysdeps/unix/sysv/linux/m68k/bits/siginfo.h: New file.
++
+ 2006-02-28 Roland McGrath <roland@redhat.com>
+
+ * sysdeps/m68k/preconfigure: New file.
+diff -Nurd ports/sysdeps/m68k/dl-trampoline.S ports/sysdeps/m68k/dl-trampoline.S
+--- ports/sysdeps/m68k/dl-trampoline.S 2005-01-16 03:07:28.000000000 +0100
++++ ports/sysdeps/m68k/dl-trampoline.S 2007-02-10 13:21:53.000000000 +0100
+@@ -79,14 +79,14 @@
+ move.l %sp, %a2
+ move.l %sp, %a0
+ lea 28(%sp), %a1
+- | Round framesize up to even
+- addq.l #1, %d1
+- lsr #1, %d1
+- sub.l %d1, %a0
++ | Round framesize up to longword alignment
++ addq.l #3, %d1
++ and.l #-3, %d1
+ sub.l %d1, %a0
+ move.l %a0, %sp
++ lsr.l #2,%d1
+ jra 2f
+-1: move.w (%a1)+, (%a0)+
++1: move.l (%a1)+, (%a0)+
+ 2: dbra %d1,1b
+ /*
+ %a2+24 return address
+@@ -113,16 +113,18 @@
+ %sp %a0
+ */
+ fmove.x %fp0, -(%sp)
++ move.l %a0, -(%sp)
+ move.l %d1, -(%sp)
+ move.l %d0, -(%sp)
+ pea (%sp)
+- pea 20(%sp)
+- move.l 40(%sp), -(%sp)
+- move.l 40(%sp), -(%sp)
++ pea 28(%sp)
++ move.l 44(%sp), -(%sp)
++ move.l 44(%sp), -(%sp)
+ jbsr _dl_call_pltexit
+ lea 16(%sp), %sp
+ move.l (%sp)+, %d0
+ move.l (%sp)+, %d1
++ move.l (%sp)+, %a0
+ fmove.x (%sp)+, %fp0
+ lea 20(%sp), %sp
+ rts
+diff -Nurd ports/sysdeps/m68k/fpu/feholdexcpt.c ports/sysdeps/m68k/fpu/feholdexcpt.c
+--- ports/sysdeps/m68k/fpu/feholdexcpt.c 2001-07-06 06:55:55.000000000 +0200
++++ ports/sysdeps/m68k/fpu/feholdexcpt.c 2007-02-10 13:15:01.000000000 +0100
+@@ -37,3 +37,4 @@
+
+ return 0;
+ }
++libm_hidden_def (feholdexcept);
+diff -Nurd ports/sysdeps/m68k/fpu/fesetround.c ports/sysdeps/m68k/fpu/fesetround.c
+--- ports/sysdeps/m68k/fpu/fesetround.c 2001-07-06 06:55:55.000000000 +0200
++++ ports/sysdeps/m68k/fpu/fesetround.c 2007-02-10 13:13:37.000000000 +0100
+@@ -36,3 +36,4 @@
+
+ return 0;
+ }
++libm_hidden_def (fesetround);
+diff -Nurd ports/sysdeps/m68k/ldsodefs.h ports/sysdeps/m68k/ldsodefs.h
+--- ports/sysdeps/m68k/ldsodefs.h 1970-01-01 01:00:00.000000000 +0100
++++ ports/sysdeps/m68k/ldsodefs.h 2007-02-10 13:26:21.000000000 +0100
+@@ -0,0 +1,43 @@
++/* Run-time dynamic linker data structures for loaded ELF shared objects.
++ Copyright (C) 2006 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 __LDSODEFS_H
++
++#include <elf.h>
++
++struct La_m68k_regs;
++struct La_m68k_retval;
++
++#define ARCH_PLTENTER_MEMBERS \
++ Elf32_Addr (*m68k_gnu_pltenter) (Elf32_Sym *, unsigned int, \
++ uintptr_t *, uintptr_t *, \
++ const struct La_m68k_regs *, \
++ unsigned int *, const char *name, \
++ long int *framesizep);
++
++#define ARCH_PLTEXIT_MEMBERS \
++ unsigned int (*m68k_gnu_pltexit) (Elf32_Sym *, unsigned int, \
++ uintptr_t *, uintptr_t *, \
++ const struct La_m68k_regs *, \
++ struct La_m68k_retval *, \
++ const char *);
++
++#include_next <ldsodefs.h>
++
++#endif
+diff -Nurd ports/sysdeps/m68k/setjmp.c ports/sysdeps/m68k/setjmp.c
+--- ports/sysdeps/m68k/setjmp.c 2003-09-15 10:43:12.000000000 +0200
++++ ports/sysdeps/m68k/setjmp.c 2007-02-10 13:16:22.000000000 +0100
+@@ -54,10 +54,14 @@
+ asm volatile ("fmovem%.x %/fp0-%/fp7, %0"
+ : : "m" (env[0].__jmpbuf[0].__fpregs[0]));
+ #endif
+-
++#if defined NOT_IN_libc && defined IS_IN_rtld
++ /* In ld.so we never save the signal mask. */
++ return 0;
++#else
+ /* Save the signal mask if requested. */
+ return __sigjmp_save (env, savemask);
++#endif
+ }
+ #if !defined BSD_SETJMP && !defined BSD__SETJMP
+-hidden_def (__sigsetjmp)
++libc_hidden_def (__sigsetjmp)
+ #endif
+diff -Nurd ports/sysdeps/m68k/tst-audit.h ports/sysdeps/m68k/tst-audit.h
+--- ports/sysdeps/m68k/tst-audit.h 1970-01-01 01:00:00.000000000 +0100
++++ ports/sysdeps/m68k/tst-audit.h 2007-02-10 13:26:18.000000000 +0100
+@@ -0,0 +1,25 @@
++/* Definitions for testing PLT entry/exit auditing. m68k version.
++ Copyright (C) 2006 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. */
++
++#define pltenter la_m68k_gnu_pltenter
++#define pltexit la_m68k_gnu_pltexit
++#define La_regs La_m68k_regs
++#define La_retval La_m68k_retval
++#define int_retval lrv_d0
+diff -Nurd ports/sysdeps/m68k/wcpcpy.c ports/sysdeps/m68k/wcpcpy.c
+--- ports/sysdeps/m68k/wcpcpy.c 1970-01-01 01:00:00.000000000 +0100
++++ ports/sysdeps/m68k/wcpcpy.c 2007-02-10 13:26:35.000000000 +0100
+@@ -0,0 +1,37 @@
++/* Copyright (C) 1996, 1997, 2006 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++ Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
++
++ 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. */
++
++/* The generic version of this file assumes that __alignof__(wchar_t) ==
++ sizeof (wchar_t). We therefore use this port-specific implementation
++ instead. */
++#include <wchar.h>
++
++/* Copy SRC to DEST, returning the address of the terminating L'\0' in
++ DEST. */
++wchar_t *
++__wcpcpy (wchar_t *dest, const wchar_t *src)
++{
++ do
++ ;
++ while ((*dest++ = *src++));
++
++ return dest - 1;
++}
++
++weak_alias (__wcpcpy, wcpcpy)
+diff -Nurd ports/sysdeps/m68k/wcpcpy_chk.c ports/sysdeps/m68k/wcpcpy_chk.c
+--- ports/sysdeps/m68k/wcpcpy_chk.c 1970-01-01 01:00:00.000000000 +0100
++++ ports/sysdeps/m68k/wcpcpy_chk.c 2007-02-10 13:26:35.000000000 +0100
+@@ -0,0 +1,36 @@
++/* Copyright (C) 1996, 1997, 2005, 2006 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++ Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
++
++ 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. */
++
++/* The generic version of this file assumes that __alignof__(wchar_t) ==
++ sizeof (wchar_t). We therefore use this port-specific implementation
++ instead. */
++#include <wchar.h>
++
++/* Copy SRC to DEST, returning the address of the terminating L'\0' in
++ DEST. Check for overflows. */
++wchar_t *
++__wcpcpy_chk (wchar_t *dest, const wchar_t *src, size_t destlen)
++{
++ do
++ if (destlen-- == 0)
++ __chk_fail ();
++ while ((*dest++ = *src++));
++
++ return dest - 1;
++}
+diff -Nurd ports/sysdeps/unix/sysv/linux/m68k/bits/ucontext.h ports/sysdeps/unix/sysv/linux/m68k/bits/ucontext.h
+--- ports/sysdeps/unix/sysv/linux/m68k/bits/ucontext.h 1970-01-01 01:00:00.000000000 +0100
++++ ports/sysdeps/unix/sysv/linux/m68k/bits/ucontext.h 2007-02-10 13:32:41.000000000 +0100
+@@ -0,0 +1,113 @@
++/* Copyright (C) 1997, 1999, 2001 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. */
++
++/* System V/m68k ABI compliant context switching support. */
++
++#ifndef _SYS_UCONTEXT_H
++#define _SYS_UCONTEXT_H 1
++
++#include <features.h>
++#include <signal.h>
++
++/* Type for general register. */
++typedef int greg_t;
++
++/* Number of general registers. */
++#define NGREG 18
++
++/* Container for all general registers. */
++typedef greg_t gregset_t[NGREG];
++
++/* Number of each register is the `gregset_t' array. */
++enum
++{
++ R_D0 = 0,
++#define R_D0 R_D0
++ R_D1 = 1,
++#define R_D1 R_D1
++ R_D2 = 2,
++#define R_D2 R_D2
++ R_D3 = 3,
++#define R_D3 R_D3
++ R_D4 = 4,
++#define R_D4 R_D4
++ R_D5 = 5,
++#define R_D5 R_D5
++ R_D6 = 6,
++#define R_D6 R_D6
++ R_D7 = 7,
++#define R_D7 R_D7
++ R_A0 = 8,
++#define R_A0 R_A0
++ R_A1 = 9,
++#define R_A1 R_A1
++ R_A2 = 10,
++#define R_A2 R_A2
++ R_A3 = 11,
++#define R_A3 R_A3
++ R_A4 = 12,
++#define R_A4 R_A4
++ R_A5 = 13,
++#define R_A5 R_A5
++ R_A6 = 14,
++#define R_A6 R_A6
++ R_A7 = 15,
++#define R_A7 R_A7
++ R_SP = 15,
++#define R_SP R_SP
++ R_PC = 16,
++#define R_PC R_PC
++ R_PS = 17
++#define R_PS R_PS
++};
++
++/* Structure to describe FPU registers. */
++typedef struct fpregset
++{
++ int f_pcr;
++ int f_psr;
++ int f_fpiaddr;
++#ifdef __mcoldfire__
++ int f_fpregs[8][2];
++#else
++ int f_fpregs[8][3];
++#endif
++} fpregset_t;
++
++/* Context to describe whole processor state. */
++typedef struct
++{
++ int version;
++ gregset_t gregs;
++ fpregset_t fpregs;
++} mcontext_t;
++
++#define MCONTEXT_VERSION 2
++
++/* Userlevel context. */
++typedef struct ucontext
++{
++ unsigned long uc_flags;
++ struct ucontext *uc_link;
++ stack_t uc_stack;
++ mcontext_t uc_mcontext;
++ unsigned long uc_filler[80];
++ __sigset_t uc_sigmask;
++} ucontext_t;
++
++#endif /* sys/ucontext.h */
+diff -Nurd ports/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h ports/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h
+--- ports/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h 2001-07-15 17:30:50.000000000 +0200
++++ ports/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h 2007-02-10 13:29:59.000000000 +0100
+@@ -79,10 +79,10 @@
+ /* Structure to describe FPU registers. */
+ typedef struct fpregset
+ {
+- int f_fpregs[8][3];
+ int f_pcr;
+ int f_psr;
+ int f_fpiaddr;
++ int f_fpregs[8][3];
+ } fpregset_t;
+
+ /* Context to describe whole processor state. */
+@@ -98,12 +98,12 @@
+ /* Userlevel context. */
+ typedef struct ucontext
+ {
+- unsigned long int uc_flags;
++ unsigned long uc_flags;
+ struct ucontext *uc_link;
+- __sigset_t uc_sigmask;
+ stack_t uc_stack;
+ mcontext_t uc_mcontext;
+- long int uc_filler[174];
++ unsigned long uc_filler[80];
++ __sigset_t uc_sigmask;
+ } ucontext_t;
+
+ #endif /* sys/ucontext.h */
+diff -Nurd ports/sysdeps/unix/sysv/linux/m68k/sysdep.h ports/sysdeps/unix/sysv/linux/m68k/sysdep.h
+--- ports/sysdeps/unix/sysv/linux/m68k/sysdep.h 2004-10-04 22:59:37.000000000 +0200
++++ ports/sysdeps/unix/sysv/linux/m68k/sysdep.h 2007-02-10 13:07:18.000000000 +0100
+@@ -18,6 +18,9 @@
+ 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>
+
+@@ -293,3 +296,4 @@
+ #define ASM_ARGS_6 ASM_ARGS_5, "a" (_a0)
+
+ #endif /* not __ASSEMBLER__ */
++#endif
Modified: glibc-package/branches/glibc-2.5/debian/patches/series
===================================================================
--- glibc-package/branches/glibc-2.5/debian/patches/series 2007-02-10 10:20:43 UTC (rev 1969)
+++ glibc-package/branches/glibc-2.5/debian/patches/series 2007-02-10 12:42:47 UTC (rev 1970)
@@ -69,6 +69,7 @@
i386/local-cmov.diff -p0
i386/submitted-i686-timing.diff -p1
+m68k/cvs-m68k-update.diff -p0
m68k/local-compat.diff -p0
m68k/local-dwarf2-buildfix.diff -p0
m68k/local-fpic.diff -p0
Reply to: