www.digitalmars.com         C & C++   DMDScript  

c++.windows.32-bits - win32 pthread using dmc

reply Anuj Goyal <Anuj_member pathlink.com> writes:
used dmc to build win32-pthread (http://sources.redhat.com/pthreads-win32/). it
compiles and links wihtout problems, however, I get runtime error for a very
simple program.  I want to use win32-pthread because it is very similar to
pthread on unix and my code becomes a LOT more portable (see below).  I have a
feeling I compiled | linked the pthread library incorrectly that is why I am
getting the error.  Unfortunately I can not make a smaller test case because it
includes the entire pthread library that I built (from the link above).


/* This is the error that I got in a popup window. */

unknown has generated errors and will be closed by Windows
You will need to restart the program

An error log is being created





/* hello.c
* dmc -I.;c:dminclude -WA -v2 hello.c pthread.lib
*/
#ifdef(_WIN32)
#include "pthread.h"
#else /* POSIX-like */
#include <pthread.h>
#endif 

#include <stdio.h>

#define NUM_THREADS	5

void *sayhello(void *threadid)
{
printf("\n%d: Hello World!\n", threadid);
pthread_exit(NULL);
return;
}

int main(int argc, char *argv[])
{
pthread_t threads[NUM_THREADS];
int rc, t;
for(t=0;t<NUM_THREADS;t++){
printf("Creating thread %d\n", t);
rc = pthread_create(&threads[t], NULL, sayhello, (void *)t);
if (rc){
printf("ERROR; return code from pthread_create() is %d\n", rc);
/* exit(-1); */
}
}
pthread_exit(NULL);

}

Anuj Goyal
Jun 22 2004
next sibling parent reply Arjan Knepper <arjan ask.me> writes:
On which line in the sample app does you application cause the error?

Arjan

Anuj Goyal wrote:

 used dmc to build win32-pthread (http://sources.redhat.com/pthreads-win32/). it
 compiles and links wihtout problems, however, I get runtime error for a very
 simple program.  I want to use win32-pthread because it is very similar to
 pthread on unix and my code becomes a LOT more portable (see below).  I have a
 feeling I compiled | linked the pthread library incorrectly that is why I am
 getting the error.  Unfortunately I can not make a smaller test case because it
 includes the entire pthread library that I built (from the link above).
 
 
 /* This is the error that I got in a popup window. */
 
 unknown has generated errors and will be closed by Windows
 You will need to restart the program
 
 An error log is being created
 
 
 
 
 
 /* hello.c
 * dmc -I.;c:dminclude -WA -v2 hello.c pthread.lib
 */
 #ifdef(_WIN32)
 #include "pthread.h"
 #else /* POSIX-like */
 #include <pthread.h>
 #endif 
 
 #include <stdio.h>
 
 #define NUM_THREADS	5
 
 void *sayhello(void *threadid)
 {
 printf("\n%d: Hello World!\n", threadid);
 pthread_exit(NULL);
 return;
 }
 
 int main(int argc, char *argv[])
 {
 pthread_t threads[NUM_THREADS];
 int rc, t;
 for(t=0;t<NUM_THREADS;t++){
 printf("Creating thread %d\n", t);
 rc = pthread_create(&threads[t], NULL, sayhello, (void *)t);
 if (rc){
 printf("ERROR; return code from pthread_create() is %d\n", rc);
 /* exit(-1); */
 }
 }
 pthread_exit(NULL);
 
 }
 
 Anuj Goyal
Jun 23 2004
parent reply Anuj Goyal <Anuj_member pathlink.com> writes:
on this line:

rc = pthread_create(&threads[t], NULL, sayhello, (void *)t);

feel free to contact me off list, I can show you how I compiled the pthread
lib/dll.  

I did the compile,link in one swooop ...did the download from here
ftp://sources.redhat.com/pub/pthreads-win32 and get this file
ftp://sources.redhat.com/pub/pthreads-win32/pthreads-2004-06-22.exe

after unzip, goto the pthreads dir:

dmc -I.;c:\dm\include -D_MT -DHAVE_CONFIG_H -WD pthread.c
user32.lib+kernel32.lib+wsock32.lib -L/impl

rem _MT is needed to pick up _beginthread() in c:\dm\include\process.h
rem i dunno why wsock32.lib is needed!

I read your page:
http://www.arjanknepper.com/Programming/C++/C++.html

does everything on this page still hold true? MS has a reasonably standards
compliant compiler VS.NET 2005 (still slower than digital mars) but I think they
are giving away their compiler for free these days (at least VS.NET 2003 is free
off the web)

I really like dmc, but I wish there were more examples of how to use it.

In article <cbbahi$23un$1 digitaldaemon.com>, Arjan Knepper says...
On which line in the sample app does you application cause the error?

Arjan

Anuj Goyal wrote:

 used dmc to build win32-pthread (http://sources.redhat.com/pthreads-win32/). it
 compiles and links wihtout problems, however, I get runtime error for a very
 simple program.  I want to use win32-pthread because it is very similar to
 pthread on unix and my code becomes a LOT more portable (see below).  I have a
 feeling I compiled | linked the pthread library incorrectly that is why I am
 getting the error.  Unfortunately I can not make a smaller test case because it
 includes the entire pthread library that I built (from the link above).
 
 
 /* This is the error that I got in a popup window. */
 
 unknown has generated errors and will be closed by Windows
 You will need to restart the program
 
 An error log is being created
 
 
 
 
 
 /* hello.c
 * dmc -I.;c:dminclude -WA -v2 hello.c pthread.lib
 */
 #ifdef(_WIN32)
 #include "pthread.h"
 #else /* POSIX-like */
 #include <pthread.h>
 #endif 
 
 #include <stdio.h>
 
 #define NUM_THREADS	5
 
 void *sayhello(void *threadid)
 {
 printf("\n%d: Hello World!\n", threadid);
 pthread_exit(NULL);
 return;
 }
 
 int main(int argc, char *argv[])
 {
 pthread_t threads[NUM_THREADS];
 int rc, t;
 for(t=0;t<NUM_THREADS;t++){
 printf("Creating thread %d\n", t);
 rc = pthread_create(&threads[t], NULL, sayhello, (void *)t);
 if (rc){
 printf("ERROR; return code from pthread_create() is %d\n", rc);
 /* exit(-1); */
 }
 }
 pthread_exit(NULL);
 
 }
 
 Anuj Goyal
Jun 23 2004
parent reply Arjan Knepper <arjan ask.me> writes:
Anuj Goyal wrote:
 on this line:
 
 rc = pthread_create(&threads[t], NULL, sayhello, (void *)t);
I quickly glanced over the extracted tree and red a few docs. Are you aware of the fact you have to choose between the several "Exception Handling" methodes? - MS Structured Exception Handling - c++ Exception Handling - c setjmp/longjmp Did you also looked through the config.h file and verified the #defines are also appropriate for DMC?
 I read your page:
 http://www.arjanknepper.com/Programming/C++/C++.html
 
 does everything on this page still hold true?
No it doesn't the page is a little outdated and it is originally written by my brother Jan.
 I really like dmc, but I wish there were more examples of how to use it.
What kind of examples are you looking for?
Jun 24 2004
parent Anuj Goyal <Anuj_member pathlink.com> writes:
yup, I choose c setjmp/longjmp and also modified config.h

I can post my changes if you are interested, just a few lines.

In article <cbe3lc$bml$1 digitaldaemon.com>, Arjan Knepper says...
Anuj Goyal wrote:
 on this line:
 
 rc = pthread_create(&threads[t], NULL, sayhello, (void *)t);
I quickly glanced over the extracted tree and red a few docs. Are you aware of the fact you have to choose between the several "Exception Handling" methodes? - MS Structured Exception Handling - c++ Exception Handling - c setjmp/longjmp Did you also looked through the config.h file and verified the #defines are also appropriate for DMC?
 I read your page:
 http://www.arjanknepper.com/Programming/C++/C++.html
 
 does everything on this page still hold true?
No it doesn't the page is a little outdated and it is originally written by my brother Jan.
 I really like dmc, but I wish there were more examples of how to use it.
What kind of examples are you looking for?
Jun 25 2004
prev sibling parent reply Mark Junker <mjscod gmx.de> writes:
Anuj Goyal schrieb:
 used dmc to build win32-pthread (http://sources.redhat.com/pthreads-win32/). it
 compiles and links wihtout problems, however, I get runtime error for a very
 simple program.  I want to use win32-pthread because it is very similar to
 pthread on unix and my code becomes a LOT more portable (see below).  I have a
 feeling I compiled | linked the pthread library incorrectly that is why I am
 getting the error.  Unfortunately I can not make a smaller test case because it
 includes the entire pthread library that I built (from the link above).
[..]
 pthread_t threads[NUM_THREADS];
[..] Maybe a problem with the structure alignment. Many library make files specify the structure alignment on the compilers command line instead of using "#pragma pack(..)" in the header files. Had this kind of problems very often with Borland C++ Builder 4 ... especially because the structure alignment in the project files for console and GUI applications are different! Currently, I use GCC only and I'm glad to see that it hasn't a compiler switch for that stuff ... Regards, Mark
Jun 25 2004
parent reply Anuj Goyal <Anuj_member pathlink.com> writes:
These are the changes I made to config.h (for win32-pthread), I added these
lines before the last "#endif"

#ifdef __DMC__
/*#define HAVE_SIGSET_T // DMC seems to define sigset_t for M_XENIX and M_UNIX
only */
#define HAVE_SIGNAL_H
#define HAVE_C_INLINE
/*#define HAVE_MODE_T // DMC seems to define mode_t for M_XENIX and M_UNIX only
*/
#endif //__DMC__


There are some other minor changes as well.  I have attached them.  (mostly
adding or checking for __DMC__)


begin 0644 pthread_dmc.zip

M5]MN(S<2?;8!_T--`L320&[Y L7NC., LJ09:U>6!*D=QT\&U4U93%JD0K+M
M"!/_^U:1[(ME"P/,[EOX8(N7.JSK*7;[_<$^O(>U76K.TOO?E)!10DMNN<=-

MD<E2*RF,DX_*JX[^;Z.$=&/B+S='3T*>G<(13,:SP:]HB%N%H9AKIC>P4!IN
MZ40EV57KC18/2]OH-N'DPX=_P;_54D(_ DMEC%KM/OFA=7I\?+9]=:*DU6*>


MHW*=\$HT42F'%*]R5U`,G1+N<M056&84S%&.<YQ8PJB$%RK+%+KC`6Z5SE)T
M.8+=\CED*F%5FKFQM';]L=WV]YM(\W3);)2H57O]PK'MNKW1TJZR5SY")V0A
MT/ASH3F9M;!/3/-SV*C<*8X7%%9QP*QF,FTK7<&L5"H6&]K)9<JU<X[E>F7(
MYS3Y/+J!(3<&]SYSR37+8)+/,Y%4&$.1<&DX,`-KVC)+=/5\X\0_D5JSH!9\


M99/"7?[(/2!1AJ`T8YC:TF[0D KGNC_M7J% YW(P',1W9-6G03SJSV;P:3R%
M#DPZTWC0O1EVIC

MRK; 20O,3\>JNW.F!0.91+70_.,#Q)QH&B892SCRX"PGG+.SXQ;QF269ZPX<


M^%0,XG-RVY\\C8*RI58_&O$ 618M?T*5]H5$F'J? T8QLZ%#M>!1B13>OW]D


MI[I(*"05**!R)D^0D U6_Y8\LC,F0M'9_4YU!,NV<]V/^]/9EECY0* O% .I
M64ACF<2TQ8(K _;&!6Z4-N[`6V/LB0W1G=O0U0XEPNL+:D'LS[K3P20>C$=_
MDS`&Y''<_XC_`V(:T`QU4-2#BI%J"S?0Y(0<F_$W'`G3_NQF&&_G03&.7TXK
MWRV9*93CN_*E/QC]TAE6\V"O=Q0R-^G'YEGAB-8NF!DVH=I<%N]85*" '>);

MBQQO*<,<P84;G(*&9XLWXO!UXGIKE/)(MU]H G6#B6ORS%+'JFK478M+^T2A
M/B&%S\*UQB>%QOK8^(+`UR-5"0N&!]71K70'!'"X**%_IT=(H^#MXZ:[%VNC
M<0SO+L+QP-Y?"G5]:=45!7AVRI&:-7`W;5285$]P<>&.[0#UT7T!6FI3P/(_

M]),OT)E%DME]A:N4[1NV3E>MCQB\WC^)74*-^X]!QY]1[?A `4_(<? T*:B`

MU^N']7[+BK<KW1/")DC#FE1=UYHE[5>^>QN^4;C?_[]J^MRG07$KI"\P80_V
M][ZXE]4"WOE7$=EY?W^-3[_;L]/[^R;\]=>+C=DOW6G\>KUWW<5%A-KSEY3-
M 5*/,O>`=FC\\`.\^\QM'YM)%[_B8N_Z;9U;T!A.>K?C::]9]5+*4X?RI42K
MTHB8\CRL/[O_/H^V!"B3] J/NH_&`(&M=\5^IT?A"J>"7JE&T$\FN<JIMV09

M5YHUN_:_=P6(1%:+DG,J5-$IYBXJ_O&\5YGN2B(WI":>[ V'K7I+7B$9NN\,

M !>6?',`_\? !>N^$C0,%GY6++XA6L]%K8<D]IYZG>W/=:X/=!(JW"GPO(>C
M_=)8=\5_`5!+`P04````"``4D=DPFZ1#X
M92YHK5?M3^,V&/],)?Z'YP[I5E!)*=6T`=MII03H5-JJ+]?C4^0F+LG-M2/;
MH5?M]K_OL9.0I/2`G5:!VMC/R^]Y^]EI'NW7X`CN1)`P> Z*KD <"DF=T*S;


M/B$\_M\^3R;M9Z33*([7$6^?PG&&,X^M'RTDD1M8" ES(U%H=D6\D=%#J.O=

MXR]_^%B/2&GA^(0OJ)3$H4'BD&1+$ZL!?B*QC!J,O"E>V1%$RCX34ZI"+>*V
M9LN(4> .!]-Q[W(V'8XGN.&S),"JKB,=6ADE$NG30M47`=8>75D7D>".!6&=
M(U8 3`E8H!ZE^*"-C4)Y*1 3F(X'F`O)`DPY&IO3!3#A$V/LO)`-M8[/F\W4



MN(XYQY`DB-AH'V(<&V`$D>9ZSBOY*=(0Y(T2BAB#Q

M.^[>HF+GLM?O3>]-5->]Z<"=3.!Z.(8.C#KC::\[ZW?&,)J-<:)Q*&%":5Z&


M\C0C/D4>G"3&3KM]TC!\IHW.70=.3ENMUG&K??)+`V:3CC'0W*\=H/-W&=_7
M8>+>=4:WP['KW0(2^$&Z45[>K]4.S)`L\1"9MT^]OOO)[9M%M).;\2P1>Y/A
M;-QU2V9*&G"R7VL> 4LD'DTI;ULTE.,D[C;7S0W"AP^PM08??S?LW#XYV]\)


M3+K?/5T)ZIX74)^IF/K&'^#YA9,V8I3 ""3Q R1HUI*4&1VD]!C[7IJF%CSC




M'49^:,0$Q\G&<P0/ F>5S$[Y[/:4$F5$59X*DXO29.$MYKIW8ZCGP')EWOIS
M'$9++X8%LY`'KGOEN>/Q8+AC'6G,KF8!5ZUY,[1W"-^^%2O>'7*U0>!M>;GM

MZV.!(/T&G/27'6<`L[!RWL[9?I*"-\`\SX]9HLS_?LV0EN3POHM _LZ=[>$'
M_94$J[6LY$QO8FH6$^2^!VXO(]K<PJBG+TIYS,7PTI+ '1I??SSM89/9'RA8


M_XS)Z'BKA.G(7%QVX<JKY./-1[_!(EYC.=33:'PL+%KC9$4;Y8J+)2,/3RMI
MO]FOQDLM\)IGG^'[]U8"7M-).(OX7SOPOJ[Z0+4%5LV:39H1Q4?<-F:>CV[M
MGVQ*73RSD-*+0<99?6F.=UWZ=BP92JE5[;PK7RG1T+]02P,$%````` `Y;W7
M,,(B&8^9%P``?T<```L```!I;7!L96UE;G0N:,P\:W<:1[*?[7/T'WJ]9^^"

MJJJKJ^O=/3D^/' J#H7K
M+D42BH44FW3AN4[;8/PHY286MN<!O!1ND, HL+U8A&DBPI78).M(VLO<$$=_
MV65(TC7AD>*CK1N<G8HC,1G/!N_$G)^*H;N([& G5F$D;A$BP^R%FUWDWJV3
M1J\I3IX__U;\$*X#T6^+BS".0W\_Y//6::=S5A[:"8,D<A=I$D8QX>8)!(GM


M)UQ*L82A:`A0B38Q08,#K[#F,6E$+"7<)$ C0UZ%GA>"..[$;1AY2Q`Y$+N5


M4>9X\WIT(X8RCN'=:QG(R/;$A,PBHS%T'1G$4M Q6TR\!E$O=H1^A6S-%%OB
M*H112"3G0L):R!PG]S**X84XU2,KLBT!6MP`F<.4(A%N$+L)\] )SP9.-5[[

M:/[^G+0)35_>2R:(7L9%-;-!M8-D!S/)Z%SWI[TW -B]&`P'\_<XJZO!?-2?
MS<35>"JZ8M*=S >]FV%W*B8W4[!H,$HQDU(O0T[ =>MAE &MW ]!VDL)%N+%
M9<F\!]6( 7'0U+5]+T%%'.G>`]LVF,%F]V<6W M!^95QY<5>,,C)^\'H=7LX
MN#C
MIX7^+$&<ZZ[HG)Z<G!R=G'6^:8F;61<)'!\\/7CZ=W<%2K\2UN!Z,NQ?]T=S
MZPT\76) D*6GN>>W ]'9*?XYFHO.PY>=#M-B)R.^`_M=AELPVE<'3X_9:<,<
MY0O1GP^N^Y>H1^2_P+\YB;<33):T$E#CT


M`6] LN1J/>WH2>/`Y-,(G?(2[-,+-QC]BT)]%DO?WJS!5-KK9X7G#G P>L9<
M::;>=-_VK9XU&`T'HWY3?/QHWEB6L_'2&/]K9IK" ,"5!W?(M!?+\MNR!/2J




M=%IL+L00V+V(&%54KRH9-4SK28X&347\C_C .A^J=*HT9J"&('.Y;%6(8"B+

M0WIZ^7]+)>1>>QGL/SB24H%Z!N6#FY2
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

MM<HHYMK8Z\)!<^?,F!#M1-




MX>TSW*.$DDKZ8;1KUZSR_,VTW[VTIGW<Y;H8S^?C:UA$D^\VQ0DMH9H7-=5H

M6 ;$&^SL6FM.M3\/&+^I.*^=/-<'($<[]1)+;<K7P`$M/K?F[.H!5A+/:<HX


ML0QB=\)-C3]+C' 1.9UR8SI7)QH42(P(N#N.\1%^L(\1154%,>&Q"PM/^9"`
M1:-D(8>T<<4[ 65KV(NKBVFU\US&5MJP%UUK"^#S3



MQ.PAN94J:"P3IJ)/-%?IMQ \]%QGIWXKV!INM8F01FPCW"'5N_)J;<%!_9!"


M\=.N_9\VY5_,WO:F<WB.DS5'0PQS!_HK)99$YKHS2V%)SO"4 A;'/3^C\PTU
M D3"6'Q?%OJ$\><L?_*!>G:]2)()F!1%=?(.N=<Y,7997?!*N[!.+WD48T/E

MG?%IGA\\<FRWR-P5?HI8%H?K2^P.6$EHX9=^>*_CFMK)U2#B,(E;XFHPI$\:

M,$`SIY/ZD>'W,/\.1,RGW1%&G7M_E!EP)?> I8J?LN,+MZKKE=6Z!54II$2_
M?S(-*F9?U %^72KX"5_6-7]R2M=G9%T*TIB[!6YB<#TI?1X`)$!Y/6$M(%X&
M;%K*"S3TN\/L\)**SBIB:E(MD3_;I`>B9X8^\)&G7 3]-$]0T"L>,N/0S#PQ
MZ(W,*6NF-0Q<&?M/*J0R%CYO%LB/1B$EVK\POU<6X^^YG^H;4D35G^VJ^%CY
M;I?B3`\3/#J1$'I\&`*#N?JFGSX>='9W$%G:YDOXJ^Y/]'UOUL;_"3\5Q(3H

MNXN0L1B%D6<3TG=VP+__M9;^:7L#GM>^DT$[_L]2[7BY8!D=:5NP<Z0[9+MX
M/-I^88 $FC"D=`!VO4-<(3UPV! 0V%6^X,D7\,X]8`5?K%"<KU">"C[E(3D1
M7/2!-A>!0AOD49\`:!\^.,016*$&^8>& '<;*X`W:.87I4"&`!+!"0+8[0#M
M.P5-#X*W!H+"O2 5V`?-`R^UYT4?Z4)-RL"R'MB?!0^EXQY>!(]4Q(,** *J
MH'[`IPKH>WS2:3F)Z<7X%!0`,RRR-*3ZAM2J1'B&&*]H8`]_3:)\B-=_!'P'

M```(`#R\US">4X_)!B<``-*A```)````<'1H<F5A9"YH[#QK<]M&DM_Y*R9*

MMV4EMCR<[NGIUW3W].C\!9MM?,' /S=D_C8.^):'J9OZ4<BB%4LW'/Y/N+L4
MK#L9X-!D;`]^8Y<7%]>=RU=7%Q>7G19[`?^Q5W_91R&DST0M_VKGA]=7[)5:
M?Z:(&OJ+Q$WV;!4E[`YG&,!>%.\3?[U)3WMG[/+-FQ_9WZ--R*P.>Q\)$6T;
M)[YIPZZNJPM[49 F_B)+HT0 :`$<^.6ES-JZ?O"6)?'O_^.Y0>"+-.IX;KC 


MQCG\(T44!G85!4$$?%BSNR )EL!IP'7'%RR(/-*5MV;J)DWCM^?G<G'12?AR




M";[* K;!`Q#L



MZ^0R^:\W;,;1"[-)X'H<W)V=(9KKZXLV^JT406Z[[.+J\O+RU>7UQ7^WV=SN


M+S^CZ[V^>'.(L$.+7^+B`^GTV.6BS2X]M'YVN6PB8S#J





MZ!?X/S/_P0V`WK/B\N!RHH2.KXCQ<..&X!CH-(])&_W`!X^\X.D.3VX( I;1





M+05!E"/-X`&WH  )DV$G4EL2'OA:*Q6EBJ5P*&Y\;P-QW):G_I:+'%[*-N&K

M1YMSO?LPV 5\N:Y'V3U::!BMI>*K41G:UN-I`[TC58.I?J)HE4O!#N7.9`13
M,K5>E2ZTC)P/I5`?B2D!PVXSD;D!Z!F&>E'VSXR#FJPC'7X4=ZU,+P ,^"+Q
MO?N%6X(`<?X.D "]]&4*DN 5;\U(R; D/]"KDH, 2])(*),!%^:'+NXI=YB,



MX 6D:+G:2WMPI;:%:+9`)4!`,AC!L9BXDFJ0J< 6`HX76-\`J_-(5(RT`R$=
M($7[A#T!'91^(680A %&CD`&!M*&;S'419<#Z^1N`'T([A_"I"S)#UC*2F1V





MD+T9_'9KO27VJ1U\Z%F=)7K<S`=?L$:?&_CA/7`R"^%$B ),0$E?R62!JPK0





M8H`&`J8Z YGY3I/:D#SAH`OG.$;<3(#PO(T,HQI,`C=<2>`T?TX0A[_N;$[4
MF SLIS378"BFII"I5[/3_QC>?PSORX9'Q8219?6=&ZQ$%.9CK"$G!W"Z 3+E

MGOZ^C6F^&0O\K9_23I6ROH^B (,J0!Z?R=AFZ]YC\17DLN0Q+,1E0B/V(*:M

M#Z2
M&$%+ZHIEHX+Q PRIJ(AQ E(^$ITUG8[&]6';NL5!J4IE3%3PJCCKW+&44)%H
M;\> L[,"MF*M*G>97W!X2K&*-!NO"J'\T '?$T;2LX)*%_1%?6$,(]>\IY=4
M\0T*R59U!*E`0H;,:H_6:#RSYY,.&^ J--7]$8Q25PR 23,Q3+2C`"2G!*?E
MIC` A\HXV>L?:]9LH:GUQ_-9<;H>PT+9#Q<4"Y[G:HED2`I`$T&%1.3==S:=
M<BW36!R<;LN"<<V>.F!V7)-`VIM".H:Q.DP2,NO8$1]<3^6;*"B*7IF?`L,D


MGJ+F&ZE7GULB33(O)0\N8NZ1NY,?"H72!T=P[UUM,*31/]\5*#E8W"ZN#X[<
M>3\<]WXU9YP981<%1/EH%7H^DN,E!'KPLH)"CU>1V-;LMFN7B5!C[*J"0X\7
MSJ]"2-3">X<D9">]D]8?&K+Q`R +L`474 L6G_-IJ<)[M1C.QK&I3OS<]%'`


M.\72ZK.8`/XQHL!!E=^)(U_)!7WV,)'%6,K"NA%53$P/P2H+O7(=J_JA*^N$

M=N^CU9\/(4XY0O6Q_$CA+YV.&20-ZTXS`LDU+ ]>5;71M?GG<\8/(2V" !=7
M?CY;$2IV$W=[)& $X>S^"- H?KZ%';]3<?Q.Q3?L5#QWI\=)Y'F[HZFXDA,G
M? 3\W#M
M(XYMEO)'+II-57\TIPE`*W&<1)BP!>SE$?"B`M_`C\ET/+-Z?P4_/.ZC6])[
M_O_V3K2,Y)(?J;6?"2R^`3B7T3<C4$+"S]&"_A8BQ`$B#FG+N&?9MF-_[$ZM


M'C;(0(K]PDEJMTS5CXD:I?CUI: J1 EWA8T=&_?!C[)*](7D6E/G#GP]_(49
MVC$9!RYS+IOZ(#B^KZ0>]F0P.AJUB/WP$-+WW>ET8$V/0;EPD\3GB49(GY=8
M0L?[><-)S<0%V(T^Q*H]M&0V*5[C:\_0KC1/`<JMZR51`03HP4A=Z%O(>K(X
MI,(I?M>8*YIL4;<M]BV9[(^G#HJR2YK7R)9;]]'?9MO"+3&H-=_&*55EEUQ`
M5M.L;B;;,1JFFKD86(?+GO!3V&",G0YXBWJZS42*; HOO;D+/[\^JVSJ5^NS

M]%EVBTF**YA5]G_4YD5AM?C++O_`5G]X?::U4]NP=>N,X(\R17CMM*U1(?C6


MVB%7(?/Q2B/P4T=FPZ1R]:IATH%*0KG9F?TZG/<_6.S,W`H5*S"J=I+;4*MX

M*"R[D!K4Z\ZA%1L=O+S)C/&X2-65VP^OV6QHDR\O>NIZTJ > 0"D/& \>OH`
MQ.VBY!Y[[!)\8U#L3

M +7W+)Q-?BC?C"'5E[=\W6D 5I=#A7R`(C$`V0DV;"<4">DF-D13 R<Y'=2-
MIX[`$38[1UZF>L46>TD=$(GQ&!ZJV/0&&K(^5(DAWMSS.)7)EF2N/#FS



MYE]=7+ZIG7FER`8;)4"WZ'J?FO_0\U#WRL)/J>65+%?>R9I[W4.HJFM?7ER]
MKEY"' QK#J
M^:?^'S9!5\W!0L%*(-.AAW;X"DSW;*'A1J%Z+:?.0\%R3)W*<Y:[6C\$ZA8V
M4LH$3*F>$1E>CKZ?#X9

MKI#C
MS$6;"0K/PRA\I=_U,'J;"WP$7X&MYZK )$L*KD``S2/LYJ)^F82O?>H5UPUC


MJ%8Z+`1H!46]IJ<"L6PCHN>*I%.ZT(`O04"O=$*AS MB.;X.PJ<1ZFYJRK><


MQ_GE?S=.E^V`.7;Z=^-L6?TNSE<C3T/4]E`8;83$RF()2`X\.;^V4#YH6F4;
MP),=EM1*P'JH<4DYH;9H<; 1%JMXM17SP48X5:HK 9FQ+T'52"V-FZ;`AN):
MX[ ,[V<R8#P
M&'7?#RT5#F`C)&5]?;YRLR`]"-.W(**"I-C`7+9;3U)1N>DMHE09K<RR351B

ML*J'MY4!,9_196XJR\4EEG9'/7"+5E$(7Q2#A.D/["+0(3$8(JA;FFC S41T

MXV&I5:[/GN"0= ,[UT\K*ZF2$P3.TT%WJ'("0/+JLM`+W&"=C>,]$H>KHZ*F
M:0WC]81*2L7L\?14]BF>`95GK6.)'./[YU_Y_B^A<`P$ ID/9HK$/UBAK;H-

M(] BAN%E5(#FQD
M1`VJS[&B6<CWGO*QM"^D,7^[E&[G,^LW$A/H^N`?UA14J1*O*)VJ:>!XU&\`


MM<MU^]W)3*[V%!`J.D3^7GVC,A YL,/1>'K;'7X])6;C-9"O94D-\`O< O.H

M4AY5R)T03*:`,I7*0E^^1I956ZK*AM0=GS]IS7\;`J;;E'-*<D/9=J%>E.CG

M.60-W;8^RG_VU%\O=>.**O^$AE7\T:=BJ,OB3&S.XRAF"[1&]N"["'`BVTY/

MHGP(A&30'?INP[%OI<1&_,T2F.A2O4B6?F"7;=P:4=+KD+E`[(+L:=/OTOB_
MYJZVMVWD"'_WK]BXP($2;#E)^Z4V H.K*!<#MALX]L5`4PBT1-NZR*(J2G$,
MG_O;.V_[1BXIDE)[)9"8(KDSL[/#V=GESK-<TI2BEP<*\5 ?IQ>( YB03CXF
M4(9I8H;^.(."3=MG0C:; :B`(MDYB=-ZSZYOS/$5S^]J!F JQE`/U=5,IG(3

M3A;^(B6QV9&-=V3&C/I8;/BBV7G9XX\I9]*/4_D<L)IAJ <V$_3UE(Q(5N&V
M/!L )1`"_2CI\=P(*7P^SSH]DR0CN'"46CK+</)IMN3F?$BSY0'-%OF0+F3K

MJ._I.5V<Z:696W*MZA_#X8>3T\%PN$?ID4#A
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



M=EC!D[SI95-NIF!#A
MV++9Y#Q"XV1/#HO-+?4,X6;PCNZS#R4'O$%)6KVMJDMZ\#WKHR;UX>3Z;'!H
M`(P(4MYLCS"Y]2)>`VUE<:U0`:R>7Z#GGF

MDN7!P<`)SN,[7!"+N;J3HKDXVTV(2C/[F(3*.7AL+4.D!IXQV^L1:GZ >?11
M7QVT\?5J[0209.#X6<%P;?`)]U!`%,;+D_.K`>CI^*+_$4R/!>E4)[:&P3L"

M<`EFUL?+QP O9\M/&-0=YT; (>YP>6R2!S'382V]Y +$EX=+TD:-W,Y3XO<E

MWU=JW1&B2MLDL$0$\>>.?DF[.&NJX>W KW5YU*)0YC!$5I6W&0[.>?%]IL? 

MV?3E-%C)H.-..0'T&^44E'JNNBDS/<`%P?08`5(F[AC'K:KPRW_-I`L;B/D&
M8MVL6&&^Z_X);/(9+25]//* K5RK=>&2Q&EY0:H\Z_<4+1D.<C[>XU<+">&5
MV_7ZW8*-K5Y4]0%T!KC3S:T>GNWV=\EWK]]AS&'C<F>AACRP1IQ7&)D1S(-,
M_CC;X#B
MUC"3=)'XT08``*H/```-````<'1W,S)?=&AR;W<N8ZU76V_;.!9^KG_%F1E 
M*G<<.1<L=ALCBW45I?6,ZQBV,TDP*`1:HB.VLBB05%RCT_^^YY"2?(G=A\7Z



M8FH-"ZG GFXT H$LUDH\I<8+VG#V]NV_X'>9YA#Z\$YJ+9='+[[MG)^>7NP;
MCF5NE)B71BI-HEOBF*780+AD(KL$57S^3\RR3& C_9CE<ZX4\WE2^JS<D9MA
MFN-2*4PRT&V0BQTC '6D-<-B)8V4R&U]%B+C$-R.9I/!N[O9[62*!W%6)EB;



MU5)3LFGQ?G0'0ZXUGKWG.5<L W$YST3<J!B*F.>:`]-0T(E.,<?SM96^(:>F
ME5-P(]&(S48/.!:!;_QXYDH3C\YKNY76#B!L/4PVQJ-`6A:W,8 U('G1ITK.
M_V%J-AE(:GBDLL!`,?$4^DID6<7<19EU&CTH`?>#V8?;NQGT1X]PWY],^J/9
M8\]"B+C-GWG>M`-!V&((YMRL,8Q&S<=P$GQ`N?Z[P7`P>Z2(; :S43B=PLWM
M!/HP[D]F ^!NV)_`^&Z"]$4*PI3SN ";5!\J1%,`8OA28IX3CIS(]&Y2'A$0
M&IU&<*;LF2,P8BZ>T66&P"_6_T.],XEPK\BTG?`=`HX?!Z/W_G#PKK=AZ`)R

MS\[.3LXN3O_9 ;MI'^6[K=8O50^`GRNJ^>G/6YM-3Z?M5G=_HE1-MX] 06;%

M`7.)675:!$XGP8R;*58?VB1%KRWFT.[K/7N$`\YP<E4E+;";BSEF+&/Y4\F>
M.+$>QYL7=%!-\-MO'1O&-/S0]FV>GJ5(6EN! W=]?SNY1M=B[AC8^M8"H`0!
M:KB6^6M#Y($JJY'FV<)K4S2,=$&,NX::(S:DVNL=IQ&2>9)QIZ_,<\2FUDR)
M;.W;O2[^K94;(/5P!5ZSTVX.G[C1!8_%`GGAN1#HMAN&?_!UNT<H6"1\`5$4



M3]Q;H2K/1E1;MI*T1CF$EL#AC'7^7"X+:FP.+W,6?\%='WXO<78F"(-\HZ*F
M2UUZ&YS5R184>IQQEA-8RL)A9".J.+I<<O"$CQRR%_&2PX[2G4.0`F[BMM^H

M-E[],`G[U]7%\+I'5^?HW)?>"V4$C!^H<J6ELRF^.$O=V]'UO7:\IH%]0$35
M L9!G$9Y`5X%?_ )9\2"GDW 1=%'[-#D1M0F$&T?3/\,)K-J']?7'P-<5*8B


M3IC5.-J+/VC9/D==JY!%5`$\PL=RS7Z:N9^1:IX#A
M?'  JP< 3U5R[>,(\%V-'>6=UXUTY":DK;J[5F'U #H'_1\I<_WOD*KO5:CT
M3REL0.%D F^JOZ+H9C`,HZB#SQ

M8Z[;XS!Y(49%<]>W:_;=&K* KBSA;-S**;[PGO$EIR/[L\<CC\C<84X"!F!*

M```3````<'1W,S)?=&AR96%D4W1A<G0N8ZU:>W/:QA;_&\_X.YRV<U-PL7#L
MZ>V-:=-+L)S0BS$#N':FT]$(:3%*A,1H5R9,ZN]^S]F'M`AP'BWC"6AWS]GS

MPF.?1B%/( '18AFS!4L$ARS-190P#JMY%,S!SQ LL^C!%PQ$*EF(.2L)%!,_
M"6'AKV'*(.<LQ"7(YGZ.K"`23B'-\3_V*5C*SU`ISX]747)V"L<PO![W[E!7
M.0K]:)KYV1IF:0:WM**D[*;+=1;=ST6]VX#G+U[\!WY+YPFX#KQ*.4\7^U>^
M:)Z>G)Q5MP[21&31-!=IQB6MS0"M%0AP%WX4GT.V?/??P(_CB(O4"?QDRK+,


M$,2C))ZE<9RB.>[A-LWB$$V.S&[9%.(T\$LDRL]<B.5YJZ7VYT[&PKF/^$T7
MK>6&85NVOLY<+.(M&Z$18NUH_#G+&*DU$RM$<!O6:2X%QPV,5 AB0<!MI5G)
M9I&&T6Q-,WD2LDP:1[!LP<GF]/!Z<`-]QCG.O68)R_P8AODTCH*21S\*6,(9
M^!R6-,7G:.KI6I)?DEAC+19<IKB+-$D;&/J"69(\L(Q3:)V:G37;)B"*ZVAS








M(,U":Z"+J:I!RP$^JJ_`1Q]8^TQNL3R.W='OO:X[/E=KY.*:VG/I9_ZB73PF

M:2LAX&=KE1KZX0=4KJ;$);%9](<<_W.?=,5`+\$]%A(IFJ0M>3S2]AD3>998

M^[!D`>469L3!X,(D&L Z%D*6)PE5",(WIICL>ZY8Z.[#P7H!":-.(H4 9GZ2
M+S$;S2B,8R:$(2VX*VK*/C)<";W`,7R9(V<0WC4-:D] U8IG:#XS
M^D,:A8UB:H'Y\8,7,LR5Z1KJSVCI\4LL)`&+^VGPGHAJJO^B6GZ#FERHQ2/3
M1M6)1C'?,CI5Y=[ QD5T=C`;[C4Z?I'7OF,Q) CT`-7Y>AEXW;N[A K(<O)J
MW/5^=T<X_IVI]_`SFSOSEX=;?&X[D^[U5=?S=J^V1K2YY;A8+QDE`"J/48*U

M<2KG"`N9.$1X?KXE5GOOBJT9SH1GS^*F"?8%7Z>SHC1Y<7L1D2H(I7$XL78]
M("P>'NCVWDP 4G5^+`"M0+(7U30E;`;;NZEE7P%^(_HGT6^91TFE`*V-T\+D

MJ74,L^1X&B4TA\C OP;_.GV%?PYVDF&ZXL[9*4X+WOKIWS]B:I!Q\XT!)"`B
MK[`P4\U`4/[U%]3MF?'OW=%$H_4;&KF0<8,NR1,>W:O^NQ2YP+QRI=%WZ\2F
M3`]'#VH,*\""&S=/RB%YYL&/M8K*S<:*!MA,VGN`(L?5GO4C3B(TC`P-:TX1


M;=122AQA&;M'I56)"E.,$0*Z+ WRN*&F4$$Z56/[J&ME02ZK8&1H.`:)3:<2


M3("#NK;3M*:EQL'0*>UL/=`;]<V,1=ON2E?P"W9:FZWBGIR7)_MXZ,K\N('1
M,N4*CFU/-,,\KY,L,5`&_1];-Z'H!8S]"=(,S3^<F&0 V$CY>W_('5"&$=F:
M9-&*:">1N9!<&1/S#S56IJ
M&?[XV. >X+%$P,^EA3$=($>HGS0V`UJV-)ZG6 D\#U0/"`C$72TLHK%)9X.&
MI71Q0(C^./FSV+9PK3P'J.[?'8Z];F?0=?O8N-8*S8>3-R.W<Z&GW`N2=$//

M*Q-+^>BW*N,Z;7I89]]K$)-Y3BBN"IHROK0D!3(_!YLE.K\0GUIG_%;U5LN 


M1M,L-_6U-%TVJP9+4YL0)3O7&W2;-&6Z0+'0J:0^K84-D:\`&WT%OD26,E9Y
MUGU6+3,;43#TN:QH7!9MNB W5SUH,\R!TD1.25"$!*U>[13`<9PGM\3C],K'
MW(7[?-+&%-4\7\J[.TL*;$318<4BXX&G+6_\1=>)%BM<H2IY<3&J-"\`8NUK
MD54PB;N9:TH)NY`DIUM41FU3DDH5+7*C5*'$IHV-D7><T&HT*)^W(^7$0&+K
MG%40Z>"A#V7,DMDWNI1\E.%=CLO6J_98RE1UO/QG-_ \97N-P>U(G9C6B^^-
MCZ>B84=F>EH<620_0QA:A[YYB/P*I#Y;NBU13%1L[_LWKZHTE]+7]KW5/1/J
M]4R*T/0QV=&Y5=[](BI5^CLVEUH%*VK7,_2%S]GFS=:>2ZV_YZ\]?>\GNM[]


MZ0;N[J1H.^?VSA1-HDI9RO;T!B68CQ4`+&CAOQ/7NW`GG>X;]^)3A:AZKTMP
MUS['I+VBCD%V52LF7\A8Q%-ZW<CE11IZ;TV&>4\U!BE4F0E,^&R&%]'BFC".
MKWQ:FR;?"QFF84HQ^UN*OIC&Y C-=U0KR0_%IFOH=8'0=TA8YJ?-6C5(A7F;
M1J_! DB P/*`BVS,RTVZ7:"3LAZWR(MWU:504D/YBDI7NX*+>6??L! L<BXJ

MT=TN<^`R52]7T2=-B[YP$=7U,+5]"7XNTH5AM*L]JN2/W2*;:PU=*78<%[X 

MLMF1I\S1X!^365]=;0EKB_18PT]KQW]5D=[[/U!+`P04````"`!9O-8P[,TO


M4;V(W.'<SIR9G=:;_1J\ 85;G9Y,76Q01)=HG='K(&2)E])):.3"29V^]0?C
M6%IP1J16"3Z%+)4.9+)0F&#J+!B=.9FBA54LPQB$05 8N10.P6EOPL58*N1&


M\^3HZ/2IZU"GSLA9YK2Q7K=J -`*'5PE0JJW8!9__18*I:1U. A%.D-C1(!1
M%HCLB>:8``\S8PANX.]!SQ\Y`BHIOPNJ6U2JR=27:BX50N>N/QYV+R;CN^&(
M!*'*(BK32KK8?V-U9D(L54,=(43DRKN " <^".^<8 6AK.9B6T1Z<6RC5)YK

MV"7J&XP(!%44FA[G!CFMN5L1 \]AK3,?.#G89$4D=DS<EC:EF41'<KYF299&
M:#PX#DUB&7-^>=^?0`^M)=E[3-$(!8-LIF18VNC)$%.+("PL6&1C GJV]NK7

M5> %/\"GA"':$"76"TJ6\.?T5U*IHIWGF6J6AD %[KOCF[O)&-K]![AO#X?M
M_OCAW+.).QZ7F&Z'A&2:":)VZM:426GG]FK8N2'%]D6WUQT_<%;7W7'_:C2"
MZ[LAM&'0'HZ[G4FO/83!9$ =34T)(\1-&2J`[ZK'M S<]8DFM".D#E'V*3(/
M1`U+ 1-38[%$HDB(<DEA"VJ#Q?J_%%YI(G_17%78'S7DX*';?Q_TNA?GE9:=
M0ZI=$U9&^GG[+&>:T$W#H%*:G\Y C#R88
MD^/CX\/CTZ.?FS`9M=E`:[]6>UG,!7A1]%X0O]BOG&YGOC^OU99:TK39<?]`
MO3`PY<G`#XW]VF=R`R3.:`1NQ=-"SL.58*AY!.KY&1R\ _ZDUVNP(L#G_`^ 
MSGX;6QL)4?C3E$;+1ZB_RL\.?Z56#U

M#S%J2^%T(MG/VF.$45`::FT>$TQ",KF)F>TW"SM-L/)OU%NP6=;X7F`Y4-"]
M+.IG_5:04I\;/V<C?SNL7]-A'HS?!PSR*A`\LD/-X*\.BV2DDA4QO5J.+NTD
MDAJL+M.E4%2,7=E5B3=D7X/,QCLQAKY>P4J;CZ#S#N2^#BJFY",< KRT5TN^

M#FCDS7DG /IT>DO3YIX`FS; RY=' M$?G>'XV_/+VPX=[F]1K!22IW"DPZQ<
M`'G(8AH5Y5S:\ 4_52EPJ=/7M$(PAKX2?AVCN>OA)#KZ*R.D^R??X'(3MF) 
MAJ'("N6%T;0T6+]YKNB"81IQ3]"`=E>?I.O0%I.SJKZ304_*GC_><,F/X-4K
M.*C(-G']F`>%E0T'7A(0<EYP 3GQ=8]^K9U[NP_M'U!+`P04````"``AD=DP
M?F%IFM,"``"B"```"````&-O;F9I9RYHK951;]HP$,??D? .I_:A+=5`:]^F
M:5.6N!"-!$3"Z)ZB$"Y -=B1[93Q[6<GT!* E`?RDN N][NS??]SIP4)9RF=
MMQ<`K4ZST;BF*9MA"L-P\O 0V0/_R>U&O6;C6ALIPP-[H].ZQ--L0`L<3.,B
M4_(;2$10L9BC`IEC0E.: ,"R!*HH9Q*FF/%5VX1=XNF4"X$)W B$:4&S&65S
M4`N$7"T$QC/Y9479XP-D="IBL2[WJKXEO\9NWZDP#H<5P OC*XBGO%`ER`:U
MSA$DG4M4D?I9(8IRLWO6'Q(%;C< 8116B`I-4UCS`A;Q*Y:0[SJ<Q5E[\0,6
MNBH4D-(,VW`,YEO]J'<$-N/L1E7(2;DFI\ SFL0*>S&;&=HMSMO&9Y.[7;!/
MB!,YXV'?M:V0]"S?Z9/FUW,R1%.<4U;M)/X[G<`>$4T/>_JUW<[3<!2"\=-,
M,AKY [- 29QE/*G3#DNT^OV!?18O572)G^">0M<C9]$D+N-\P07*3Y`!\8X!

MWS*NP+Z_O]/YEKGN4P&RR',NE(0KRC+]]Q6D!4M*1;=W4I0M;$>NWW=]\H&D
MC)B6NLY*2K5(SU1V4D?F5,Q ,3M0)&H?$(2CL:VEJ,\E&)+/3MH`NZB& B<H
MI9660VKMQ?+E]K`5AZ.!38( LIZ>7-\-_T:>%?S6"2XY1\.]R3D7O,CE!6>E
MOB3, B:N;Y/W.7AT/M2]=7'77!N-UG_?"*UFW,BE9BO[O6:I-^B>\X-#N$8V
MHVEU"9KU16.]PO?0G=[:,Q[TRP$IZOIC.XKVXK8M?BS`<_VNN5?V8]X*.(B8



M&+8D33''=5IMCFU8\MP\&;1$11QH4B.IN$:[_[Y+2K)D)UN!8 \C"C2F[A?/

M8.N,TS451H.2N6&":B!:RX 10V/8,)."C<S$(R1*KETH`D5.;Y>M^Y^M74BW
MID4BW=TP<7$.79A.`O\3GL7MPHBM%%%;2*2"A;6H/0<RVRKVF)K6H`UGEY<_
MPZ\R%3#TX%;B^=;_;'G9.3\]O3A,'4EA%%OE1BKM?)L!A"&1 >&:,'X%*OOC
MEXAPSK217D3$BBI%/!KG'LD//,.40I0KA?B#M0
M0L(XA<%D',[\VWDXF07X(>)Y7/7-VFB9JXC6KI&,*<28RJ5`&GBN")<<:P7"


M[DE5AUG+F"5;^R47,54.'$/56EO,[8\/XSF,J-;X[0,55!$.TWS%653'&+&(

M(>9X)`722;>-Y] ""A:K*OV\;^!3PQ!71$EEAH=%_.WQ-XQSV^%<TR3GG3H0


M_=BUP:I^+1'MF*)"N#Y$Y &IH;%P9&I*GBA2)*+L"<LF*(-L^SV-YQ+)7XJK

MG(-!;N-<7)QV[#PSUN>^#Z?G9V=GW;.+TY\Z,`_Z-D#O^.CH=3D7X%6I/2]]

M"%IV#TZ>",_I,C.JC<78U3LI__CN6Z/V?S\93.>W(W]0;[GE))'D(G+WG%4Y

MWP_#X2PXB

M<^JEM?-'"7VQ/RI^&[P=>8+B/MK1&4&6XHVQ0W5G9HU:;0>$TT*$N^X=A;>5

M![]O+LY=%<5SZ3>Z;5^[:9`TY.U&4ZO;K4)$.(4,O+V!TY)3A9I;3&">6LW7

MW%.O\G?W6EI[(VO=B-]_9E2O6V?>"*7HGSE3SJ&HJBC'JTT:QOY^UPI3+`V'

M>Q^"WP>S\/G^^_L!;E91E]B*XKCT,_8J%YH]HN&SAG%-G[M`ZZ";=O5.8.SP


MQ5EM<QK)$?XL5?D_M.^J+-`AD*Q*);8B)Q AB00!!<OI_(E:= <QYV6'[,Z*


M]C>QC!_`AUALF)E>XGEA,S_MY/_VY"SY&9F#TI.-C,_?P F,AI/>3Z +4Z$O
MYXF?;&&A$KBG+XJ=';7>)O)AJ6N=.IR]>_<7^(=:QM!MPD>%^JV>__)=X^WI



M4%&D-A0)]RJ)0C0Y,KL7<XA4X!>1QL]2Z_7[5LN<GS83$2Y]W0S4JK6N&+95
MUK>YU*OHB8W0")%U-/Y<)(+46NB-GX +V*J,!<<#G
M;&DEBT.1L'&T2%8IV9Q>; 93Z(LTQ;4;$8O$CV"4S2,9%#SZ,A!Q*C!!8$U+

MJ5M'/;:`"8M2V7W-%^Q3F"%T ;)4:U06[4_J;V04D8>S5"RRJ%$PPBUPW_-N

MK]_S/I%6USUOT)U,X'HXAC:,VF.OUYGVVV,83<>8T9B4,!'"N:%D\'W^R-U`
M6;]2:.U08(9$Z:YE/F%HI" X1NK2?Q08(H&0CRBVCVFPWGZ+XR.%P6^3JVSV
M2D*./O4&-\U^[^-%*647$"O= $TB,3ZU^FK,-*`7!\V2:_[T#CQ!2`VCR`\$
MXN`D(S[GYZ<-PC-->^[:</KV[.SLY.S\],\-F$[:Q*#UZO#P>XL+\)W-O>;R
MNU<E:EX$+'V!&;*`V?2^-RA]]M=UHC"5,4D_(%7$F$_(6\;ZU:%E.S-5"&KN
M75.ID"%J<G"`>8X8XU9\K1->IA^\_JAD",>UXU3[B:Y#S
MIW5L?WQSX2GV7PT[H^G'?J]3D/CAK%ID<<"ETNB%E=$6/DBRF"LB0RP)G'_;


MV::$<YT6L`&Q/GA6D^3A145R)Y!W$!#PU
MN&0?D;&/GBJ?42)CSR8"N9`H1:XUBT7RT48N$&GSB1["R8P*876/M=0Y4!:V

MGFYO\&.[7[R3HABG:#OY_)[V3;LW*-XQK+/%0 :2K) (U[_L4>=EF-GWY/L1
MF'^EEP(KS0\J&H#U\ZK?M91;N(13)DLC4Q9I)!G)"WH6(W'DW9^_G7GC:9<7


M532HPPH;:Q5`+46!,2QK1JGZ?R\+;3OY )&:2\/KEFZR]-)D:WD!$PS)^'<A
M*T?9:W,ZO'F#I:I$V!4GMS;IQE_6^;3 <^I<0(^S#W4VP7*BJ:J6-AAR2N1\
M2\FZ^7>,'\VG1L82CR'V8W<VZ=U,NM[,8V7*!Z?R8>6GGRM2&A+OY^J/A;C*

M5)16NM ";['QPJBE%7.<6W7?P;&-^L(BJPP[#QYJ-!<O8$2`=)MJL8((V]JH
MM-MUNWZ$P.M F_&7&6"_7REW2&,#LZUK]6;!Z1GI1M8$W9]&V'?TO-FD<]N]
M(DBE [#S\BF_YR+PL44W8ZUU2UKB$JKX"/OY&$<+4RQD8E!2)4=IKCJ7BBU0
M>\FA;$?#LJWV^ -J9NIEM>NFX%C 4=S)(CROU]$6S5/BA5V!J4J4(&3I:E]8
MJY.2XE^91+8$K_B%59?-K%XV$DYUA5OWBUYU /E%$>DX] :WW7'.\+(4X-:8
M[$T,R`-,V /CNP.6J6?*H,5"GJ=HSD>;[M/3K[C.\4`&=H0RAXF2/ &/*G,S
M!Q76QC8">W]% X;C8B/7#W_&R.;&W;0 ^(=\0_L#WTY
M246T8'0W!'ZMU2_,5P6P$'T/:!]\R3'!AOP7LGR1O3G\51+ARH9ZCHE[/%?&
M2^?!B=?N_'-V9VN?0_0<N2Q84CW\&^YA,B-H+Y9:8B/TOD*=9- KX<`37E38
M?!;;4JT\S$5WZ)(6J&(3"X?`U/&BZP;!T4I^7-$JIHV AH;=R(S\!75VL[EX


ML( BXPX./&=%U\`\($BR+?%H<YM!MPUSL:#Q?2..'AV;A8S-M0H/V8ALJ+:P


MVTT#IEW\)KJQ^P$U*KO$XM"=A0YFE(<5?#H9=0=7W:MG-Y+&;VK.8NXK]YVA


M;QCTF+`Y^!:NQ,*!)7'C\R6EEA$E(]U<63:EXF-3D+*:K[:XLZ&!T=7]/&-*
M)C3GK7#P^V7&TM3>.'\&-,E'?236+[XM->C29S<R_[=8-YW]#OC>^9]=?22<
M-/?9*U\'RYU$/4K+-BA'Y&5) Q,X>]*B?TWUTA"QM[[1.:\K,=:B&TE3M<O6
M"I4PM9KFF0UCJ;T\6T3^0]H`A&#T?J (`V.U<86[A-1E=MBU4,EV-P^E2$%$
MSI/;\:#BU'`E(>8F)JTF`X:A&8&DKK8,MEH^DS-_4'Y;CSP7ZUG\]6 OIIG?

M<9!1AF6S UY\]BMBPU/O>Q?^5M8J'EN'E5/W2J0Z4;GIZSLS::4G<LXVT_H3
MY_)_U=3R/"ZY"B7<&;VILI=NG2LR7Q8RYYVV0H3\X8>+XB8:'"387>S:+X0F



M````"`#EO

MMH'%)0``<'1H<F5A9"YH4$L!`A0`%````` `S[S6,)-TD?C1! ``J \```T`


M<G0N8U!+`0(4`!0````(`%F\UC#LS2\(% 4``-<+```5``````````$`(`"V
M >E?``!P='<S,E]T:')E861$97-T<F]Y+F-02P$"%``4````"``AD=DP?F%I
MFM,"``"B"```"``````````!`"``MH$R90``8V]N9FEG+FA02P$"%``4````


DMH&W;0``8W)E871E+F-02P4&``````H`" !,` ``=' `````
`
end
Jun 25 2004
parent reply Mark Junker <mjscod gmx.de> writes:
Anuj Goyal schrieb:

 These are the changes I made to config.h (for win32-pthread), I added these
 lines before the last "#endif"
Uhm, what I meant was: Was dmc called with an argument like -a1, -a2, -a4, or -a8. I currently don't know what the default structure alignment for dmc is, but it's probably different from what is specified in the arguments. Regards, Mark Junker
Jun 26 2004
parent Anuj Goyal <Anuj_member pathlink.com> writes:
hmm you're right, I tried compiling with -a8 and still got the same error
message after trying it out on my small "hello.exe" (after the relink of course)


structs in the pthread-win32 code.

implement.h   (15)

C:\workdmc\pthread>grep "^struct" imp*.h
struct pthread_t_
struct pthread_attr_t_
struct sem_t_
struct pthread_mutex_t_
struct pthread_mutexattr_t_
struct pthread_spinlock_t_
struct pthread_barrier_t_
struct pthread_barrierattr_t_
struct pthread_key_t_
struct ThreadParms
struct pthread_cond_t_
struct pthread_condattr_t_
struct pthread_rwlock_t_
struct pthread_rwlockattr_t_
struct ThreadKeyAssoc

pthread.h    (3)

C:\workdmc\pthread>grep "^struct" p*.h
struct timespec {
struct pthread_once_t_
struct ptw32_cleanup_t


sched.h      (1) struct sched_param

C:\workdmc\pthread>grep "^struct" sc*.h
struct sched_param {

Uhm, what I meant was: Was dmc called with an argument like -a1, -a2,
-a4, or -a8.

I currently don't know what the default structure alignment for dmc is,
but it's probably different from what is specified in the arguments.
Mark Junker
Jun 26 2004