From 464263cc00549d2597b6d25309d55b1e4a6b1aac Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Sat, 8 Feb 2014 00:16:57 +0000 Subject: Remove am33 port. This patch removes the am33 port (no other port #includes any files from it), as previously discussed (see ). --- ports/sysdeps/unix/sysv/linux/am33/clone.S | 79 ------------------------------ 1 file changed, 79 deletions(-) delete mode 100644 ports/sysdeps/unix/sysv/linux/am33/clone.S (limited to 'ports/sysdeps/unix/sysv/linux/am33/clone.S') diff --git a/ports/sysdeps/unix/sysv/linux/am33/clone.S b/ports/sysdeps/unix/sysv/linux/am33/clone.S deleted file mode 100644 index 81eeac05d6..0000000000 --- a/ports/sysdeps/unix/sysv/linux/am33/clone.S +++ /dev/null @@ -1,79 +0,0 @@ -/* Copyright 2001-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Alexandre Oliva . - Based on ../i386/clone.S. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library. If not, see - . */ - -/* clone() is even more special than fork() as it mucks with stacks - and invokes a function in the right context after its all over. */ - -#include -#define _ERRNO_H 1 -#include -#include - -/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */ - - .text -ENTRY (__clone) - /* Sanity check arguments. */ - cmp 0,d0 /* no NULL function pointers */ - beq L(error_inval) - cmp 0,d1 /* no NULL stack pointers */ - beq L(error_inval) - - /* Allocate room for a function call in the new stack, and - store fn and arg in it. They will be read back in - thread_start. */ - mov d1,a0 - sub 12,a0 - mov d0,(a0) - mov (16,sp),d1 - mov d1,(4,a0) - - /* Do the system call */ - mov a0,d1 - mov (12,sp),a0 - mov SYS_ify(clone),d0 - syscall 0 - - cmp 0,d0 - beq thread_start - blt L(to_SYSCALL_ERROR_LABEL) - -L(pseudo_end): - ret - -L(error_inval): - mov -EINVAL,d0 -L(to_SYSCALL_ERROR_LABEL): - jmp SYSCALL_ERROR_LABEL - -thread_start: - mov 0,a3 /* terminate the stack frame */ - mov (4,sp),d0 - mov (sp),a0 - calls (a0) -#ifdef PIC -L(here): - mov pc,a2 - add _GLOBAL_OFFSET_TABLE_-(L(here) - .),a2 -#endif - call JUMPTARGET (_exit),[],0 - -PSEUDO_END (__clone) - -weak_alias (__clone, clone) -- cgit 1.4.1