* Bugs (and some fixes)
@ 2004-04-12 14:19 Tommy McCabe
2004-04-12 17:20 ` Alan Cox
0 siblings, 1 reply; 5+ messages in thread
From: Tommy McCabe @ 2004-04-12 14:19 UTC (permalink / raw)
To: linux-8086
The linker won't link any code segments larger than
64KB. (Fix: Use a different compiler, maybe the one
from FreeDOS or Minix)
The kernel prints out lots of 0's mixed in with the
boot messages on bootup. (Fix: Remove the single
quotes around the 0 in line 139 of
elks/kernel/printk.c)
elks/arch/i86/boot/setup.S won't compile. (Fix: Remove
the parentheses in line 588 of the file)
The more recent versions of ld86 won't link the
kernel. (Fix: Switch the order around in lines 107-111
of elks/arch/i86/Makefile)
The Makefile for elkscmd doesn't pause so you can log
in as root to mount the images.
MAKEDEV/SET bugs:
1. The MAKESET script is located in the same
directory as the MAKEDEV script, not in /dev. (Fix:
Edit line 17 of the script to say ./MAKESET)
2. test may be in /usr/bin instead of /bin (like on
my machine). (Fix: Edit line 22 of the script to
remove the /bin)
3. There is no such thing as a "d" type device. (Fix:
Replace all of the "d" type devices in the script with
"b" (block) type devices)
4. The MAKEDEV script includes devices even when the
kernel has no support for them.
5. The script produces devices for all 64 possible
partitions, which consumes a lot of space. (Fix: Edit
the numbers being passed to MAKEDEV to have only 16
partition devices, which is all most people need, or
even 4 partitions, for the smaller drives of older
machines)
6. The MAKESET script is supposed to be run using
ash, a shell which a lot of distros don't have. (Fix:
Edit the first line of MAKESET to say /bin/bash)
Not many distros have the folder /mnt/elks included.
(Fix: Edit line 162 of elkscmd/Make.defs)
The as86_encap script, necessary for compiling the
bootblocks folder, is in /usr/lib/bcc, which isn't an
executable path. (Fix: Move the script to /usr/bin, or
at least have a symlink)
The dev86/bootblocks source is required for the images
to compile. (Fix: Incorporate the required part of
that code into the elkscmd/ tree)
The file "version.h", included in the bootblocks file
"montior.c", is missing. (Fix: Have the version.h file
prebuilt and included in the bootblocks directory)
The file elkscmd/sys_utils/ps.c is expecting to
include files in /usr/lib/bcc/include/linuxmt that are
really in elks/include/linuxmt. (Fix: 1. Copy the
files over; 2. Automatically copy the files over; 3.
Edit ps.c to look for the files in the right place)
The Makefile in elkscmd/sys_utils expects to copy
swapon and meminfo, which as far as I know do not
exist.
The Makefile in elkscmd/file_utils tries to copy the
nonexistent program "l". (Fix: I think it's a spelling
error; change l to ln in line 42 of the makefile)
Attempting to compile ash returns this:
gcc -O2 mksignames.c -o mksignames
In file included from
/usr/include/bits/sigcontext.h:28,
from /usr/include/signal.h:326,
from mksignames.c:52:
/usr/include/asm/sigcontext.h:79: error: parse error
before '*' token
/usr/include/asm/sigcontext.h:82: error: parse error
before '}' token
make[1]: *** [mksignames] Error 1
In elkscmd/disk_utils/mkfs.c, #define usage()
fatal_error("Usage: mkfs /dev/name blocks # Max
blocks=65535\n",16) at line 165 returns "'#' operator
should be followed by a macro argument name
" errors when the function is used elsewhere.
The characters from lines 447-460 of
elkscmd/levee/editcor.c are blank, thus returning
compiler errors.
Compiling elkscmd/sys_utils/login results in "*
redefined in file /usr/lib/bcc/libc.a(utent.o); using
definition in utent.o
" errors.
By default, the root image doesn't have enough inodes
for the devices and not enough space on the image for
extra inodes.
elksnet/ktcp/vjhc.c has about ten billion bugs, so
much that I had to use a pager to see what was going
on. Here's a sample:
vjhc.c:117.19: error: need ')'
vjhc.c:119.1: error: need ';'
vjhc.c:119.1: error: need variable name
vjhc.c:117.3: error: need ';'
vjhc.c:117.21: error: ip_vjhc_compress already
declared
vjhc.c:118.12: error: pkt already declared
vjhc.c:120.1: error: need variable name
vjhc.c:121.8: error: need ';'
vjhc.c:130.3: error: need variable name
vjhc.c:130.5: error: need ';'
vjhc.c:130.10: error: need ')'
vjhc.c:130.10: error: need ';'
vjhc.c:130.10: error: need variable name
vjhc.c:130.16: error: need ';'
vjhc.c:130.18: error: need ';'
vjhc.c:130.18: error: need variable name
vjhc.c:130.21: error: need ';'
vjhc.c:130.21: error: need variable name
vjhc.c:130.24: error: need ';'
vjhc.c:130.24: error: need variable name
vjhc.c:130.27: error: need ';'
vjhc.c:130.27: error: need variable name
vjhc.c:130.29: error: need ';'
vjhc.c:130.29: error: need variable name
vjhc.c:131.2: error: need ';'
vjhc.c:131.2: error: need variable name
When I try to compile elksnet/screen/ansi.c; I get
more errors, here's a sample:
/home/tommy/elks/elksnet/screen:42.26: error:
bh_active not in argument list
/home/tommy/elks/elksnet/screen:43.24: error: bh_mask
not in argument list
/home/tommy/elks/elksnet/screen:45.32: error: need ')'
/home/tommy/elks/elksnet/screen:45.32: error: bh_base
not in argument list
/home/tommy/elks/elksnet/screen:45.32: error: need ';'
/home/tommy/elks/elksnet/screen:45.33: error: need
variable name
/home/tommy/elks/elksnet/screen:45.34: error: not in
argument list
/home/tommy/elks/elksnet/screen:49.31: error: need ')'
/home/tommy/elks/elksnet/screen:49.32: error: need
variable name
/home/tommy/elks/elksnet/screen:49.33: error: not in
argument list
/home/tommy/elks/elksnet/screen:55.32: error: fd_set
not in argument list
/usr/lib/bcc/include/stdio.h:62.33: error: FILE not in
argument list
/usr/lib/bcc/include/stdio.h:70.21: error: stdin not
in argument list
/usr/lib/bcc/include/stdio.h:71.22: error: stdout not
in argument list
/usr/lib/bcc/include/stdio.h:72.22: error: stderr not
in argument list
/usr/lib/bcc/include/stdio.h:102.23: error: setvbuf
not in argument list
/usr/lib/bcc/include/stdio.h:106.26: error: setbuffer
not in argument list
/usr/lib/bcc/include/stdio.h:108.21: error: fgetc not
in argument list
/usr/lib/bcc/include/stdio.h:109.21: error: fputc not
in argument list
/usr/lib/bcc/include/stdio.h:111.22: error: fclose not
in argument list
/usr/lib/bcc/include/stdio.h:112.22: error: fflush not
in argument list
/usr/lib/bcc/include/stdio.h:113.23: error: fgets not
in argument list
/usr/lib/bcc/include/stdio.h:115.23: error: fopen not
in argument list
/usr/lib/bcc/include/stdio.h:116.24: error: fdopen not
in argument list
/usr/lib/bcc/include/stdio.h:117.26: error: freopen
not in argument list
/usr/lib/bcc/include/stdio.h:123.21: error: fputs not
in argument list
/usr/lib/bcc/include/stdio.h:124.20: error: puts not
in argument list
/usr/lib/bcc/include/stdio.h:126.22: error: printf not
in argument list
/usr/lib/bcc/include/stdio.h:127.23: error: fprintf
not in argument list
/usr/lib/bcc/include/stdio.h:128.23: error: sprintf
not in argument list
screen.h:97.8: error: compiler limit exceeded - too
many local symbols (101)
__________________________________
Do you Yahoo!?
Yahoo! Tax Center - File online by April 15th
http://taxes.yahoo.com/filing.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Bugs (and some fixes)
2004-04-12 14:19 Bugs (and some fixes) Tommy McCabe
@ 2004-04-12 17:20 ` Alan Cox
2004-04-12 21:34 ` Miguel Bolanos
0 siblings, 1 reply; 5+ messages in thread
From: Alan Cox @ 2004-04-12 17:20 UTC (permalink / raw)
To: Tommy McCabe; +Cc: linux-8086
On Llu, 2004-04-12 at 15:19, Tommy McCabe wrote:
> The linker won't link any code segments larger than
> 64KB. (Fix: Use a different compiler, maybe the one
> from FreeDOS or Minix)
Processor limit.
>
> The kernel prints out lots of 0's mixed in with the
> boot messages on bootup. (Fix: Remove the single
> quotes around the 0 in line 139 of
> elks/kernel/printk.c)
You should probably check any fixes you make into the tree
btw as I think its otherwise dead.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Bugs (and some fixes)
@ 2004-04-12 21:31 Tommy McCabe
2004-04-13 9:28 ` David Given
0 siblings, 1 reply; 5+ messages in thread
From: Tommy McCabe @ 2004-04-12 21:31 UTC (permalink / raw)
To: linux-8086
--- Tommy McCabe <rocketjet314@yahoo.com> wrote:
>
> --- Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> > On Llu, 2004-04-12 at 15:19, Tommy McCabe wrote:
> > > The linker won't link any code segments larger
> > than
> > > 64KB. (Fix: Use a different compiler, maybe the
> > one
> > > from FreeDOS or Minix)
> >
> > Processor limit.
>
> Compiler/memory model limit.
> If code is... and data is... Use this model...
> under 64KB under 64KB Small (-ms) or Tiny
> (-mt)
> over 64KB under 64KB Medium (-mm)
> under 64KB over 64KB Compact (-mc)
> over 64KB over 64KB Large (-ml)
>
> Reference:
> http://www.digitalmars.com/ctg/ctgMemoryModel.html
>
> >
> > >
> > > The kernel prints out lots of 0's mixed in with
> > the
> > > boot messages on bootup. (Fix: Remove the single
> > > quotes around the 0 in line 139 of
> > > elks/kernel/printk.c)
> >
> > You should probably check any fixes you make into
> > the tree
> > btw as I think its otherwise dead.
>
> Huh? I don't have developer access.
>
> > -
> > To unsubscribe from this list: send the line
> > "unsubscribe linux-8086" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at
> http://vger.kernel.org/majordomo-info.html
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! Tax Center - File online by April 15th
> http://taxes.yahoo.com/filing.html
>
__________________________________
Do you Yahoo!?
Yahoo! Tax Center - File online by April 15th
http://taxes.yahoo.com/filing.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Bugs (and some fixes)
2004-04-12 17:20 ` Alan Cox
@ 2004-04-12 21:34 ` Miguel Bolanos
0 siblings, 0 replies; 5+ messages in thread
From: Miguel Bolanos @ 2004-04-12 21:34 UTC (permalink / raw)
To: Alan Cox; +Cc: linux-8086
Greetings Alan and all,
On Mon, 2004-04-12 at 11:20, Alan Cox wrote:
> On Llu, 2004-04-12 at 15:19, Tommy McCabe wrote:
> > The linker won't link any code segments larger than
> > 64KB. (Fix: Use a different compiler, maybe the one
> > from FreeDOS or Minix)
>
> Processor limit.
>
> >
> > The kernel prints out lots of 0's mixed in with the
> > boot messages on bootup. (Fix: Remove the single
> > quotes around the 0 in line 139 of
> > elks/kernel/printk.c)
>
> You should probably check any fixes you make into the tree
> btw as I think its otherwise dead.
>
Well there are a few of us with access to the tree hanging around, the
whole project is not totally dead, but i guess most of us are quite busy
with work and/or other projects like yourself.
The best way to ensure that patches are included is sending them over to
the list and not forgetting to add "[PATCH]" to the subject
best wishes
Mike
> -
> To unsubscribe from this list: send the line "unsubscribe linux-8086" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Bugs (and some fixes)
2004-04-12 21:31 Tommy McCabe
@ 2004-04-13 9:28 ` David Given
0 siblings, 0 replies; 5+ messages in thread
From: David Given @ 2004-04-13 9:28 UTC (permalink / raw)
To: linux-8086
On Monday 12 April 2004 22:31, Tommy McCabe wrote:
> --- Tommy McCabe <rocketjet314@yahoo.com> wrote:
[...]
> > Compiler/memory model limit.
> > If code is... and data is... Use this model...
> > under 64KB under 64KB Small (-ms) or Tiny
> > (-mt)
> > over 64KB under 64KB Medium (-mm)
> > under 64KB over 64KB Compact (-mc)
> > over 64KB over 64KB Large (-ml)
The way medium and large models manage to get more than 64kB of code is by
using multiple code segments. Unfortunately, since you can only address 64kB
with a 16-bit pointer, this means that you have to use wider pointers if you
want more than 64kB of code. Most compilers use a 32 bit pointer for this; 16
bits for the segment, 16 bits for the offset. And just to make matters worse,
medium mode uses *different* sized pointers for code and data!
Probably an easier solution would be to move some kernel subsystems into user
space. Sockets would be a classic example, since the code's pretty large.
You'd have to implement a user-mode interface of some description but I doubt
that would be particularly hard. We'd lose some performance, but seeing as
we're planning on running this on an 8088, I don't think performance is a
major design requirement...
--
+- David Given --McQ-+ "I smell a rat; I see him forming in the air &
| dg@cowlark.com | darkening the sky; but I'll nip him in the bud."
| (dg@tao-group.com) | --- Sir Boyle Roche
+- www.cowlark.com --+
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2004-04-13 9:28 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-04-12 14:19 Bugs (and some fixes) Tommy McCabe
2004-04-12 17:20 ` Alan Cox
2004-04-12 21:34 ` Miguel Bolanos
-- strict thread matches above, loose matches on Subject: below --
2004-04-12 21:31 Tommy McCabe
2004-04-13 9:28 ` David Given
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox