From: sandmann AT clio DOT rice DOT edu (Charles W. Sandmann) Subject: Re: -pg profiling bug again To: S_Eckart AT lis DOT e-technik DOT tu-muenchen DOT de (Stefan Eckart) Date: Mon, 17 Jan 1994 16:01:26 -0600 (CST) Cc: djgpp AT sun DOT soe DOT clarkson DOT edu > ! movw %ds,%cs:__ds_sav don't do this. CS is not writable. And CS=DS in this routine, so movw %ds, __ds_sav Is good enough. And beware - GAS sometimes eats segment overrides, so check the code with edebug32 before running. for example: > ! movw %cs:__ds_sav,%ds May actually end up looking like: mov2 __ds_sav, %ds Just be careful. You might have to use a .byte command to make sure the override is there. You need to put the restore of ds before checking mcount_skip, however, or you might be checking garbage (or put a CS override there also).