Date: Fri, 25 Mar 94 08:46:18 -0500 From: dj AT ctron DOT com (DJ Delorie) To: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: far pointer emulation module After talking with the gcc people about far pointers, Windows, NT, gcc, and inlined asms, I decided to do something about the problem of far pointers in djgpp. After a few hours work, I had it. Attached is a set of inline asm functions that can do far pointer accesses about as fast as native support would have done (still no far function calls, though). Please post suggestions for improvements, and if everyone likes this I'll add it to 1.11.maint5 (probably as ). DJ -- begin 644 farptr.zip M4$L#!!0``@`(`$IH>1P[0#=VD AT 8``%D6```(````9F%R<'1R+FC-5V%O([<1 M_6P!^@\#!X97AN*[`$&!).@'G2WGMO!9 AT J2K>T`!'[7+E0BO2('D>D\M^L>2 M_(#F0_Y3WY#:E7RMF\2^*$SLQZ8]5BZ2G)>O35-]]\ M3>=_HG-9&JOD*=&YT<++G+PAOY2TKN:ERB AT W*Z'T:;?3[1#1['4ZI>GH8G8] MF`P)S^/)Z,_I^?"C][.\/R.AG\93X;3*8TFP47Z M9GR9P@`>)H.K63J<]BF].KM\>YY>?=]O+2_3-^EL,$M'5WU$'39FP<7.E$87 M]&8X.7N-U\&K]#*=O0OQ+]+9%<>\&$UH0./!9):>O;T<3&C\=C(>38637BC?.X1P<%'F="+*6FS<"7+*R AT JH?4&0)@6^4$Y3\*1-G8E MRIVW;@=\"KVA4LVML)L^N^>0&VI"@"G-I!A=;E"-0M8(F)D.,W:SRBQ[H=N%Y[>YKUD8;*EO"L&0V6K=RGJ.E( MMZV*-KZ)A?(PF&O^O/O4I\9UPV%H1- AT MMP8\`Y()PJ^O(5P!%9I]%S2L?TG. M AT Q=1&BU#892^$U8)[2/-W<[>^L[6\R@)36S,7(7+B04K?# M3&J)U[TBQX:7*`T2DZ3"?&56>85QZG.3[_B_U:;N=NJE\,>.)Y2GXZA@)A=H M/&ECW!U\Q$'"T?8CM'WN)3100!+7](/HE78\[:4Q:[6&EWLF>"#=JKOH."K2-S&0AE6W(9/U1Y M*R\H7,6,AQ(>Y;$R1S(..2M-ML=#T AT AGGY5XJYI]:F6S%S`<+1"#IJ`,K;?9 M2>A<0A6L+"H4FK4#=#M7X4P)OC.C,QF2X^H#LN6VY0'FG.Y$6Q!ZY0L5")/7E8XRQL&UBX%>?EO,4%!T$BV38IH*)QK)"]M:`X3[BHVH-U^C"\FW..(97)>(6#`@7O`K4";ZCQ:26LQ%4PE/&<9R96" MZX0#I7L"!0(WO;!7M_D*H3>C*7K?S=[XSHMC) M(0:DIJ.7_2/TYV&X2>+GV_:!#G$[2II0O=YWK>'I?(/Q?_GA#U__5;>&AP?P M-V=_R=%7O0?])?=0]2*J?ER+V$.D?_P:)_43.8E&ST)*_:ND/)J%\HDLA(5G M(:'\E"3<=%.:B?_3R<,_-'\.`0'U[$4'O MHQ![I!!`^@J,M%C_&TV!C1U/]=-YBG;/0%3](%&?F"/.=D=1^72*PMHS,%1^ M9H9VBK.]H#[`S!,5Y+>->;R6[@WZ[SWTGG)V/4VA(O0Z>?S9]$Q'S(/8R^31 M)\K_[F"(_[G\YX[Y;?+_&!7_?`(>\ZF3)\CT_Y7:QGS*Y/&:^IS2^(74N2KH MQL3"A,MD3\2O&13ES'=>3B0#*.,B[AZ(-^*<]U_EP'S(*L M]%?)BVS':0)%F AT L)@A)6T!VL(=KERR"*/UB`(S*R;CI:T&L-0PPPVAL%Z#$%E*;AQ^VRF(A AT Q%1I74%F;C9[. MP:VAO&AL'34![>:N<4U4(;MC;=:F88,:AFSVUCGCG;V?;?9HC:M!E7J AT 8H,J MAAZ89BR[MZFJ3X!75].21.C`B=3D6SC.R_JYAF6`WP.,/\,7O55IQB@@@_-T MP)31;:\NP8>J$4!347VV\+)N2IG/+\MJ-C-?YW8HP\X);_?[:85WEQN?%MOP MJ]-`W#3P'U!+`P04``(`"`!E('D<65_U7HD```#-````"````&9AFA_9C^0)6YC2)V2.##V]0LKI;J)9TF>1^`5N6+A M1'B3SQM5%'()2Q.OG*6S7/Z\0J-3:]#%XE,+A,657DS7C;(TUMT!+9Z"/4I'+'Y'NS_WA?&"P MY@=02P,$%``"``@`F6AY'$<"-T+<````LP$```@```!M86ME9FEL985034O# M0!`]&\A_>*#@!\T>Q%.A!RDJ AT N#!7S!N)LWBFI'=L37_WMVT:R,(WM[,^^#- MK.^?;A]>L$+S?%-7==514(Z*)0[(2$8?&@S5UU1E^RGNMCSH)WD_+J"]B]@Y[[$1N$$%WKU:0P9X MU/.(031;R.]H3!-SR^T"4?!.;PRGH&P(%$;T'#@)HYBIXW3"OF*&_S:<1(EK M6O;S%U!`V,:?30&2;[&>:<"RN*[RMD":9>U?]VLTZ:MU]0U02P$"$P`4``(` M"`!*:'D<.T`W=I(&``!9%@``"``````````!````````````9F%R<'1R+FA0 M2P$"$P`4``(`"`#!:'D