diff options
Diffstat (limited to 'libc/sysdeps/linux/m68k')
-rw-r--r-- | libc/sysdeps/linux/m68k/__syscall_error.c | 4 | ||||
-rw-r--r-- | libc/sysdeps/linux/m68k/bits/fcntl.h | 7 | ||||
-rw-r--r-- | libc/sysdeps/linux/m68k/bits/kernel_stat.h | 4 | ||||
-rw-r--r-- | libc/sysdeps/linux/m68k/bits/stat.h | 4 | ||||
-rw-r--r-- | libc/sysdeps/linux/m68k/crt1.S | 10 |
5 files changed, 18 insertions, 11 deletions
diff --git a/libc/sysdeps/linux/m68k/__syscall_error.c b/libc/sysdeps/linux/m68k/__syscall_error.c index a29f6ffd6..2d2677521 100644 --- a/libc/sysdeps/linux/m68k/__syscall_error.c +++ b/libc/sysdeps/linux/m68k/__syscall_error.c @@ -10,8 +10,8 @@ /* This routine is jumped to by all the syscall handlers, to stash * an error number into errno. */ -int __syscall_error(void) attribute_hidden; -int __syscall_error(void) +long __syscall_error(void) attribute_hidden; +long __syscall_error(void) { register int err_no __asm__("%d0"); __set_errno(-err_no); diff --git a/libc/sysdeps/linux/m68k/bits/fcntl.h b/libc/sysdeps/linux/m68k/bits/fcntl.h index 684d8b88b..5a56c8781 100644 --- a/libc/sysdeps/linux/m68k/bits/fcntl.h +++ b/libc/sysdeps/linux/m68k/bits/fcntl.h @@ -53,6 +53,7 @@ # define O_DIRECT 0200000 /* Direct disk access. */ # define O_NOATIME 01000000 /* Do not set atime. */ # define O_PATH 010000000 /* Resolve pathname but do not open file. */ +# define O_TMPFILE 020040000 /* Atomically create nameless file. */ #endif /* For now Linux has synchronisity options for data and read operations. @@ -100,11 +101,13 @@ # define F_SETLEASE 1024 /* Set a lease. */ # define F_GETLEASE 1025 /* Enquire what lease is active. */ # define F_NOTIFY 1026 /* Request notfications on a directory. */ -# define F_DUPFD_CLOEXEC 1030 /* Duplicate file descriptor with - close-on-exit set on new fd. */ # define F_SETPIPE_SZ 1031 /* Set pipe page size array. */ # define F_GETPIPE_SZ 1032 /* Get pipe page size array. */ #endif +#if defined __USE_XOPEN2K8 || defined __USE_GNU +# define F_DUPFD_CLOEXEC 1030 /* Duplicate file descriptor with + close-on-exit set on new fd. */ +#endif /* For F_[GET|SET]FL. */ #define FD_CLOEXEC 1 /* actually anything with low bit set goes */ diff --git a/libc/sysdeps/linux/m68k/bits/kernel_stat.h b/libc/sysdeps/linux/m68k/bits/kernel_stat.h index 3911c9bbf..f3b1bd645 100644 --- a/libc/sysdeps/linux/m68k/bits/kernel_stat.h +++ b/libc/sysdeps/linux/m68k/bits/kernel_stat.h @@ -21,8 +21,8 @@ struct kernel_stat { struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; - unsigned long __unused4; - unsigned long __unused5; + unsigned long __uclibc_unused4; + unsigned long __uclibc_unused5; }; struct kernel_stat64 { diff --git a/libc/sysdeps/linux/m68k/bits/stat.h b/libc/sysdeps/linux/m68k/bits/stat.h index d71670db8..7b9c3d144 100644 --- a/libc/sysdeps/linux/m68k/bits/stat.h +++ b/libc/sysdeps/linux/m68k/bits/stat.h @@ -82,8 +82,8 @@ struct stat unsigned long int st_ctimensec; /* Nsecs of last status change. */ #endif #ifndef __USE_FILE_OFFSET64 - unsigned long int __unused4; - unsigned long int __unused5; + unsigned long int __uclibc_unused4; + unsigned long int __uclibc_unused5; #else __ino64_t st_ino; /* File serial number. */ #endif diff --git a/libc/sysdeps/linux/m68k/crt1.S b/libc/sysdeps/linux/m68k/crt1.S index 815a6076f..e7292682b 100644 --- a/libc/sysdeps/linux/m68k/crt1.S +++ b/libc/sysdeps/linux/m68k/crt1.S @@ -78,9 +78,13 @@ _start: sub.l %fp, %fp #if !defined __ARCH_USE_MMU__ && defined __PIC__ +#ifdef UCLIBC_FORMAT_ELF + move.l #_GLOBAL_OFFSET_TABLE_, %a5 +#else /* Set up the global pointer. The GOT is at the beginning of the data segment, whose address is in %d5. */ move.l %d5,%a5 +#endif .equ have_current_got, 1 #endif @@ -92,11 +96,11 @@ _start: arguments for `main': argc, argv. envp will be determined later in __libc_start_main. */ move.l (%sp)+, %d0 /* Pop the argument count. */ -#ifndef __ARCH_USE_MMU__ - move.l (%sp)+, %a0 -#else +#if defined(__ARCH_USE_MMU__) || defined(__UCLIBC_FORMAT_ELF__) move.l %sp, %a0 /* The argument vector starts just at the current stack top. */ +#else + move.l (%sp)+, %a0 #endif /* Provide the highest stack address to the user code (for stacks |