[uCsimm] debugging with GDB

From: 권석근 (kwonsk@mutech.co.kr)
Date: Sat Jan 15 2000 - 00:28:08 EST


Hi, all

This is my small note on hwo to use gdb on uClinux system.
I have tested this on uCsimm platform and
,in my thought, it also works on other uClinux based system.

It's about debugging user application on the target using
gdbserver. it means remote debugging. GDB on the host machine
controls user application on uCsimm through gdbserver with TCP/IP
connection.

1. preparation.
1.1 Make GDB for m68K cross debugger
Get the source (i've taken gdb-4.18).
Configure it using '--target=m68k-unknown-coff'
 ./configure --target=m68k-unknown-coff
And make.

1.2 Make ptrace library
There is ptrace.c in the uClinux's uC-libc source tree.
(uC-libc/sysdeps/m68k/ptrace.c)
But Strangely, No Makefile includes this. Let's include this.
add one line at the end of file uC-libc/sysdeps/makefile.objs like this,
 write.o \
 m68k/ptrace.o
And make at the base directory. Then you have new libc.a with ptrace.
Replace this libc.a with original. If you don't like replace orignal
libc.a then extract ptrace.o and use this object later
 m68k-pic-coff-ar x libc.a ptrace.o

1.3 Patch the kernel for Trap #1 support(breakpoint)
patch linux/arch/m68knommu/kernel/traps.c

about line 210?
add new vector like this
 _ramvec[15] = trap15;
 _ramvec[33] = trap33; <---- added line
this trap33 is #if 0ed below

delete the line that treat Trap #1 as a Illeagal Instructin Signal
about line 485?
 case VEC_TRAP1: ----> delete this

add new VEC_TRAP1 case statement before defalut case
about line 530?
 case VEC_TRAP1:
  /* kwonsk: is this right? */
  fp->ptregs.pc -= 2;
  sig = SIGTRAP;
  break;
 default:
  sig = SIGILL;
  break;

and make new kernel. and don't forget install this new kernel

1.4 Make gdbserver
Did you installed gdb-4.18? patch gdbserver need gdb-4.18 source tree.

1.4.1 Configure original gdbserver
cd gdb-4.18/gdb/gdbserver
../../configure --target=m68k-linux.coff

1.4.2 patch server.c, server.h low-linux.c, remote-utils.c, util.c
after step1.4.1
I've included diff file.

1.4.3 patch Makefile for gdbserver
chance CC to m68k-pic-coff-gcc, gdbserver will run on
uCsimm.
add line to change stack size using coff2flt (try 32768)
(Don't try make yet).

1.4.4 patch /opt/lib/gcc-lib/m68k-pic-coff/2.7.2.3-pic-060999/spec
why this? this make linker easy. they will complaning about gcrt0.o
libg.o when they compile with -g option.
change *startfile spec {g:gcrt0%O%s} to {g:crt0%O%s}
change *lib spec: remove {g:-lg...}

1.4.5 then make gdbserver
make gdbserver

2. Using GDB
now i have gdb for m68k and gdbserver for uClinux.
then how to debug? probably you already know this.

try with test.c

2.1 Compile test.c
m68k-pic-coff-gcc -g test.c
(will generated test.coff)

2.2 Trying GDB
copy binary (test, not test.coff) to uCsimm
(if you are using nfs then you need not this)
at target:
gdbserver myip:port test
myip: uCsimm's ip) could be omitted.
port: any free port
ex) gdbserver :3000 test
now user application 'test' is ready to debugging at the target side.

at host:
run new gdb. like this
>gdb test.coff

say to 'i'll enter remote debug' to gdb. like this
(gdb) target remote target_ip:3000

of cource target_ip must be a real target ip, saying 192.168.1.200

then go ahead with gdb!

No more.

If you met troble, drop me mail. i could help you.
kwonsk@mutech.co.kr

PS: i could do source level debugging with gdb. And they
traced source file well (like set breakpoint at line 11 of
test.c and show source positon after break).
But when i tried xxgdb (old grapical frontend
for GDB), they didn't show C source file in the source window.
Does anybody know why ? should i try another frontend like
DDD?

begin 666 gdbserver.diff
M9&EF9B M8R!G9&(N;W)G+V=D8B]G9&)S97)V97(O;&]W+6QI;G5X+F,@9V1B
M+30N,3@O9V1B+V=D8G-E<G9E<B]L;W<M;&EN=7@N8PT**BHJ(&=D8BYO<F<O
M9V1B+V=D8G-E<G9E<B]L;W<M;&EN=7@N8PE7960@1&5C(" Y(# U.C0Q.C$X
M(#$Y.3@-"BTM+2!G9&(M-"XQ."]G9&(O9V1B<V5R=F5R+VQO=RUL:6YU>"YC
M"49R:2!*86X@,30@,3 Z,38Z-3,@,C P, T**BHJ*BHJ*BHJ*BHJ*BHJ#0HJ
M*BH@,C4L,S$@*BHJ*@T*(" C:6YC;'5D92 \<W1D:6\N:#X-"B @(VEN8VQU
M9&4@/'-Y<R]P87)A;2YH/@T*(" C:6YC;'5D92 \<WES+V1I<BYH/@T*(2 C
M:6YC;'5D92 \<WES+W5S97(N:#X-"B @(VEN8VQU9&4@/'-I9VYA;"YH/@T*
M(" C:6YC;'5D92 \<WES+VEO8W1L+F@^#0H@("-I9B P#0HM+2T@,C4L,S$@
M+2TM+0T*(" C:6YC;'5D92 \<W1D:6\N:#X-"B @(VEN8VQU9&4@/'-Y<R]P
M87)A;2YH/@T*(" C:6YC;'5D92 \<WES+V1I<BYH/@T*(2 C:6YC;'5D92 \
M;&EN=7@O=7-E<BYH/@T*(" C:6YC;'5D92 \<VEG;F%L+F@^#0H@("-I;F-L
M=61E(#QS>7,O:6]C=&PN:#X-"B @(VEF(# -"BHJ*BHJ*BHJ*BHJ*BHJ*@T*
M*BHJ(#,S+#,X("HJ*BH-"BTM+2 S,RPT-" M+2TM#0H@("-E;F1I9@T*(" C
M:6YC;'5D92 \9F-N=&PN:#X-"B @#0HK("\J(&MW;VYS:R J+PT**R C9&5F
M:6YE(%1!4D=%5%]--CA+#0HK("-D969I;F4@55]214=37T]&1E-%5" P#0HK
M( T**R C9&5F:6YE(%)%1TE35$527U5?041$4B H861D<BP@8FQO8VME;F0L
M(')E9VYO*2!<#0HK( T*(" O*BHJ*BHJ*BHJ*BHJ*BHJ0F5G:6X@35D@9&5F
M<RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*B\-"B @:6YT('%U:71?9FQA9R ](# [
M#0H@(&-H87(@<F5G:7-T97)S6U)%1TE35$527T)95$5373L-"BHJ*BHJ*BHJ
M*BHJ*BHJ*@T**BHJ(#0T+#4U("HJ*BH-"B @8VAA<B!B=68R6TU!6%]214=)
M4U1%4E]205=?4TE:15T[#0H@("\J*BHJ*BHJ*BHJ*BHJ*BI%;F0@35D@9&5F
M<RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*B\-"B @#0HA("-I;F-L=61E(#QS>7,O
M<'1R86-E+F@^#0H@( T*(" C:68@7U]'3$E"0U]?(#X@,B!\?" H7U]'3$E"
M0U]?(#T](#(@)B8@7U]'3$E"0U]-24Y/4E]?(#X](#$I#0H@("-I;F-L=61E
M(#QS>7,O<F5G+F@^#0H@("-E;F1I9@T*(" -"B @97AT97)N(&-H87(@*BIE
M;G9I<F]N.PT*("!E>'1E<FX@:6YT(&5R<FYO.PT*("!E>'1E<FX@:6YT(&EN
M9F5R:6]R7W!I9#L-"BTM+2 U,"PV-" M+2TM#0H@(&-H87(@8G5F,EM-05A?
M4D5'25-415)?4D%77U-)6D5=.PT*(" O*BHJ*BHJ*BHJ*BHJ*BHJ16YD($U9
M(&1E9G,J*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHO#0H@( T*(2 C:6YC;'5D92 \
M;&EN=7@O<'1R86-E+F@^#0H@( T*(" C:68@7U]'3$E"0U]?(#X@,B!\?" H
M7U]'3$E"0U]?(#T](#(@)B8@7U]'3$E"0U]-24Y/4E]?(#X](#$I#0H@("-I
M;F-L=61E(#QS>7,O<F5G+F@^#0H@("-E;F1I9@T*(" -"BL@<W1A=&EC('5N
M<VEG;F5D(&EN="!C;V1E7W-T87)T.PT**R!S=&%T:6,@=6YS:6=N960@:6YT
M(&1A=&%?<W1A<G0[( T**R!S=&%T:6,@=6YS:6=N960@:6YT(&)S<U]S=&%R
M=#L@#0H@(&5X=&5R;B!C:&%R("HJ96YV:7)O;CL-"B @97AT97)N(&EN="!E
M<G)N;SL-"B @97AT97)N(&EN="!I;F9E<FEO<E]P:60[#0HJ*BHJ*BHJ*BHJ
M*BHJ*BH-"BHJ*B V-RPW,R J*BHJ#0H@('L-"B @("!I;G0@<&ED.PT*(" -
M"B$@("!P:60@/2!F;W)K("@I.PT*(" @(&EF("AP:60@/" P*0T*(" @(" @
M<&5R<F]R7W=I=&A?;F%M92 H(F9O<FLB*3L-"B @#0HM+2T@-S8L.#(@+2TM
M+0T*("![#0H@(" @:6YT('!I9#L-"B @#0HA(" @<&ED(#T@=F9O<FL@*"D[
M#0H@(" @:68@*'!I9" \(# I#0H@(" @("!P97)R;W)?=VET:%]N86UE("@B
M9F]R:R(I.PT*(" -"BHJ*BHJ*BHJ*BHJ*BHJ*@T**BHJ(#<W+#@T("HJ*BH-
M"B @#0H@(" @(" @(&5X96-V("AP<F]G<F%M+"!A;&QA<F=S*3L-"B @#0HA
M(" @(" @(&9P<FEN=&8@*'-T9&5R<BP@(D-A;FYO="!E>&5C("5S.B E<RY<
M;B(L('!R;V=R86TL#0HA( D@(" @(" @97)R;F\@/"!S>7-?;F5R<B _('-Y
M<U]E<G)L:7-T6V5R<FYO72 Z(")U;FMN;W=N(&5R<F]R(BD[#0H@(" @(" @
M(&9F;'5S:" H<W1D97)R*3L-"B @(" @(" @7V5X:70@*# Q-S<I.PT*(" @
M(" @?0T*+2TM(#@V+#DR("TM+2T-"B @#0H@(" @(" @(&5X96-V("AP<F]G
M<F%M+"!A;&QA<F=S*3L-"B @#0HA(" @(" @(&9P<FEN=&8@*'-T9&5R<BP@
M(D-A;FYO="!E>&5C("5S7&XB+"!P<F]G<F%M*3L-"B @(" @(" @9F9L=7-H
M("AS=&1E<G(I.PT*(" @(" @("!?97AI=" H,#$W-RD[#0H@(" @("!]#0HJ
M*BHJ*BHJ*BHJ*BHJ*BH-"BHJ*B Q,3,L,3$Y("HJ*BH-"B @(" @("!C:&%R
M("IS=&%T=7,[#0H@('L-"B @("!I;G0@<&ED.PT*(2 @('5N:6]N('=A:70@
M=SL-"B @#0H@(" @<&ED(#T@=V%I=" H)G<I.PT*(" @(&EF("AP:60@(3T@
M:6YF97)I;W)?<&ED*0T*+2TM(#$R,2PQ,C<@+2TM+0T*(" @(" @(&-H87(@
M*G-T871U<SL-"B @>PT*(" @(&EN="!P:60[#0HA(" @:6YT('<[#0H@( T*
M(" @('!I9" ]('=A:70@*"9W*3L-"B @("!I9B H<&ED("$](&EN9F5R:6]R
M7W!I9"D-"BHJ*BHJ*BHJ*BHJ*BHJ*@T**BHJ(#(T,BPR-#@@*BHJ*@T*(" @
M(&EF("AR96=N;R \(# @?'P@<F5G;F\@/CT@05)#2%].54U?4D5'4RD-"B @
M(" @(&5R<F]R("@B26YV86QI9"!R96=I<W1E<B!N=6UB97(@)60N(BP@<F5G
M;F\I.PT*(" -"B$@("!214=)4U1%4E]57T%$1%(@*&%D9'(L(&)L;V-K96YD
M+"!R96=N;RD[#0H@( T*(" @(')E='5R;B!A9&1R.PT*("!]#0HM+2T@,C4P
M+#(U-R M+2TM#0H@(" @:68@*')E9VYO(#P@,"!\?"!R96=N;R ^/2!!4D-(
M7TY535]214=3*0T*(" @(" @97)R;W(@*"));G9A;&ED(')E9VES=&5R(&YU
M;6)E<B E9"XB+"!R96=N;RD[#0H@( T*(2 @("\O(%)%1TE35$527U5?041$
M4B H861D<BP@8FQO8VME;F0L(')E9VYO*3L-"B$@("!A9&1R(#T@;38X:U]L
M:6YU>%]R96=I<W1E<E]U7V%D9'(@*&)L;V-K96YD+"!R96=N;RD[#0H@( T*
M(" @(')E='5R;B!A9&1R.PT*("!]#0HJ*BHJ*BHJ*BHJ*BHJ*BH-"BHJ*B T
M,S<L-#0S("HJ*BH-"B @#0H@(" @<F5T=7)N(# [#0H@('T-"B$@# T*("!V
M;VED#0H@(&EN:71I86QI>F4@*"D-"B @>PT*+2TM(#0T-BPT-3(@+2TM+0T*
M(" -"B @("!R971U<FX@,#L-"B @?0T*(2 -"B @=F]I9 T*("!I;FET:6%L
M:7IE("@I#0H@('L-"BHJ*BHJ*BHJ*BHJ*BHJ*@T**BHJ(#0T."PT-3$@*BHJ
M*@T*+2TM(#0U-RPT-SD@+2TM+0T*("!H879E7VEN9F5R:6]R7W @*"D-"B @
M>PT*(" @(')E='5R;B!I;F9E<FEO<E]P:60@(3T@,#L-"BL@?0T**R -"BL@
M=F]I9 T**R!S96YD7V%R96$H8VAA<B J8G5F*0T**R![#0HK(" @("!S<')I
M;G1F*&)U9BPB5&5X=#TE<#M$871A/25P.T)S<STE<#LB+"!C;V1E7W-T87)T
M+3!X,3 P,# L(&1A=&%?<W1A<G0L(&)S<U]S=&%R="D[#0HK('T-"BL@#0HK
M('9O:60-"BL@<VAO=U]A<F5A*"D-"BL@>PT**R -"BL@(" @(&-O9&5?<W1A
M<G0@/2!P=')A8V4@*%!44D%#15]0145+55-2+"!I;F9E<FEO<E]P:60L#0HK
M( D)"0D@*%!44D%#15]!4D<S7U194$4I(#0Y*C0L(# I.PT**R @(" @9&%T
M85]S=&%R=" ]('!T<F%C92 H4%1204-%7U!%14M54U(L(&EN9F5R:6]R7W!I
M9"P-"BL@"0D)"2 H4%1204-%7T%21S-?5%E012D@-3 J-"P@,"D[#0HK(" @
M("!B<W-?<W1A<G0@/2!D871A7W-T87)T.PT**R @(" @#0HK(" @("!F<')I
M;G1F*'-T9&5R<BPB8V]D92!A=" E<"P@9&%T82!A=" E<%QN(BP@8V]D95]S
M=&%R="P@9&%T85]S=&%R="D[#0H@('T-"F1I9F8@+6,@9V1B+F]R9R]G9&(O
M9V1B<V5R=F5R+W)E;6]T92UU=&EL<RYC(&=D8BTT+C$X+V=D8B]G9&)S97)V
M97(O<F5M;W1E+75T:6QS+F,-"BHJ*B!G9&(N;W)G+V=D8B]G9&)S97)V97(O
M<F5M;W1E+75T:6QS+F,)4V%T($UA<B R,2 P.#HU,3HT-2 Q.3DX#0HM+2T@
M9V1B+30N,3@O9V1B+V=D8G-E<G9E<B]R96UO=&4M=71I;',N8PE4:'4@2F%N
M(#$S(#$Y.C4R.C0W(#(P,# -"BHJ*BHJ*BHJ*BHJ*BHJ*@T**BHJ(#$S,2PQ
M-# @*BHJ*@T*(" @(" @("!I9B H<F5M;W1E7V1E<V,@/3T@+3$I#0H@( EP
M97)R;W)?=VET:%]N86UE("@B06-C97!T(&9A:6QE9"(I.PT*(" -"BT@(" @
M(" @<')O=&]E;G0@/2!G971P<F]T;V)Y;F%M92 H(G1C<"(I.PT*+2 @(" @
M("!I9B H(7!R;W1O96YT*0T*+2 )<&5R<F]R7W=I=&A?;F%M92 H(F=E='!R
M;W1O8GEN86UE(BD[#0HM( T*(" @(" @(" O*B!%;F%B;&4@5$-0(&ME97 @
M86QI=F4@<')O8V5S<RX@*B\-"B @(" @(" @=&UP(#T@,3L-"B @(" @(" @
M<V5T<V]C:V]P=" H=&UP7V1E<V,L(%-/3%]33T-+150L(%-/7TM%15!!3$E6
M12P@*&-H87(@*BDF=&UP+"!S:7IE;V8H=&UP*2D[#0HM+2T@,3,Q+#$S-B M
M+2TM#0HJ*BHJ*BHJ*BHJ*BHJ*BH-"BHJ*B Q-#(L,30X("HJ*BH-"B @(" @
M(" @+RH@5&5L;"!40U @;F]T('1O(&1E;&%Y('-M86QL('!A8VME=',N("!4
M:&ES(&=R96%T;'D@<W!E961S('5P#0H@( D@:6YT97)A8W1I=F4@<F5S<&]N
M<V4N("HO#0H@(" @(" @('1M<" ](#$[#0HA(" @(" @('-E='-O8VMO<'0@
M*')E;6]T95]D97-C+"!P<F]T;V5N="T^<%]P<F]T;RP@5$-07TY/1$5,05DL
M#0H@( D)(" H8VAA<B J*29T;7 L('-I>F5O9BAT;7 I*3L-"B @#0H@(" @
M(" @(&-L;W-E("AT;7!?9&5S8RD["0DO*B!.;R!L;VYG97(@;F5E9"!T:&ES
M("HO#0HM+2T@,3,X+#$T-" M+2TM#0H@(" @(" @("\J(%1E;&P@5$-0(&YO
M="!T;R!D96QA>2!S;6%L;"!P86-K971S+B @5&AI<R!G<F5A=&QY('-P965D
M<R!U< T*(" )(&EN=&5R86-T:79E(')E<W!O;G-E+B J+PT*(" @(" @("!T
M;7 @/2 Q.PT*(2 @(" @("!S971S;V-K;W!T("AR96UO=&5?9&5S8RP@-B\J
M(%!23U1/7U1#4" J+RP@5$-07TY/1$5,05DL#0H@( D)(" H8VAA<B J*29T
M;7 L('-I>F5O9BAT;7 I*3L-"B @#0H@(" @(" @(&-L;W-E("AT;7!?9&5S
M8RD["0DO*B!.;R!L;VYG97(@;F5E9"!T:&ES("HO#0I/;FQY(&EN(&=D8BTT
M+C$X+V=D8B]G9&)S97)V97(O.B!R96UO=&4M=71I;',N;PT*9&EF9B M8R!G
M9&(N;W)G+V=D8B]G9&)S97)V97(O<V5R=F5R+F,@9V1B+30N,3@O9V1B+V=D
M8G-E<G9E<B]S97)V97(N8PT**BHJ(&=D8BYO<F<O9V1B+V=D8G-E<G9E<B]S
M97)V97(N8PE3870@36%R(#(Q(# X.C,S.C(U(#$Y.3@-"BTM+2!G9&(M-"XQ
M."]G9&(O9V1B<V5R=F5R+W-E<G9E<BYC"49R:2!*86X@,30@,#DZ,C@Z,C(@
M,C P, T**BHJ*BHJ*BHJ*BHJ*BHJ#0HJ*BH@-C4L-S @*BHJ*@T*+2TM(#8U
M+#<Q("TM+2T-"B @("!S:6=N86P@/2!S=&%R=%]I;F9E<FEO<B H)F%R9W9;
M,ETL("9S=&%T=7,I.PT*(" -"B @(" O*B!792!A<F4@;F]W('-T;W!P960@
M870@=&AE(&9I<G-T(&EN<W1R=6-T:6]N(&]F('1H92!T87)G970@<')O8V5S
M<R J+PT**R @('-H;W=?87)E82@I.PT*(" -"B @("!W:&EL92 H,2D-"B @
M(" @('L-"BHJ*BHJ*BHJ*BHJ*BHJ*@T**BHJ(#$R."PQ,S,@*BHJ*@T*+2TM
M(#$R.2PQ-#<@+2TM+0T*(" )(" @(" @96QS90T*(" )"7=R:71E7V5N;B H
M;W=N7V)U9BD[#0H@( D@(" @("!B<F5A:SL-"BL@"2 @("!C87-E("=Q)SH-
M"BL@"2 @(" @('-W:71C:" H;W=N7V)U9ELQ72D@>PT**R )"2 @8V%S92 G
M0R<Z#0HK( D@(" @(" )"6]W;E]B=69;,%T@/2 G7# G.PT**R )"2 @"6)R
M96%K.PT**R )"2 @8V%S92 G3R<Z#0HK( D)"7-E;F1?87)E82AO=VY?8G5F
M*3L-"BL@"2 @(" @( D)8G)E86L[#0HK( D)("!D969A=6QT.@T**R )(" @
M(" @"0EO=VY?8G5F6S!=(#T@)UPP)SL-"BL@"0D@( EB<F5A:SL-"BL@"2 @
M(" @('T-"BL@"2 @(" @(&)R96%K.PT*(" )(" @(&-A<V4@)T,G.@T*(" )
M(" @(" @8V]N=F5R=%]A<V-I:5]T;U]I;G0@*&]W;E]B=68@*R Q+" F<VEG
M+" Q*3L-"B @"2 @(" @(&UY<F5S=6UE("@P+"!S:6<I.PT**BHJ*BHJ*BHJ
M*BHJ*BHJ#0HJ*BH@,C4V+#(U." J*BHJ#0HM+2T@,C<P+#(W-R M+2TM#0H@
M( E]#0H@(" @("!]#0H@('T-"BL@#0HK('9O:60@7V-L96%N=7 H*0T**R![
M#0HK('T-"BL@#0ID:69F("UC(&=D8BYO<F<O9V1B+V=D8G-E<G9E<B]S97)V
M97(N:"!G9&(M-"XQ."]G9&(O9V1B<V5R=F5R+W-E<G9E<BYH#0HJ*BH@9V1B
M+F]R9R]G9&(O9V1B<V5R=F5R+W-E<G9E<BYH"5-A="!-87(@,C$@,#@Z,S,Z
M,C8@,3DY. T*+2TM(&=D8BTT+C$X+V=D8B]G9&)S97)V97(O<V5R=F5R+F@)
M1G)I($IA;B Q-" P.3HR.#HU," R,# P#0HJ*BHJ*BHJ*BHJ*BHJ*BH-"BHJ
M*B W,"PW,B J*BHJ#0HM+2T@-S L-S8@+2TM+0T*(" O*B!&=6YC=&EO;G,@
M9G)O;2!U=&EL<RYC("HO#0H@( T*("!V;VED('!E<G)O<E]W:71H7VYA;64@
M4$%204U3("@H8VAA<B J<W1R:6YG*2D[#0HK( T**R O*B!&=6YC=&EO;G,@
M9G)O;2!L;W<M;&EN=7@N8R J+PT**R!V;VED('-H;W=?87)E82AV;VED*3L-
M"BL@=F]I9"!S96YD7V%R96$H8VAA<B J8G5F*3L-"F1I9F8@+6,@9V1B+F]R
M9R]G9&(O9V1B<V5R=F5R+W5T:6QS+F,@9V1B+30N,3@O9V1B+V=D8G-E<G9E
M<B]U=&EL<RYC#0HJ*BH@9V1B+F]R9R]G9&(O9V1B<V5R=F5R+W5T:6QS+F,)
M4V%T($%U9R @.2 Q,SHT.3HT." Q.3DW#0HM+2T@9V1B+30N,3@O9V1B+V=D
M8G-E<G9E<B]U=&EL<RYC"5=E9"!*86X@,3(@,3@Z-3DZ,C0@,C P, T**BHJ
M*BHJ*BHJ*BHJ*BHJ#0HJ*BH@,S<L-#8@*BHJ*@T*(" @(&-H87(@*F5R<CL-
M"B @("!C:&%R("IC;VUB:6YE9#L-"B @#0HA(" @:68@*&5R<FYO(#P@<WES
M7VYE<G(I#0HA(" @("!E<G(@/2!S>7-?97)R;&ES=%ME<G)N;UT[#0HA(" @
M96QS90T*(2 @(" @97)R(#T@(G5N:VYO=VX@97)R;W(B.PT*(" -"B @("!C
M;VUB:6YE9" ]("AC:&%R("HI(&%L;&]C82 H<W1R;&5N("AE<G(I("L@<W1R
M;&5N("AS=')I;F<I("L@,RD[#0H@(" @<W1R8W!Y("AC;VUB:6YE9"P@<W1R
M:6YG*3L-"BTM+2 S-RPT,R M+2TM#0H@(" @8VAA<B J97)R.PT*(" @(&-H
M87(@*F-O;6)I;F5D.PT*(" -"B$@(" @(&5R<B ](")U;FMN;W=N(&5R<F]R
M("AY970A.B!K=V]N<VLI(CL-"B @#0H@(" @8V]M8FEN960@/2 H8VAA<B J
M*2!A;&QO8V$@*'-T<FQE;B H97)R*2 K('-T<FQE;B H<W1R:6YG*2 K(#,I
C.PT*(" @('-T<F-P>2 H8V]M8FEN960L('-T<FEN9RD[#0H`
`
end

This message resent by the ucsimm@uclinux.com list server http://www.uClinux.com/



This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:34 EST