This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


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

Re: Changes to egcs-970924 for m68k-motorola-sysv


On Tue, 7 October 1997, 16:36:45, law@hurl.cygnus.com wrote:

    
      In message <199710072231.PAA17932@cygnus.com>you write:
      > It is certainly OK to install this patch with the variable names fixed.
    Good cuz it's done :-)
    
      > However, keep in mind that this patch only fixes a small subset of the
      > problem.
      > It will fix the problem only if you are using GNU AS, and only if you
      > are not using DWARF2 debug info.  And even then, I suspect that only
      > some systems will be fixed, because it depends on how the comment start
      > characters in GNU as are defined.  So even with this patch, the problem still remains.
    Absolutely true.
    
    Note, we're going to have to deal with the same problem in the LRS code
    since it wants to put random debugging output into the assembly code
    too.  Might as well start cleaning this stuff up now.
    
In the meantime I found out, that the actual reason causing my problems was
the definition of ASM_BYTE_OP in config/m68k/mot3300.h. On Monday I sent two
messages concerning this area:

On Mon, 6 October 1997, 16:20:39, manfred@ks.sel.alcatel.de wrote:

    I'm trying  to build  egcs on a  m68k-motorola-sysv using  GNU  as and
    ld. dwarf2out.c emits it's data definitions using ASM_BYTE_OP which is
    defined on this particular platform as
    
    #define ASM_BYTE_OP	"\t.byte"
    
    Since dwarf2out.c emits the data as follows:
    
          fprintf ((FILE), "\t%s\t...", ASM_BYTE_OP, ...)
    
    two consecutive tab chars occur in the assembler,  which GNU as really
    doesn't like while in #NO_APP mode:
    
    ./xgcc -B./  -DIN_GCC     -I./include    -DUSE_GAS -DUSE_GLD -DNO_MEM -DNO_LONG_DOUBLE_IO -O0 -I. -c ../../egcs-970929/gcc/enquire.c
    /usr1/tmp/cca10659.s: Assembler messages:
    /usr1/tmp/cca10659.s:17146: Error: Rest of line ignored. First ignored character valued 0x9.
    /usr1/tmp/cca10659.s:17147: Error: Rest of line ignored. First ignored character valued 0x9.
    /usr1/tmp/cca10659.s:17148: Error: Rest of line ignored. First ignored character valued 0x9.
    ...
    
    The obvious  fix is to remove the  \t from ASM_BYTE_OP's definition in
    config/m68k/mot3300.h:
    
    Mon Oct  6 16:04:19 1997  Manfred Hollstein  <manfred@lts.sel.alcatel.de>
    
    	* config/m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
    	definition.
    	(ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
    
    [patch deleted]

and

On Mon, 6 October 1997, 15:41:17, manfred@ks.sel.alcatel.de wrote:

    Hi there,
    
    dwarf2out.c and varasm.c disagree in how ASM_BYTE_OP should be defined
    if the actual configuration files do not provide a definition.
    
    dwarf2out.c uses:
    
    #ifndef ASM_BYTE_OP
    #define ASM_BYTE_OP		".byte"
    #endif
    
    while varasm.c uses:
    
    #ifdef ASM_BYTE_OP
    	  fprintf (asm_out_file, "%s 0", ASM_BYTE_OP);
    #else
    	  fprintf (asm_out_file, "\tbyte 0");
    #endif
    
    According to gcc.texi varasm.c is right:
    
    `ASM_BYTE_OP'
         A C string constant giving the pseudo-op to use for a sequence of
         single-byte constants.  If this macro is not defined, the default
         is `"byte"'.
    
    I believe, dwarf2out.c should be fixed.
    
--
 Manfred Hollstein                               Alcatel, Dept. US/EC4
 <mailto:manfred@lts.sel.alcatel.de>             Lorenzstrasse 10
                                                 70435 Stuttgart
 Public PGP key on request                       Germany


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