diff options
| -rw-r--r-- | libc/sysdeps/linux/powerpc/crt0.S | 103 | 
1 files changed, 0 insertions, 103 deletions
diff --git a/libc/sysdeps/linux/powerpc/crt0.S b/libc/sysdeps/linux/powerpc/crt0.S deleted file mode 100644 index d2808a7c1..000000000 --- a/libc/sysdeps/linux/powerpc/crt0.S +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright (C) 2003 by Erik Andersen - * - * This program 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. - * - * This program 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 this program; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -/* Integer registers.  */ -#define r0      0 -#define r1      1 -#define r2      2 -#define r3      3 -#define r4      4 -#define r5      5 -#define r6      6 -#define r7      7 -#define r8      8 -#define r9      9 -#define r13     13 -#define r31     31 - -#include <features.h> - -	.section ".text" -	.globl	_start -	.type	_start,@function -#if defined L_crt0 || defined L_Scrt0 || ! defined __UCLIBC_CTOR_DTOR__ -	.type	__uClibc_main,%function -#else -	.weak	_init -	.weak	_fini -	.type	__uClibc_start_main,%function -#endif -/* Stick in a dummy reference to main(), so that if an application - * is linking when the main() function is in a static library (.a) - * we can be sure that main() actually gets linked in */ -	.type	main,%function - -_start: -	/* Save the stack pointer, in case we're statically linked under Linux.  */ -	mr	r9,r1 -#if defined L_Scrt0 || defined L_Scrt1 -	bl	_GLOBAL_OFFSET_TABLE_-4@local -	mflr	r31 -#endif -	/* Set up an initial stack frame, and clear the LR.  */ -	clrrwi	r1,r1,4 -	li	r0,0 -	stwu	r1,-16(r1) -	mtlr	r0 -	stw	r0,0(r1) - -	/* find argc from the stack pointer */ -	lwz	r3,0(r9) -	/* find argv one word offset from the stack pointer */ -	addi	r4,r9,4 -	/* find environment pointer (argv+argc+1) */ -	lwz	r5,0(r9) -	addi	r5,r5,1 -	rlwinm	r5,r5,2,0,29 -	add	r5,r5,r4 -	mr	r8,r7 /* Pass _dl_fini from ldso */ -	/* Ok, now run uClibc's main() -- shouldn't return */ -#if (defined L_crt1 || defined L_Scrt1) && defined __UCLIBC_CTOR_DTOR__ -# ifdef L_Scrt1 -	lwz	r6,_init@got(r31) -	lwz	r7,_fini@got(r31) -	b	__uClibc_start_main@plt -# else -	lis     r6,_init@ha	# load top 16 bits -	addi    r6,r6,_init@l	# load bottom 16 bits -	lis     r7,_fini@ha	# load top 16 bits of &msg -	addi    r7,r7,_fini@l	# load bottom 16 bits -	b	__uClibc_start_main -# endif -#else -# ifdef L_Scrt0 -	b	__uClibc_main@plt -# else -	b	__uClibc_main -# endif -#endif -.size _start,.-_start - -/* Define a symbol for the first piece of initialized data.  */ -	.data -	.globl __data_start -__data_start: -	.long 0 -	.weak data_start -	data_start = __data_start -  | 
