From 6664288bbc3e8b7412010e83fd7addafb3fa4709 Mon Sep 17 00:00:00 2001 From: okuji Date: Thu, 19 Oct 2000 18:24:28 +0000 Subject: [PATCH] segregate grub_setjmp and grub_longjmp to another file. --- ChangeLog | 12 +++++++++ stage2/Makefile.am | 2 +- stage2/Makefile.in | 2 +- stage2/asm.S | 65 ++-------------------------------------------- 4 files changed, 16 insertions(+), 65 deletions(-) diff --git a/ChangeLog b/ChangeLog index e9ce6c387..1238333f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2000-10-19 OKUJI Yoshinori + + Segregate functions which are copyrighted differently. + + * stage2/setjmp.S: New file. + * stage2/Makefile.am (EXTRA_DIST): Added setjmp.S. + * stage2/asm.S: Include "setjmp.S". + (grub_setjmp): Moved to ... + * stage2/setjmp.S (grub_setjmp): ... here. + * stage2/asm.S (grub_longjmp): Moved to ... + * stage2/setjmp.S (grub_longjmp): ... here. + 2000-10-18 OKUJI Yoshinori * stage2/Makefile.am (noinst_HEADERS): Added md5.h. Reported by diff --git a/stage2/Makefile.am b/stage2/Makefile.am index a10cd0e7c..f3e927a1e 100644 --- a/stage2/Makefile.am +++ b/stage2/Makefile.am @@ -7,7 +7,7 @@ noinst_HEADERS = apic.h defs.h dir.h disk_inode.h disk_inode_ffs.h \ fat.h filesys.h freebsd.h fs.h i386-elf.h imgact_aout.h \ mb_header.h mb_info.h md5.h pc_slice.h serial.h shared.h \ smp-imps.h nbi.h -EXTRA_DIST = $(noinst_SCRIPTS) +EXTRA_DIST = setjmp.S $(noinst_SCRIPTS) # For . INCLUDES = -I$(top_srcdir)/stage1 diff --git a/stage2/Makefile.in b/stage2/Makefile.in index 72aff495d..ec075a204 100644 --- a/stage2/Makefile.in +++ b/stage2/Makefile.in @@ -96,7 +96,7 @@ noinst_HEADERS = apic.h defs.h dir.h disk_inode.h disk_inode_ffs.h \ mb_header.h mb_info.h md5.h pc_slice.h serial.h shared.h \ smp-imps.h nbi.h -EXTRA_DIST = $(noinst_SCRIPTS) +EXTRA_DIST = setjmp.S $(noinst_SCRIPTS) # For . INCLUDES = -I$(top_srcdir)/stage1 diff --git a/stage2/asm.S b/stage2/asm.S index d2fa90ac8..65cb01e1a 100644 --- a/stage2/asm.S +++ b/stage2/asm.S @@ -1322,69 +1322,8 @@ probe_values: ret -/* This is stolen from libc/x86/setjmp.S in the OSKit */ -/* - * Mach Operating System - * Copyright (c) 1991,1990,1989 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * C library -- _setjmp, _longjmp - * - * _longjmp(a,v) - * will generate a "return(v)" from - * the last call to - * _setjmp(a) - * by restoring registers from the stack, - * The previous signal state is NOT restored. - * - */ - -ENTRY(grub_setjmp) - movl 4(%esp), %ecx /* fetch buffer */ - movl %ebx, 0(%ecx) - movl %esi, 4(%ecx) - movl %edi, 8(%ecx) - movl %ebp, 12(%ecx) /* save frame pointer of caller */ - popl %edx - movl %esp, 16(%ecx) /* save stack pointer of caller */ - movl %edx, 20(%ecx) /* save pc of caller */ - xorl %eax, %eax - jmp *%edx - -ENTRY(grub_longjmp) - movl 8(%esp), %eax /* return(v) */ - movl 4(%esp), %ecx /* fetch buffer */ - movl 0(%ecx), %ebx - movl 4(%ecx), %esi - movl 8(%ecx), %edi - movl 12(%ecx), %ebp - movl 16(%ecx), %esp - orl %eax, %eax - jnz 0f - incl %eax -0: jmp *20(%ecx) /* done, return.... */ - +/* Source files are splitted, as they have different copyrights. */ +#include "setjmp.S" /* * console_putchar(c)