• R/O
  • HTTP
  • SSH
  • HTTPS

uclibc-ng: Commit


Commit MetaInfo

Revisiona0c13b17a2e6f9ab6d94377d8255605ceba74c7e (tree)
Time2016-01-01 18:56:31
AuthorYoshinori Sato <ysato@user...>
CommiterYoshinori Sato

Log Message

rx: update

Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>

Change Summary

Incremental Difference

--- a/libc/sysdeps/linux/rx/Makefile
+++ b/libc/sysdeps/linux/rx/Makefile
@@ -1,8 +1,8 @@
11 # Makefile for uClibc
22 #
3-# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
3+# Copyright (C) 2015 Yoshinori Sato
44 #
5-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
5+# Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
66 #
77
88 top_srcdir=../../../../
--- a/libc/sysdeps/linux/rx/Makefile.arch
+++ b/libc/sysdeps/linux/rx/Makefile.arch
@@ -5,6 +5,6 @@
55 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
66 #
77
8-CSRC := __syscall_error.c
8+CSRC-y := __syscall_error.c
99
10-SSRC := __longjmp.S _setjmp.S clone.S crt1.S setjmp.S vfork.S
10+SSRC-y := __longjmp.S _setjmp.S clone.S crt1.S setjmp.S vfork.S
--- a/libc/sysdeps/linux/rx/__longjmp.S
+++ b/libc/sysdeps/linux/rx/__longjmp.S
@@ -3,12 +3,12 @@
33 #include <features.h>
44 #include <bits/setjmp.h>
55
6-.globl _longjmp
7-.type _longjmp,@function
6+.globl __longjmp
7+.type __longjmp,@function
88
99 .text
1010 .align 4
11-_longjmp:
11+__longjmp:
1212 tst r2,r2
1313 scz.l r2
1414 mov.l [r1+],r6
@@ -26,5 +26,5 @@ _longjmp:
2626 add [r1],r0
2727 jmp r3
2828
29-libc_hidden_def(_longjmp)
29+libc_hidden_def(__longjmp)
3030 .end
--- a/libc/sysdeps/linux/rx/_setjmp.S
+++ b/libc/sysdeps/linux/rx/_setjmp.S
@@ -23,4 +23,5 @@ _setjmp:
2323 mov.l #0,4[r1] /* signal mask not saved */
2424 rts
2525
26+libc_hidden_def(_setjmp)
2627 .end
--- a/libc/sysdeps/linux/rx/bits/fcntl.h
+++ b/libc/sysdeps/linux/rx/bits/fcntl.h
@@ -45,9 +45,9 @@
4545 #define O_ASYNC 020000
4646
4747 #ifdef __USE_GNU
48-# define O_DIRECTORY 040000 /* Must be a directory. */
48+# define O_DIRECT 040000 /* Direct disk access. */
4949 # define O_NOFOLLOW 0100000 /* Do not follow links. */
50-# define O_DIRECT 0200000 /* Direct disk access. */
50+# define O_DIRECTORY 0200000 /* Must be a directory. */
5151 # define O_NOATIME 01000000 /* Do not set atime. */
5252 # define O_CLOEXEC 02000000 /* set close_on_exec */
5353 #endif
--- a/libc/sysdeps/linux/rx/bits/syscalls.h
+++ b/libc/sysdeps/linux/rx/bits/syscalls.h
@@ -64,7 +64,7 @@
6464 register unsigned long r5 __asm__("r5") = __arg5; \
6565 register unsigned long r15 __asm__("r15") = name
6666
67-#define ASM_ARGS_6 , "0"(r1), "r"(r2), "r"(r3), "r"(r4), "r"(r5), "r"(r7)
67+#define ASM_ARGS_6 , "0"(r1), "r"(r2), "r"(r3), "r"(r4), "r"(r5), "r"(r14)
6868 #define ARGS_6(name, a1, a2, a3, a4, a5, a6) \
6969 unsigned long __arg1 = (unsigned long)a1; \
7070 unsigned long __arg2 = (unsigned long)a2; \
@@ -77,7 +77,7 @@
7777 register unsigned long r3 __asm__("r3") = __arg3; \
7878 register unsigned long r4 __asm__("r4") = __arg4; \
7979 register unsigned long r5 __asm__("r5") = __arg5; \
80- register unsigned long r7 __asm__("r7") = __arg6; \
80+ register unsigned long r14 __asm__("r14") = __arg6; \
8181 register unsigned long r15 __asm__("r15") = name
8282
8383 #define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
--- a/libc/sysdeps/linux/rx/bits/uClibc_arch_features.h
+++ b/libc/sysdeps/linux/rx/bits/uClibc_arch_features.h
@@ -42,6 +42,6 @@
4242 #define __UCLIBC_HAVE_SIGNED_ZERO__
4343
4444 /* only weird assemblers generally need this */
45-#undef __UCLIBC_ASM_LINE_SEP__
45+#define __UCLIBC_ASM_LINE_SEP__ !
4646
4747 #endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
--- a/libc/sysdeps/linux/rx/vfork.S
+++ b/libc/sysdeps/linux/rx/vfork.S
@@ -1,6 +1,4 @@
1-#include <features.h>
2-
3-#include <asm/unistd.h>
1+#include <sys/syscall.h>
42
53 .text
64 .align 4
@@ -9,13 +7,18 @@
97 .type __vfork,@function
108
119 __vfork:
12- mov.l [r0+],r2
13- mov.l #__NR_vfork,r8
10+ mov.l [r0+],r14
11+ mov.l #0x00004111,r1 /* CLONE_VFORK | CLONE_VM | SIGCHLD */
12+ mov.l #0,r2
13+ mov.l #0,r3
14+ mov.l #0,r4
15+ mov.l #0,r5
16+ mov.l #__NR_clone,r15
1417 int #0x08
1518 cmp #-4096,r1
1619 bc 1f /* errno < 0 && errno >=4096 */
17- jmp r2
18-1: mov.l r2,[-r0]
20+ jmp r14
21+1: mov.l r14,[-r0]
1922 bra __syscall_error
2023
2124 weak_alias(__vfork,vfork)
Show on old repository browser