public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: killing ASM_IDENTIFY_GCC [branch]
@ 2001-04-11  0:26 John Marshall
  2001-04-11  9:30 ` Zack Weinberg
  0 siblings, 1 reply; 15+ messages in thread
From: John Marshall @ 2001-04-11  0:26 UTC (permalink / raw)
  To: gcc-patches

Zack Weinberg wrote:
> I also knocked out the .ident "GCC: (GNU) ..." stuff which is equally
> useless (albeit harmless)

If the patch suggesting this ("[RFA (GCC)] Patch to remove default ELF
definition of ASM_FILE_END" [1]) had engendered any discussion, I was
going to mention that the "GCC: (GNU) ..." stuff can in fact be very
useful when debugging problems involving binary-only libraries from
vendors.  See for example

http://maillist.perforce.com/pipermail/perforce-user/2001-April/005616.html

But no biggie...

    John

[1]  http://gcc.gnu.org/ml/gcc-patches/2001-03/msg00761.html

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: killing ASM_IDENTIFY_GCC [branch]
  2001-04-11  0:26 killing ASM_IDENTIFY_GCC [branch] John Marshall
@ 2001-04-11  9:30 ` Zack Weinberg
  0 siblings, 0 replies; 15+ messages in thread
From: Zack Weinberg @ 2001-04-11  9:30 UTC (permalink / raw)
  To: John Marshall; +Cc: gcc-patches

On Wed, Apr 11, 2001 at 12:24:57AM -0700, John Marshall wrote:
> Zack Weinberg wrote:
> > I also knocked out the .ident "GCC: (GNU) ..." stuff which is equally
> > useless (albeit harmless)
> 
> If the patch suggesting this ("[RFA (GCC)] Patch to remove default ELF
> definition of ASM_FILE_END" [1]) had engendered any discussion, I was
> going to mention that the "GCC: (GNU) ..." stuff can in fact be very
> useful when debugging problems involving binary-only libraries from
> vendors.

Good point.  But it can be done without nearly so much gunk in target
headers.  I'll put it back, I have to rev the patch anyway for GDB's
sake.

zw

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: killing ASM_IDENTIFY_GCC [branch]
  2001-04-11 12:07           ` Jim Wilson
  2001-04-11 12:48             ` Richard Henderson
@ 2001-04-11 14:49             ` Zack Weinberg
  1 sibling, 0 replies; 15+ messages in thread
From: Zack Weinberg @ 2001-04-11 14:49 UTC (permalink / raw)
  To: Jim Wilson; +Cc: Daniel Berlin, Mark Mitchell, gcc-patches

On Wed, Apr 11, 2001 at 12:07:17PM -0700, Jim Wilson wrote:
> Your patch is wrong.
> 
> In config/dbxelf.h you delete the ASM_IDENTIFY_GCC_AFTER_SOURCE macro.
> This is required for proper operation of gdb.
> 
> Note the distinction between a gcc2_compiled label, emitted by
> ASM_IDENTIFY_GCC, which is bad, and the gcc2_compiled stab, emitted by
> ASM_IDENTIFY_GCC_AFTER_SOURCE which is good.
> 
> The proper place to put extra info for gdb is in the debug info not the symbol
> table.  Thus the stab is good, but the label is bad.

Right.  I've got a modified patch which unconditionally emits this
stab from dbxout.c.  I'm going to run it through the gdb test suite,
then post it.

> It is rather curious that some files claim the gcc2_compiled stab
> has to be before the N_SO, and others claim that it has to be after
> the N_SO.  I believe the Solaris choice is the right one, which
> means after the N_SO.  Probably when the Solaris port was fixed, the
> same fix was not propagated to other ports that also needed it.

I looked at the stabs reader in gdb, and it appears not to care
whether or not the gcc2_compiled stab is after the N_SO; it just
toggles a global variable upon reading an N_OPT stab with string equal
to GCC2_COMPILED_FLAG_SYMBOL.  It does seem semantically better to put
it after the N_SO.  Daniel, do you have an opinion here?

zw

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: killing ASM_IDENTIFY_GCC [branch]
  2001-04-11 12:07           ` Jim Wilson
@ 2001-04-11 12:48             ` Richard Henderson
  2001-04-11 14:49             ` Zack Weinberg
  1 sibling, 0 replies; 15+ messages in thread
From: Richard Henderson @ 2001-04-11 12:48 UTC (permalink / raw)
  To: Jim Wilson; +Cc: Zack Weinberg, Daniel Berlin, Mark Mitchell, gcc-patches

On Wed, Apr 11, 2001 at 12:07:17PM -0700, Jim Wilson wrote:
> I see that various other config files are defining ASM_IDENTIFY_GCC to emit
> a stab instead of a label, these need to be kept also.

Why don't we just emit this directly in dbxout.c, rather
than conditionalizing it in odd macros?


r~

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: killing ASM_IDENTIFY_GCC [branch]
  2001-04-11 11:55         ` Jim Wilson
@ 2001-04-11 12:46           ` Daniel Berlin
  0 siblings, 0 replies; 15+ messages in thread
From: Daniel Berlin @ 2001-04-11 12:46 UTC (permalink / raw)
  To: Jim Wilson; +Cc: Daniel Berlin, Zack Weinberg, Mark Mitchell, gcc-patches

Jim Wilson <wilson@cygnus.com> writes:

> >A little more investigation shows I missed the small part of the
> >source that sets the value of a global variable that *is* used
> >(because it's really in dbxread.c, not stabsread.c, where one would
> >expect it).
> 
> Is this from eyeballing the code, or is this from running the gdb
> testsuite?
The second.

> As far as I know (from many discussions with Stu Grossman), the gcc2_compiled
> label is not used at all anymore.  Gdb did try to use it long ago, but it
> turned out to be far too hard to use, because the info was in the
> wrong place.
I meant the stab, not the label. Sorry (it was late, i had a paper, ...).

> 
> What does get used is a gcc2_compiled stab that gcc emits.  In fact, on a
> Sun Solaris system, we don't emit the gcc2_compiled label by default, so
> eliminating it is extremely unlikely to break anything.  See ASM_IDENTIFY_GCC
> and ASM_IDENTIFY_GCC_AFTER_SOURCE in gcc/config/dbxelf.h.

Right, however, removing the stab will break stuff.
> 
> So the way that this is supposed to work is gcc emits the gcc2_compiled stab
> for gdb, and the gcc2_compiled label is completely useless.  Thus eliminating
> the gcc2_compiled label should not break gdb.
Right, but he eliminated the STAB as well.
If he just doesn't eliminate the STAB, all should be well.

> 
> One flaw with the current system though is that we only emit the gcc2_compiled
> stab on systems that include dbxelf.h, and not all ELF systems do.  Certainly
> no COFF systems do, but those are less interesting nowadays.  If this shows
> up as gdb testsuite problems, then it shouldn't be hard to fix by adding
> the gcc2_compiled stab to targets that need it.
It's used in weird ways, like determining whether to use structure
returns in hand function calling on some systems, etc.

This one little flag starts pervading all kinds of places.

Personally, I wouldn't care if we break STABS accidently.
I'm in the middle of adding all kinds of dwarf2 stuff to GDB from the
GDB rewrite in C++ I had done (location expression evaluation at
runtime, rather than trying to turn them into other types of gdb
locations, using the call frame info to the frame stuff, etc), as well
as support for the -feliminate-dwarf2-dups.
STABS is the bane of my C++ maintainership in GDB.

But i'm sure someone would be annoyed, so i just wanted to make sure
the gcc2_compiled STAB stays, or someone alerts the GDB mailing list
that it's going away, and whatever breaks as a result needs to be
fixed.

In other words, just inter-group communication.

> 
> Jim

-- 
What's another word for Thesaurus?

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: killing ASM_IDENTIFY_GCC [branch]
  2001-04-11  8:37         ` Zack Weinberg
@ 2001-04-11 12:07           ` Jim Wilson
  2001-04-11 12:48             ` Richard Henderson
  2001-04-11 14:49             ` Zack Weinberg
  0 siblings, 2 replies; 15+ messages in thread
From: Jim Wilson @ 2001-04-11 12:07 UTC (permalink / raw)
  To: Zack Weinberg; +Cc: Daniel Berlin, Mark Mitchell, gcc-patches, Jim Wilson

Your patch is wrong.

In config/dbxelf.h you delete the ASM_IDENTIFY_GCC_AFTER_SOURCE macro.
This is required for proper operation of gdb.

Note the distinction between a gcc2_compiled label, emitted by
ASM_IDENTIFY_GCC, which is bad, and the gcc2_compiled stab, emitted by
ASM_IDENTIFY_GCC_AFTER_SOURCE which is good.

The proper place to put extra info for gdb is in the debug info not the symbol
table.  Thus the stab is good, but the label is bad.

I see that various other config files are defining ASM_IDENTIFY_GCC to emit
a stab instead of a label, these need to be kept also.  It is rather curious
that some files claim the gcc2_compiled stab has to be before the N_SO, and
others claim that it has to be after the N_SO.  I believe the Solaris choice is
the right one, which means after the N_SO.  Probably when the Solaris port was
fixed, the same fix was not propagated to other ports that also needed it.
Changing dbxout.c to unconditionally emit the gcc2_compiled stab after the N_SO
is probably OK.  It seems pretty unlikely that an extra stab would confuse
other debuggers.

Jim

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: killing ASM_IDENTIFY_GCC [branch]
  2001-04-11  6:28       ` Daniel Berlin
  2001-04-11  8:37         ` Zack Weinberg
@ 2001-04-11 11:55         ` Jim Wilson
  2001-04-11 12:46           ` Daniel Berlin
  1 sibling, 1 reply; 15+ messages in thread
From: Jim Wilson @ 2001-04-11 11:55 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: Zack Weinberg, Mark Mitchell, gcc-patches, Jim Wilson

>A little more investigation shows I missed the small part of the
>source that sets the value of a global variable that *is* used
>(because it's really in dbxread.c, not stabsread.c, where one would
>expect it).

Is this from eyeballing the code, or is this from running the gdb testsuite?
As far as I know (from many discussions with Stu Grossman), the gcc2_compiled
label is not used at all anymore.  Gdb did try to use it long ago, but it
turned out to be far too hard to use, because the info was in the wrong place.

What does get used is a gcc2_compiled stab that gcc emits.  In fact, on a
Sun Solaris system, we don't emit the gcc2_compiled label by default, so
eliminating it is extremely unlikely to break anything.  See ASM_IDENTIFY_GCC
and ASM_IDENTIFY_GCC_AFTER_SOURCE in gcc/config/dbxelf.h.

So the way that this is supposed to work is gcc emits the gcc2_compiled stab
for gdb, and the gcc2_compiled label is completely useless.  Thus eliminating
the gcc2_compiled label should not break gdb.

One flaw with the current system though is that we only emit the gcc2_compiled
stab on systems that include dbxelf.h, and not all ELF systems do.  Certainly
no COFF systems do, but those are less interesting nowadays.  If this shows
up as gdb testsuite problems, then it shouldn't be hard to fix by adding
the gcc2_compiled stab to targets that need it.

Jim

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: killing ASM_IDENTIFY_GCC [branch]
  2001-04-11  6:28       ` Daniel Berlin
@ 2001-04-11  8:37         ` Zack Weinberg
  2001-04-11 12:07           ` Jim Wilson
  2001-04-11 11:55         ` Jim Wilson
  1 sibling, 1 reply; 15+ messages in thread
From: Zack Weinberg @ 2001-04-11  8:37 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: Mark Mitchell, gcc-patches, Jim Wilson

On Wed, Apr 11, 2001 at 09:27:31AM -0400, Daniel Berlin wrote:
> "Zack Weinberg" <zackw@Stanford.EDU> writes:
> 
> > On Wed, Apr 11, 2001 at 02:34:47AM -0400, Daniel Berlin wrote:
> > > Mark Mitchell <mark@codesourcery.com> writes:
> > > 
> > > > I'm not qualified to review this patch since there are too many funky
> > > > targets I don't know about.
> > > 
> > > This patch will break STABS in gdb.
> > 
> > Can you expand a bit more?  I remember you saying that it didn't use
> > gcc2_compiled. at all.
> A little more investigation shows I missed the small part of the
> source that sets the value of a global variable that *is* used
> (because it's really in dbxread.c, not stabsread.c, where one would
> expect it).

Hmmm.

Could we get away with changing the gcc2_compiled.: symbol to a N_OPT
stab on all platforms?  I see logic to accept this in dbxread.c and I
think it wouldn't cause nearly so many problems.

zw

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: killing ASM_IDENTIFY_GCC [branch]
  2001-04-11  0:45     ` Zack Weinberg
@ 2001-04-11  6:28       ` Daniel Berlin
  2001-04-11  8:37         ` Zack Weinberg
  2001-04-11 11:55         ` Jim Wilson
  0 siblings, 2 replies; 15+ messages in thread
From: Daniel Berlin @ 2001-04-11  6:28 UTC (permalink / raw)
  To: Zack Weinberg; +Cc: Daniel Berlin, Mark Mitchell, gcc-patches, Jim Wilson

"Zack Weinberg" <zackw@Stanford.EDU> writes:

> On Wed, Apr 11, 2001 at 02:34:47AM -0400, Daniel Berlin wrote:
> > Mark Mitchell <mark@codesourcery.com> writes:
> > 
> > > I'm not qualified to review this patch since there are too many funky
> > > targets I don't know about.
> > 
> > This patch will break STABS in gdb.
> 
> Can you expand a bit more?  I remember you saying that it didn't use
> gcc2_compiled. at all.
A little more investigation shows I missed the small part of the
source that sets the value of a global variable that *is* used
(because it's really in dbxread.c, not stabsread.c, where one would
expect it).

> 
> ...
> > There is a lot of annoying stuff in processing STABS in gdb.  I
> > could work around most of it by saying "if we aren't on a sun, and
> > we have STABS debug info, we are processing gcc compiled stuff"
> > (since it's sun's dbx stuff that all these problems/workarounds are
> > implemented for). However, I can't do this unless the sun ones are
> > moved to DWARF2 as the default with this change as well (so that
> > stabs no longer occurs, and stabs that does occur will have the
> > symbol, or be sun compiled stuff).  Unless Sun's compiler also
> > outputs gcc2_compiled these days, i don't know.
> 
> Also I'm failing to see why it matters which compiler generated the
> STABS information.  I thought that GCC tried to match what the native
> compiler generated.

grep stabsread.c and dbxread.c for processing_gcc_compilation.  There are a few
small, but somewhat important differences, in where the info is
getting placed, and how it gets processed.


> 
> zw

-- 
I was once arrested for walking in someone else's sleep.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: killing ASM_IDENTIFY_GCC [branch]
  2001-04-10 23:35   ` Daniel Berlin
@ 2001-04-11  0:45     ` Zack Weinberg
  2001-04-11  6:28       ` Daniel Berlin
  0 siblings, 1 reply; 15+ messages in thread
From: Zack Weinberg @ 2001-04-11  0:45 UTC (permalink / raw)
  To: Daniel Berlin; +Cc: Mark Mitchell, gcc-patches, Jim Wilson

On Wed, Apr 11, 2001 at 02:34:47AM -0400, Daniel Berlin wrote:
> Mark Mitchell <mark@codesourcery.com> writes:
> 
> > I'm not qualified to review this patch since there are too many funky
> > targets I don't know about.
> 
> This patch will break STABS in gdb.

Can you expand a bit more?  I remember you saying that it didn't use
gcc2_compiled. at all.

...
> There is a lot of annoying stuff in processing STABS in gdb.  I
> could work around most of it by saying "if we aren't on a sun, and
> we have STABS debug info, we are processing gcc compiled stuff"
> (since it's sun's dbx stuff that all these problems/workarounds are
> implemented for). However, I can't do this unless the sun ones are
> moved to DWARF2 as the default with this change as well (so that
> stabs no longer occurs, and stabs that does occur will have the
> symbol, or be sun compiled stuff).  Unless Sun's compiler also
> outputs gcc2_compiled these days, i don't know.

Also I'm failing to see why it matters which compiler generated the
STABS information.  I thought that GCC tried to match what the native
compiler generated.

zw

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: killing ASM_IDENTIFY_GCC [branch]
  2001-04-10 23:17 ` Mark Mitchell
@ 2001-04-10 23:35   ` Daniel Berlin
  2001-04-11  0:45     ` Zack Weinberg
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel Berlin @ 2001-04-10 23:35 UTC (permalink / raw)
  To: Mark Mitchell; +Cc: zackw, gcc-patches, Jim Wilson

Mark Mitchell <mark@codesourcery.com> writes:

> I'm not qualified to review this patch since there are too many funky
> targets I don't know about.

This patch will break STABS in gdb.

For one thing, it appears that line numbers for symbols will stop
working completely (don't even ask, actually noticing this made me
want to throw up).  Local symbols look like they'll be borked in some
says, as do a few other things.

There is a lot of annoying stuff in processing STABS in gdb.  I could work
around most of it by saying "if we aren't on a sun, and we have STABS
debug info, we are processing gcc compiled stuff" (since it's sun's dbx stuff that
all these problems/workarounds are implemented for). However, I can't
do this unless the sun ones are moved to DWARF2 as the default with
this change as well (so that stabs no longer occurs, and stabs that
does occur will have the symbol, or be sun compiled stuff).
Unless Sun's compiler also outputs gcc2_compiled these days, i don't know.

> 
> However, I support the basic idea of the patch, and would like to see
> it on the branch and the mainline.  I seem to remember that Jim
> expressed interest in this topic, so I'm hoping he will be able to
> review it.  (Anyone else is welcome to do as well.)
> 
> Once you get a review, please install on the branch and on the
> mainline.
> 
> And thank you for taking care of this chore.
> 
> --
> Mark Mitchell                   mark@codesourcery.com
> CodeSourcery, LLC               http://www.codesourcery.com

-- 
I stayed up all night playing poker with Tarot cards.  I got a
full house and four people died.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: killing ASM_IDENTIFY_GCC [branch]
  2001-04-10 23:04 ` Richard Henderson
@ 2001-04-10 23:21   ` Zack Weinberg
  0 siblings, 0 replies; 15+ messages in thread
From: Zack Weinberg @ 2001-04-10 23:21 UTC (permalink / raw)
  To: Richard Henderson, gcc-patches

On Tue, Apr 10, 2001 at 11:04:57PM -0700, Richard Henderson wrote:
> On Tue, Apr 10, 2001 at 10:23:16PM -0700, Zack Weinberg wrote:
> > A couple weeks back it was pretty much agreed that ASM_IDENTIFY_GCC
> > should go away, but no one bothered to actually do it.  So I did.
> 
> Ok.

Given the number of dark corners this touches, and also because I'm
not really awake right now and might make a dumb mistake, I'm going to
hold off applying this until, probably, tomorrow evening.

zw

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: killing ASM_IDENTIFY_GCC [branch]
  2001-04-10 22:23 Zack Weinberg
  2001-04-10 23:04 ` Richard Henderson
@ 2001-04-10 23:17 ` Mark Mitchell
  2001-04-10 23:35   ` Daniel Berlin
  1 sibling, 1 reply; 15+ messages in thread
From: Mark Mitchell @ 2001-04-10 23:17 UTC (permalink / raw)
  To: zackw; +Cc: gcc-patches, Jim Wilson

I'm not qualified to review this patch since there are too many funky
targets I don't know about.

However, I support the basic idea of the patch, and would like to see
it on the branch and the mainline.  I seem to remember that Jim
expressed interest in this topic, so I'm hoping he will be able to
review it.  (Anyone else is welcome to do as well.)

Once you get a review, please install on the branch and on the
mainline.

And thank you for taking care of this chore.

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: killing ASM_IDENTIFY_GCC [branch]
  2001-04-10 22:23 Zack Weinberg
@ 2001-04-10 23:04 ` Richard Henderson
  2001-04-10 23:21   ` Zack Weinberg
  2001-04-10 23:17 ` Mark Mitchell
  1 sibling, 1 reply; 15+ messages in thread
From: Richard Henderson @ 2001-04-10 23:04 UTC (permalink / raw)
  To: Zack Weinberg; +Cc: gcc-patches

On Tue, Apr 10, 2001 at 10:23:16PM -0700, Zack Weinberg wrote:
> A couple weeks back it was pretty much agreed that ASM_IDENTIFY_GCC
> should go away, but no one bothered to actually do it.  So I did.

Ok.


r~

^ permalink raw reply	[flat|nested] 15+ messages in thread

* killing ASM_IDENTIFY_GCC [branch]
@ 2001-04-10 22:23 Zack Weinberg
  2001-04-10 23:04 ` Richard Henderson
  2001-04-10 23:17 ` Mark Mitchell
  0 siblings, 2 replies; 15+ messages in thread
From: Zack Weinberg @ 2001-04-10 22:23 UTC (permalink / raw)
  To: gcc-patches

A couple weeks back it was pretty much agreed that ASM_IDENTIFY_GCC
should go away, but no one bothered to actually do it.  So I did.
I also knocked out the .ident "GCC: (GNU) ..." stuff which is equally
useless (albeit harmless) and .version "01.01" in most places.
Commentary in elfos.h indicates that some assemblers insist on the
.version directive, so I left it in where I wasn't sure GAS was in
use; also in c4x.h where it is actually used constructively.

The patch deletes an amazing amount of cruft; it seems A_I_GCC and
A_I_LANGUAGE have been problematic since forever.

We get a small object-file size reduction - these were compiled with
-pg so that ASM_IDENTIFY_GCC would cause the maximum amount of
trouble:

before:
        .file   "tmp-dum.c"
        .version        "01.01"
gcc2_compiled.:
        nop
        .comm   xxy_us_dummy,4,4
        .ident  "GCC: (GNU) 3.0 20010410 (prerelease)"

-rw-rw-r--    1 zack     zack          719 Apr 10 18:04 tmp-dum.b4.o

tmp-dum.b4.o  :
section    size   addr
.text         4      0
.data         0      0
.bss          0      0
.note        20      0
.comment     38      0
Total        62

after:
        .file   "tmp-dum.c"                                                             .comm   xxy_us_dummy,4,4

-rw-rw-r--    1 zack     zack          496 Apr 10 18:02 tmp-dum.o

tmp-dum.o  :
section   size   addr
.text      0      0
.data      0      0
.bss       0      0
Total      0

223 bytes saved per object file is not trivial in an embedded
environment, especially when strip doesn't know to remove .comment and
.note sections.  I've got an unstripped libc.so.6 here, and it has 60K
of "GCC: (GNU) 2.95.3 20010315 (Debian release)" and "01.01" strings.

This is against the branch; if approved I'll apply to mainline too.
Bootstrapped i386-linux with, I think, no regressions.

zw

	* toplev.c (output_lang_identify): Delete.
	(compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
	Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
	* dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
	* defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.

	* config/dbxelf.h, config/freebsd.h, config/nextstep.h,
	config/psos.h, config/ptx4.h, config/1750a/1750a.h,
	config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
	config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
	config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
	config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
	config/i370/i370.h, config/i386/beos-elf.h,
	config/i386/osf1elf.h, config/i386/osfrose.h,
	config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
	config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
	config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
	config/m68k/tower-as.h, config/mcore/mcore-elf.h,
	config/mips/iris6.h, config/mips/osfrose.h,
	config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
	config/sparc/sp64-elf.h:
	Delete definitions of any or all of: ASM_IDENTIFY_GCC,
	ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.

	* config/elfos.h, config/freebsd.h, config/linux.h,
	config/alpha/elf.h, config/arm/linux-elf.h,
	config/i386/i386elf.h, config/i386/ptx4-i.h,
	config/mips/gnu.h, config/mips/linux.h, config/sparc/linux.h,
	config/sparc/linux64.h,
	Delete definitions of ASM_FILE_START which merely emit a
	.version directive.  Delete definitions of ASM_FILE_END which
	merely emit an .ident directive.

	* config/avr/avr.h, config/vax/vax.h: Delete definition of
	ASM_IDENTIFY_GCC and move part of its logic into
	ASM_FILE_START.

	* config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
	config/sparc/linux-aout.h: Don't emit .version directive in
	ASM_FILE_START.

	* config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
	(output_file_start): Correct comment.

	* config/i386/osfrose.h: Don't emit trailing .ident directive.
	* config/pa/lib2funcs.asm: Delete gcc_compiled. label.
	* config/rs6000/aix.h: Correct comment.  No need to return to
	text section in ASM_FILE_START.

	* config/i386/i386afe.h: Delete.
	* config.gcc: Remove references to i386afe.h.

	* tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
	other macros deleted by this patch were undocumented.

===================================================================
Index: config.gcc
--- config.gcc	2001/03/18 18:20:22	1.27.2.4
+++ config.gcc	2001/04/11 04:51:14
@@ -956,7 +956,7 @@ i370-*-linux*)
 	;;
 i[34567]86-*-chorusos*)
 	xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h"
-	tm_file="i386/i386.h i386/att.h elfos.h i386/i386afe.h i386/i386elf.h i386/chorus.h"
+	tm_file="i386/i386.h i386/att.h elfos.h i386/i386elf.h i386/chorus.h"
 	tmake_file=i386/t-i386elf
 	xmake_file=x-svr4
 	case x${enable_threads} in
@@ -967,7 +967,7 @@ i[34567]86-*-chorusos*)
 	;;
 i[34567]86-*-elf*)
 	xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h"
-	tm_file="i386/i386.h i386/att.h elfos.h i386/i386afe.h i386/i386elf.h"
+	tm_file="i386/i386.h i386/att.h elfos.h i386/i386elf.h"
 	tmake_file=i386/t-i386elf
 	xmake_file=x-svr4
 	;;
@@ -1087,7 +1087,7 @@ i[34567]86-*-freebsd[12] | i[34567]86-*-
 	tmake_file=t-freebsd
 	;;
 i[34567]86-*-freebsd*)
-	tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/i386afe.h i386/freebsd.h i386/perform.h"
+	tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
 	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
 	tmake_file=t-freebsd
 	gas=yes
@@ -1158,7 +1158,7 @@ i[34567]86-*-linux*libc1)	# Intel 80386'
 				# with ELF format using the
 				# GNU/Linux C library 5
 	xmake_file=x-linux	
-	tm_file="i386/i386.h i386/att.h linux.h i386/i386afe.h i386/linux.h"
+	tm_file="i386/i386.h i386/att.h linux.h i386/linux.h"
 	tmake_file="t-linux t-linux-gnulibc1 i386/t-crtstuff"
 	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
 	gnu_ld=yes
@@ -1171,7 +1171,7 @@ i[34567]86-*-linux*)	# Intel 80386's run
 			# with ELF format using glibc 2
 			# aka GNU/Linux C library 6
 	xmake_file=x-linux
-	tm_file="i386/i386.h i386/att.h linux.h i386/i386afe.h i386/linux.h"
+	tm_file="i386/i386.h i386/att.h linux.h i386/linux.h"
 	tmake_file="t-linux i386/t-crtstuff"
 	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
 	gnu_ld=yes
@@ -1202,7 +1202,7 @@ i[34567]86-pc-msdosdjgpp*)
 	esac
 	;;
 i[34567]86-moss-msdos* | i[34567]86-*-moss*)
-	tm_file="i386/i386.h i386/att.h linux.h i386/i386afe.h i386/linux.h i386/moss.h"
+	tm_file="i386/i386.h i386/att.h linux.h i386/linux.h i386/moss.h"
 	tmake_file=t-libc-ok
 	gnu_ld=yes
 	gas=yes
===================================================================
Index: dbxout.c
--- dbxout.c	2001/03/20 22:03:33	1.72.4.3
+++ dbxout.c	2001/04/11 04:51:14
@@ -416,13 +416,6 @@ dbxout_init (asm_file, input_file_name, 
   ASM_OUTPUT_INTERNAL_LABEL (asmfile, "Ltext", 0);
 #endif /* no DBX_OUTPUT_MAIN_SOURCE_FILENAME */
 
-  /* Possibly output something to inform GDB that this compilation was by
-     GCC.  It's easier for GDB to parse it when after the N_SO's.  This
-     is used in Solaris 2.  */
-#ifdef ASM_IDENTIFY_GCC_AFTER_SOURCE
-  ASM_IDENTIFY_GCC_AFTER_SOURCE (asmfile);
-#endif
-
   lastfile = input_file_name;
 
   next_type_number = 1;
===================================================================
Index: defaults.h
--- defaults.h	2001/02/07 18:58:05	1.31
+++ defaults.h	2001/04/11 04:51:15
@@ -102,16 +102,6 @@ do { ASM_OUTPUT_LABEL(FILE,LABEL_ALTERNA
   while (0)
 #endif
 
-#ifndef ASM_IDENTIFY_GCC
-  /* Default the definition, only if ASM_IDENTIFY_GCC is not set,
-     because if it is set, we might not want ASM_IDENTIFY_LANGUAGE
-     outputting labels, if we do want it to, then it must be defined
-     in the tm.h file.  */
-#ifndef ASM_IDENTIFY_LANGUAGE
-#define ASM_IDENTIFY_LANGUAGE(FILE) output_lang_identify (FILE);
-#endif
-#endif
-
 /* This is how we tell the assembler to equate two values.  */
 #ifdef SET_ASM_OP
 #ifndef ASM_OUTPUT_DEF
===================================================================
Index: tm.texi
--- tm.texi	2001/02/07 18:58:05	1.171
+++ tm.texi	2001/04/11 04:51:17
@@ -5484,22 +5484,6 @@ definition.
 On systems that use SDB, it is necessary to output certain commands;
 see @file{attasm.h}.
 
-@findex ASM_IDENTIFY_GCC
-@item ASM_IDENTIFY_GCC (@var{file})
-A C statement to output assembler commands which will identify
-the object file as having been compiled with GCC (or another
-GNU compiler).
-
-If you don't define this macro, the string @samp{gcc_compiled.:}
-is output.  This string is calculated to define a symbol which,
-on BSD systems, will never be defined for any other reason.
-GDB checks for the presence of this symbol when reading the
-symbol table of an executable.
-
-On non-BSD systems, you must arrange communication with GDB in
-some other fashion.  If GDB is not used on your system, you can
-define this macro with an empty body.
-
 @findex ASM_COMMENT_START
 @item ASM_COMMENT_START
 A C string constant describing how to begin a comment in the target
===================================================================
Index: toplev.c
--- toplev.c	2001/03/27 04:41:15	1.420.2.10
+++ toplev.c	2001/04/11 04:51:18
@@ -164,10 +164,6 @@ static const char *decl_name PARAMS ((tr
 
 static void float_signal PARAMS ((int)) ATTRIBUTE_NORETURN;
 static void crash_signal PARAMS ((int)) ATTRIBUTE_NORETURN;
-#ifdef ASM_IDENTIFY_LANGUAGE
-/* This might or might not be used in ASM_IDENTIFY_LANGUAGE. */
-static void output_lang_identify PARAMS ((FILE *)) ATTRIBUTE_UNUSED;
-#endif
 static void compile_file PARAMS ((const char *));
 static void display_help PARAMS ((void));
 static void display_target_options PARAMS ((void));
@@ -1806,21 +1802,6 @@ output_file_directive (asm_file, input_n
 #endif
 }
 \f
-#ifdef ASM_IDENTIFY_LANGUAGE
-/* Routine to build language identifier for object file.  */
-
-static void
-output_lang_identify (asm_out_file)
-     FILE *asm_out_file;
-{
-  int len = strlen (lang_identify ()) + sizeof ("__gnu_compiled_") + 1;
-  char *s = (char *) alloca (len);
-
-  sprintf (s, "__gnu_compiled_%s", lang_identify ());
-  ASM_OUTPUT_LABEL (asm_out_file, s);
-}
-#endif
-
 /* Routine to open a dump file.  Return true if the dump file is enabled.  */
 
 static int
@@ -2293,18 +2274,6 @@ compile_file (name)
 	  fprintf (asm_out_file, "\n");
 	}
 #endif
-
-      /* Output something to inform GDB that this compilation was by GCC.  */
-#ifndef ASM_IDENTIFY_GCC
-      fprintf (asm_out_file, "gcc2_compiled.:\n");
-#else
-      ASM_IDENTIFY_GCC (asm_out_file);
-#endif
-
-  /* Output something to identify which front-end produced this file.  */
-#ifdef ASM_IDENTIFY_LANGUAGE
-      ASM_IDENTIFY_LANGUAGE (asm_out_file);
-#endif
     } /* ! flag_syntax_only  */
 
 #ifndef ASM_OUTPUT_SECTION_NAME
@@ -2331,25 +2300,6 @@ compile_file (name)
   if (flag_function_sections && write_symbols != NO_DEBUG)
     warning ("-ffunction-sections may affect debugging on some targets.");
 #endif
-
-  /* ??? Note: There used to be a conditional here
-      to call assemble_zeros without fail if DBX_DEBUGGING_INFO is defined.
-      This was to guarantee separation between gcc_compiled. and
-      the first function, for the sake of dbx on Suns.
-      However, having the extra zero here confused the Emacs
-      code for unexec, and might confuse other programs too.
-      Therefore, I took out that change.
-      In future versions we should find another way to solve
-      that dbx problem.  -- rms, 23 May 93.  */
-
-  /* Don't let the first function fall at the same address
-     as gcc_compiled., if profiling.  */
-  if (profile_flag || profile_block_flag)
-    {
-      /* It's best if we can write a nop here since some
-	 assemblers don't tolerate zeros in the text section.  */
-      output_asm_insn (get_insn_template (CODE_FOR_nop, NULL), NULL_PTR);
-    }
 
   /* If dbx symbol table desired, initialize writing it
      and output the predefined types.  */
===================================================================
Index: config/dbxelf.h
--- config/dbxelf.h	1999/07/08 13:52:20	1.3
+++ config/dbxelf.h	2001/04/11 04:51:18
@@ -54,28 +54,6 @@ Boston, MA 02111-1307, USA.  */
 #define DBX_CONTIN_LENGTH 0
 #endif
 
-/* When using stabs, gcc2_compiled must be a stabs entry, not an
-   ordinary symbol, or gdb won't see it.  Furthermore, since gdb reads
-   the input piecemeal, starting with each N_SO, it's a lot easier if
-   the gcc2 flag symbol is *after* the N_SO rather than before it.  So
-   we emit an N_OPT stab there.  */
-
-#define ASM_IDENTIFY_GCC(FILE)						\
-do									\
-  {									\
-    if (write_symbols != DBX_DEBUG)					\
-      fputs ("gcc2_compiled.:\n", FILE);				\
-  }									\
-while (0)
-
-#define ASM_IDENTIFY_GCC_AFTER_SOURCE(FILE)				\
-do									\
-  {									\
-    if (write_symbols == DBX_DEBUG)					\
-      fputs ("\t.stabs\t\"gcc2_compiled.\", 0x3c, 0, 0, 0\n", FILE);	\
-  }									\
-while (0)
-
 /* Like block addresses, stabs line numbers are relative to the
    current function.  */
 
===================================================================
Index: config/elfos.h
--- config/elfos.h	2001/02/07 05:43:59	1.25
+++ config/elfos.h	2001/04/11 04:51:18
@@ -94,22 +94,7 @@ Boston, MA 02111-1307, USA.  */
 #define ASM_OUTPUT_IDENT(FILE, NAME) \
   fprintf (FILE, "%s\"%s\"\n", IDENT_ASM_OP, NAME);
 
-/* Attach a special .ident directive to the end of the file to identify
-   the version of GCC which compiled this code.  The format of the
-   .ident string is patterned after the ones produced by native svr4
-   C compilers.  */
-
 #define IDENT_ASM_OP "\t.ident\t"
-
-#undef ASM_FILE_END
-#define ASM_FILE_END(FILE)				\
-  do							\
-    {				 			\
-      if (!flag_no_ident)				\
-	fprintf ((FILE), "%s\"GCC: (GNU) %s\"\n",	\
-		 IDENT_ASM_OP, version_string);		\
-    }							\
-  while (0)
 
 #undef  ASM_BYTE_OP
 #define ASM_BYTE_OP	"\t.byte\t"
===================================================================
Index: config/freebsd.h
--- config/freebsd.h	2000/12/21 23:18:56	1.5
+++ config/freebsd.h	2001/04/11 04:51:18
@@ -101,9 +101,6 @@ Boston, MA 02111-1307, USA.  */
 #undef PREFERRED_DEBUGGING_TYPE
 #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
 
-/* Attach a special .ident directive to the end of the file to identify
-   the version of GCC which compiled this code.  The format of the .ident
-   string is patterned after the ones produced by native SVR4 C compilers.  */
 #undef IDENT_ASM_OP
 #define IDENT_ASM_OP "\t.ident\t"
 
@@ -111,20 +108,6 @@ Boston, MA 02111-1307, USA.  */
 #undef ASM_OUTPUT_IDENT
 #define ASM_OUTPUT_IDENT(FILE, NAME)					\
   fprintf ((FILE), "%s\"%s\"\n", IDENT_ASM_OP, (NAME));
-
-#undef ASM_IDENTIFY_LANGUAGE
-#define ASM_IDENTIFY_LANGUAGE(FILE)					\
-  fprintf ((FILE), "%s\"GCC (%s) %s\"\n", IDENT_ASM_OP,			\
-	   lang_identify (), version_string)
-
-#undef ASM_FILE_END
-#define ASM_FILE_END(FILE)						\
-do {				 					\
-     if (!flag_no_ident)						\
-	fprintf ((FILE), "%s\"GCC: (GNU) %s\"\n",			\
-		 IDENT_ASM_OP, version_string);				\
-   } while (0)
-
 
 /* Miscellaneous parameters.  */
 
===================================================================
Index: config/linux.h
--- config/linux.h	2000/09/25 08:23:05	1.11
+++ config/linux.h	2001/04/11 04:51:18
@@ -47,15 +47,6 @@ Boston, MA 02111-1307, USA.  */
 #undef MD_EXEC_PREFIX
 #undef MD_STARTFILE_PREFIX
 
-/* Output at beginning of assembler file.  */
-/* The .file command should always begin the output.  */
-#undef ASM_FILE_START
-#define ASM_FILE_START(FILE)						\
-  do {									\
-	output_file_directive (FILE, main_input_filename);		\
-	fprintf (FILE, "\t.version\t\"01.01\"\n");			\
-  } while (0)
-
 /* Provide a STARTFILE_SPEC appropriate for GNU/Linux.  Here we add
    the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
    provides part of the support for getting C++ file-scope static
===================================================================
Index: config/nextstep.h
--- config/nextstep.h	2000/09/25 11:45:51	1.12
+++ config/nextstep.h	2001/04/11 04:51:18
@@ -208,11 +208,6 @@ Boston, MA 02111-1307, USA.  */
 /* Define our object format type for crtstuff.c */
 #define OBJECT_FORMAT_MACHO
 
-/* Don't use .gcc_compiled symbols to communicate with GDB;
-   They interfere with numerically sorted symbol lists. */
-
-#undef	ASM_IDENTIFY_GCC
-#define ASM_IDENTIFY_GCC(asm_out_file)
 #undef	INIT_SECTION_ASM_OP
 #define INIT_SECTION_ASM_OP
 #undef	INVOKE__main
===================================================================
Index: config/psos.h
--- config/psos.h	2000/09/25 11:45:51	1.6
+++ config/psos.h	2001/04/11 04:51:18
@@ -67,18 +67,6 @@ Boston, MA 02111-1307, USA.
 
 #define TARGET_MEM_FUNCTIONS
 
-
-/* When using stabs, gcc2_compiled must be a stabs entry, not an
-   ordinary symbol, or gdb won't see it.  The stabs entry must be
-   before the N_SO in order for gdb to find it.  */
-
-#define ASM_IDENTIFY_GCC(FILE)						\
-do									\
-  {									\
-    fputs (".stabs \"gcc2_compiled.\", 0x3c, 0, 0, 0\n", FILE);	\
-  }									\
-while (0)
-
 /* This is how we tell the assembler that a symbol is weak.  */
 
 #define ASM_WEAKEN_LABEL(FILE,NAME) \
===================================================================
Index: config/ptx4.h
--- config/ptx4.h	2001/01/27 20:50:52	1.12
+++ config/ptx4.h	2001/04/11 04:51:18
@@ -204,21 +204,6 @@ Boston, MA 02111-1307, USA.
 
 #undef DBX_REGISTER_NUMBER
 
-/* When using stabs, gcc2_compiled must be a stabs entry, not an
-   ordinary symbol, or gdb won't see it.  The stabs entry must be
-   before the N_SO in order for gdb to find it.  */
-
-#undef ASM_IDENTIFY_GCC
-#define ASM_IDENTIFY_GCC(FILE)						\
-do									\
-  {									\
-    if (write_symbols != DBX_DEBUG)					\
-      fputs ("gcc2_compiled.:\n", FILE);				\
-    else								\
-      fputs ("\t.stabs\t\"gcc2_compiled.\", 0x3c, 0, 0, 0\n", FILE);	\
-  }									\
-while (0)
-
 /* Like block addresses, stabs line numbers are relative to the
    current function.  */
 
===================================================================
Index: config/1750a/1750a.h
--- config/1750a/1750a.h	2001/01/01 20:35:26	1.20
+++ config/1750a/1750a.h	2001/04/11 04:51:18
@@ -1048,8 +1048,6 @@ enum reg_class { NO_REGS, R2, R0_1, INDE
 
 /******************  Assembler output formatting  **********************/
 
-#define ASM_IDENTIFY_GCC(FILE)  fputs ("; gcc2_compiled:\n", FILE)
-
 #define ASM_COMMENT_START  ";"
 
 #define ASM_OUTPUT_FUNNAM(FILE,NAME)	\
===================================================================
Index: config/alpha/alpha.h
--- config/alpha/alpha.h	2001/01/01 20:35:26	1.113
+++ config/alpha/alpha.h	2001/04/11 04:51:19
@@ -1926,15 +1926,6 @@ do {									\
 \f
 /* Control the assembler format that we output.  */
 
-/* We don't emit these labels, so as to avoid getting linker errors about
-   missing exception handling info.  If we emit a gcc_compiled. label into
-   text, and the file has no code, then the DEC assembler gives us a zero
-   sized text section with no associated exception handling info.  The
-   DEC linker sees this text section, and gives a warning saying that
-   the exception handling info is missing.  */
-#define ASM_IDENTIFY_GCC(x)
-#define ASM_IDENTIFY_LANGUAGE(x)
-
 /* Output to assembler file text saying following lines
    may contain character constants, extra white space, comments, etc.  */
 
===================================================================
Index: config/alpha/elf.h
--- config/alpha/elf.h	2000/12/01 00:29:57	1.35
+++ config/alpha/elf.h	2001/04/11 04:51:19
@@ -66,30 +66,8 @@ do {								\
     }								\
 } while (0)
 
-/* Attach a special .ident directive to the end of the file to identify
-   the version of GCC which compiled this code.  The format of the
-   .ident string is patterned after the ones produced by native svr4
-   C compilers.  */
-
 #undef  IDENT_ASM_OP
 #define IDENT_ASM_OP "\t.ident\t"
-
-#ifdef IDENTIFY_WITH_IDENT
-#undef  ASM_IDENTIFY_GCC
-#define ASM_IDENTIFY_GCC(FILE) /* nothing */
-#undef  ASM_IDENTIFY_LANGUAGE
-#define ASM_IDENTIFY_LANGUAGE(FILE)			\
- fprintf(FILE, "%s\"GCC (%s) %s\"\n", IDENT_ASM_OP,	\
-	 lang_identify(), version_string)
-#else
-#undef  ASM_FILE_END
-#define ASM_FILE_END(FILE)					\
-do {				 				\
-     if (!flag_no_ident)					\
-	fprintf ((FILE), "%s\"GCC: (GNU) %s\"\n",		\
-		 IDENT_ASM_OP, version_string);			\
-   } while (0)
-#endif
 
 /* Allow #sccs in preprocessor.  */
 #define SCCS_DIRECTIVE
===================================================================
Index: config/arc/arc.h
--- config/arc/arc.h	2001/01/01 20:35:26	1.25
+++ config/arc/arc.h	2001/04/11 04:51:19
@@ -1260,15 +1260,6 @@ do {							\
 #undef ASM_FILE_START
 #define ASM_FILE_START(FILE) arc_asm_file_start (FILE)
 
-/* A C statement to output assembler commands which will identify the
-   object file as having been compiled with GNU CC (or another GNU
-   compiler).  */
-#undef ASM_IDENTIFY_GCC
-#define ASM_IDENTIFY_GCC(FILE) /* nothing */
-
-/* Needed because we define ASM_IDENTIFY_GCC.  */
-#define ASM_IDENTIFY_LANGUAGE(FILE) output_lang_identify (FILE)
-
 /* A C string constant describing how to begin a comment in the target
    assembler language.  The compiler assumes that the comment will
    end at the end of the line.  */
===================================================================
Index: config/arm/aof.h
--- config/arm/aof.h	2000/09/25 12:08:01	1.10
+++ config/arm/aof.h	2001/04/11 04:51:19
@@ -220,8 +220,6 @@ do					\
   fputs ("\tEND\n", (STREAM));		\
 } while (0);
 
-#define ASM_IDENTIFY_GCC(STREAM) fputs ("|gcc2_compiled.|\n", (STREAM))
-
 #define ASM_COMMENT_START ";"
 
 #define ASM_APP_ON ""
===================================================================
Index: config/arm/coff.h
--- config/arm/coff.h	2000/12/18 23:58:17	1.19
+++ config/arm/coff.h	2001/04/11 04:51:19
@@ -57,13 +57,6 @@ Boston, MA 02111-1307, USA.  */
 /* A C statement to output assembler commands which will identify the
    object file as having been compiled with GNU CC (or another GNU
    compiler).  */
-/* Define this to NULL so we don't get anything.
-   We have ASM_IDENTIFY_LANGUAGE.
-   Also, when using stabs, gcc2_compiled must be a stabs entry, not an
-   ordinary symbol, or gdb won't see it.  The stabs entry must be
-   before the N_SO in order for gdb to find it.  */
-#define ASM_IDENTIFY_GCC(STREAM) 				\
-  fprintf (STREAM, "%sgcc2_compiled.:\n", LOCAL_LABEL_PREFIX )
 
 /* This outputs a lot of .req's to define alias for various registers.
    Let's try to avoid this.  */
===================================================================
Index: config/arm/elf.h
--- config/arm/elf.h	2001/01/15 14:30:38	1.24
+++ config/arm/elf.h	2001/04/11 04:51:19
@@ -198,19 +198,6 @@ Boston, MA 02111-1307, USA.  */
   arm_valid_machine_decl_attribute (DECL, IDENTIFIER, ARGS)
 \f
 
-/* A C statement to output assembler commands which will identify the
-   object file as having been compiled with GNU CC (or another GNU
-   compiler).  */
-/* Define this to NULL so we don't get anything.
-   We have ASM_IDENTIFY_LANGUAGE.
-   Also, when using stabs, gcc2_compiled must be a stabs entry, not an
-   ordinary symbol, or gdb won't see it.  The stabs entry must be
-   before the N_SO in order for gdb to find it.  */
-#ifndef ASM_IDENTIFY_GCC
-#define ASM_IDENTIFY_GCC(STREAM) 				\
-  fprintf (STREAM, "%sgcc2_compiled.:\n", LOCAL_LABEL_PREFIX )
-#endif
-
 /* This outputs a lot of .req's to define alias for various registers.
    Let's try to avoid this.  */
 #ifndef ASM_FILE_START
===================================================================
Index: config/arm/linux-elf.h
--- config/arm/linux-elf.h	2001/03/18 18:20:22	1.21.4.1
+++ config/arm/linux-elf.h	2001/04/11 04:51:19
@@ -92,27 +92,11 @@ Boston, MA 02111-1307, USA.  */
 #define USER_LABEL_PREFIX 	""	/* For ELF the default is no underscores */
 #define LOCAL_LABEL_PREFIX 	"."
 
-/* Attach a special .ident directive to the end of the file to identify
-   the version of GCC which compiled this code.  */
 #define IDENT_ASM_OP 	"\t.ident\t"
 
 /* Output #ident as a .ident.  */
 #define ASM_OUTPUT_IDENT(FILE, NAME) \
   fprintf (FILE, "%s\"%s\"\n", IDENT_ASM_OP, NAME);
-  
-#ifdef IDENTIFY_WITH_IDENT
-#define ASM_IDENTIFY_GCC(FILE) /* nothing */
-#define ASM_IDENTIFY_LANGUAGE(FILE)			\
- fprintf (FILE, "%s\"GCC (%s) %s\"\n", IDENT_ASM_OP,	\
-	 lang_identify (), version_string)
-#else
-#define ASM_FILE_END(FILE)					\
-do {				 				\
-     if (!flag_no_ident)					\
-	fprintf ((FILE), "%s\"GCC: (GNU) %s\"\n",		\
-		 IDENT_ASM_OP, version_string);			\
-   } while (0)
-#endif
 
 /* Support const sections and the ctors and dtors sections for g++.
    Note that there appears to be two different ways to support const
===================================================================
Index: config/avr/avr.h
--- config/avr/avr.h	2001/02/05 04:11:54	1.19
+++ config/avr/avr.h	2001/04/11 04:51:20
@@ -3256,12 +3256,3 @@ extern struct rtx_def *ldi_reg_rtx;
 
 /* Get the standard ELF stabs definitions.  */
 #include "dbxelf.h"
-
-#undef ASM_IDENTIFY_GCC
-#define ASM_IDENTIFY_GCC(FILE)				\
-do							\
-  {							\
-    if (write_symbols != DBX_DEBUG)			\
-      fputs ("gcc2_compiled.:\n", FILE);		\
-  }							\
-while (0)
===================================================================
Index: config/c4x/c4x.h
--- config/c4x/c4x.h	2001/04/07 01:25:30	1.70.2.1
+++ config/c4x/c4x.h	2001/04/11 04:51:20
@@ -2167,6 +2167,10 @@ dtors_section ()							\
 
 
 /* Overall Framework of an Assembler File.  */
+/* We need to have a data section we can identify so that we can set
+   the DP register back to a data pointer in the small memory model.
+   This is only required for ISRs if we are paranoid that someone
+   may have quietly changed this register on the sly.  */
 
 #define ASM_FILE_START(FILE)					\
 {								\
@@ -2189,17 +2193,8 @@ dtors_section ()							\
       }								\
     else							\
       output_quoted_string (FILE, main_input_filename);		\
-    fprintf (FILE, "\n");					\
+    fputs ("\n\t.data\ndata_sec:\n", FILE);			\
 }
-
-/* We need to have a data section we can identify so that we can set
-   the DP register back to a data pointer in the small memory model.
-   This is only required for ISRs if we are paranoid that someone
-   may have quietly changed this register on the sly.  */
-
-#define ASM_IDENTIFY_GCC(FILE) \
-    if (! TARGET_TI) fputs ("gcc2_compiled.:\n", FILE);	\
-      fputs ("\t.data\ndata_sec:\n", FILE);
 
 #define ASM_COMMENT_START ";"
 
===================================================================
Index: config/d30v/d30v.h
--- config/d30v/d30v.h	2001/01/09 18:07:51	1.16
+++ config/d30v/d30v.h	2001/04/11 04:51:21
@@ -4077,28 +4077,6 @@ extern const char *d30v_branch_cost_stri
    Defined in svr4.h.  */
 /* #define ASM_FILE_END(STREAM) */
 
-/* A C statement to output assembler commands which will identify the object
-   file as having been compiled with GNU CC (or another GNU compiler).
-
-   If you don't define this macro, the string `gcc_compiled.:' is output.  This
-   string is calculated to define a symbol which, on BSD systems, will never be
-   defined for any other reason.  GDB checks for the presence of this symbol
-   when reading the symbol table of an executable.
-
-   On non-BSD systems, you must arrange communication with GDB in some other
-   fashion.  If GDB is not used on your system, you can define this macro with
-   an empty body.
-
-   Defined in svr4.h.  */
-/* #define ASM_IDENTIFY_GCC(FILE) */
-
-/* Like ASM_IDENTIFY_GCC, but used when dbx debugging is selected to emit
-   a stab the debugger uses to identify gcc as the compiler that is emitted
-   after the stabs for the filename, which makes it easier for GDB to parse.
-
-   Defined in svr4.h.  */
-/* #define ASM_IDENTIFY_GCC_AFTER_SOURCE(FILE) */
-
 /* A C string constant describing how to begin a comment in the target
    assembler language.  The compiler assumes that the comment will end at the
    end of the line.  */
===================================================================
Index: config/dsp16xx/dsp16xx.h
--- config/dsp16xx/dsp16xx.h	2001/02/05 04:11:54	1.21
+++ config/dsp16xx/dsp16xx.h	2001/04/11 04:51:22
@@ -1599,9 +1599,6 @@ const_section ()                        
 /* Output at beginning of assembler file.  */
 #define ASM_FILE_START(FILE) dsp16xx_file_start () 
 
-/* Prevent output of .gcc_compiled */
-#define ASM_IDENTIFY_GCC(FILE)   
-
 /* A C string constant describing how to begin a comment in the target
    assembler language. */
 /* define ASM_COMMENT_START */
===================================================================
Index: config/h8300/h8300.h
--- config/h8300/h8300.h	2001/01/01 20:35:29	1.39
+++ config/h8300/h8300.h	2001/04/11 04:51:22
@@ -1068,8 +1068,6 @@ h8300_valid_machine_decl_attribute (DECL
 \f
 /* Control the assembler format that we output.  */
 
-#define ASM_IDENTIFY_GCC(FILE) /* nothing */
-
 /* Output at beginning/end of assembler file.  */
 
 #define ASM_FILE_START(FILE) asm_file_start(FILE)
===================================================================
Index: config/i370/i370.h
--- config/i370/i370.h	2000/09/25 13:03:18	1.26
+++ config/i370/i370.h	2001/04/11 04:51:22
@@ -1091,7 +1091,6 @@ enum reg_class
   fputs ("\tCSECT\n", FILE); }
 
 #define ASM_FILE_END(FILE) fputs ("\tEND\n", FILE);
-#define ASM_IDENTIFY_GCC(FILE)
 #define ASM_COMMENT_START "*"
 #define ASM_APP_OFF ""
 #define ASM_APP_ON ""
===================================================================
Index: config/i386/att.h
--- config/i386/att.h	2000/10/23 20:21:58	1.5
+++ config/i386/att.h	2001/04/11 04:51:22
@@ -56,7 +56,6 @@ do								\
 	output_file_directive (FILE, main_input_filename);		\
 	if (target_flags & MASK_INTEL_SYNTAX)				\
 	  fputs ("\t.intel_syntax\n", FILE);				\
-	fprintf (FILE, "\t.version\t\"01.01\"\n");			\
   } while (0)
 
 /* Do use .optim by default on this machine.  */
===================================================================
Index: config/i386/beos-elf.h
--- config/i386/beos-elf.h	2000/11/02 23:29:09	1.6
+++ config/i386/beos-elf.h	2001/04/11 04:51:22
@@ -264,15 +264,3 @@ Boston, MA 02111-1307, USA.  */
    without user intervention.  For instance, under Microsoft Windows
    symbols must be explicitly imported from shared libraries (DLLs).  */
 #define MULTIPLE_SYMBOL_SPACES
-
-/* A C statement to output assembler commands which will identify the object
-   file as having been compiled with GNU CC.  This isn't needed for BeOS
-   because we use DWARF and DWARF has an DW_AT_producer tag that does the
-   same thing.  BeOS debuggers, like bdb, that don't know about this hack
-   can get confused when they find two symbols with the same address, and
-   print the wrong one (gcc2_compiled) in things like backtraces.  The most
-   likely ill effect of disabling this is that a BeOS port of gdb would not
-   be able to tell that an executable was compiled with gcc if there was no
-   DWARF info. */
-#undef ASM_IDENTIFY_GCC
-#define ASM_IDENTIFY_GCC(FILE) 
===================================================================
Index: config/i386/dgux.c
--- config/i386/dgux.c	2000/09/25 13:03:18	1.8
+++ config/i386/dgux.c	2001/04/11 04:51:22
@@ -120,8 +120,8 @@ output_file_start (file, f_options, f_le
 
   output_file_directive (file, main_input_filename);
   fprintf (file, "\t.version\t\"01.01\"\n");			\
-  /* Switch to the data section so that the coffsem symbol and the
-     gcc2_compiled. symbol aren't in the text section.  */
+  /* Switch to the data section so that the coffsem symbol
+     isn't in the text section.  */
   data_section ();
 
   pos = fprintf (file, "\n// cc1 (%s) arguments:", VERSION_STRING);
===================================================================
Index: config/i386/gas.h
--- config/i386/gas.h	1999/09/02 04:20:20	1.10
+++ config/i386/gas.h	2001/04/11 04:51:22
@@ -169,5 +169,4 @@ Boston, MA 02111-1307, USA.  */
 	if (target_flags & MASK_INTEL_SYNTAX)				\
 	  fputs ("\t.intel_syntax\n", FILE);				\
         output_file_directive (FILE, main_input_filename);		\
-        fputs ("\t.version\t\"01.01\"\n", FILE);			\
   } while (0)
===================================================================
Index: config/i386/i386afe.h
--- config/i386/i386afe.h	Tue Apr 10 21:51:31 2001
+++ config/i386/i386afe.h	Tue May  5 13:32:27 1998
@@ -1,37 +0,0 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
-
-This file is part of GNU CC.
-
-GNU CC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU CC; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-/* Irritatingly, config/elfos.h defines its own version of ASM_FILE_END,
-   conflicting with a definition which we wish to have in i386/i386.h.
-   We _really_ need to clean up the hodge-podge of random macro placement
-   in the configury...  */
-
-/* This macro is invoked at the end of compilation.  It is used here to
-   output code for -fpic that will load the return address into %ebx.  */
-
-#undef ASM_FILE_END
-#define ASM_FILE_END(FILE)				\
-  do							\
-    {				 			\
-      ix86_asm_file_end (FILE);				\
-      if (!flag_no_ident)				\
-	fprintf ((FILE), "%s\"GCC: (GNU) %s\"\n",	\
-		 IDENT_ASM_OP, version_string);		\
-    }							\
-  while (0)
===================================================================
Index: config/i386/i386elf.h
--- config/i386/i386elf.h	2001/01/09 22:10:53	1.9
+++ config/i386/i386elf.h	2001/04/11 04:51:22
@@ -101,16 +101,6 @@ do { long value[3];							\
        }								\
    } while (0)
 
-/* Output at beginning of assembler file.  */
-/* The .file command should always begin the output.  */
-
-#undef ASM_FILE_START
-#define ASM_FILE_START(FILE)						\
-  do {									\
-	output_file_directive (FILE, main_input_filename);		\
-	fprintf (FILE, "\t.version\t\"01.01\"\n");			\
-  } while (0)
-
 #undef DBX_REGISTER_NUMBER
 #define DBX_REGISTER_NUMBER(n)  svr4_dbx_register_map[n]
 
===================================================================
Index: config/i386/linux.h
--- config/i386/linux.h	2001/03/21 09:50:37	1.22.4.1
+++ config/i386/linux.h	2001/04/11 04:51:22
@@ -30,7 +30,6 @@ Boston, MA 02111-1307, USA.  */
 	output_file_directive (FILE, main_input_filename);		\
 	if (target_flags & MASK_INTEL_SYNTAX)				\
 	  fputs ("\t.intel_syntax\n", FILE);				\
-	fprintf (FILE, "\t.version\t\"01.01\"\n");			\
   } while (0)
 
 #undef TARGET_VERSION
===================================================================
Index: config/i386/osf1elf.h
--- config/i386/osf1elf.h	2000/11/02 23:29:10	1.8
+++ config/i386/osf1elf.h	2001/04/11 04:51:22
@@ -85,21 +85,6 @@
 #undef  LIBGCC_SPEC
 #define LIBGCC_SPEC "%{!shared:%{!symbolic:libgcc.a%s}}"
 
-/* A C statement to output assembler commands which will identify the object
-  file as having been compile with GNU CC. We don't need or want this for
-  OSF1. */
-#undef ASM_IDENTIFY_GCC
-#define ASM_IDENTIFY_GCC(FILE)
-
-/* Identify the front-end which produced this file.  To keep symbol
-   space down, and not confuse kdb, only do this if the language is
-   not C.  */
-#define ASM_IDENTIFY_LANGUAGE(STREAM)                                   \
-{                                                                       \
-  if (strcmp (lang_identify (), "c") != 0)                              \
-    output_lang_identify (STREAM);                                      \
-}
-
 /* Specify size_t, ptrdiff_t, and wchar_t types.  */
 #undef  SIZE_TYPE
 #undef  PTRDIFF_TYPE
===================================================================
Index: config/i386/osfrose.h
--- config/i386/osfrose.h	2001/01/15 23:43:10	1.17
+++ config/i386/osfrose.h	2001/04/11 04:51:22
@@ -740,11 +740,6 @@ do									\
   }									\
 while (0)
 
-/* Attach a special .ident directive to the end of the file to identify
-   the version of GCC which compiled this code.  The format of the
-   .ident string is patterned after the ones produced by native svr4
-   C compilers.  */
-
 #define IDENT_ASM_OP "\t.ident\t"
 
 /* Allow #sccs in preprocessor.  */
@@ -759,98 +754,6 @@ do									\
     if (HALF_PIC_P ())							\
       HALF_PIC_FINISH (STREAM);						\
     ix86_asm_file_end (STREAM);						\
-    if (!flag_no_ident)							\
-      {									\
-	char *fstart = main_input_filename;				\
-	char *fname;							\
-									\
-	if (!fstart)							\
-	  fstart = "<no file>";						\
-									\
-	fname = fstart + strlen (fstart) - 1;				\
-	while (fname > fstart && *fname != '/')				\
-	  fname--;							\
-									\
-	if (*fname == '/')						\
-	  fname++;							\
-									\
-	fprintf ((STREAM), "%s\"GCC: (GNU) %s %s -O%d",			\
-		 IDENT_ASM_OP, version_string, fname, optimize);	\
-									\
-	if (write_symbols == PREFERRED_DEBUGGING_TYPE)			\
-	  fprintf ((STREAM), " -g%d", (int)debug_info_level);		\
-									\
-	else if (write_symbols == DBX_DEBUG)				\
-	  fprintf ((STREAM), " -gstabs%d", (int)debug_info_level);	\
-									\
-	else if (write_symbols == DWARF_DEBUG)				\
-	  fprintf ((STREAM), " -gdwarf%d", (int)debug_info_level);	\
-									\
-	else if (write_symbols != NO_DEBUG)				\
-	  fprintf ((STREAM), " -g??%d", (int)debug_info_level);		\
-									\
-	if (flag_omit_frame_pointer)					\
-	  fprintf ((STREAM), " -fomit-frame-pointer");			\
-									\
-	if (flag_strength_reduce)					\
-	  fprintf ((STREAM), " -fstrength-reduce");			\
-									\
-	if (flag_unroll_loops)						\
-	  fprintf ((STREAM), " -funroll-loops");			\
-									\
-	if (flag_schedule_insns)					\
-	  fprintf ((STREAM), " -fschedule-insns");			\
-									\
-	if (flag_schedule_insns_after_reload)				\
-	  fprintf ((STREAM), " -fschedule-insns2");			\
-									\
-	if (flag_force_mem)						\
-	  fprintf ((STREAM), " -fforce-mem");				\
-									\
-	if (flag_force_addr)						\
-	  fprintf ((STREAM), " -fforce-addr");				\
-									\
-	if (flag_inline_functions)					\
-	  fprintf ((STREAM), " -finline-functions");			\
-									\
-	if (flag_caller_saves)						\
-	  fprintf ((STREAM), " -fcaller-saves");			\
-									\
-	if (flag_pic)							\
-	  fprintf ((STREAM), (flag_pic > 1) ? " -fPIC" : " -fpic");	\
-									\
-	if (flag_inhibit_size_directive)				\
-	  fprintf ((STREAM), " -finhibit-size-directive");		\
-									\
-	if (flag_gnu_linker)						\
-	  fprintf ((STREAM), " -fgnu-linker");				\
-									\
-	if (profile_flag)						\
-	  fprintf ((STREAM), " -p");					\
-									\
-	if (profile_block_flag)						\
-	  fprintf ((STREAM), " -a");					\
-									\
-	if (TARGET_IEEE_FP)						\
-	  fprintf ((STREAM), " -mieee-fp");				\
-									\
-	if (TARGET_HALF_PIC)						\
-	  fprintf ((STREAM), " -mhalf-pic");				\
-									\
-	if (!TARGET_MOVE)						\
-	  fprintf ((STREAM), " -mno-move");				\
-									\
-	if (TARGET_386)							\
-	  fprintf ((STREAM), " -m386");					\
-									\
-	else if (TARGET_486)						\
-	  fprintf ((STREAM), " -m486");					\
-									\
-	else								\
-	  fprintf ((STREAM), " -munknown-machine");			\
-									\
-	fprintf ((STREAM), (TARGET_ELF) ? " -melf\"\n" : " -mrose\"\n"); \
-      }									\
   }									\
 while (0)
 
@@ -865,21 +768,6 @@ while (0)
    by hand, rather than passing the argument '-lgcc' to tell the linker
    to do the search */
 #define LINK_LIBGCC_SPECIAL
-
-/* A C statement to output assembler commands which will identify the object
-  file as having been compile with GNU CC. We don't need or want this for
-  OSF1. GDB doesn't need it and kdb doesn't like it */
-#define ASM_IDENTIFY_GCC(FILE)
-
-/* Identify the front-end which produced this file.  To keep symbol
-   space down, and not confuse kdb, only do this if the language is
-   not C.  */
-
-#define ASM_IDENTIFY_LANGUAGE(STREAM)					\
-{									\
-  if (strcmp (lang_identify (), "c") != 0)				\
-    output_lang_identify (STREAM);					\
-}
 
 /* Generate calls to memcpy, etc., not bcopy, etc. */
 #define TARGET_MEM_FUNCTIONS
===================================================================
Index: config/i386/ptx4-i.h
--- config/i386/ptx4-i.h	2000/11/02 23:29:10	1.10
+++ config/i386/ptx4-i.h	2001/04/11 04:51:22
@@ -98,16 +98,6 @@ do { long value[3];							\
        }								\
    } while (0)
 
-/* Output at beginning of assembler file.  */
-/* The .file command should always begin the output.  */
-
-#undef ASM_FILE_START
-#define ASM_FILE_START(FILE)						\
-  do {									\
-	output_file_directive (FILE, main_input_filename);		\
-	fprintf (FILE, "\t.version\t\"01.01\"\n");			\
-  } while (0)
-
 #undef DBX_REGISTER_NUMBER
 #define DBX_REGISTER_NUMBER(n)  svr4_dbx_register_map[n]
 
===================================================================
Index: config/i386/sco5.h
--- config/i386/sco5.h	2001/02/08 19:15:37	1.43
+++ config/i386/sco5.h	2001/04/11 04:51:22
@@ -210,15 +210,6 @@ do {									\
   fprintf ((FILE), "\t.version\t\"01.01\"\n");				\
 } while (0)
 
-#undef ASM_FILE_END
-#define ASM_FILE_END(FILE)						\
-do {									\
-     ix86_asm_file_end (FILE);						\
-     if (!flag_no_ident)						\
-	fprintf ((FILE), "%s\"GCC: (GNU) %s\"\n",			\
-		 IDENT_ASM_OP, version_string);				\
-} while (0)
-
 #undef ASM_FINISH_DECLARE_OBJECT
 #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)	 \
 do {									 \
===================================================================
Index: config/ia64/sysv4.h
--- config/ia64/sysv4.h	2000/09/25 09:32:58	1.9
+++ config/ia64/sysv4.h	2001/04/11 04:51:22
@@ -133,13 +133,6 @@ while (0)
 #undef WCHAR_TYPE_SIZE
 #define WCHAR_TYPE_SIZE 32
 
-/* We don't want any symbol at the beginning of the file.  This is defined in
-   dbxelf.h which is included from elfos.h, so we need to undef/define it
-   here.  */
-
-#undef ASM_IDENTIFY_GCC
-#define ASM_IDENTIFY_GCC(FILE)
-
 /* We redefine this to use the ia64 .proc pseudo-op.  */
 
 #undef ASM_DECLARE_FUNCTION_NAME
===================================================================
Index: config/m68k/3b1.h
--- config/m68k/3b1.h	2000/11/02 23:29:10	1.7
+++ config/m68k/3b1.h	2001/04/11 04:51:22
@@ -64,10 +64,6 @@ Boston, MA 02111-1307, USA.  */
 #define ASM_FILE_START(FILE) \
 output_file_directive ((FILE), main_input_filename)
 
-/* Don't try to define `gcc_compiled.' since the assembler might not
-   accept symbols with periods and GDB doesn't run on this machine anyway.  */
-#define ASM_IDENTIFY_GCC(FILE)
-
 /* Define __HAVE_68881__ in preprocessor if -m68881 is specified.
    This will control the use of inline 68881 insns in certain macros.  */
 
===================================================================
Index: config/m68k/auxgas.h
--- config/m68k/auxgas.h	1998/12/16 21:06:22	1.2
+++ config/m68k/auxgas.h	2001/04/11 04:51:22
@@ -31,14 +31,6 @@ Boston, MA 02111-1307, USA.  */
 #define ASM_OUTPUT_IDENT(FILE, NAME) \
   fprintf (FILE, "\t.ident \"%s\"\n", NAME);
 
-#ifdef IDENTIFY_WITH_IDENT
-/* Put the GCC identification somewhere nicer, I think.
-   Does the COFF GDB use the "gcc2_complied." symbol anyway? */
-#define ASM_IDENTIFY_GCC(FILE) /* nothing */
-#define ASM_IDENTIFY_LANGUAGE(FILE) \
-  fprintf (FILE, "\t.ident \"GCC (%s) %s\"\n", lang_identify(), version_string)
-#endif
-
 #ifdef USE_COLLECT2
 #undef ASM_OUTPUT_CONSTRUCTOR
 #undef ASM_OUTPUT_DESTRUCTOR
===================================================================
Index: config/m68k/crds.h
--- config/m68k/crds.h	2000/12/07 01:58:24	1.6
+++ config/m68k/crds.h	2001/04/11 04:51:22
@@ -90,10 +90,6 @@ Boston, MA 02111-1307, USA.  */
 
 #define TARGET_MEM_FUNCTIONS
 
-/* Don't try to define `gcc_compiled.' since the assembler might not
-   accept symbols with periods and GDB doesn't run on this machine anyway.  */
-#define ASM_IDENTIFY_GCC(FILE)
-
 /* Define __HAVE_68881__ in preprocessor if -m68881 is specified.
    This will control the use of inline 68881 insns in certain macros.  */
 
===================================================================
Index: config/m68k/hp320.h
--- config/m68k/hp320.h	2000/12/07 01:58:24	1.9
+++ config/m68k/hp320.h	2001/04/11 04:51:22
@@ -607,10 +607,6 @@ do { register int i;			\
     { fprintf ((FILE), "mov"); (PTR) += 4; }		\
 }
 
-/* Prevent output of `gcc_compiled.:'.  */
-
-#define ASM_IDENTIFY_GCC(FILE)
-
 #else /* not HPUX_ASM */
 
 #undef FUNCTION_PROFILER
===================================================================
Index: config/m68k/m68kv4.h
--- config/m68k/m68kv4.h	2000/12/07 01:58:24	1.10
+++ config/m68k/m68kv4.h	2001/04/11 04:51:22
@@ -27,11 +27,6 @@ Boston, MA 02111-1307, USA.  */
 
 #include "m68k/sgs.h"		/* The m68k/SVR4 assembler is SGS based */
 
-/* The SGS assembler requires a special definition of
-   ASM_IDENTIFY_GCC.  We combine the m68k/sgs.h and the svr4.h
-   definitions below.  */
-#undef ASM_IDENTIFY_GCC
-
 #include "svr4.h"		/* Pick up the generic SVR4 macros */
 
 /* See m68k.h.  7 means 68020 with 68881.  */
@@ -39,19 +34,6 @@ Boston, MA 02111-1307, USA.  */
 #ifndef TARGET_DEFAULT
 #define	TARGET_DEFAULT (MASK_BITFIELD|MASK_68881|MASK_68020)
 #endif
-
-/* When using an SGS assembler, modify the name of the artificial label which
-   identifies this file as having been compiled with gcc, and the macro that
-   emits such a label in the assembly output, to use '%' rather than '.'  */
-
-#undef ASM_IDENTIFY_GCC
-#define ASM_IDENTIFY_GCC(FILE)						\
-do									\
-  {									\
-    if (write_symbols != DBX_DEBUG)					\
-      fputs ("gcc2_compiled%:\n", FILE);				\
-  }									\
-while (0)
 
 /*  Override the definition of NO_DOLLAR_IN_LABEL in svr4.h, for special
     g++ assembler names.  When this is defined, g++ uses embedded '.'
===================================================================
Index: config/m68k/mot3300.h
--- config/m68k/mot3300.h	2000/11/02 23:29:11	1.16
+++ config/m68k/mot3300.h	2001/04/11 04:51:22
@@ -264,11 +264,6 @@ dtors_section ()							\
     }
 #endif /* USE_GAS */
 
-/* The sysV68 assembler does not accept dots in labels.
-   Let's use percent instead  */
-
-#define ASM_IDENTIFY_GCC(FILE)        fputs("gcc2_compiled%:\n", FILE)
-
 /* Names to predefine in the preprocessor for this target machine.  */
 /* ihnp4!lmayk!lgm@eddie.mit.edu says mc68000 and m68k should not be here,
    on the other hand I don't care what he says.  */
===================================================================
Index: config/m68k/news.h
--- config/m68k/news.h	2000/11/02 23:29:11	1.5
+++ config/m68k/news.h	2001/04/11 04:51:23
@@ -139,11 +139,6 @@ Boston, MA 02111-1307, USA.  */
 \f
 #ifdef MOTOROLA
 
-/* Don't try to define `gcc_compiled.' since the assembler does not
-   accept symbols with periods.  This is no real loss since GDB only
-   really needs it for parms passed in registers.  */
-#define ASM_IDENTIFY_GCC(FILE)
-
 #define FUNCTION_PROLOGUE(FILE, SIZE)     \
 { register int regno;						\
   register int mask = 0;					\
===================================================================
Index: config/m68k/sgs.h
--- config/m68k/sgs.h	2000/09/25 13:22:45	1.6
+++ config/m68k/sgs.h	2001/04/11 04:51:23
@@ -102,13 +102,6 @@ Boston, MA 02111-1307, USA.  */
 
 #endif /* defined SUPPORT_SUN_FPA */
 
-/* When using an SGS assembler, modify the name of the artificial label which
-   identifies this file as having been compiled with gcc, and the macro that
-   emits such a label in the assembly output, to use '%' rather than '.' */
-
-#define ASM_IDENTIFY_GCC(FILE)				\
- { fprintf ((FILE), "%s:\n", "gcc2_compiled%"); }
-
 /* This is how to output an assembler line defining an `int' constant.  */
 /* The SGS assembler doesn't understand ".word". */
 
===================================================================
Index: config/m68k/tower-as.h
--- config/m68k/tower-as.h	2000/11/02 23:29:11	1.6
+++ config/m68k/tower-as.h	2001/04/11 04:51:23
@@ -67,11 +67,6 @@ Boston, MA 02111-1307, USA.  */
 
 #define SDB_DEBUGGING_INFO
 
-/* This is only useful if gdb is changed, but doesn't harm anyway.  */
-
-#define ASM_IDENTIFY_GCC(FILE) \
-  fprintf (FILE, "gcc2_compiled%%:\n")
-
 /* All the ASM_OUTPUT macros need to conform to the Tower as syntax.  */
 
 #define ASM_OUTPUT_SOURCE_FILENAME(FILE, FILENAME) \
===================================================================
Index: config/m88k/m88k.c
--- config/m88k/m88k.c	2000/11/10 16:01:22	1.28
+++ config/m88k/m88k.c	2001/04/11 04:51:23
@@ -1573,9 +1573,8 @@ output_file_start (file, f_options, f_le
       && TARGET_SVR4)
     fprintf (file, "%s\n", REQUIRES_88110_ASM_OP);
   output_file_directive (file, main_input_filename);
-  /* Switch to the data section so that the coffsem symbol and the
-     gcc2_compiled. symbol aren't in the text section.  */
-  data_section ();
+  /* Switch to the data section so that the coffsem symbol
+     isn't in the text section.  */
   ASM_COFFSEM (file);
 
   if (TARGET_IDENTIFY_REVISION)
===================================================================
Index: config/mcore/mcore-elf.h
--- config/mcore/mcore-elf.h	2000/09/25 13:22:46	1.4
+++ config/mcore/mcore-elf.h	2001/04/11 04:51:23
@@ -55,20 +55,6 @@ Boston, MA 02111-1307, USA.  */
 #undef  DBX_REGISTER_NUMBER
 #define DBX_REGISTER_NUMBER(REGNO) (REGNO)
 
-/* When using stabs, gcc2_compiled must be a stabs entry, not an
-   ordinary symbol, or gdb won't see it.  The stabs entry must be
-   before the N_SO in order for gdb to find it.  */
-#undef  ASM_IDENTIFY_GCC
-#define ASM_IDENTIFY_GCC(FILE)						\
-do									\
-  {									\
-    if (write_symbols != DBX_DEBUG)					\
-      fputs ("gcc2_compiled.:\n", FILE);				\
-    else								\
-      fputs ("\t.stabs\t\"gcc2_compiled.\", 0x3c, 0, 0, 0\n", FILE);	\
-  }									\
-while (0)
-
 /* MCore defines .long and .short to NOT force any alignment.
    This lets you misalign as much as you wish.  */
 #define	UNALIGNED_INT_ASM_OP	"\t.long\t"
===================================================================
Index: config/mips/gnu.h
--- config/mips/gnu.h	2000/11/02 23:29:11	1.5
+++ config/mips/gnu.h	2001/04/11 04:51:23
@@ -39,24 +39,6 @@ Boston, MA 02111-1307, USA.  */
 #undef TARGET_VERSION
 #define TARGET_VERSION fprintf (stderr, " (MIPS GNU/ELF)");
 
-/* Output at beginning of assembler file.  */
-/* The .file command should always begin the output.  */
-#undef ASM_FILE_START
-#define ASM_FILE_START(FILE)						\
-  do {									\
-	mips_asm_file_start (FILE);					\
-	fprintf (FILE, "\t.version\t\"01.01\"\n");			\
-  } while (0)
-
-#undef ASM_FILE_END
-#define ASM_FILE_END(FILE)						\
-  do {				 					\
-	mips_asm_file_end(FILE);					\
-	if (!flag_no_ident)						\
-	  fprintf ((FILE), "%s\"GCC: (GNU) %s\"\n",			\
-		   IDENT_ASM_OP, version_string);			\
-  } while (0)
-
 #undef ASM_OUTPUT_SOURCE_LINE
 #define ASM_OUTPUT_SOURCE_LINE(FILE, LINE)				\
   do {									\
===================================================================
Index: config/mips/iris6.h
--- config/mips/iris6.h	2001/02/01 18:26:40	1.28
+++ config/mips/iris6.h	2001/04/11 04:51:23
@@ -128,11 +128,6 @@ Boston, MA 02111-1307, USA.  */
 #undef MACHINE_TYPE
 #define MACHINE_TYPE "SGI running IRIX 6.x"
 
-/* The Irix 6.0.1 assembler doesn't like labels in the text section, so
-   just avoid emitting them.  */
-#define ASM_IDENTIFY_GCC(x) ((void)0)
-#define ASM_IDENTIFY_LANGUAGE(x) ((void)0)
-
 /* Irix 5 stuff that we don't need for Irix 6.  */
 /* ??? We do need this for the -mabi=32 switch though.  */
 #undef ASM_OUTPUT_UNDEF_FUNCTION
===================================================================
Index: config/mips/linux.h
--- config/mips/linux.h	2001/01/15 05:56:13	1.19
+++ config/mips/linux.h	2001/04/11 04:51:23
@@ -28,16 +28,6 @@ Boston, MA 02111-1307, USA.  */
 #undef MD_EXEC_PREFIX
 #undef MD_STARTFILE_PREFIX
 
-/* Output at beginning of assembler file.  */
-/* The .file command should always begin the output.  */
-#undef ASM_FILE_START
-#define ASM_FILE_START(FILE)						\
-  do {									\
-	mips_asm_file_start (FILE);					\
-	fprintf (FILE, "\t.version\t\"01.01\"\n");			\
-  } while (0)
-
-
 /* Required to keep collect2.c happy */
 #undef OBJECT_FORMAT_COFF
 
===================================================================
Index: config/mips/osfrose.h
--- config/mips/osfrose.h	2000/11/02 23:29:12	1.6
+++ config/mips/osfrose.h	2001/04/11 04:51:23
@@ -115,32 +115,3 @@ Boston, MA 02111-1307, USA.  */
 
 /* Generate calls to memcpy, etc., not bcopy, etc.  */
 #define TARGET_MEM_FUNCTIONS
-
-/* A C statement to output assembler commands which will identify
-   the object file as having been compiled with GNU CC (or another
-   GNU compiler).
-
-   If you don't define this macro, the string `gcc2_compiled.:' is
-   output.  This string is calculated to define a symbol which, on
-   BSD systems, will never be defined for any other reason.  GDB
-   checks for the presence of this symbol when reading the symbol
-   table of an executable.
-
-   On non-BSD systems, you must arrange communication with GDB in
-   some other fashion.  If GDB is not used on your system, you can
-   define this macro with an empty body.
-
-   On OSF/1, gcc2_compiled. confuses the kernel debugger, so don't
-   put it out.  */
-
-#define ASM_IDENTIFY_GCC(STREAM)
-
-/* Identify the front-end which produced this file.  To keep symbol
-   space down, and not confuse kdb, only do this if the language is
-   not C.  */
-
-#define ASM_IDENTIFY_LANGUAGE(STREAM)					\
-{									\
-  if (strcmp (lang_identify (), "c") != 0)				\
-    output_lang_identify (STREAM);					\
-}
===================================================================
Index: config/mips/sni-svr4.h
--- config/mips/sni-svr4.h	2000/11/02 23:29:12	1.8
+++ config/mips/sni-svr4.h	2001/04/11 04:51:23
@@ -68,15 +68,6 @@ Boston, MA 02111-1307, USA.  */
 
 #define NM_FLAGS	"-p"
 
-/* wir haben ein Problem, wenn in einem Assembler-File keine .text-section
-   erzeugt wird. Dann landen diese Pseudo-Labels in irgendeiner anderen
-   section, z.B. .reginfo. Das macht den ld sehr ungluecklich. */
-
-#define ASM_IDENTIFY_GCC(mw_stream) \
-	fprintf(mw_stream, "\t.ident \"gcc2_compiled.\"\n");
-
-#define ASM_IDENTIFY_LANGUAGE(STREAM)
-
 #define ASM_LONG	".word\t"
 #define ASM_GLOBAL	".rdata\n\t\t.globl\t"
 
===================================================================
Index: config/pa/lib2funcs.asm
--- config/pa/lib2funcs.asm	2000/05/15 23:14:16	1.5
+++ config/pa/lib2funcs.asm	2001/04/11 04:51:23
@@ -37,7 +37,6 @@
 	.SUBSPA $MILLICODE$,QUAD=0,ALIGN=8,ACCESS=44,SORT=8
 
 	.IMPORT $$dyncall,MILLICODE
-; gcc_compiled.:
 	.SPACE $TEXT$
 	.SUBSPA $CODE$
 
===================================================================
Index: config/pa/som.h
--- config/pa/som.h	2001/03/09 06:33:50	1.13.4.2
+++ config/pa/som.h	2001/04/11 04:51:23
@@ -26,12 +26,6 @@ Boston, MA 02111-1307, USA.  */
    from other embedded stabs implementations.  */
 #undef DBX_USE_BINCL
 
-#undef ASM_IDENTIFY_GCC
-#define ASM_IDENTIFY_GCC(FILE)
-
-#undef ASM_IDENTIFY_GCC_AFTER_SOURCE
-#define ASM_IDENTIFY_GCC_AFTER_SOURCE(FILE)
-
 /* We make the first line stab special to avoid adding several
    gross hacks to GAS.  */
 #undef  ASM_OUTPUT_SOURCE_LINE
===================================================================
Index: config/pdp11/pdp11.h
--- config/pdp11/pdp11.h	2001/01/01 20:35:34	1.23
+++ config/pdp11/pdp11.h	2001/04/11 04:51:23
@@ -1245,10 +1245,6 @@ fprintf (FILE, "$help$: . = .+8 ; space 
   fprintf (FILE, "\tmov (sp)+, %s\n", reg_names[REGNO])     	\
 )
 
-
-#define ASM_IDENTIFY_GCC(FILE)			\
-    fprintf(FILE, "gcc_compiled:\n")
-
 /* trampoline - how should i do it in separate i+d ? 
    have some allocate_trampoline magic??? 
 
===================================================================
Index: config/rs6000/aix.h
--- config/rs6000/aix.h	2001/02/08 20:30:16	1.15
+++ config/rs6000/aix.h	2001/04/11 04:51:23
@@ -402,9 +402,6 @@ toc_section ()						\
    Also, in order to output proper .bs/.es pairs, we need at least one static
    [RW] section emitted.
 
-   We then switch back to text to force the gcc2_compiled. label and the space
-   allocated after it (when profiling) into the text section.
-
    Finally, declare mcount when profiling to make the assembler happy.  */
 
 #define ASM_FILE_START(FILE)					\
@@ -422,7 +419,6 @@ toc_section ()						\
   toc_section ();						\
   if (write_symbols != NO_DEBUG)				\
     private_data_section ();					\
-  text_section ();						\
   if (profile_flag)						\
     fprintf (FILE, "\t.extern %s\n", RS6000_MCOUNT);		\
   rs6000_file_start (FILE, TARGET_CPU_DEFAULT);			\
===================================================================
Index: config/sh/sh.c
--- config/sh/sh.c	2001/03/16 12:35:50	1.89.2.1
+++ config/sh/sh.c	2001/04/11 04:51:24
@@ -905,8 +905,8 @@ output_file_start (file)
 {
   output_file_directive (file, main_input_filename);
 
-  /* Switch to the data section so that the coffsem symbol and the
-     gcc2_compiled. symbol aren't in the text section.  */
+  /* Switch to the data section so that the coffsem symbol
+     isn't in the text section.  */
   data_section ();
 
   if (TARGET_LITTLE_ENDIAN)
===================================================================
Index: config/sparc/linux-aout.h
--- config/sparc/linux-aout.h	2000/11/02 23:29:13	1.13
+++ config/sparc/linux-aout.h	2001/04/11 04:51:24
@@ -42,11 +42,7 @@ Boston, MA 02111-1307, USA.  */
 /* Output at beginning of assembler file.  */
 /* The .file command should always begin the output.  */
 #undef ASM_FILE_START
-#define ASM_FILE_START(FILE)                                            \
-  do {                                                                  \
-        output_file_directive (FILE, main_input_filename);              \
-        fprintf (FILE, "\t.version\t\"01.01\"\n");                      \
-  } while (0)
+#define ASM_FILE_START(FILE) output_file_directive (FILE, main_input_filename)
 
 #undef STARTFILE_SPEC
 #define STARTFILE_SPEC  "%{pg:gcrt0.o%s} %{!pg:%{p:gcrt0.o%s} %{!p:crt0.o%s}} %{static:-static}"
===================================================================
Index: config/sparc/linux.h
--- config/sparc/linux.h	2000/11/02 23:29:13	1.19
+++ config/sparc/linux.h	2001/04/11 04:51:24
@@ -45,15 +45,6 @@ Boston, MA 02111-1307, USA.  */
 #undef MD_EXEC_PREFIX
 #undef MD_STARTFILE_PREFIX
 
-/* Output at beginning of assembler file.  */
-/* The .file command should always begin the output.  */
-#undef ASM_FILE_START
-#define ASM_FILE_START(FILE)                                            \
-  do {                                                                  \
-        output_file_directive (FILE, main_input_filename);              \
-        fprintf (FILE, "\t.version\t\"01.01\"\n");                      \
-  } while (0)
-
 /* Provide a STARTFILE_SPEC appropriate for GNU/Linux.  Here we add
    the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
    provides part of the support for getting C++ file-scope static
===================================================================
Index: config/sparc/linux64.h
--- config/sparc/linux64.h	2000/11/02 23:29:13	1.31
+++ config/sparc/linux64.h	2001/04/11 04:51:24
@@ -44,15 +44,6 @@ Boston, MA 02111-1307, USA.  */
    + MASK_STACK_BIAS + MASK_APP_REGS + MASK_EPILOGUE + MASK_FPU + MASK_LONG_DOUBLE_128)
 #endif
 
-/* Output at beginning of assembler file.  */
-/* The .file command should always begin the output.  */
-#undef ASM_FILE_START
-#define ASM_FILE_START(FILE)                                            \
-  do {                                                                  \
-        output_file_directive (FILE, main_input_filename);              \
-        fprintf (FILE, "\t.version\t\"01.01\"\n");                      \
-  } while (0)
-  
 #undef ASM_CPU_DEFAULT_SPEC
 #define ASM_CPU_DEFAULT_SPEC "-Av9a"
 
===================================================================
Index: config/sparc/sp64-elf.h
--- config/sparc/sp64-elf.h	2000/11/02 23:29:13	1.15
+++ config/sparc/sp64-elf.h	2001/04/11 04:51:24
@@ -119,11 +119,6 @@ crtbegin.o%s \
 #undef PREFERRED_DEBUGGING_TYPE
 #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
 
-/* Stabs doesn't use this, and it confuses a simulator.  */
-/* ??? Need to see what DWARF needs, if anything.  */
-#undef ASM_IDENTIFY_GCC
-#define ASM_IDENTIFY_GCC(FILE)
-
 /* Define the names of various pseudo-ops used by the Sparc/svr4 assembler.
    ??? If ints are 64 bits then UNALIGNED_INT_ASM_OP (defined elsewhere) is
    misnamed.  These should all refer to explicit sizes (half/word/xword?),
===================================================================
Index: config/vax/vax.h
--- config/vax/vax.h	2001/01/14 09:08:51	1.18
+++ config/vax/vax.h	2001/04/11 04:51:24
@@ -1018,9 +1018,18 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_
 /* Control the assembler format that we output.  */
 
 /* Output at beginning of assembler file.  */
+/* When debugging, we want to output an extra dummy label so that gas
+   can distinguish between D_float and G_float prior to processing the
+   .stabs directive identifying type double.  */
 
-#define ASM_FILE_START(FILE) fprintf (FILE, "#NO_APP\n");
+#define ASM_FILE_START(FILE) \
+  do {								\
+    fputs (ASM_APP_OFF, FILE);					\
+    if (write_symbols == DBX_DEBUG)				\
+      fprintf (FILE, "___vax_%c_doubles:\n", ASM_DOUBLE_CHAR);	\
+  } while (0)
 
+
 /* Output to assembler file text saying following lines
    may contain character constants, extra white space, comments, etc.  */
 
@@ -1207,17 +1216,6 @@ do { char dstr[30];							\
 #define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO)	\
 ( (OUTPUT) = (char *) alloca (strlen ((NAME)) + 10),	\
   sprintf ((OUTPUT), "%s.%d", (NAME), (LABELNO)))
-
-/* When debugging, we want to output an extra dummy label so that gas
-   can distinguish between D_float and G_float prior to processing the
-   .stabs directive identifying type double.  */
-
-#define ASM_IDENTIFY_LANGUAGE(FILE)	\
-  do {								\
-    output_lang_identify (FILE);				\
-    if (write_symbols == DBX_DEBUG)				\
-      fprintf (FILE, "___vax_%c_doubles:\n", ASM_DOUBLE_CHAR);	\
-  } while (0)
 
 /* Output code to add DELTA to the first argument, and then jump to FUNCTION.
    Used for C++ multiple inheritance.

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2001-04-11 14:49 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-04-11  0:26 killing ASM_IDENTIFY_GCC [branch] John Marshall
2001-04-11  9:30 ` Zack Weinberg
  -- strict thread matches above, loose matches on Subject: below --
2001-04-10 22:23 Zack Weinberg
2001-04-10 23:04 ` Richard Henderson
2001-04-10 23:21   ` Zack Weinberg
2001-04-10 23:17 ` Mark Mitchell
2001-04-10 23:35   ` Daniel Berlin
2001-04-11  0:45     ` Zack Weinberg
2001-04-11  6:28       ` Daniel Berlin
2001-04-11  8:37         ` Zack Weinberg
2001-04-11 12:07           ` Jim Wilson
2001-04-11 12:48             ` Richard Henderson
2001-04-11 14:49             ` Zack Weinberg
2001-04-11 11:55         ` Jim Wilson
2001-04-11 12:46           ` Daniel Berlin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).