From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zack Weinberg" To: David Edelsohn Cc: Matthew Conway , gcc@gcc.gnu.org, gcc-patches@gcc.gnu.org, gdb@sources.redhat.com Subject: Re: Limited success with 3.0 branch on AIX Date: Wed, 02 May 2001 23:25:00 -0000 Message-id: <20010502232459.N8246@stanford.edu> References: <200104302116.RAA23290@makai.watson.ibm.com> X-SW-Source: 2001-05/msg00042.html On Mon, Apr 30, 2001 at 05:16:49PM -0400, David Edelsohn wrote: > >>>>> Matthew Conway writes: > > Matthew> "ar -rc libFooBar.a Foo.o Bar.o" > Matthew> "BFD: Foo.o: Unrecognized storage class 60 for *ABS* symbol `gcc2_compiled.'" > Matthew> "BFD: Bar.o: Unrecognized storage class 60 for *ABS* symbol `gcc2_compiled.'" > > Matthew> What does it mean? Can I safely ignore it? Should I get the latest > Matthew> binutils snapshot? If I do get the latest binutils, have the problems > Matthew> that forced me to use the gnupro assembler been fixed yet? Thanks, > > Zack's STABS_GCC_MARKER change still is not fully correct for AIX, > despite his attempt at DBX_OUTPUT_GCC_MARKER in xcoffout.h: > > /* .stabx has the type in a different place. */ > #define DBX_OUTPUT_GCC_MARKER(FILE) \ > fprintf ((FILE), "%s\"%s\",0,%d,0\n", ASM_STABS_OP, STABS_GCC_MARKER, N_OPT) > > This directly emits a stabs type (N_OPT) in the AIX .stabx directive when > all stabs are suppose to be converted to AIX storage classes. Sorry. This was not clear from the code. ... > I do not see anything in the AIX equivalent to N_OPT -- no comment > storage class. Would using N_GSYM (AIX's C_GSYM) be appropriate? It > seems to be a stab for which only the name is significant, not the value, > which matches the use of gcc2_compiled. The question is whether gdb on AIX will notice the marker in a C_GSYM .stabx directive; also whether the native debugger will choke on it. I've cc:ed the gdb folks for comment. Leaving your patch quoted so they can look at it. zw > Does anyone see a problem with the following patch? I am not > enough of an expert about DBX Stabs to know the significance of this > choice of stab type. > > > * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Use N_GSYM, not N_OPT. > > Index: xcoffout.h > =================================================================== > RCS file: /cvs/gcc/egcs/gcc/xcoffout.h,v > retrieving revision 1.10.4.1 > diff -c -p -r1.10.4.1 xcoffout.h > *** xcoffout.h 2001/04/18 06:15:20 1.10.4.1 > --- xcoffout.h 2001/04/30 21:11:18 > *************** extern const char *xcoff_lastfile; > *** 174,180 **** > > /* .stabx has the type in a different place. */ > #define DBX_OUTPUT_GCC_MARKER(FILE) \ > ! fprintf ((FILE), "%s\"%s\",0,%d,0\n", ASM_STABS_OP, STABS_GCC_MARKER, N_OPT) > > /* Do not break .stabs pseudos into continuations. */ > #define DBX_CONTIN_LENGTH 0 > --- 174,181 ---- > > /* .stabx has the type in a different place. */ > #define DBX_OUTPUT_GCC_MARKER(FILE) \ > ! fprintf ((FILE), "%s\"%s\",0,%d,0\n", ASM_STABS_OP, STABS_GCC_MARKER, \ > ! stab_to_sclass (N_GSYM)) > > /* Do not break .stabs pseudos into continuations. */ > #define DBX_CONTIN_LENGTH 0 > > > David