delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/01/20/13:20:02

Date: Thu, 20 Jan 94 19:02:44 +0100
From: buers AT dg1 DOT chemie DOT uni-konstanz DOT de (Dieter Buerssner)
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: possible fix for profiling bug

Hello,

in the source code of lib/crto.s there are the lines


mcount_isr_init:
        movw    __go32_info_block+36, %ax       /* run mode */
        cmp $1,%ax
        jb  skip_mcount
        cmp $3,%ax

in the initialisation section of the profiling timer

The compares are interpreted as
  
    cmpl $1, %eax  

by as. The clear intention, of course was

    cmpw $1, %ax

Changing cmp to cmpw and recompiling made profiling work for large programs 
for me. Profiling for small programs worked, because the high word
of eax was 0 with small programs (left ofer from memset I believe).

I don't include a patch because the fix is too obvious.

Hope this helps

Dieter



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019