diff options
author | jdp <jdp@FreeBSD.org> | 1997-04-22 06:55:47 +0000 |
---|---|---|
committer | jdp <jdp@FreeBSD.org> | 1997-04-22 06:55:47 +0000 |
commit | ae3a563c6ee04fa1b4d008183af8eb1e1f23f05e (patch) | |
tree | 4bf568e3ad4a7debc59e03b325c4fd155f8e7f1e /sys/gnu/i386 | |
parent | 23b3d8266325c10c3d66be6ba93ad96a46c2f2bd (diff) | |
download | FreeBSD-src-ae3a563c6ee04fa1b4d008183af8eb1e1f23f05e.zip FreeBSD-src-ae3a563c6ee04fa1b4d008183af8eb1e1f23f05e.tar.gz |
Make the necessary changes so that an ELF kernel can be built. I
have successfully built, booted, and run a number of different ELF
kernel configurations, including GENERIC. LINT also builds and
links cleanly, though I have not tried to boot it.
The impact on developers is virtually nil, except for two things.
All linker sets that might possibly be present in the kernel must be
listed in "sys/i386/i386/setdefs.h". And all C symbols that are
also referenced from assembly language code must be listed in
"sys/i386/include/asnames.h". It so happens that failure to do
these things will have no impact on the a.out kernel. But it will
break the build of the ELF kernel.
The ELF bootloader works, but it is not ready to commit quite yet.
Diffstat (limited to 'sys/gnu/i386')
-rw-r--r-- | sys/gnu/i386/fpemul/div_small.s | 8 | ||||
-rw-r--r-- | sys/gnu/i386/fpemul/fpu_asm.h | 3 | ||||
-rw-r--r-- | sys/gnu/i386/fpemul/poly_div.s | 14 | ||||
-rw-r--r-- | sys/gnu/i386/fpemul/poly_mul64.s | 6 | ||||
-rw-r--r-- | sys/gnu/i386/fpemul/polynomial.s | 6 | ||||
-rw-r--r-- | sys/gnu/i386/fpemul/reg_div.s | 7 | ||||
-rw-r--r-- | sys/gnu/i386/fpemul/reg_norm.s | 12 | ||||
-rw-r--r-- | sys/gnu/i386/fpemul/reg_round.s | 8 | ||||
-rw-r--r-- | sys/gnu/i386/fpemul/reg_u_add.s | 6 | ||||
-rw-r--r-- | sys/gnu/i386/fpemul/reg_u_div.s | 9 | ||||
-rw-r--r-- | sys/gnu/i386/fpemul/reg_u_mul.s | 9 | ||||
-rw-r--r-- | sys/gnu/i386/fpemul/reg_u_sub.s | 6 | ||||
-rw-r--r-- | sys/gnu/i386/fpemul/wm_shrx.s | 7 | ||||
-rw-r--r-- | sys/gnu/i386/fpemul/wm_sqrt.s | 9 |
14 files changed, 35 insertions, 75 deletions
diff --git a/sys/gnu/i386/fpemul/div_small.s b/sys/gnu/i386/fpemul/div_small.s index d38d921..6022500 100644 --- a/sys/gnu/i386/fpemul/div_small.s +++ b/sys/gnu/i386/fpemul/div_small.s @@ -57,7 +57,7 @@ * W. Metzenthen June 1994. * * - * $Id$ + * $Id: div_small.s,v 1.6 1997/02/22 09:29:00 peter Exp $ * */ @@ -68,11 +68,7 @@ #include <gnu/i386/fpemul/fpu_asm.h> .text - .align 2,144 - -.globl _div_small - -_div_small: +ENTRY(div_small) pushl %ebp movl %esp,%ebp diff --git a/sys/gnu/i386/fpemul/fpu_asm.h b/sys/gnu/i386/fpemul/fpu_asm.h index 6a647b6..c72784b 100644 --- a/sys/gnu/i386/fpemul/fpu_asm.h +++ b/sys/gnu/i386/fpemul/fpu_asm.h @@ -54,13 +54,14 @@ * W. Metzenthen June 1994. * * - * $Id$ + * $Id: fpu_asm.h,v 1.6 1997/02/22 09:29:03 peter Exp $ * */ #ifndef _FPU_ASM_H_ #define _FPU_ASM_H_ +#include <machine/asmacros.h> #include <gnu/i386/fpemul/fpu_emu.h> #define EXCEPTION _exception diff --git a/sys/gnu/i386/fpemul/poly_div.s b/sys/gnu/i386/fpemul/poly_div.s index 4a1fdb7..318dc16 100644 --- a/sys/gnu/i386/fpemul/poly_div.s +++ b/sys/gnu/i386/fpemul/poly_div.s @@ -57,7 +57,7 @@ * W. Metzenthen June 1994. * * - * $Id$ + * $Id: poly_div.s,v 1.6 1997/02/22 09:29:16 peter Exp $ * */ @@ -66,9 +66,7 @@ .text /*---------------------------------------------------------------------------*/ - .align 2,144 -.globl _poly_div2 -_poly_div2: +ENTRY(poly_div2) pushl %ebp movl %esp,%ebp @@ -88,9 +86,7 @@ poly_div2_exit: leave ret /*---------------------------------------------------------------------------*/ - .align 2,144 -.globl _poly_div4 -_poly_div4: +ENTRY(poly_div4) pushl %ebp movl %esp,%ebp @@ -115,9 +111,7 @@ poly_div4_exit: leave ret /*---------------------------------------------------------------------------*/ - .align 2,144 -.globl _poly_div16 -_poly_div16: +ENTRY(poly_div16) pushl %ebp movl %esp,%ebp diff --git a/sys/gnu/i386/fpemul/poly_mul64.s b/sys/gnu/i386/fpemul/poly_mul64.s index 417739e..e8089d0 100644 --- a/sys/gnu/i386/fpemul/poly_mul64.s +++ b/sys/gnu/i386/fpemul/poly_mul64.s @@ -59,7 +59,7 @@ * W. Metzenthen June 1994. * * - * $Id$ + * $Id: poly_mul64.s,v 1.6 1997/02/22 09:29:17 peter Exp $ * */ @@ -67,9 +67,7 @@ #include <gnu/i386/fpemul/fpu_asm.h> .text - .align 2,144 -.globl _mul64 -_mul64: +ENTRY(mul64) pushl %ebp movl %esp,%ebp subl $16,%esp diff --git a/sys/gnu/i386/fpemul/polynomial.s b/sys/gnu/i386/fpemul/polynomial.s index 79e7876..e989225 100644 --- a/sys/gnu/i386/fpemul/polynomial.s +++ b/sys/gnu/i386/fpemul/polynomial.s @@ -64,7 +64,7 @@ * W. Metzenthen June 1994. * * - * $Id$ + * $Id: polynomial.s,v 1.6 1997/02/22 09:29:19 peter Exp $ * */ @@ -79,9 +79,7 @@ .text - .align 2,144 -.globl _polynomial -_polynomial: +ENTRY(polynomial) pushl %ebp movl %esp,%ebp subl $32,%esp diff --git a/sys/gnu/i386/fpemul/reg_div.s b/sys/gnu/i386/fpemul/reg_div.s index d1a5a58..61396cf 100644 --- a/sys/gnu/i386/fpemul/reg_div.s +++ b/sys/gnu/i386/fpemul/reg_div.s @@ -60,7 +60,7 @@ * W. Metzenthen June 1994. * * - * $Id$ + * $Id: reg_div.s,v 1.6 1997/02/22 09:29:22 peter Exp $ * */ @@ -69,10 +69,7 @@ #include <gnu/i386/fpemul/control_w.h> .text - .align 2 - -.globl _reg_div -_reg_div: +ENTRY(reg_div) pushl %ebp movl %esp,%ebp diff --git a/sys/gnu/i386/fpemul/reg_norm.s b/sys/gnu/i386/fpemul/reg_norm.s index c8313c1..f1a24f3 100644 --- a/sys/gnu/i386/fpemul/reg_norm.s +++ b/sys/gnu/i386/fpemul/reg_norm.s @@ -61,7 +61,7 @@ * W. Metzenthen June 1994. * * - * $Id$ + * $Id: reg_norm.s,v 1.6 1997/02/22 09:29:24 peter Exp $ * */ @@ -71,10 +71,7 @@ .text - .align 2,144 -.globl _normalize - -_normalize: +ENTRY(normalize) pushl %ebp movl %esp,%ebp pushl %ebx @@ -141,10 +138,7 @@ L_overflow: /* Normalise without reporting underflow or overflow */ - .align 2,144 -.globl _normalize_nuo - -_normalize_nuo: +ENTRY(normalize_nuo) pushl %ebp movl %esp,%ebp pushl %ebx diff --git a/sys/gnu/i386/fpemul/reg_round.s b/sys/gnu/i386/fpemul/reg_round.s index a716157..8da2f0b 100644 --- a/sys/gnu/i386/fpemul/reg_round.s +++ b/sys/gnu/i386/fpemul/reg_round.s @@ -65,7 +65,7 @@ * W. Metzenthen June 1994. * * - * $Id$ + * $Id: reg_round.s,v 1.6 1997/02/22 09:29:25 peter Exp $ * */ @@ -128,21 +128,19 @@ #define UNMASKED_UNDERFLOW $2 .data - .align 2,0 + ALIGN_DATA FPU_bits_lost: .byte 0 FPU_denormal: .byte 0 .text - .align 2,144 .globl FPU_round .globl FPU_round_sqrt .globl FPU_Arith_exit -.globl _round_reg /* Entry point when called from C */ -_round_reg: +ENTRY(round_reg) pushl %ebp movl %esp,%ebp pushl %esi diff --git a/sys/gnu/i386/fpemul/reg_u_add.s b/sys/gnu/i386/fpemul/reg_u_add.s index b8ae1c6..21aac51 100644 --- a/sys/gnu/i386/fpemul/reg_u_add.s +++ b/sys/gnu/i386/fpemul/reg_u_add.s @@ -62,7 +62,7 @@ * W. Metzenthen June 1994. * * - * $Id$ + * $Id: reg_u_add.s,v 1.6 1997/02/22 09:29:25 peter Exp $ * */ @@ -81,9 +81,7 @@ #include <gnu/i386/fpemul/control_w.h> .text - .align 2,144 -.globl _reg_u_add -_reg_u_add: +ENTRY(reg_u_add) pushl %ebp movl %esp,%ebp /* subl $16,%esp*/ diff --git a/sys/gnu/i386/fpemul/reg_u_div.s b/sys/gnu/i386/fpemul/reg_u_div.s index f863916..bfc7137 100644 --- a/sys/gnu/i386/fpemul/reg_u_div.s +++ b/sys/gnu/i386/fpemul/reg_u_div.s @@ -57,7 +57,7 @@ * W. Metzenthen June 1994. * * - * $Id$ + * $Id: reg_u_div.s,v 1.6 1997/02/22 09:29:26 peter Exp $ * */ @@ -85,7 +85,7 @@ Result: accum_3:accum_2:accum_1:accum_0 Overflow flag: ovfl_flag */ - .align 2,0 + ALIGN_DATA accum_3: .long 0 accum_2: @@ -103,13 +103,10 @@ ovfl_flag: .text - .align 2,144 - -.globl _reg_u_div .globl _divide_kernel -_reg_u_div: +ENTRY(reg_u_div) pushl %ebp movl %esp,%ebp diff --git a/sys/gnu/i386/fpemul/reg_u_mul.s b/sys/gnu/i386/fpemul/reg_u_mul.s index c05e346..08c5192 100644 --- a/sys/gnu/i386/fpemul/reg_u_mul.s +++ b/sys/gnu/i386/fpemul/reg_u_mul.s @@ -57,7 +57,7 @@ * W. Metzenthen June 1994. * * - * $Id$ + * $Id: reg_u_mul.s,v 1.6 1997/02/22 09:29:27 peter Exp $ * */ @@ -77,7 +77,7 @@ .data - .align 2,0 + ALIGN_DATA accum_0: .long 0 accum_1: @@ -85,10 +85,7 @@ accum_1: .text - .align 2,144 - -.globl _reg_u_mul -_reg_u_mul: +ENTRY(reg_u_mul) pushl %ebp movl %esp,%ebp pushl %esi diff --git a/sys/gnu/i386/fpemul/reg_u_sub.s b/sys/gnu/i386/fpemul/reg_u_sub.s index 3cb89e2..310cc36 100644 --- a/sys/gnu/i386/fpemul/reg_u_sub.s +++ b/sys/gnu/i386/fpemul/reg_u_sub.s @@ -61,7 +61,7 @@ * W. Metzenthen June 1994. * * - * $Id$ + * $Id: reg_u_sub.s,v 1.6 1997/02/22 09:29:27 peter Exp $ * */ @@ -81,9 +81,7 @@ #include <gnu/i386/fpemul/control_w.h> .text - .align 2,144 -.globl _reg_u_sub -_reg_u_sub: +ENTRY(reg_u_sub) pushl %ebp movl %esp,%ebp pushl %esi diff --git a/sys/gnu/i386/fpemul/wm_shrx.s b/sys/gnu/i386/fpemul/wm_shrx.s index 9631c32..b50199d 100644 --- a/sys/gnu/i386/fpemul/wm_shrx.s +++ b/sys/gnu/i386/fpemul/wm_shrx.s @@ -62,7 +62,7 @@ * W. Metzenthen June 1994. * * - * $Id$ + * $Id: wm_shrx.s,v 1.6 1997/02/22 09:29:29 peter Exp $ * */ @@ -70,7 +70,6 @@ #include <gnu/i386/fpemul/fpu_asm.h> .text - .align 2,144 /*---------------------------------------------------------------------------+ | unsigned shrx(void *arg1, unsigned arg2) | @@ -86,9 +85,7 @@ | Results returned in the 64 bit arg and eax. | +---------------------------------------------------------------------------*/ - .globl _shrx - -_shrx: +ENTRY(shrx) push %ebp movl %esp,%ebp pushl %esi diff --git a/sys/gnu/i386/fpemul/wm_sqrt.s b/sys/gnu/i386/fpemul/wm_sqrt.s index 42412b1..ead5355 100644 --- a/sys/gnu/i386/fpemul/wm_sqrt.s +++ b/sys/gnu/i386/fpemul/wm_sqrt.s @@ -60,7 +60,7 @@ * W. Metzenthen June 1994. * * - * $Id$ + * $Id: wm_sqrt.s,v 1.6 1997/02/22 09:29:30 peter Exp $ * */ @@ -85,7 +85,7 @@ /* Local storage: */ - .align 4,0 + ALIGN_DATA accum_3: .long 0 /* ms word */ accum_2: @@ -107,11 +107,8 @@ fsqrt_arg_0: .long 0 /* ls word, at most the ms bit is set */ .text - .align 2,144 -.globl _wm_sqrt - -_wm_sqrt: +ENTRY(wm_sqrt) pushl %ebp movl %esp,%ebp pushl %esi |