From 297b6bb585320c9ee650258fb3d3e7e812cdc5a8 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Fri, 14 May 2004 10:59:09 +0000 Subject: 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 - 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. --- libc/sysdeps/linux/frv/vfork.S | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'libc/sysdeps/linux/frv/vfork.S') diff --git a/libc/sysdeps/linux/frv/vfork.S b/libc/sysdeps/linux/frv/vfork.S index 0d5d6ea8d..230f2f820 100644 --- a/libc/sysdeps/linux/frv/vfork.S +++ b/libc/sysdeps/linux/frv/vfork.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 David Howells , 2003. @@ -26,16 +26,17 @@ .type vfork,@function /* int vfork(void) */ vfork: - setlos #__NR_vfork, gr7 - tira gr0, #0 + setlos.p #__NR_vfork, gr7 + setlos #-4096, gr4 + tra gr0, gr0 - cmp gr8, gr0, icc0 - bplr icc0, #2 + cmp gr8, gr4, icc0 + blslr icc0, #2 - sethi.p #gotofffuncdeschi(__syscall_error), gr14 - setlo #gotofffuncdesclo(__syscall_error), gr14 - ldd @(gr14, gr15), gr14 - jmpl @(gr14, gr0) + sethi.p #gotofffuncdeschi(__syscall_error), gr14 + setlo #gotofffuncdesclo(__syscall_error), gr14 + ldd @(gr14, gr15), gr14 + jmpl @(gr14, gr0) .size vfork,.-vfork -- cgit v1.2.3