+Changes in v1.8.26 (10/30/2004) (chorns)
+
+- Print stack frames on crashes.
+- Users should report errors to ros-dev@reactos.com.
+
Changes in v1.8.25 (10/30/2004) (chorns)
- Support FULL_MAP command line option.
i386ExceptionHandlerText:
- .ascii "FreeLoader i386 Exception Handler\n"
+ .ascii "An error occured in FreeLoader\n"
.ascii VERSION
.ascii "\n"
-// .asciz "Report bugs to Brian Palmer <brianp@reactos.org>\n\n"
- .asciz "Report bugs to ReactOS Kernel mailing list <ros-kernel@reactos.com>\n\n"
+ .asciz "Report this error to the ReactOS Development mailing list <ros-dev@reactos.com>\n\n"
i386DivideByZeroText:
.asciz "Exception 00: DIVIDE BY ZERO\n\n"
i386_TR_Text:
.asciz " TR: "
+i386FramesText:
+ .asciz "Frames:\n"
+
/* Set by each exception handler to the address of the description text */
i386ExceptionDescriptionText:
.long 0
movl $0,i386_ScreenPosX
incl i386_ScreenPosY
incl i386_ScreenPosY
+ call i386PrintFrames // Display frames
+ incl i386_ScreenPosY
+ incl i386_ScreenPosY
i386ExceptionHandlerHang:
jmp i386ExceptionHandlerHang
iret
+i386PrintFrames:
+ movl $0,i386_ScreenPosX
+ movl $i386FramesText,%esi
+ call i386PrintText
+
+ movl i386_EBP,%edi
+printnextframe:
+ test %edi,%edi
+ je nomoreframes
+ movl $STACK32ADDR,%eax
+ cmpl %edi,%eax
+ jbe nomoreframes
+ movl 4(%edi),%eax
+ pushl %edi
+ call i386PrintHexDword // Display frame
+ popl %edi
+ incl i386_ScreenPosX
+ incl i386_ScreenPosX
+ movl 0(%edi),%edi
+ jmp printnextframe
+nomoreframes:
+ ret
+
/************************************************************************/
i386ClearScreenToBlue:
.code32
#define RMODE_DS 0x20 /* RMode data selector, base 0 limit 64k */
#define KERNEL_BASE 0xC0000000
-//#define USER_CS 0x08
-//#define USER_DS 0x10
-//#define KERNEL_CS 0x20
-//#define KERNEL_DS 0x28
#define KERNEL_CS 0x08
#define KERNEL_DS 0x10
/* just some stuff */
-#define VERSION "FreeLoader v1.8.25"
+#define VERSION "FreeLoader v1.8.26"
#define COPYRIGHT "Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>"
#define AUTHOR_EMAIL "<brianp@sginet.com>"
#define BY_AUTHOR "by Brian Palmer"
//
#define FREELOADER_MAJOR_VERSION 1
#define FREELOADER_MINOR_VERSION 8
-#define FREELOADER_PATCH_VERSION 25
+#define FREELOADER_PATCH_VERSION 26
#ifndef ASM