This is the mail archive of the gcc-patches@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: Limited success with 3.0 branch on AIX


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


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