diff options
-rw-r--r-- | extra/gcc-uClibc/.cvsignore | 7 | ||||
-rw-r--r-- | include/stdio.h | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/v850/crt0.S | 19 | ||||
-rw-r--r-- | libc/sysdeps/linux/v850/setjmp.S | 17 |
4 files changed, 25 insertions, 20 deletions
diff --git a/extra/gcc-uClibc/.cvsignore b/extra/gcc-uClibc/.cvsignore index 0232baac5..d67d50416 100644 --- a/extra/gcc-uClibc/.cvsignore +++ b/extra/gcc-uClibc/.cvsignore @@ -1,7 +1,2 @@ gcc-uClibc.h -i386-uclibc-* -m68k-uclibc-* -arm-uclibc-* -sh-uclibc-* -powerpc-uclibc-* -sparc-uclibc-* +*-uclibc-* diff --git a/include/stdio.h b/include/stdio.h index 94afa3d85..c5b013c08 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -1,5 +1,5 @@ /* Define ISO C stdio on top of C++ iostreams. - Copyright (C) 1991, 1994-1999, 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 1991, 1994-1999, 2000, 2001, 2002 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 diff --git a/libc/sysdeps/linux/v850/crt0.S b/libc/sysdeps/linux/v850/crt0.S index 7bfa9e004..2013c3b54 100644 --- a/libc/sysdeps/linux/v850/crt0.S +++ b/libc/sysdeps/linux/v850/crt0.S @@ -1,8 +1,8 @@ /* * libc/sysdeps/linux/v850/crt0.S -- Initial program entry point for linux/v850 * - * Copyright (C) 2001 NEC Corporation - * Copyright (C) 2001 Miles Bader <miles@gnu.org> + * Copyright (C) 2001,2002 NEC Corporation + * Copyright (C) 2001,2002 Miles Bader <miles@gnu.org> * * This file is subject to the terms and conditions of the GNU Lesser * General Public License. See the file COPYING.LIB in the main @@ -25,20 +25,21 @@ C_ENTRY(start): mov r7, r8 // Arg 2: envp mov r6, r10 // skip argc elements to get envp start -1: add 4, r8 - add -1, r10 - bp 1b + add 1, r10 // ...plus the NULL at the end of argv + shl 2, r10 // Convert to byte-count to skip + add r10, r8 // Zero bss area, since we can't rely upon any loader to do so mov hilo(C_SYMBOL_NAME(edata)), ep mov hilo(C_SYMBOL_NAME(end)), r10 -2: sst.w r0, 0[ep] +2: cmp ep, r10 + be 3f + sst.w r0, 0[ep] add 4, ep - cmp ep, r10 - bne 2b + br 2b // Load CTBP register - mov hilo(C_SYMBOL_NAME(_ctbp)), r19 +3: mov hilo(C_SYMBOL_NAME(_ctbp)), r19 ldsr r19, ctbp // Load GP diff --git a/libc/sysdeps/linux/v850/setjmp.S b/libc/sysdeps/linux/v850/setjmp.S index 460706ec6..87a5e3833 100644 --- a/libc/sysdeps/linux/v850/setjmp.S +++ b/libc/sysdeps/linux/v850/setjmp.S @@ -1,8 +1,8 @@ /* * libc/sysdeps/linux/v850/setjmp.S -- `setjmp' for v850 * - * Copyright (C) 2001 NEC Corporation - * Copyright (C) 2001 Miles Bader <miles@gnu.org> + * Copyright (C) 2001,2002 NEC Corporation + * Copyright (C) 2001,2002 Miles Bader <miles@gnu.org> * * This file is subject to the terms and conditions of the GNU Lesser * General Public License. See the file COPYING.LIB in the main @@ -18,7 +18,16 @@ #include <clinkage.h> .text -C_ENTRY(__sigsetjmp): +C_ENTRY(setjmp): + mov 1, r7 /* Save the signal mask. */ + br C_SYMBOL_NAME(__sigsetjmp) + + .globl C_SYMBOL_NAME(_setjmp) +C_SYMBOL_NAME(_setjmp): + mov 0, r7 /* Don't save the signal mask. */ + + .globl C_SYMBOL_NAME(__sigsetjmp) +C_SYMBOL_NAME(__sigsetjmp): /* Save registers */ mov r6, ep sst.w sp, 0[ep] @@ -36,4 +45,4 @@ C_ENTRY(__sigsetjmp): sst.w r29, 48[ep] /* Make a tail call to __sigjmp_save; it takes the same args. */ jr C_SYMBOL_NAME(__sigjmp_save) -C_END(__sigsetjmp) +C_END(setjmp) |