mirror of
https://github.com/reactos/reactos.git
synced 2025-07-05 16:41:22 +00:00
Changes in v1.8.3 (3/18/2003) (brianp)
- Added _alloca() function because Mingw32 generates code that needs it - Defined _mainCRTStartup in fathelp.asm because Mingw32 looks for that symbol svn path=/trunk/; revision=4342
This commit is contained in:
parent
3c2e048a81
commit
1c8640a836
5 changed files with 43 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
Changes in v1.8.3 (3/18/2003) (brianp)
|
||||||
|
|
||||||
|
- Added _alloca() function because Mingw32 generates code that needs it
|
||||||
|
- Defined _mainCRTStartup in fathelp.asm because Mingw32 looks for that symbol
|
||||||
|
|
||||||
Changes in v1.8.2 (1/24/2003) (ekohl)
|
Changes in v1.8.2 (1/24/2003) (ekohl)
|
||||||
|
|
||||||
- Relaxed check for Int13-Extension support.
|
- Relaxed check for Int13-Extension support.
|
||||||
|
|
|
@ -205,7 +205,8 @@ ARCH_OBJS = fathelp.o \
|
||||||
drvmap.o \
|
drvmap.o \
|
||||||
int386.o \
|
int386.o \
|
||||||
i386disk.o \
|
i386disk.o \
|
||||||
portio.o
|
portio.o \
|
||||||
|
_alloca.o # For Mingw32 builds
|
||||||
|
|
||||||
RTL_OBJS = print.o \
|
RTL_OBJS = print.o \
|
||||||
stdlib.o \
|
stdlib.o \
|
||||||
|
|
32
freeldr/freeldr/arch/i386/_alloca.S
Normal file
32
freeldr/freeldr/arch/i386/_alloca.S
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
/* stuff needed for libgcc on win32. */
|
||||||
|
|
||||||
|
//#ifdef L_chkstk
|
||||||
|
|
||||||
|
.global ___chkstk
|
||||||
|
.global __alloca
|
||||||
|
___chkstk:
|
||||||
|
__alloca:
|
||||||
|
pushl %ecx /* save temp */
|
||||||
|
movl %esp,%ecx /* get sp */
|
||||||
|
addl $0x8,%ecx /* and point to return addr */
|
||||||
|
|
||||||
|
probe: cmpl $0x1000,%eax /* > 4k ?*/
|
||||||
|
jb done
|
||||||
|
|
||||||
|
subl $0x1000,%ecx /* yes, move pointer down 4k*/
|
||||||
|
orl $0x0,(%ecx) /* probe there */
|
||||||
|
subl $0x1000,%eax /* decrement count */
|
||||||
|
jmp probe /* and do it again */
|
||||||
|
|
||||||
|
done: subl %eax,%ecx
|
||||||
|
orl $0x0,(%ecx) /* less that 4k, just peek here */
|
||||||
|
|
||||||
|
movl %esp,%eax
|
||||||
|
movl %ecx,%esp /* decrement stack */
|
||||||
|
|
||||||
|
movl (%eax),%ecx /* recover saved temp */
|
||||||
|
movl 4(%eax),%eax /* get return address */
|
||||||
|
jmp *%eax
|
||||||
|
|
||||||
|
|
||||||
|
//#endif
|
|
@ -52,6 +52,8 @@ BootPartition equ 0x7dfd
|
||||||
; This code is loaded at 0000:8000 so we have to
|
; This code is loaded at 0000:8000 so we have to
|
||||||
; encode a jmp instruction to jump to 0000:8200
|
; encode a jmp instruction to jump to 0000:8200
|
||||||
|
|
||||||
|
global _mainCRTStartup ; For Mingw32 builds where the linker looks for this symbol
|
||||||
|
_mainCRTStartup:
|
||||||
global start
|
global start
|
||||||
start:
|
start:
|
||||||
db 0xe9
|
db 0xe9
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
|
|
||||||
/* just some stuff */
|
/* just some stuff */
|
||||||
#define VERSION "FreeLoader v1.8.2"
|
#define VERSION "FreeLoader v1.8.3"
|
||||||
#define COPYRIGHT "Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>"
|
#define COPYRIGHT "Copyright (C) 1998-2003 Brian Palmer <brianp@sginet.com>"
|
||||||
#define AUTHOR_EMAIL "<brianp@sginet.com>"
|
#define AUTHOR_EMAIL "<brianp@sginet.com>"
|
||||||
#define BY_AUTHOR "by Brian Palmer"
|
#define BY_AUTHOR "by Brian Palmer"
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
//
|
//
|
||||||
#define FREELOADER_MAJOR_VERSION 1
|
#define FREELOADER_MAJOR_VERSION 1
|
||||||
#define FREELOADER_MINOR_VERSION 8
|
#define FREELOADER_MINOR_VERSION 8
|
||||||
#define FREELOADER_PATCH_VERSION 2
|
#define FREELOADER_PATCH_VERSION 3
|
||||||
|
|
||||||
|
|
||||||
PUCHAR GetFreeLoaderVersionString(VOID);
|
PUCHAR GetFreeLoaderVersionString(VOID);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue