jgm@k.gp.cs.cmu.edu (John Myers) (11/01/88)
In gas "version 1.25 (I guess.)" the routine stab in read.c has the following code: case 'n': symbolP->sy_frag = frag_now; break; case 's': symbolP->sy_frag = & zero_address_frag; break; Why the code is distinguishing between ".stabn" and ".stabs" I don't know, but it breaks ".stabn" directives that refer to text labels defined later in the file, such as: .stabn 0xc4,4,12,L2 moveq #3,d0 jra L1 L2: (You don't want to know what we're using "0xc4" type stabs for.) The n_value for the stab entry ends up being way out in right field. I worked around this by generating a '.stabs "",' instead of a '.stabd', but I was under the impression that these two were supposed to be equivalent. Shouldn't "symbolP->sy_frag" be initialized to "& zero_address_frag" for ".stabn"'s? -- _.John G. Myers Internet: John.Myers@cs.cmu.edu LoseNet: ...!seismo!inhp4!wiscvm.wisc.edu!give!up "The world is full of bozos. Some of them even have PhD's in Computer Science"