summaryrefslogtreecommitdiffstats
path: root/sys/gnu/i386
diff options
context:
space:
mode:
authorjdp <jdp@FreeBSD.org>1997-04-22 06:55:47 +0000
committerjdp <jdp@FreeBSD.org>1997-04-22 06:55:47 +0000
commitae3a563c6ee04fa1b4d008183af8eb1e1f23f05e (patch)
tree4bf568e3ad4a7debc59e03b325c4fd155f8e7f1e /sys/gnu/i386
parent23b3d8266325c10c3d66be6ba93ad96a46c2f2bd (diff)
downloadFreeBSD-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.s8
-rw-r--r--sys/gnu/i386/fpemul/fpu_asm.h3
-rw-r--r--sys/gnu/i386/fpemul/poly_div.s14
-rw-r--r--sys/gnu/i386/fpemul/poly_mul64.s6
-rw-r--r--sys/gnu/i386/fpemul/polynomial.s6
-rw-r--r--sys/gnu/i386/fpemul/reg_div.s7
-rw-r--r--sys/gnu/i386/fpemul/reg_norm.s12
-rw-r--r--sys/gnu/i386/fpemul/reg_round.s8
-rw-r--r--sys/gnu/i386/fpemul/reg_u_add.s6
-rw-r--r--sys/gnu/i386/fpemul/reg_u_div.s9
-rw-r--r--sys/gnu/i386/fpemul/reg_u_mul.s9
-rw-r--r--sys/gnu/i386/fpemul/reg_u_sub.s6
-rw-r--r--sys/gnu/i386/fpemul/wm_shrx.s7
-rw-r--r--sys/gnu/i386/fpemul/wm_sqrt.s9
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
OpenPOWER on IntegriCloud