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]
Other format: [Raw text]

[Bug c/12764] New: gcc -g option leaves asterisk (*) on some names to assembler on HP-UX B.10.20


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12764

           Summary: gcc -g option leaves asterisk (*) on some names to
                    assembler on HP-UX B.10.20
           Product: gcc
           Version: 3.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mario dot nigrovic at motorola dot com
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: hppa2.0-hp-hpux10.20
  GCC host triplet: hppa2.0-hp-hpux10.20
GCC target triplet: hppa2.0-hp-hpux10.20

Here's a faulty snippit of code I got trying to compile make 3.80 with gcc 3.3.1
on an HPUX machine.  The problem seems to be that the "*" is not removed from
the function symbol name glob64:

glob64
        .PROC
        .CALLINFO FRAME=320,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=18
        .ENTRY
        stw %r2,-20(%r30)
        copy %r3,%r1
        .stabn 68,0,375,L$M17-*glob64
L$M17:

I've looked into this a bit, and it would seem that the .stabn line with the
problem is being created in .../gcc-3.3.1/gcc/config/pa/som.h, around line 39. 
I've looked at some corresponding code for other architectures and they all seem
to surround the XSTR with a call to assemble_name(FILE, XSTR ... ).  This line
is a bit curious because it ends with a "+ 1" to a string, which I assume is the
old way to get past the leading _ or other character on symbol names.

For now, I'm working around this by removing the -g from all compiles, but
that's not a great long-term solution...

I'm going to try a crack at fixing this code myself, and if I can solve the
problem, I'll add a diff or whatever to this bug report.

REPRODUCING

.../make-3.80/configure --prefix=$PWD/install --disable-nls
make

make exits with something like

Command: make
make  all-recursive
make[1]: Entering directory `/tmp/make.2a'
Making all in glob
make[2]: Entering directory `/tmp/make.2a/glob'
if gcc -DHAVE_CONFIG_H -I. -I/media/gnu/make-3.80/glob -I..     -g -O2 -MT
glob.o -MD -MP -MF ".deps/glob.Tpo" \
  -c -o glob.o `test -f '/media/gnu/make-3.80/glob/glob.c' || echo
'/media/gnu/make-3.80/glob/'`/media/gnu/make-3.80/glob/glob.c; \
then mv ".deps/glob.Tpo" ".deps/glob.Po"; \
else rm -f ".deps/glob.Tpo"; exit 1; \
fi
In file included from /media/gnu/make-3.80/glob/glob.c:203:
/media/gnu/make-3.80/glob/glob.c: In function `glob':
/media/gnu/make-3.80/glob/glob.c:197: warning: passing arg of `my_realloc' from
incompatible pointer type
In file included from /media/gnu/make-3.80/glob/glob.c:203:
/media/gnu/make-3.80/glob/glob.c:197: warning: passing arg of `my_realloc' from
incompatible pointer type
In file included from /media/gnu/make-3.80/glob/glob.c:203:
/media/gnu/make-3.80/glob/glob.c:197: warning: passing arg of `my_realloc' from
incompatible pointer type
In file included from /media/gnu/make-3.80/glob/glob.c:203:
/media/gnu/make-3.80/glob/glob.c: In function `glob_in_dir':
/media/gnu/make-3.80/glob/glob.c:197: warning: passing arg of `my_realloc' from
incompatible pointer type
/var/tmp//ccm47IgT.s: Assembler messages:
/var/tmp//ccm47IgT.s:641: Error: bad expression
/var/tmp//ccm47IgT.s:641: Warning: rest of line ignored; first ignored character
is `g'
/var/tmp//ccm47IgT.s:647: Error: bad expression
/var/tmp//ccm47IgT.s:647: Warning: rest of line ignored; first ignored character
is `g'
/var/tmp//ccm47IgT.s:670: Error: bad expression
/var/tmp//ccm47IgT.s:670: Warning: rest of line ignored; first ignored character
is `g'


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