powerpc64 stabs fix.

Matt Thomas matt@3am-software.com
Fri Sep 13 10:24:00 GMT 2002


At 06:32 AM 9/13/2002, Alan Modra wrote:
>-gstabs+ on powerpc64-linux causes the assembler to complain, eg.
>/tmp/ccRfbYgd.s:133: Error: subtraction of two symbols in different
>sections `.text' {.text section} - `main' {.opd section} at file
>address 0000000000000230
>
>I missed this case when fixing a similar -gstabs problem.
>
>         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
>         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
>         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
>
>OK to apply?
>
>Incidentally, DBX_OUTPUT_FUNCTION_END seems to be unused.  I'll happily
>remove it too if requested.
>./gcc/config/d30v/d30v.h:/* #define DBX_OUTPUT_FUNCTION_END(STREAM, 
>FUNCTION) */
>./gcc/config/stormy16/stormy16.h:/* #define 
>DBX_OUTPUT_FUNCTION_END(STREAM, FUNCTION) */
>./gcc/dbxout.c:#ifdef DBX_OUTPUT_FUNCTION_END
>./gcc/dbxout.c:  DBX_OUTPUT_FUNCTION_END (asmfile, decl);
>./gcc/doc/tm.texi:@findex DBX_OUTPUT_FUNCTION_END
>./gcc/doc/tm.texi:@item DBX_OUTPUT_FUNCTION_END (@var{stream}, @var{function})

Please don't.  I need that for VAX ELF support and stabs.  I have to define
that as function_section (decl).  Otherwise, if the function had static
variables then gcc would emit the function-ending stab in the wrong section.
Now if you changes dbxout_function_end to always call function_decl (decl)
before emitting the stab, then it could go away.  It might be interesting to
see if you did the above, whether your patch is even needed.


-- 
Matt Thomas               Internet:   matt@3am-software.com
3am Software Foundry      WWW URL:    http://www.3am-software.com/bio/matt/
Cupertino, CA             Disclaimer: I avow all knowledge of this message



More information about the Gcc-patches mailing list