[patch/rfc] Don't complain about unknown OSABI

Andrew Cagney ac131313@ges.redhat.com
Mon Aug 19 16:03:00 GMT 2002


>> I know.  Being able to print the OSABI would help (set/show abi).
> 
> 
> Yes.  Did you look at the patch posted two or three days ago to add
> set/show commands?

Yes, and it is a hard command to implement right (or even figure out 
what implement right even means!).

> Actually, as he probably doesn't have copyright papers on file, I may
> whip something equivalent together today.

Be sure to wear a seatbelt, the problem is harder than it looks.

>> I think it should ask BFD.  BFD can then go and look at the target 
>> tuple. That would mean that BFD and GDB are ``on the same page''.   See 
>> the hacks I've got GDB pulling to figure out the default architecture.
> 
> 
> This doesn't make sense to me.  The different is that BFD and GDB both
> have a notion of architecture; but BFD has no notion of OSABI.  The
> distinguishing markers we use come from the system libraries as often
> as not.

Something in binutils knows what the basic OS is.   The linker often 
knows to brand the executable a certain way (although increasingly it is 
the compiler that is telling the linker everything).  What executable, 
for instance, does:

	as -o s.o /dev/null
	ld s.o

create?

> My suggestion:  First we'd add set/show osabi, with settings for each
> (known?  Registered?  I think registered.) OSABI.  Then it would also
> have "default" and "auto".  The difference is that auto would use the
> detection mechanism and fall back to default if necessary, and default
> would be fixed.  Then we'd set the default in one of two ways:
> 
>  - Specify the default value in configure.tgt
>  - Do some analysis of the target triplet in osabi.c
> 
> I'm inclined to go with a list of registered OSABI's,

It should match against the registered OSABI's.

 > and to set the
> default at configure time.  How's that sound?

GDB uses ../bfd/config.bfd to find the default architecture.  I think 
this has made our lives much easier -- gdb's and bfd's defaults match 
and we don't have to maintain anything.  It really is a ``free lunch'' :-)

Is there an equivalent for the OS/ABI?  If we can pick that default up 
from binutils then we also get that for free.  On the other hand if we 
start wiring this stuff into configure.tgt (duplicating ld/gcc) we take 
on an additional maintenance task.

Andrew




More information about the Gdb-patches mailing list