diff options
author | Eric Andersen <andersen@codepoet.org> | 2002-02-04 10:07:51 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2002-02-04 10:07:51 +0000 |
commit | fea1b23bcf0b9ef29af0968f5adf1e822ca874ae (patch) | |
tree | 76c4a02bf12795a3f5b6b4698a8174e8d84d0485 /libc/sysdeps/linux/sparc/crt0.S | |
parent | 59c9d20af6744d27285c9a505577308bd1f82781 (diff) |
Adjust sparc port do it now actually works.
-Erik
Diffstat (limited to 'libc/sysdeps/linux/sparc/crt0.S')
-rw-r--r-- | libc/sysdeps/linux/sparc/crt0.S | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/libc/sysdeps/linux/sparc/crt0.S b/libc/sysdeps/linux/sparc/crt0.S deleted file mode 100644 index 7910131db..000000000 --- a/libc/sysdeps/linux/sparc/crt0.S +++ /dev/null @@ -1,90 +0,0 @@ -/* - * xrt0.s for ERC32. - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU 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 General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 675 - * Mass Ave, Cambridge, MA 02139, USA. - * - */ - -/* code taken from leonccs 1.0 leon/src/libio/crt0.S - I don't know if this is available anymore, now that LECCS - is out. And I'm not sure if this source is in the LECCS distro :( -*/ - - .text -! Original : -! .global __start, _main -! uC-libc version : - .global _start - .global __uClibc_main - -! Start the real-time clock with a tick of 14 clocks -! - -_start: - - save %sp, -64, %sp - - /* clear the bss */ - - sethi %hi(edata),%g2 - or %g2,%lo(edata),%g2 ! g2 = start of bss - sethi %hi(_end),%g3 - or %g3,%lo(_end),%g3 ! g3 = end of bss - mov %g0,%g1 ! so std has two zeros -zerobss: - std %g0,[%g2] - add %g2,8,%g2 - cmp %g2,%g3 - bleu,a zerobss - nop - - /* move data segment to proper location */ - -relocd: - set (_endtext),%g2 ! g2 = start of data in aout file - set (_environ),%g4 ! g4 = start of where data should go - set (_edata),%g3 ! g3 = end of where data should go - subcc %g3, %g4, %g5 ! g5 = length of data - - subcc %g4, %g2, %g0 ! need to relocate data ? - ble initok - ld [%g4], %g6 -! subcc %g6, 1, %g0 -! be initok -mvdata: - subcc %g5, 8, %g5 - ldd [%g2 + %g5], %g6 - bg mvdata - std %g6, [%g4 + %g5] - -initok: - -! call _main - call __uClibc_main - nop -! Should not return from uClibc main() -! ret -! nop - - .seg "data" - .global .bdata -.bdata: - .align 8 - .global _environ ! first symbol in sdata -_environ: - .word 1 - - - |