Browse Source

nios2: allow to build toolchain

At least allow to compile a toolchain targeting nios2 without MMU.
Waldemar Brodkorb 8 years ago
parent
commit
e6acefa2dd

+ 0 - 1
extra/Configs/Config.nios2

@@ -13,5 +13,4 @@ config FORCE_OPTIONS_FOR_ARCH
 	select ARCH_LITTLE_ENDIAN
 	select ARCH_HAS_NO_MMU
 	select ARCH_HAS_NO_LDSO
-	select ARCH_HAS_DEPRECATED_SYSCALLS
 	select HAVE_NO_PIC

+ 8 - 8
libc/sysdeps/linux/nios2/bits/kernel_types.h

@@ -4,8 +4,8 @@
  * our private content, and not the kernel header, will win.
  *  -Erik
  */
-#ifndef _ASM_NIOS2_POSIX_TYPES_H
-#define _ASM_NIOS2_POSIX_TYPES_H
+#ifndef __ASM_GENERIC_POSIX_TYPES_H
+#define __ASM_GENERIC_POSIX_TYPES_H
 
 typedef unsigned long	__kernel_dev_t;
 typedef unsigned long	__kernel_ino_t;
@@ -14,8 +14,8 @@ typedef unsigned short	__kernel_nlink_t;
 typedef long		__kernel_off_t;
 typedef int		__kernel_pid_t;
 typedef unsigned short	__kernel_ipc_pid_t;
-typedef unsigned short	__kernel_uid_t;
-typedef unsigned short	__kernel_gid_t;
+typedef unsigned int	__kernel_uid_t;
+typedef unsigned int	__kernel_gid_t;
 typedef unsigned int	__kernel_size_t;
 typedef int		__kernel_ssize_t;
 typedef int		__kernel_ptrdiff_t;
@@ -28,9 +28,9 @@ typedef unsigned short	__kernel_uid16_t;
 typedef unsigned short	__kernel_gid16_t;
 typedef unsigned int	__kernel_uid32_t;
 typedef unsigned int	__kernel_gid32_t;
-typedef unsigned short	__kernel_old_uid_t;
-typedef unsigned short	__kernel_old_gid_t;
-typedef unsigned short	__kernel_old_dev_t;
+typedef unsigned int	__kernel_old_uid_t;
+typedef unsigned int	__kernel_old_gid_t;
+typedef unsigned int	__kernel_old_dev_t;
 typedef long		__kernel_long_t;
 typedef unsigned long	__kernel_ulong_t;
 typedef long long	__kernel_loff_t;
@@ -43,4 +43,4 @@ typedef struct {
 #endif
 } __kernel_fsid_t;
 
-#endif /* _ASM_NIOS2_POSIX_TYPES_H */
+#endif /* __ASM_GENERIC_POSIX_TYPES_H */

+ 2 - 1
libc/sysdeps/linux/nios2/bits/syscalls.h

@@ -4,10 +4,11 @@
 # error "Never use <bits/syscalls.h> directly; include <sys/syscall.h> instead."
 #endif
 
+#define TRAP_ID_SYSCALL	0
+
 #ifndef __ASSEMBLER__
 
 #include <errno.h>
-#include <asm/traps.h>
 
 #define __syscall_return(type, res)					\
 	do {								\

+ 1 - 0
libc/sysdeps/linux/nios2/crt1.S

@@ -14,6 +14,7 @@
 
 #include <features.h>
 #include <asm/unistd.h>
+#define TRAP_ID_SYSCALL        0
 
     .global _start
     .type   _start,@function

+ 1 - 3
libc/sysdeps/linux/nios2/vfork.S

@@ -12,9 +12,7 @@
 
 #include <sys/syscall.h>
 
-#ifndef __NR_vfork
-#define __NR_vfork __NR_fork /* uClinux-2.0 only has fork which is vfork */
-#endif
+#define __NR_vfork 1071
 
 .text
 .global	__vfork