Dear L4 Hackers,
Following the instructions on the L4Linux website, I did a cvs checkout of
l4linux-2.6 and l4linux-2.6-env
Then, following the "Building" instructions, I cd'd to the l4
directory and typed in
"make config", I then selected "Paths and Directories" to /root/drops
(I had previously
created /root/drops as an empty directory, and chmod'ed it to: chmod
777 drops).
I exited "make config", selecting the "save configuration file option.
Back in the l4 directory, I then typed …
[View More]in "make". It ran for several
minutes, and finally
failed trying to assemble oskit10/kern/x86/pc/i16/i16_real_int.S. The error was
on line 64.
Shown below is command used to assemble this file, and the llines
following it, from
the output of "make":
gcc -c -o i16_real_int.o -MD -DHAVE_CONFIG_H -DOSKIT_X86
-DOSKIT_X86_PC -I. -I../kern/x86 -I../kern/x86/pc -I../kern/x86/dos
-I../kern/x86/i16 -I../kern/x86/pc/i16 -I../kern/x86/dos/i16 -I../kern
-I- -I../oskit/c -I.. -I.. -nostdinc -D_GNU_SOURCE -DASSEMBLER -MD
../kern/x86/pc/i16/i16_real_int.S
../kern/x86/pc/i16/i16_real_int.S: Assembler messages:
../kern/x86/pc/i16/i16_real_int.S:64: Error: bad expression
../kern/x86/pc/i16/i16_real_int.S:64: Error: junk `1-0x00000200' after
expression
make[3]: *** [i16_real_int.o] Error 1
rm x86_asm.symc x86_asm.symc.o trap_asm.symc trap_asm.symc.o
pc_asm.symc pc_asm.symc.o
make[3]: Leaving directory `/root/oskit10/kern'
make[2]: *** [kern/all.MAKE] Error 2
make[2]: Leaving directory `/root/oskit10'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/oskit10'
make: *** [../oskit10] Error 2
I checked everything out of CVS on 2/27/2005, PST (i.e., Loa Angeles,
California, USA time).
I am using Fedora Core 2 Linux. The following is the output from
"cat /etc/fedora-release": Fedora Core release 2 (Tettnang)
The following is the output from "uname -a"
Linux localhost.localdomain 2.6.5-1.358 #1 Sat May 8 09:04:50 EDT 2004
i686 i686 i386 GNU/Linux
The following is the output from running oskit10/config.guess:
i686-pc-linux-gnu
At the time I did all of these things, I was logged in as root, with
root privileges.
Any help / suggestions will be appreciated. Thank you.
Dennis Newbold
[View Less]
I am facing problems with getting twiddler to compile. I have
binutils-2.15.92.0.2-5. Here is the error. I have header files in
place, I think this is linking problem but I have /usr/lib/libbfd.a
and /usr/lib/libopcodes.a.
[jayesh@orion twiddler]$ make
gcc -W -Wall -g -O2 -DTARGET_X86=1 -lbfd -lopcodes -o twiddler_x86 twiddler.c
/tmp/ccKfu4xD.o(.text+0x4a): In function `disasm_section':
/home/jayesh/l4/tool/twiddler/twiddler.c:158: undefined reference to
`bfd_get_section_contents'
/tmp/…
[View More]ccKfu4xD.o(.text+0x180):/home/jayesh/l4/tool/twiddler/twiddler.c:127:
undefined reference to `print_insn_i386'
/tmp/ccKfu4xD.o(.text+0x31d): In function `main':
/home/jayesh/l4/tool/twiddler/twiddler.c:223: undefined reference to `bfd_init'
/tmp/ccKfu4xD.o(.text+0x335):/home/jayesh/l4/tool/twiddler/twiddler.c:74:
undefined reference to `init_disassemble_info'
/tmp/ccKfu4xD.o(.text+0x341):/home/jayesh/l4/tool/twiddler/twiddler.c:226:
undefined reference to `bfd_openr'
/tmp/ccKfu4xD.o(.text+0x359):/home/jayesh/l4/tool/twiddler/twiddler.c:231:
undefined reference to `bfd_check_format'
/tmp/ccKfu4xD.o(.text+0x36b):/home/jayesh/l4/tool/twiddler/twiddler.c:231:
undefined reference to `bfd_check_format'
/tmp/ccKfu4xD.o(.text+0x380):/home/jayesh/l4/tool/twiddler/twiddler.c:233:
undefined reference to `bfd_map_over_sections'
/tmp/ccKfu4xD.o(.text+0x388):/home/jayesh/l4/tool/twiddler/twiddler.c:237:
undefined reference to `bfd_close'
/tmp/ccKfu4xD.o(.text+0x424):/home/jayesh/l4/tool/twiddler/twiddler.c:227:
undefined reference to `bfd_perror'
collect2: ld returned 1 exit status
make: *** [twiddler_x86] Error 1
Any suggestions?
--
Jayesh
[View Less]
Hi,
I am directing this question to both, the Karlsruhe and the Dresden, L4
mailing list, because I know both are working on new L4 specifications.
(Background:) I am working with L4 in Dresden on real-time systems, which
become fairly complex lately. One of the questions, which began to bother
me more and more, is: What is the use of finite IPC timeouts?
Ideally sending an IPC should be immediate (zero timeout) or should be
performed eventually (infinite timeout). The only (useful) …
[View More]application of
finite timeouts, I have seen so far, is the combination of multiple tasks
in a single threaded server. That is waiting for IPC and for a regularly
appearing timer event. (This sometimes implied adjusting the IPC timeout
by the time used between the IPC waits.) Otherwise the use of finite
timeouts is rather inconvenient, since the time used for the timeout
depends on the whole surrounding system (software and hardware) and is
thus impractical.
I'm personally convinced that you do not need finite IPC timeouts. A
single bit differentiating zero and infinte timeouts should be sufficient.
To imitate the concurrent waiting for an IPC or timer event one could set
up a timer with the kernel and inculde the "timer-source" into the receive
scope of the wait IPC. Timer events can be dropped if the receiver is not
ready. This would also simplify the tasks using IPC timeouts as timer
event source.
Coming back to my questions: What is the use of finite timeouts?
Or maybe the question should be: Would it simplify kernel (and user land)
design if seperating the concepts of finite timeouts and IPC?
If you have reasons to include finite timeouts into future versions of the
L4 Specification, please convince me.
Thanks,
Ron.
--
Ronald Aigner
ra3(a)os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/~ra3/
[View Less]
Hi all,
I've been using a common library linked between three tasks in L4.
I need to link this library with an application in L4Linux too also
share info like the three L4 tasks has been doing.
I've tried almost every variation off the Makefile I could think off,
but the compiler always complain about stuff regarding library L4RM and
L4DM_[MEM/PHYS] which I must include. The library also uses Semaphore-
and Threads libraries.
Any suggestions/reference/examples as to what to do to change a …
[View More]complex
L4 library to be linked into a Linux application would be appreciated.
Thanx
Leon
[View Less]
I recently installed Fedora Core 3 and tried to compile the grub package
for L4 using gcc 3.4.2, I got some trivial compilation errors. Upon
trying the compilation on different machine with gcc 3.1 I found some
code following deprecated practices that escapes as warnings in < 3.4.2
but throws compilation errors with 3.4.2. Here are three such case I
found in the grub package. If this is indeed the case it might be
helpful to make the necessary changes to the repository code.
-------------…
[View More]-----------------------------------------------------------
------------------------------------------------------------------
1) stage2/builtins.c
for gcc version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3):
builtins.c:886: error: missing terminating " character
builtins.c:887: error: `Version' undeclared (first use in this function)
builtins.c:887: error: (Each undeclared identifier is reported only once
builtins.c:887: error: for each function it appears in.)
builtins.c:887: error: syntax error before ':' token
builtins.c:887:20: invalid suffix "x" on integer constant
for gcc version 3.1:
builtins.c:886:20: warning: multi-line string literals are deprecated
2)stage2/fsys_reiserfs.c
for gcc version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3):
typedef unsigned int __u32;
__u32 long j_mount_id;
gives this error:
fsys_reiserfs.c:115: error: long, short, signed or unsigned used
invalidly for
`j_mount_id'
gcc version 3.1:allows it
3)stage2/smp-imps.c
For switch-case construct: switch(i){
Case 1: break;
...
Default:
}
3.1 gives:
warning: deprecated use of label at end of compound
statement
3.4.2 will not allow this:
smp-imps.c:437: error: label at end of compound statement
------------------------------------------------------------------------
------------------------------------------------------------------
After changing the files and getting over the compilation errors I get
some linking errors.
Here is the trace:
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../stage1 -Wall -Wmissing-prototypes
-Wunused -Wshadow -Wpointer-arith -malign-jumps=1 -malign-loops=1
-malign-functions=1 -Wundef -Os -fno-builtin -nostdinc
-DSUPPORT_SERIAL=1
-DSUPPORT_HERCULES=1 -DFSYS_EXT2FS=1 -DFSYS_FAT=1 -DFSYS_FFS=1
-DFSYS_MINIX=1
-DFSYS_REISERFS=1 -DFSYS_VSTAFS=1 -DUSE_MD5_PASSWORDS=1 -g -c -o
pre_stage2_exec-md5.o `test -f md5.c || echo './'`md5.c
md5.c:1: warning: -malign-loops is obsolete, use -falign-loops
md5.c:1: warning: -malign-jumps is obsolete, use -falign-jumps
md5.c:1: warning: -malign-functions is obsolete, use -falign-functions
gcc -g -o pre_stage2.exec -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200
pre_stage2_exec-asm.o pre_stage2_exec-bios.o pre_stage2_exec-boot.o
pre_stage2_exec-builtins.o pre_stage2_exec-common.o
pre_stage2_exec-char_io.o
pre_stage2_exec-cmdline.o pre_stage2_exec-disk_io.o
pre_stage2_exec-gunzip.o
pre_stage2_exec-fsys_ext2fs.o pre_stage2_exec-fsys_fat.o
pre_stage2_exec-fsys_ffs.o pre_stage2_exec-fsys_minix.o
pre_stage2_exec-fsys_reiserfs.o pre_stage2_exec-fsys_vstafs.o
pre_stage2_exec-hercules.o pre_stage2_exec-serial.o
pre_stage2_exec-smp-imps.o
pre_stage2_exec-stage2.o pre_stage2_exec-md5.o
pre_stage2_exec-builtins.o(.text+0x138b): In function `install_func':
/home/jayesh/grub/stage2/builtins.c:1801: undefined reference to
`memcpy'
pre_stage2_exec-builtins.o(.text+0x144b):/home/jayesh/grub/stage2/builti
ns.c:1846:
undefined reference to `memcpy'
pre_stage2_exec-builtins.o(.text+0x2b17): In function `setup_func':
/home/jayesh/grub/stage2/builtins.c:3672: undefined reference to
`memcpy'
collect2: ld returned 1 exit status
make[2]: *** [pre_stage2.exec] Error 1
make[2]: Leaving directory `/home/jayesh/grub/stage2'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jayesh/grub'
make: *** [all] Error 2
My versions of gcc and ld are as follows:
[jayesh@orion grub]$ ld -v
GNU ld version 2.15.92.0.2 20040927
[jayesh@orion grub]$ gcc -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-java-awt=gtk
--host=i386-redhat-linux
Thread model: posix
gcc version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)
I am not sure what is wrong with the linking of memcpy function. Please
advise.
Thanks.
Jayesh
[View Less]
>I recently installed Fedora Core 3 and tried to compile the grub package
>for L4 using gcc 3.4.2
don't use gcc 3.x to compile Grub. It has many things that aren't supported in
earlier versions like strings in printfs scattered through several lines. My
advice to you is use gcc 2.95. Also check if you have ncurses installed in your
system. Use synaptic ;). It's easier.
--
Tiago Jorge
hello...
As described in this paper*(**Using the OSKit as a base for L4
applications), i'm trying to use the oskit to have networking support in
a L4 server.
When i try to build the oskit example, built in the paper, pingreply.c,
i get the following errors:
*
*PWD=/home/tiago/l4/pkg/testecom/server/src/OBJ-x86_586-l4v2 make -C
OBJ-x86_586-l4v2 -f Makefile
make[1]: Entrando no diretório
`/home/tiago/l4/pkg/testecom/server/src/OBJ-x86_586-l4v2'
... Compiling main.o
LD_PRELOAD=/home/tiago/…
[View More]l4/tool/gendep/libgendep.so GENDEP_TARGET=main.o
GENDEP_BINARY=cpp0 gcc-2.95 -c -DRAM_BASE=0x0
-DSYSTEM_x86_586_l4v2 -DARCH_x86 -DCPUTYPE_586 -DL4API_l4v2
-I../../../idl/OBJ-x86-l4v2 -I../../../../../include/x86/l4v2
-I/home/tiago/drops/include/x86/l4v2 -I../../../../../include/l4v2
-I/home/tiago/drops/include/l4v2 -I../../../../../include/x86
-I/home/tiago/drops/include/x86 -I../../../../../include
-I/home/tiago/drops/include -nostdinc -DOSKIT
-I../../../../../../oskit10/freebsd/libc/include
-I../../../../../../oskit10/freebsd/3.x/src/include
-I../../../../../../oskit10/freebsd/3.x/src/sys
-I../../../../../../oskit10 -I../../../../../include/c++/2.95
-I../../../../../include/c++/2.95/drops
-I/home/tiago/drops/include/oskit10
-I/home/tiago/drops/include/oskit10/oskit/freebsd
-I/home/tiago/drops/include/c++/2.95
-I/home/tiago/drops/include/c++/2.95/drops
-I/usr/lib/gcc-lib/i386-linux/2.95.4/include -gstabs+ -g -O2
-fno-strict-aliasing -march=i586 -Wall -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations
/home/tiago/l4/pkg/testecom/server/src/main.c -o main.o
In file included from ../../../../../../oskit10/oskit/c/netinet/in.h:46,
from ../../../../../../oskit10/oskit/net/bootp.h:24,
from /home/tiago/l4/pkg/testecom/server/src/bootp.h:30,
from /home/tiago/l4/pkg/testecom/server/src/main.c:49:
../../../../../../oskit10/oskit/machine/endian.h:82: warning:
`__word_swap_long' redefined
/home/tiago/drops/include/oskit10/oskit/freebsd/machine/endian.h:74:
warning: this is the location of the previous definition
../../../../../../oskit10/oskit/machine/endian.h:99: warning:
`__byte_swap_long' redefined
/home/tiago/drops/include/oskit10/oskit/freebsd/machine/endian.h:91:
warning: this is the location of the previous definition
../../../../../../oskit10/oskit/machine/endian.h:107: warning:
`__byte_swap_word' redefined
/home/tiago/drops/include/oskit10/oskit/freebsd/machine/endian.h:99:
warning: this is the location of the previous definition
../../../../../../oskit10/oskit/machine/endian.h:119: warning: `NTOHL'
redefined
/home/tiago/drops/include/oskit10/oskit/freebsd/machine/endian.h:111:
warning: this is the location of the previous definition
../../../../../../oskit10/oskit/machine/endian.h:120: warning: `NTOHS'
redefined
/home/tiago/drops/include/oskit10/oskit/freebsd/machine/endian.h:112:
warning: this is the location of the previous definition
../../../../../../oskit10/oskit/machine/endian.h:121: warning: `HTONL'
redefined
/home/tiago/drops/include/oskit10/oskit/freebsd/machine/endian.h:113:
warning: this is the location of the previous definition
../../../../../../oskit10/oskit/machine/endian.h:122: warning: `HTONS'
redefined
/home/tiago/drops/include/oskit10/oskit/freebsd/machine/endian.h:114:
warning: this is the location of the previous definition
In file included from ../../../../../../oskit10/oskit/net/bootp.h:24,
from /home/tiago/l4/pkg/testecom/server/src/bootp.h:30,
from /home/tiago/l4/pkg/testecom/server/src/main.c:49:
../../../../../../oskit10/oskit/c/netinet/in.h:104: warning:
`INADDR_ANY' redefined
../../../../../../oskit10/freebsd/3.x/src/sys/netinet/in.h:258: warning:
this is the location of the previous definition
../../../../../../oskit10/oskit/c/netinet/in.h:105: warning:
`INADDR_BROADCAST' redefined
../../../../../../oskit10/freebsd/3.x/src/sys/netinet/in.h:260: warning:
this is the location of the previous definition
../../../../../../oskit10/oskit/c/netinet/in.h:124: warning: `IN_CLASSA'
redefined
../../../../../../oskit10/freebsd/3.x/src/sys/netinet/in.h:232: warning:
this is the location of the previous definition
../../../../../../oskit10/oskit/c/netinet/in.h:130: warning: `IN_CLASSB'
redefined
../../../../../../oskit10/freebsd/3.x/src/sys/netinet/in.h:238: warning:
this is the location of the previous definition
../../../../../../oskit10/oskit/c/netinet/in.h:136: warning: `IN_CLASSC'
redefined
../../../../../../oskit10/freebsd/3.x/src/sys/netinet/in.h:244: warning:
this is the location of the previous definition
../../../../../../oskit10/oskit/c/netinet/in.h:141: warning: `IN_CLASSD'
redefined
../../../../../../oskit10/freebsd/3.x/src/sys/netinet/in.h:249: warning:
this is the location of the previous definition
../../../../../../oskit10/oskit/c/netinet/in.h:147: warning:
`IN_EXPERIMENTAL' redefined
../../../../../../oskit10/freebsd/3.x/src/sys/netinet/in.h:255: warning:
this is the location of the previous definition
../../../../../../oskit10/oskit/c/netinet/in.h:148: warning:
`IN_BADCLASS' redefined
../../../../../../oskit10/freebsd/3.x/src/sys/netinet/in.h:256: warning:
this is the location of the previous definition
In file included from ../../../../../../oskit10/oskit/c/netinet/in.h:46,
from ../../../../../../oskit10/oskit/net/bootp.h:24,
from /home/tiago/l4/pkg/testecom/server/src/bootp.h:30,
from /home/tiago/l4/pkg/testecom/server/src/main.c:49:
../../../../../../oskit10/oskit/machine/endian.h:70: parse error before
`__extension__'
../../../../../../oskit10/oskit/machine/endian.h:70: parse error before `:'
../../../../../../oskit10/oskit/machine/endian.h:70: warning: type
defaults to `int' in declaration of `__X'
../../../../../../oskit10/oskit/machine/endian.h:70: warning: data
definition has no type or storage class
../../../../../../oskit10/oskit/machine/endian.h:70: parse error before `}'
../../../../../../oskit10/oskit/machine/endian.h:71: parse error before
`__extension__'
../../../../../../oskit10/oskit/machine/endian.h:71: parse error before `:'
../../../../../../oskit10/oskit/machine/endian.h:71: warning: type
defaults to `int' in declaration of `__X'
../../../../../../oskit10/oskit/machine/endian.h:71: warning: data
definition has no type or storage class
../../../../../../oskit10/oskit/machine/endian.h:71: parse error before `}'
../../../../../../oskit10/oskit/machine/endian.h:72: parse error before
`__extension__'
../../../../../../oskit10/oskit/machine/endian.h:72: parse error before `:'
../../../../../../oskit10/oskit/machine/endian.h:72: warning: type
defaults to `int' in declaration of `__X'
../../../../../../oskit10/oskit/machine/endian.h:72: warning: data
definition has no type or storage class
../../../../../../oskit10/oskit/machine/endian.h:72: parse error before `}'
../../../../../../oskit10/oskit/machine/endian.h:73: parse error before
`__extension__'
../../../../../../oskit10/oskit/machine/endian.h:73: parse error before `:'
../../../../../../oskit10/oskit/machine/endian.h:73: warning: type
defaults to `int' in declaration of `__X'
../../../../../../oskit10/oskit/machine/endian.h:73: warning: data
definition has no type or storage class
../../../../../../oskit10/oskit/machine/endian.h:73: parse error before `}'
In file included from ../../../../../../oskit10/oskit/net/bootp.h:24,
from /home/tiago/l4/pkg/testecom/server/src/bootp.h:30,
from /home/tiago/l4/pkg/testecom/server/src/main.c:49:
../../../../../../oskit10/oskit/c/netinet/in.h:96: redefinition of
`struct in_addr'
../../../../../../oskit10/oskit/c/netinet/in.h:111: redefinition of
`struct sockaddr_in'
In file included from /home/tiago/l4/pkg/testecom/server/src/main.c:49:
/home/tiago/l4/pkg/testecom/server/src/bootp.h:100: warning: function
declaration isn't a prototype
/home/tiago/l4/pkg/testecom/server/src/main.c:70: warning: no previous
prototype for `fingerclient'
/home/tiago/l4/pkg/testecom/server/src/main.c:141: warning: no previous
prototype for `dateserver'
/home/tiago/l4/pkg/testecom/server/src/main.c: In function `main':
/home/tiago/l4/pkg/testecom/server/src/main.c:279: warning: implicit
declaration of function `get_ipinfo'
make[1]: ** [main.o] Erro 1
make[1]: Saindo do diretório
`/home/tiago/l4/pkg/testecom/server/src/OBJ-x86_586-l4v2'
make: ** [OBJ-x86_586-l4v2] Erro 2
*
*The BID is including doubled headers. I've tried to create a costum
mode in modes.inc and removing some include dirs but it didn't worked as
well, so i have came back to l4env_freebsd. How can i solve this problem?
thanks in advance
Tiago Jorge
** *
**
[View Less]
Twiddler doesn't compile. How do I get bfd.h and dis-asm.h ? Didn't find
them in l4 source.
Thenks
Jayesh
>
> There's a little trick involved here. Such binaries need to be
modified
> for 2.6, use the tool in l4/tool/twiddler for that.
>
>