Author: tkreuzer
Date: Sat Nov 20 10:57:26 2010
New Revision: 49656
URL:
http://svn.reactos.org/svn/reactos?rev=49656&view=rev
Log:
[NTOSKRNL]
Remove duplicated and incompatible implementations of setjmp / longjmp
Removed:
branches/cmake-bringup/ntoskrnl/kdbg/i386/longjmp.S
branches/cmake-bringup/ntoskrnl/kdbg/i386/setjmp.S
Modified:
branches/cmake-bringup/ntoskrnl/CMakeLists.txt
Modified: branches/cmake-bringup/ntoskrnl/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/ntoskrnl/CMakeLis…
==============================================================================
--- branches/cmake-bringup/ntoskrnl/CMakeLists.txt [iso-8859-1] (original)
+++ branches/cmake-bringup/ntoskrnl/CMakeLists.txt [iso-8859-1] Sat Nov 20 10:57:26 2010
@@ -342,9 +342,7 @@
if(KDBG)
list(APPEND SOURCE
kdbg/i386/i386-dis.c
- kdbg/i386/kdb_help.S
- kdbg/i386/longjmp.S
- kdbg/i386/setjmp.S)
+ kdbg/i386/kdb_help.S)
endif(KDBG)
elseif(ARCH MATCHES amd64)
@@ -430,4 +428,4 @@
add_minicd_target(ntoskrnl reactos ntoskrnl.exe)
add_livecd_target(ntoskrnl reactos/system32)
-add_importlib_target(ntoskrnl.spec)
+add_importlib_target(ntoskrnl.spec)
Removed: branches/cmake-bringup/ntoskrnl/kdbg/i386/longjmp.S
URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/ntoskrnl/kdbg/i38…
==============================================================================
--- branches/cmake-bringup/ntoskrnl/kdbg/i386/longjmp.S [iso-8859-1] (original)
+++ branches/cmake-bringup/ntoskrnl/kdbg/i386/longjmp.S (removed)
@@ -1,70 +1,0 @@
- .file "longjmp.S"
-/*
- * Copyright (C) 1998, 1999, Jonathan S. Shapiro.
- *
- * This file is part of the EROS Operating System.
- *
- * 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,
- * 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.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
- /*
- * typedef struct {
- * unsigned long ebx, esi, edi;
- * unsigned long ebp;
- * unsigned long sp;
- * unsigned long pc;
- * } jmp_buf[1];
- */
-
- /*
- * On entry, the stack to longjmp looks like:
- *
- * value
- * ptr to jmp_buf
- * return PC
- */
-
-.globl _longjmp
-_longjmp:
- pushl %ebp
- movl %esp,%ebp
-
- movl 8(%ebp),%ecx /* address of jmp_buf to ecx */
- movl 12(%ebp),%eax /* return value to %eax */
- testl %eax,%eax
- jne 1f
- incl %eax /* return 1 if handed 0 */
-
-1:
- movl (%ecx),%ebx /* restore %ebx */
- movl 4(%ecx),%esi /* restore %esi */
- movl 8(%ecx),%edi /* restore %edi */
-
- /*
- * From this instant on we are not running in a valid frame
- */
-
- movl 12(%ecx),%ebp /* restore %ebp */
- movl 16(%ecx),%esp /* restore %esp */
- /* movl 20(%ecx),%eax return PC */
-
- /*
- * Since we are abandoning the stack in any case,
- * there isn't much point in doing the usual return
- * discipline.
- */
-
- jmpl *20(%ecx)
-
Removed: branches/cmake-bringup/ntoskrnl/kdbg/i386/setjmp.S
URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/ntoskrnl/kdbg/i38…
==============================================================================
--- branches/cmake-bringup/ntoskrnl/kdbg/i386/setjmp.S [iso-8859-1] (original)
+++ branches/cmake-bringup/ntoskrnl/kdbg/i386/setjmp.S (removed)
@@ -1,61 +1,0 @@
- .file "setjmp.S"
-/*
- * Copyright (C) 1998, 1999, Jonathan S. Shapiro.
- *
- * This file is part of the EROS Operating System.
- *
- * 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.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-/* #include <eros/i486/asm.h> */
-
-
- /*
- * typedef struct {
- * unsigned long ebx, esi, edi;
- * unsigned long ebp;
- * unsigned long sp;
- * unsigned long pc;
- * } jmp_buf[1];
- */
-
- /*
- * On entry, the stack to setjmp looks like:
- *
- * ptr to jmp_buf
- * return PC
- */
-.globl _setjmp
-.globl __setjmp
-_setjmp:
-__setjmp:
- pushl %ebp
- movl %esp,%ebp
-
- movl 0x8(%ebp),%eax /* address of jmp_buf to eax */
- movl %ebx,(%eax) /* save %ebx */
- movl %esi,4(%eax) /* save %esi */
- movl %edi,8(%eax) /* save %edi */
- leal 8(%ebp),%edx /* calling proc's esp, not ours! */
- movl %edx,16(%eax)
- movl 4(%ebp), %edx /* save return PC */
- movl %edx,20(%eax)
- movl 0(%ebp),%edx /* calling proc's ebp, not ours! */
- movl %edx,12(%eax)
-
- xorl %eax,%eax /* return 0 the first time */
- leave
- ret
-