From: sandmann AT clio DOT rice DOT edu (Charles Sandmann) Message-Id: <10212192254.AA22565@clio.rice.edu> Subject: Patches for module cleanup To: djgpp-workers AT delorie DOT com (DJGPP developers) Date: Thu, 19 Dec 2002 16:54:19 -0600 (CST) X-Mailer: ELM [version 2.5 PL2] Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com Proposed patches for modularity. Smaller, more modular fix for ds_alias included (just copy the 2 bytes to locked area for locked only usage). *** crt0.S_ Thu Aug 16 21:36:14 2001 --- crt0.S Thu Dec 19 12:39:58 2002 *************** *** 36,39 **** --- 36,41 ---- .comm ___djgpp_selector_limit, 4 .comm ___djgpp_stack_limit, 4 + .comm __crt0_startup_flags, 4 + .comm ___djgpp_ds_alias, 2 .lcomm sel_buf, 8 /* ___djgpp_ds_alias defined in go32/exceptn.S */ *** crt1.c_ Wed Feb 20 19:10:24 2002 --- crt1.c Thu Dec 19 12:30:28 2002 *************** int __bss_count = 1; *** 36,40 **** char **environ; - int _crt0_startup_flags; /* default to zero unless app overrides them */ int __crt0_argc; --- 36,39 ---- *** exceptn.bak Thu Jan 4 15:39:14 2001 --- exceptn.s Thu Dec 19 12:52:48 2002 *************** not_forced: *** 150,154 **** je stack_ok .byte 0x2e /* CS: */ ! movw ___djgpp_ds_alias,%di cmpw %di,32(%ebp) /* if it's DS alias, switch to normal DS */ jne 1f --- 150,154 ---- je stack_ok .byte 0x2e /* CS: */ ! movw ___excep_ds_alias,%di cmpw %di,32(%ebp) /* if it's DS alias, switch to normal DS */ jne 1f *************** ___djgpp_old_timer: .long 0,0 *** 302,307 **** ___djgpp_exception_state_ptr: .long 0 exception_state: .space 64 ! .global ___djgpp_ds_alias ! ___djgpp_ds_alias: .word 0 /* used in dpmi/api/d0303.S (alloc rmcb) */ .balign 16,,7 --- 302,307 ---- ___djgpp_exception_state_ptr: .long 0 exception_state: .space 64 ! .global ___excep_ds_alias ! ___excep_ds_alias: .word 0 .balign 16,,7 *************** ___djgpp_timer_hdlr: *** 401,405 **** je 4f pushl %ds ! movw %cs:___djgpp_ds_alias, %ds decl ___djgpp_timer_countdown popl %ds --- 401,405 ---- je 4f pushl %ds ! movw %cs:___excep_ds_alias, %ds decl ___djgpp_timer_countdown popl %ds *** dpmiexcp.bak Tue Dec 11 21:35:36 2001 --- dpmiexcp.c Thu Dec 19 12:55:12 2002 *************** extern int __djgpp_npx_hdlr; *** 37,40 **** --- 37,41 ---- extern int __djgpp_kbd_hdlr; extern int __djgpp_kbd_hdlr_pc98; + extern short __excep_ds_alias; extern int __djgpp_iret, __djgpp_i24; extern void __djgpp_cbrk_hdlr(void); *************** __djgpp_exception_setup(void) *** 519,522 **** --- 520,524 ---- size_t i; + __excep_ds_alias = __djgpp_ds_alias; if (ScreenPrimary != 0xa0000) {