[ECOS] webserver don't run on ecos : Program received signal

Gary Thomas gthomas@redhat.com
Tue Aug 1 12:13:00 GMT 2000


Comments below, mixed in with the message.

On 01-Aug-2000 Guillermo GARCIA wrote:
> hi all,
> 
> i receive the following mail :
> It looks to me like this user is not using the correct Makefile.  I just =
> tried it here and everything works just fine.  Here are the steps I =
> took:
> 
> 1. Unpack the 'tar', file.
> 
> ok
> 
> 2. cd .../ECOS (... is where I unpacked the files)
> 
> ok
> 
> 3. "edit" Makefile
> 
> These lines need to be modified. There are two extant examples in the =
> file.
> 
>##PKG_INSTALL_DIR :=3D /work/net_mbx/install
> 
> ok -> PKG_INSTALL_DIR :=3D /d/eCos2/conf_install
> 
>##COMMAND_PREFIX :=3D powerpc-eabi-
> 
> ok -> COMMAND_PREFIX :=3D arm-elf-
> 
> 
>##CFLAGS :=3D -mcpu=3D860 -msoft-float $(DEBUG)
> 
> ok -> CFLAGS :=3D -mcpu=3Darm7tdmi -D__EDB7209 -D__EDB7212 $(DEBUG)
> 
> 
> 4. make
> 
> The 'make' output quoted below tells me the user is not using the ECOS =
> makefile since the -DECOS flag is not present.
> 
> As for who to ask for additional assistance, the best way to get answers =
> is via the mailing list 'ecos-discuss@sourceware.cygnus.com' There are =
> many knowledgeable folks on this list, not just the eCos developers. =
> Chances are, you'll get a speedy response, with the added bonus that the =
> rest of the eCos community gets to benefit from the questions and =
> answers.
> 
> i still have the error
> 
> gcc -o webcomp -O2 -DWEBS -DUEMF -DOS=3D"Linux" -DLINUX -I.. 
> ../webcomp.c
> In file included from ../wsIntrn.h:114,
>                  from ../webcomp.c:21:
> ../uemf.h:194: redefinition of `struct timeval'
> ../webcomp.c: In function `compile':
> ../webcomp.c:121: warning: comparison of distinct pointer types lacks a 
> cast
> make: *** [webcomp] Error 1
> 

Can you send the _entire_ output from "make"?  The line quoted above is quite
troublesome since it does not have the appropriate flags.  E.g. when I build
this [on a different platform], I get lines such as:

sh-elf-gcc -c -o main.o -ml -m3 -ggdb -Wall -O2 -DWEBS -DUEMF -DWEBS_PAGE_ROM -DOS="eCos" -DECOS
-D__ECOS -D__NO_FCNTL=1 -I.. -Wall -I/work/net2_hp/install/include -ffunction-sections
-fdata-sections -Wp,-MD,main.d main.c
main.c: In function `send':
main.c:252: warning: passing arg 2 of `write' discards qualifiers from pointer target type
sh-elf-gcc -c -o webrom.o -ml -m3 -ggdb -Wall -O2 -DWEBS -DUEMF -DWEBS_PAGE_ROM -DOS="eCos" -DECOS
-D__ECOS -D__NO_FCNTL=1 -I.. -Wall -I/work/net2_hp/install/include -ffunction-sections
-fdata-sections -Wp,-MD,webrom.d webrom.c

Notice the -DECOS and -DWEBS -DUEMF -DWEBS_PAGE_ROM.  I'm still not convinced that
you are following the build instructions properly.  If you don't, the outcome is
certainly questionable.

> but it's easy to resolve it.
> i define this : #define WEBS_PAGE_ROM 1 in file wsIntrn.h.
> 
> 
> i have at last the binary for my cirrus logic board
> so with the red hat ecos configuration tool i run
> webs.exe and i have the output below :
> 
> *** 09:43:51 Run started
> GNU gdb 20000314
> Copyright 1998 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you 
> are
> welcome to change it and/or distribute copies of it under certain 
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for 
> details.
> This GDB was configured as "--host=3Di686-pc-cygwin 
> --target=3Darm-elf"...
> (gdb) set height 0
> set height 0
> (gdb) set remotedebug 0
> set remotedebug 0
> (gdb) set remotebaud 38400
> set remotebaud 38400
> (gdb) target remote com1
> target remote com1
> Remote debugging using com1
> 0xe0001750 in ?? ()
> (gdb) load
> load
> Loading section .rom_vectors, size 0x60 lma 0x8000
> Loading section .text, size 0x3850c lma 0x8060
> Loading section .rodata, size 0x41d9 lma 0x4056c
> Loading section .data, size 0x103b78 lma 0x44748
> Start address 0x8060 , load size 1311421
> Transfer rate: 27039 bits/sec, 305 bytes/write.
> (gdb) break cyg_test_exit
> break cyg_test_exit
> Breakpoint 1 at 0x33e18: file 
> //C/PROGRA~1/REDHAT~1/eCos/packages/infra/v1_3_1/src/tcdiag.cxx, line 
> 116.
> (gdb) break cyg_assert_fail
> break cyg_assert_fail
> Function "cyg_assert_fail" not defined.
> (gdb) break cyg_test_init
> break cyg_test_init
> Function "cyg_test_init" not defined.
> (gdb) cont
> cont
> Continuing.
> Init device '/dev/ttydiag'
> Init tty channel: 148218
> Init device '/dev/haldiag'
> HAL/diag SERIAL init
> Network stack using 65536 bytes for misc space
>                     65536 bytes for mbufs
>                     131072 bytes for mbuf clusters
> Init device 'edb7xxx'
> cs8900 init
> CS8900 - type: 630E, rev: 800
> CS8900 - status: D6 (no EEPROM present)
> BOOTP[eth0] op: REPLY
>        hw_type: Ethernet
>        hw_addr: FF:FF:FF:FF:FF:FF
>      client IP: 10.20.2.202
>          my IP: 10.20.2.202
>      server IP: 10.20.2.48
>     gateway IP: 10.20.2.250
>   options:
>         subnet mask: 255.255.255.0
>        IP broadcast: 10.20.2.255
> [New thread 2]
> 
> Program received signal SIGBUS, Bus error.
> [Switching to thread 2]
> 0xe274 in hashIndex (tp=3D0x1ff00c12, name=3D0x151849 "") at 
> ../sym.c:430
> 430  return sum % tp->hash_size;
> (gdb) set cyg_test_is_simulator=3D0
> set cyg_test_is_simulator=3D0
> Address of symbol "cyg_test_is_simulator" is unknown.
> (gdb) cont
> cont
> Continuing.
> 
> Program received signal SIGBUS, Bus error.
> 0xe0a4 in symEnter (sd=3D8, name=3D0x151834 "/graphics/sidebar.gif", 
> v=3D{value =3D {
>         flag =3D 76 'L', byteint =3D 76 'L', shortint =3D 26444, percent 
> =3D 76 'L',=20
>         integer =3D 1337164, hex =3D 1337164, octal =3D 1337164, big =3D 
> {1337164, 0},=20
>         string =3D 0x14674c "|)\004", bytes =3D 0x14674c "|)\004",=20
>         errmsg =3D 0x14674c "|)\004", symbol =3D 0x14674c}, type =3D 
> integer,=20
>       valid =3D 1, allocated =3D 0}, arg=3D0) at ../sym.c:284
> 284  if ((sp =3D tp->hash_table[hindex]) !=3D NULL) {
> (gdb) *** 09:51:20 Run complete
> 
> the error come from hAlloc that return -1. but i don't know why ?
> and that is why i have the "(113) No route to host".
> 

Did you remember to update your eCos 'malloc heap size'?  This needs
to be done before you build your eCos kernel library.  You'll need to
set the CDL variable as follows:

cdl_option CYGNUM_LIBC_MALLOC_MEMPOOL_SIZE {
    user_value 1638400
};




More information about the Ecos-discuss mailing list