This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Crash in tc-m68k.c:md_estimate_size_before_relax()


Alan...

I've encountered a bug in gas 2.11.93 20011223 that manifests itself
as a crash in tc-m68k.c:md_estimate_size_before_relax() in the byte
branch checks (which you touched on 2001-07-03).

The code in question:
    
          sym_frag = symbol_get_frag (fragP->fr_symbol);
          if (S_GET_VALUE (fragP->fr_symbol) == sym_frag->fr_address)
            {
              fragS *l;
            
              for (l = fragP->fr_next; l != sym_frag; l = l->fr_next)
                if (l->fr_fix != 0)
                    ^^^^^^^^^
                    NULL-pointer deref here
                  break;
              if (l == sym_frag)
                fragP->fr_subtype = TAB (TABTYPE (fragP->fr_subtype), SHORT);

I've attached the pre-processed asm file that causes the crash (it's a
hunk of assembly code in the NetBSD kernel).  gas is targeted at
m68k-unknown-netbsdelf, and the host is i386-unknown-netbsdelf.

gas 2.11.2 can assemble the file just fine.

-- 
        -- Jason R. Thorpe <thorpej@wasabisystems.com>

Attachment: FOO
Description: oc_cksum.s


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]