diff options
author | Eric Andersen <andersen@codepoet.org> | 2004-05-14 10:59:09 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2004-05-14 10:59:09 +0000 |
commit | 297b6bb585320c9ee650258fb3d3e7e812cdc5a8 (patch) | |
tree | 5f2ef14066df9438b6fae31b949a03b5f82cf356 /libc/sysdeps/linux/frv/clone.S | |
parent | cd411309b5af27b1a02f324174d1caad98bc0927 (diff) |
Alexandre Oliva writes:
Here are a number of minor changes to FR-V-specific bits of the uClibc
port:
- I've adjusted the definition of _dl_mmap to cope with the fact that
there will be a definition for an mmap2-only system.
- We don't have COPY relocs, so optimize the copy reloc-related code
away.
- Change the page size to 16KiB, to match the ABI spec, and not a
stale value I'd copied from a linker config file. Oops.
- Fix error handling in clone and vfork; parts of the changes by David
Howells <dhowells@redhat.com>
- Rearrange includes in crtreloc.c.
- Change the API of __syscall_error, to reduce code size.
- Improve __syscall_return in terms of code size, so as to enable
tail-calling of __syscall_error, at least within libc. Ideally,
__syscall_error should be hidden within libc.so, but this didn't
work because of libdl. I haven't looked into why, and figured I'd
leave it visible for now.
- Rename enumerators and macros in sys/ucontext.h to reduce namespace
pollution.
Diffstat (limited to 'libc/sysdeps/linux/frv/clone.S')
-rw-r--r-- | libc/sysdeps/linux/frv/clone.S | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libc/sysdeps/linux/frv/clone.S b/libc/sysdeps/linux/frv/clone.S index 2e3c6b742..f835f0ba2 100644 --- a/libc/sysdeps/linux/frv/clone.S +++ b/libc/sysdeps/linux/frv/clone.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foudnation, Inc. +/* Copyright (C) 2003, 2004 Free Software Foudnation, Inc. This file is part of the GNU C Library. Contributed by Alexandre Oliva <aoliva@redhat.com>, 2003. @@ -41,9 +41,11 @@ __clone: setlos #__NR_clone, gr7 tra gr0,gr0 - cmp gr8, gr0, icc0 - bgtlr icc0, #1 + cmp.p gr8, gr0, icc0 + setlos #-4096, gr6 + cmp.p gr8, gr6, icc1 beq icc0, #0, .Lthread_start + blslr icc1, #2 .Lsys_error: sethi.p #gotofffuncdeschi(__syscall_error), gr14 @@ -52,7 +54,7 @@ __clone: jmpl @(gr14, gr0) .Lerror: - setlos.p #-EINVAL, gr7 + setlos.p #-EINVAL, gr8 bra .Lsys_error ############################################################################### |