From b0b561fa95a5246c728bcc49ed3492a21842ddea Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 3 May 1999 23:30:28 +0000 Subject: [PATCH] * small update * uses gprt1 again for gprt21 becuase gprt21.as crashes --- rtl/linux/Makefile | 11 ++++++++--- rtl/linux/i386/gprt21.as | 29 +++++++++++++++++++++++++++-- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/rtl/linux/Makefile b/rtl/linux/Makefile index 45540af669..4275d8c4ad 100644 --- a/rtl/linux/Makefile +++ b/rtl/linux/Makefile @@ -190,8 +190,9 @@ cprt0$(OEXT) : $(CPU)/cprt1.as cprt21$(OEXT) : $(CPU)/cprt21.as $(AS) -o cprt21$(OEXT) $(CPU)/cprt21.as -gprt21$(OEXT) : $(CPU)/gprt21.as - $(AS) -o gprt21$(OEXT) $(CPU)/gprt21.as +# still need to use gprt1, because gprt21 crashes +gprt21$(OEXT) : $(CPU)/gprt1.as + $(AS) -o gprt21$(OEXT) $(CPU)/gprt1.as endif @@ -273,7 +274,11 @@ ipc$(PPUEXT) : ipc.pp linux$(PPUEXT) $(SYSTEMPPU) # # $Log$ -# Revision 1.21 1999-05-03 21:29:35 peter +# Revision 1.22 1999-05-03 23:30:28 peter +# * small update +# * uses gprt1 again for gprt21 becuase gprt21.as crashes +# +# Revision 1.21 1999/05/03 21:29:35 peter # + glibc 2.1 support # # Revision 1.20 1999/04/22 10:56:32 peter diff --git a/rtl/linux/i386/gprt21.as b/rtl/linux/i386/gprt21.as index 8dcec1a652..f69511117e 100644 --- a/rtl/linux/i386/gprt21.as +++ b/rtl/linux/i386/gprt21.as @@ -36,8 +36,9 @@ _start: movl %esi,U_SYSLINUX_ARGC /* Move the argument counter */ movl %ebx,U_SYSLINUX_ARGV /* Move the argument pointer */ + movl %edi,%eax xorl %ebp,%ebp - pushl %edi + pushl %eax pushl %esp pushl %edx pushl $_fini @@ -56,6 +57,8 @@ cmain: popl %eax movl %eax,___fpc_ret movl %ebx,___fpc_ret_ebx + movl %esi,___fpc_ret_esi + movl %edi,___fpc_ret_edi pushl %eax /* start the program */ @@ -69,12 +72,21 @@ _haltproc: movl ___fpc_ret,%edx /* return to libc */ movl ___fpc_ret_ebx,%ebx + movl ___fpc_ret_esi,%esi + movl ___fpc_ret_edi,%edi push %edx ret .globl __gmon_start__ .type __gmon_start__,@object __gmon_start__: + pushl %ebp + movl __monstarted,%eax + leal 0x1(%eax),%edx + movl %esp,%ebp + movl %edx,__monstarted + testl %eax,%eax + jnz .Lnomonstart pushl $etext /* Initialize gmon */ pushl $_start call monstartup @@ -82,6 +94,9 @@ __gmon_start__: pushl $_mcleanup call atexit addl $4,%esp +.Lnomonstart: + movl %ebp,%esp + popl %ebp ret .data @@ -97,11 +112,21 @@ ___fpc_ret: /* return address to libc */ .long 0 ___fpc_ret_ebx: .long 0 +___fpc_ret_esi: + .long 0 +___fpc_ret_edi: + .long 0 +.bss + .lcomm __monstarted,4 # # $Log$ -# Revision 1.1 1999-05-03 21:29:36 peter +# Revision 1.2 1999-05-03 23:30:29 peter +# * small update +# * uses gprt1 again for gprt21 becuase gprt21.as crashes +# +# Revision 1.1 1999/05/03 21:29:36 peter # + glibc 2.1 support # # Revision 1.3 1998/11/04 10:16:25 peter