This is the mail archive of the 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]

Re: [PATCH] remove arm/unknown-elf.h

On Thu, Dec 06, 2001 at 02:28:26PM +0000, Richard Earnshaw wrote:
> > Every consumer of arm/unknown-elf.h immediately includes arm/elf.h (via
> > tm_files).  There are no consumers of arm/unknown-elf.h only.
> > Thus arm/unknown-elf.h can be folded into arm/elf.h.
> You can't reach this conclusion from your argument; it should be perfectly 
> possible to create an ELF target that uses elf.h, but doesn't want the 
> definitions in unknown-elf.h -- that is the guiding decision.

Lets agree to disagree here -- I prefer to talk about existing reality
rather than "some day possibilities".  Especially since when that time
comes it isn't hard to DTRT once it is known.

> unknown-elf.h is supposed to contain the bits of an elf interface that 
> would normally be set by the OS: in this case there is no OS (it's 
> unknown).

Then the file fails miserably at that.  By your arguments it should not
be used ANYWHERE except for 'arm-unknown-elf'.  Instead it is included by
every target that DOES have an OS.

I also find this in unknown-elf.h a bit insulting:

    #define TARGET_VERSION  fputs (" (ARM/ELF non-Linux)", stderr);

What is all the world Linux unless otherwise told???  Is arm/elf.h really
primarily targeting Linux and everyone else should just deal with any
wrong definitions in it?  How about just "ARM/ELF", or "ARM/ELF generic",
or "ARM/ELF Embedded"?

> It seems bizarre to me that the arm-linux ports are including 
> this file.
> So I don't think your patch is correct.

Also, since you aren't giving me anything other than "NO"'s in my
attempts at cleaning up stuff.  Would you please do something about the
PREFERRED_DEBUGGING_TYPE in unknown-elf.h?  Or tell me that
arm-*-freebsd* can be the first target that includes arm/elf.h w/o

The most affective bits from unknown-elf.h are "ASM_OUTPUT_ALIGNED_BSS"
and "ASM_OUTPUT_ALIGNED_DECL_LOCAL".  Are these not needed by all(most)
ELF ARM targets?

It is getting very hard to figure out where in the chain of "elfos.h
arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h" ${fbsd_tm_file} and
arm/freebsd.h should be placed.

> It seems to me that the abstractions in GCC for target CPU and OS are 
> horribly intermixed, and that it would be useful to try and tease these 
> apart somehow.

You get zero argument out of me about this.  I'm trying the best I can do
do something about it.

-- David  (

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