bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: m68k-aout-as core dump with unresolved symbol in stabs


From: Nick Clifton
Subject: Re: m68k-aout-as core dump with unresolved symbol in stabs
Date: Fri, 12 Dec 2003 20:31:04 +0000
User-agent: Gnus/5.1001 (Gnus v5.10.1) Emacs/21.2 (gnu/linux)

Hi Vincent,

> I found an annoying (but not blocking) bug in m68k-aout-as 2.14
>
> The test case "thetest.s" contains only the following line of code :
>         .stabs  "thename",0,0,1,thevalue
>
> $ m68k-unknown-aout-as thetest.s
> thetest.s: Assembler messages:
> thetest.s:1: Error: attempt to get value of unresolved symbol `thename'
> Segmentation fault (core dumped)

Thanks very much for reporting this bug.

Please could you try out the attached patch and let me know if it
works for you.

Cheers
        Nick

2003-12-12  Nick Clifton  <address@hidden>

        * config/obj-aout.c (obj_crawl_symbol_chain): Skip defined
        symbols which resolve to symbolic values.

Index: gas/config/obj-aout.c
===================================================================
RCS file: /cvs/src/src/gas/config/obj-aout.c,v
retrieving revision 1.18
diff -c -3 -p -r1.18 obj-aout.c
*** gas/config/obj-aout.c       22 Nov 2003 15:32:28 -0000      1.18
--- gas/config/obj-aout.c       12 Dec 2003 20:34:53 -0000
*************** obj_crawl_symbol_chain (headers)
*** 469,477 ****
        resolve_symbol_value (symbolP);
  
        /* Skip symbols which were equated to undefined or common
!        symbols.  */
        if (symbolP->sy_value.X_op == O_symbol
!         && (! S_IS_DEFINED (symbolP) || S_IS_COMMON (symbolP)))
        {
          *symbolPP = symbol_next (symbolP);
          continue;
--- 469,481 ----
        resolve_symbol_value (symbolP);
  
        /* Skip symbols which were equated to undefined or common
!        symbols.  Also skip defined uncommon symbols which can
!        be resolved since in this case they should have been
!        resolved to a non-symbolic constant.  */
        if (symbolP->sy_value.X_op == O_symbol
!         && (! S_IS_DEFINED (symbolP)
!             || S_IS_COMMON (symbolP)
!             || symbol_resolved_p (symbolP)))
        {
          *symbolPP = symbol_next (symbolP);
          continue;
        





reply via email to

[Prev in Thread] Current Thread [Next in Thread]