public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* 1008 segfaults in genattr
@ 1997-10-09 14:56 acs
  1997-11-16 23:01 ` Jeffrey A Law
  0 siblings, 1 reply; 47+ messages in thread
From: acs @ 1997-10-09 14:56 UTC (permalink / raw)
  To: egcs

When doing 'make bootstrap' under UnixWare 2.1.2 (i386-pc-sysv4.2uw2.1.2),
with the 1008 snapshot, genattr dumps core:


...
stage1/xgcc -Bstage1/  -DIN_GCC    -O2 -g -O2  -DHAVE_CONFIG_H   -o genattr genattr.o rtl.o ` case "obstack.o" in ?*) echo obstack.o ;; esac ` ` case "stage1/xgcc -Bstage1/"@"alloca.o" in "cc"@?*) echo alloca.o ;; esac ` ` case "" in ?
*) echo  ;; esac ` 
./genattr ./config/i386/i386.md > tmp-attr.h
Abort - core dumped
make[2]: *** [stamp-attr] Error 134
make[2]: Leaving directory `/syjet/src/egcs-971008/gcc'
make[1]: *** [bootstrap] Error 2
make[1]: Leaving directory `/syjet/src/egcs-971008/gcc'
make: *** [bootstrap] Error 2

Here's a backtrace:

#0  0xbffb3783 in kill ()
#1  0xbffe3528 in abort ()
#2  0x80487be in __do_global_dtors_aux ()
#3  0x804b0d5 in _fini ()
#4  0x8048755 in _start ()


The last snapshot I built was 970910, in case that matters.

vin shelton


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

* Re: 1008 segfaults in genattr
  1997-10-09 14:56 1008 segfaults in genattr acs
@ 1997-11-16 23:01 ` Jeffrey A Law
  1997-11-17  5:04   ` acs
  0 siblings, 1 reply; 47+ messages in thread
From: Jeffrey A Law @ 1997-11-16 23:01 UTC (permalink / raw)
  To: acs; +Cc: egcs

  In message <199710092157.RAA03194@spacely.icd.teradyne.com>you write:
  > When doing 'make bootstrap' under UnixWare 2.1.2 (i386-pc-sysv4.2uw2.1.2),
  > with the 1008 snapshot, genattr dumps core:
Did you send me some mail about the UnixWare problems in the last few days;
I seem to remember getting an analysis of the problem, but can't find the
message now.

jeff

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

* Re: 1008 segfaults in genattr
  1997-11-16 23:01 ` Jeffrey A Law
@ 1997-11-17  5:04   ` acs
  1997-11-17  8:12     ` Jeffrey A Law
  1997-11-17 12:30     ` Robert Lipe
  0 siblings, 2 replies; 47+ messages in thread
From: acs @ 1997-11-17  5:04 UTC (permalink / raw)
  To: law; +Cc: egcs

> 
>   In message <199710092157.RAA03194@spacely.icd.teradyne.com>you write:
>   > When doing 'make bootstrap' under UnixWare 2.1.2 (i386-pc-sysv4.2uw2.1.2),
>   > with the 1008 snapshot, genattr dumps core:
> Did you send me some mail about the UnixWare problems in the last few days;
> I seem to remember getting an analysis of the problem, but can't find the
> message now.

I'm not sure what you mean by 'in the last few days'.  There was some 
discussion on the list about exit being called from an atexit function:

robertl@dgii.com said:
> 
> 	Regarding the standard, the behavior is undefined when a
> 	program calls exit() from an atexit()-registered function:
> 		"If more than one call to the exit function is
> 		 executed by a program, the behavior is undefined."
> 	in the description of exit in the current C standard. 


In fact, I can verify that 971114 still fails in the same way as previous 
builds.  A simple hello world prgram dumps core after main finishes 
running;  __do_global_dtors gets called twice.

Looking at Robert Lipe's message, I wonder if I should undefine HAVE_ATEXIT 
from a header file somewhere.

Thanks,
  vin


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

* Re: 1008 segfaults in genattr
  1997-11-17  5:04   ` acs
@ 1997-11-17  8:12     ` Jeffrey A Law
  1997-11-17 12:30     ` Robert Lipe
  1 sibling, 0 replies; 47+ messages in thread
From: Jeffrey A Law @ 1997-11-17  8:12 UTC (permalink / raw)
  To: acs; +Cc: egcs

  In message < 199711171304.IAA23721@honeydew.icd.teradyne.com >you write:
  > > I seem to remember getting an analysis of the problem, but can't find the
  > > message now.
  > 
  > I'm not sure what you mean by 'in the last few days'.  There was some 
  > discussion on the list about exit being called from an atexit function:
My goof -- it was the ix86-solaris2.5 problem that someone sent me an
analysis for.

  > In fact, I can verify that 971114 still fails in the same way as previous 
  > builds.  A simple hello world prgram dumps core after main finishes 
  > running;  __do_global_dtors gets called twice.
  > 
  > Looking at Robert Lipe's message, I wonder if I should undefine HAVE_ATEXIT
  > from a header file somewhere.
We've done this for sco5.h -- it'll appear in the next snapshot.
jeff


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

* Re: 1008 segfaults in genattr
  1997-11-17 12:30     ` Robert Lipe
@ 1997-11-17  9:50       ` acs
  1997-11-17 11:19         ` H.J. Lu
                           ` (2 more replies)
  0 siblings, 3 replies; 47+ messages in thread
From: acs @ 1997-11-17  9:50 UTC (permalink / raw)
  To: Robert Lipe; +Cc: law, egcs

robertl@dgii.com said:
>   What's the simplest program you can provide that shows the problem?

From memory:

#include <stdio.h>
main()
{
	printf("Hello World\n");
}


This dumps core in (stop me if you've heard this before) 
__do_global_dtors_aux, the 2nd time around.


Jeff, I doubt that my platform includes sco5.h, even though it's now owned 
by SCO.  I was proposing that I test a similar modification to my own 
configuration header file.

I'm anxious to try out any suggestions you may have.

vin


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

* Re: 1008 segfaults in genattr
  1997-11-17  9:50       ` acs
@ 1997-11-17 11:19         ` H.J. Lu
  1997-11-17 12:30         ` David McWherter
  1997-11-17 12:30         ` Robert Lipe
  2 siblings, 0 replies; 47+ messages in thread
From: H.J. Lu @ 1997-11-17 11:19 UTC (permalink / raw)
  To: acs; +Cc: robertl, law, egcs

> 
> 
> robertl@dgii.com said:
> >   What's the simplest program you can provide that shows the problem?
> 
> >From memory:
> 
> #include <stdio.h>
> main()
> {
> 	printf("Hello World\n");
> }
> 
> 
> This dumps core in (stop me if you've heard this before) 
> __do_global_dtors_aux, the 2nd time around.
> 

Why is __do_global_dtors_aux () called twice? If I remembered
right, it was designed with ELF in mind. It is stuck into the
.fini section through some magic. It should only be called
exactly once. That is how the .fini section should work any
way. Now if SCO uses a different scheme for __do_global_dtors_aux (),
there is no guarantee that it will work at all.

BTW, my ELF paper describes how it works:

ftp://sunsite.unc.edu/pub/Linux/GCC/elf.ps.gz

If SCO uses the same magic and it doesn't work, please drop
me a line. I will take a look.

BTW, all those stuffs assume you have an ELF linker which
does the right thing.


H.J.

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

* Re: 1008 segfaults in genattr
  1997-11-17  5:04   ` acs
  1997-11-17  8:12     ` Jeffrey A Law
@ 1997-11-17 12:30     ` Robert Lipe
  1997-11-17  9:50       ` acs
  1 sibling, 1 reply; 47+ messages in thread
From: Robert Lipe @ 1997-11-17 12:30 UTC (permalink / raw)
  To: acs; +Cc: law, egcs

[ Re: Unixware 2.something crashing ] 
> In fact, I can verify that 971114 still fails in the same way as previous 
> builds.  A simple hello world prgram dumps core after main finishes 
> running;  __do_global_dtors gets called twice.
> 
> Looking at Robert Lipe's message, I wonder if I should undefine HAVE_ATEXIT 
> from a header file somewhere.

We probably have two different things going on that just happened
to look similar at first glance.

SCO currently has two different OSes (OpenServer, Unixware) that, while
similar in many ways, have a different set of bugs. :-)

If you see the attached test program calls abort() or otherwise acts
wierd- even with the native compiler (such as scrolling the two messages
until your stack overflows) - we should arrange to #undef HAVE_ATEXIT 
on your target.   This will cure a testcase problem often seen with 
p9732b.C.

If you're seeing a repeatable crash on every program, then we have a
different problem that should be treated as a different problem.  What's
the simplest program you can provide that shows the problem?



void one(void)
{
	printf("One\n");
	exit(1);
}

two()
{
	printf("two\n");
}


main()
{
	atexit(one);
	atexit(two);
}

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

* Re: 1008 segfaults in genattr
  1997-11-17  9:50       ` acs
  1997-11-17 11:19         ` H.J. Lu
  1997-11-17 12:30         ` David McWherter
@ 1997-11-17 12:30         ` Robert Lipe
  1997-11-17 13:49           ` H.J. Lu
       [not found]           ` <19971117162101.41289.cygnus.egcs@dgii.com>
  2 siblings, 2 replies; 47+ messages in thread
From: Robert Lipe @ 1997-11-17 12:30 UTC (permalink / raw)
  To: acs; +Cc: law, egcs

> >   What's the simplest program you can provide that shows the problem?
> 
> >From memory:

[ hello, world ] 

Hmm.  That's pretty simple, all right. :-)

So this is definitely at least a different form of the problem than 
what we saw on OpenServer.

> This dumps core in (stop me if you've heard this before) 
> __do_global_dtors_aux, the 2nd time around.

Does the program I attached before do anything "funny" when built
with the native compiler?      If not, we're almost certainly barking
up the wrong tree.

Actually, what happens if you make the last line of "hello, world" into
"_exit(0);"?   Be sure to note the leading underbar.   This would bypass
the whole destructor/.fini thing.

> Jeff, I doubt that my platform includes sco5.h, even though it's now owned 
> by SCO.  I was proposing that I test a similar modification to my own 
> configuration header file.

Though Unixware and OpenServer have many similarities (the native 
compilers and libraries both come from The Organizatino Formerly Known
As ATT/USL/USG/Univel/Novell) they are, from gcc's view, distinct 
targets.   If you're picking up sco5.h on a Unixware target, I'd expect
it to spontaneously combust.

Though this isn't the "right" way to do this, edit config/i386/sysv4.h
(a.k.a. your tm.h file) to include an "#undef HAVE_ATEXIT" somewhere
after it's included "../svr4.h".   You'll have to rebuild (at least)
crt* and probably libgcc.a before testing to see if this cures what
ails you.


If this doesn't make the difference, then there's probably a problem 
with the way .fini is being built.

RJL

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

* Re: 1008 segfaults in genattr
  1997-11-17  9:50       ` acs
  1997-11-17 11:19         ` H.J. Lu
@ 1997-11-17 12:30         ` David McWherter
  1997-11-17 12:30         ` Robert Lipe
  2 siblings, 0 replies; 47+ messages in thread
From: David McWherter @ 1997-11-17 12:30 UTC (permalink / raw)
  To: acs; +Cc: Robert Lipe, law, egcs

Ahhh...I remember getting this error on my linux-pmac system.  I was told
that it probably had something to do with the fact that I wasn't running
glibc2.x...but nothing conclusive (glibc2.x just became available for
linux-pmac, and I've not yet tried this again to see if it fixes it...I
suppose it does, as I think I've heard of folks using egcs with glibc2.x).

-David

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
       David T. McWherter     dtm@waterw.com

On Mon, 17 Nov 1997 acs@acm.org wrote:

> 
> robertl@dgii.com said:
> >   What's the simplest program you can provide that shows the problem?
> 
> >From memory:
> 
> #include <stdio.h>
> main()
> {
> 	printf("Hello World\n");
> }
> 
> 
> This dumps core in (stop me if you've heard this before) 
> __do_global_dtors_aux, the 2nd time around.
> 
> 
> Jeff, I doubt that my platform includes sco5.h, even though it's now owned 
> by SCO.  I was proposing that I test a similar modification to my own 
> configuration header file.
> 
> I'm anxious to try out any suggestions you may have.
> 
> vin
> 


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

* Re: 1008 segfaults in genattr
  1997-11-17 12:30         ` Robert Lipe
@ 1997-11-17 13:49           ` H.J. Lu
  1997-11-17 14:21             ` Robert Lipe
       [not found]           ` <19971117162101.41289.cygnus.egcs@dgii.com>
  1 sibling, 1 reply; 47+ messages in thread
From: H.J. Lu @ 1997-11-17 13:49 UTC (permalink / raw)
  To: Robert Lipe; +Cc: acs, law, egcs

> 
> If this doesn't make the difference, then there's probably a problem 
> with the way .fini is being built.
> 

If .fini on SCO is supported as ELF, atexit () should not be used
at all. BTW, by ".fini", I mean a section which will be called
by the system automatically upon exit and the only thing you 
have to do is stick some stuff you want in it. If you need
to do more than that, it is not the ".fini" gcc wants.

-- 
H.J. Lu (hjl@gnu.ai.mit.edu)

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

* Re: 1008 segfaults in genattr
  1997-11-17 13:49           ` H.J. Lu
@ 1997-11-17 14:21             ` Robert Lipe
  1997-11-17 15:03               ` H.J. Lu
                                 ` (2 more replies)
  0 siblings, 3 replies; 47+ messages in thread
From: Robert Lipe @ 1997-11-17 14:21 UTC (permalink / raw)
  To: acs, egcs

> > If this doesn't make the difference, then there's probably a problem 
> > with the way .fini is being built.
> 
> If .fini on SCO is supported as ELF, atexit () should not be used

SCO makes two distinctly different products  - OpenServer and Unixware.
The Unixware product is the stuff formerly from AT&T/USL/USG/Univel/Novell.

SVR4/386 has never supported generation of COFF binaries - it was ELF
out of the gate and never looked back.   Yes, it will execute many COFF
binaries, but can't create them.   GCC on SVR4/386 reflects this 
"ELF-only" statistic, so I think we can count on having a functional
.fini section.

> at all. BTW, by ".fini", I mean a section which will be called
> by the system automatically upon exit and the only thing you 
> have to do is stick some stuff you want in it. If you need
> to do more than that, it is not the ".fini" gcc wants.

That is part of the ELF spec, and I'm pretty sure that Unixware
does exactly what you're asking of it.


The problem is that "config/svr4.h" #defines HAVE_ATEXIT and nothing
in config/i386/sysv4.h #undefs it.  This is why we see the potentially 
goofy double exit thing on systems that are SVR4-ish on x86, which 
would certainly include Unixware.

Whether config/svr4.h shouldn't define it or i386/sysv4.h should 
undefine it is left as an exercise for someone with a better feel
for risk management. :-)

Things were uglier on OpenServer where we have both COFF and ELF, but
I think that's all behind us now.

RJL

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

* Re: 1008 segfaults in genattr
  1997-11-17 14:21             ` Robert Lipe
@ 1997-11-17 15:03               ` H.J. Lu
  1997-11-18 23:29               ` Jeffrey A Law
       [not found]               ` <14025.879923259.cygnus.egcs@hurl.cygnus.com>
  2 siblings, 0 replies; 47+ messages in thread
From: H.J. Lu @ 1997-11-17 15:03 UTC (permalink / raw)
  To: Robert Lipe; +Cc: acs, egcs

> SVR4/386 has never supported generation of COFF binaries - it was ELF
> out of the gate and never looked back.   Yes, it will execute many COFF
> binaries, but can't create them.   GCC on SVR4/386 reflects this 
> "ELF-only" statistic, so I think we can count on having a functional
> .fini section.
> 
> > at all. BTW, by ".fini", I mean a section which will be called
> > by the system automatically upon exit and the only thing you 
> > have to do is stick some stuff you want in it. If you need
> > to do more than that, it is not the ".fini" gcc wants.
> 
> That is part of the ELF spec, and I'm pretty sure that Unixware
> does exactly what you're asking of it.
> 
> 
> The problem is that "config/svr4.h" #defines HAVE_ATEXIT and nothing
> in config/i386/sysv4.h #undefs it.  This is why we see the potentially 
> goofy double exit thing on systems that are SVR4-ish on x86, which 
> would certainly include Unixware.
> 

In that case, I don't think HAVE_ATEXIT is the problem. Please
send me crtbegin.s, crtend.s and __main.s.

BTW, Unixware should never include i386/sco5.h. If it does, nothing
will work. I can tell that from what's in i386/sco5.h.


H.J.

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

* Re: 1008 segfaults in genattr
       [not found]           ` <19971117162101.41289.cygnus.egcs@dgii.com>
@ 1997-11-17 18:32             ` Jason Merrill
  1997-11-17 21:11               ` Robert Lipe
  0 siblings, 1 reply; 47+ messages in thread
From: Jason Merrill @ 1997-11-17 18:32 UTC (permalink / raw)
  To: Robert Lipe, egcs

>>>>> Robert Lipe <robertl@dgii.com> writes:

>> If .fini on SCO is supported as ELF, atexit () should not be used

> The problem is that "config/svr4.h" #defines HAVE_ATEXIT and nothing
> in config/i386/sysv4.h #undefs it.  This is why we see the potentially 
> goofy double exit thing on systems that are SVR4-ish on x86, which 
> would certainly include Unixware.

I don't understand.  HAVE_ATEXIT has no effect whatsoever on the running of
dtors on ELF systems.  What's the problem?

Jason

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

* Re: 1008 segfaults in genattr
  1997-11-17 18:32             ` Jason Merrill
@ 1997-11-17 21:11               ` Robert Lipe
  1997-11-17 21:47                 ` Jason Merrill
  0 siblings, 1 reply; 47+ messages in thread
From: Robert Lipe @ 1997-11-17 21:11 UTC (permalink / raw)
  To: Jason Merrill; +Cc: egcs

Jason Merrill wrote:
> >>>>> Robert Lipe <robertl@dgii.com> writes:
> > The problem is that "config/svr4.h" #defines HAVE_ATEXIT and nothing
> > in config/i386/sysv4.h #undefs it.  This is why we see the potentially 
> > goofy double exit thing on systems that are SVR4-ish on x86, which 
> > would certainly include Unixware.
> 
> I don't understand.  HAVE_ATEXIT has no effect whatsoever on the running of
> dtors on ELF systems.  What's the problem?

But it does have at least one side effect.

Since on ELF systems the .fini stuff is generally implemented under
the hood as a call to atexit(_fini) (see i386/sol2-c1.asm, others)
the presence of HAVE_ATEXIT() means we are also adding things to be
called via atexit() and if the system doesn't cleanly handle the case
of exit recursing, you can see problems like originally described with
__do_global_dtors() being called twice if you call exit() from a global
destructor.

H.J. and I have asked for diassemblies, stack backtraces, and other
hints from the original poster to better qualify this [ possibly
unrelated ] problem.



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

* Re: 1008 segfaults in genattr
  1997-11-17 21:11               ` Robert Lipe
@ 1997-11-17 21:47                 ` Jason Merrill
  0 siblings, 0 replies; 47+ messages in thread
From: Jason Merrill @ 1997-11-17 21:47 UTC (permalink / raw)
  To: Robert Lipe; +Cc: egcs

>>>>> Robert Lipe <robertl@dgii.com> writes:

> Since on ELF systems the .fini stuff is generally implemented under
> the hood as a call to atexit(_fini) (see i386/sol2-c1.asm, others)

Ah...

> the presence of HAVE_ATEXIT() means we are also adding things to be
> called via atexit() and if the system doesn't cleanly handle the case
> of exit recursing, you can see problems like originally described with
> __do_global_dtors() being called twice if you call exit() from a global
> destructor.

I still don't see what this has to do with HAVE_ATEXIT.  It doesn't affect
crt1.o, so you have these problems either way.  exit() should remove
elements before calling them.

Jason

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

* Re: 1008 segfaults in genattr
  1997-11-17 14:21             ` Robert Lipe
  1997-11-17 15:03               ` H.J. Lu
@ 1997-11-18 23:29               ` Jeffrey A Law
  1997-11-18 23:53                 ` Robert Lipe
       [not found]               ` <14025.879923259.cygnus.egcs@hurl.cygnus.com>
  2 siblings, 1 reply; 47+ messages in thread
From: Jeffrey A Law @ 1997-11-18 23:29 UTC (permalink / raw)
  To: Robert Lipe; +Cc: acs, egcs

  In message < 19971117162101.41289@dgii.com >you write:
  > > at all. BTW, by ".fini", I mean a section which will be called
  > > by the system automatically upon exit and the only thing you 
  > > have to do is stick some stuff you want in it. If you need
  > > to do more than that, it is not the ".fini" gcc wants.
  > 
  > That is part of the ELF spec, and I'm pretty sure that Unixware
  > does exactly what you're asking of it.
And since all svr4 systems are supposed to be using ELF, in theory we
should be able to count on .fini support.

However, some targets (dgux, sh-elf, others?) seem to want to disable .fini
support from svr4.h, and thus would need ATEXIT.  There may also be some targets
that include svr4.h, but don't use crt*, so they'd need ATEXIT too.

What a *()&@#$ mess.

Considering that most targets seem to be mis-behaving in only minor ways
with HAVE_ATEXIT & .fini support enabled, I think the safest way to go is
to create a new target file for unixware which sucks in svr4.h, then
undefs HAVE_ATEXIT.

We could then try to clean this mess up before the second release.


Thoughts?

jeff



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

* Re: 1008 segfaults in genattr
  1997-11-18 23:53                 ` Robert Lipe
@ 1997-11-18 23:47                   ` Jeffrey A Law
  1997-11-19 10:45                     ` H.J. Lu
  0 siblings, 1 reply; 47+ messages in thread
From: Jeffrey A Law @ 1997-11-18 23:47 UTC (permalink / raw)
  To: Robert Lipe; +Cc: acs, egcs

  In message < 19971119013203.31835@dgii.com >you write:
  > Do they actively *want* to disable this, or is there some habit or
  > intertia involved?
Yup, it looks like it was done on purpose, for reasons I don't really want
to understand this late at night :(

  > acs, what is the exact triple generated by 'config.guess' for your
  > target?
I was going to ask the same question...  It's definitely not something
with "unixware" in the name :-)

  > Do we really want to try to make it *just* unixware here, or all
  > x86 SVR4 mutants?
Well, I was going to do it for whatever triplet popped up for unixware;
this may or may not suck in some of the other variants.

  > Yes, doing it this way you do risk  [ breaking | fixing ] other ports.
Yup.  We're in a bad position, but since most ports don't seem to have the
kind of trouble with this as unixware, the safest thing to do seems to be
to fix things for unixware now and try to find a sane solution for everything
later.

Also note, we _may_ end up having do disable .fini for x86-solaris due to bugs
in the solaris2.5 libraries...  Oh what fun...

jeff

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

* Re: 1008 segfaults in genattr
  1997-11-18 23:29               ` Jeffrey A Law
@ 1997-11-18 23:53                 ` Robert Lipe
  1997-11-18 23:47                   ` Jeffrey A Law
  0 siblings, 1 reply; 47+ messages in thread
From: Robert Lipe @ 1997-11-18 23:53 UTC (permalink / raw)
  To: law; +Cc: acs, egcs

>   > That is part of the ELF spec, and I'm pretty sure that Unixware
>   > does exactly what you're asking of it.
> And since all svr4 systems are supposed to be using ELF, in theory we
> should be able to count on .fini support.

That, that does indeed sound like my assessment - at least in theory. 

> However, some targets (dgux, sh-elf, others?) seem to want to disable .fini
> support from svr4.h, and thus would need ATEXIT.  There may also be some targets
> that include svr4.h, but don't use crt*, so they'd need ATEXIT too.

Do they actively *want* to disable this, or is there some habit or
intertia involved?

> What a *()&@#$ mess.

And I thought I just didn't understand... :-)

> Considering that most targets seem to be mis-behaving in only minor ways
> with HAVE_ATEXIT & .fini support enabled, I think the safest way to go is
> to create a new target file for unixware which sucks in svr4.h, then
> undefs HAVE_ATEXIT.

acs, what is the exact triple generated by 'config.guess' for your
target?

Do we really want to try to make it *just* unixware here, or all
x86 SVR4 mutants?  This would include (at least) Solaris/x86, MP-RAS,
UHC, Microport, and probably a few others.    My inclination is to 
suspect that we should probably just #undef it for all x86 SVR4's,
so it could just #undef it in i386/sysv4.h if you're not comfortable
doing it for all the SVR4s.

Yes, doing it this way you do risk  [ breaking | fixing ] other ports.

Of course, I will defer to the elders on this if challenged.


RJL

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

* Re: 1008 segfaults in genattr
       [not found]               ` <14025.879923259.cygnus.egcs@hurl.cygnus.com>
@ 1997-11-19 10:41                 ` Jason Merrill
  1997-11-19 21:06                   ` Jeffrey A Law
  1997-11-19 22:16                   ` Robert Lipe
  0 siblings, 2 replies; 47+ messages in thread
From: Jason Merrill @ 1997-11-19 10:41 UTC (permalink / raw)
  To: law, egcs

I refuse to accept disabling HAVE_ATEXIT until someone can explain why it's
a problem.  So far the explanations haven't cut it.

Jason

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

* Re: 1008 segfaults in genattr
  1997-11-18 23:47                   ` Jeffrey A Law
@ 1997-11-19 10:45                     ` H.J. Lu
  1997-11-19 16:32                       ` Jeffrey A Law
  0 siblings, 1 reply; 47+ messages in thread
From: H.J. Lu @ 1997-11-19 10:45 UTC (permalink / raw)
  To: law; +Cc: robertl, acs, egcs

> 
> Also note, we _may_ end up having do disable .fini for x86-solaris due to bugs
> in the solaris2.5 libraries...  Oh what fun...
> 

I suspect something is wrong with .fini on UnixWare. It will be
nice to set break point at _fini and see how many times it is
called on UnixWare. It may just be called twice. If it does, I
will be wondering why. One possibility is UnixWare doesn't support
one .fini on each object loaded into memory, including shared
libraries.

-- 
H.J. Lu (hjl@gnu.ai.mit.edu)

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

* Re: 1008 segfaults in genattr
  1997-11-19 10:45                     ` H.J. Lu
@ 1997-11-19 16:32                       ` Jeffrey A Law
  0 siblings, 0 replies; 47+ messages in thread
From: Jeffrey A Law @ 1997-11-19 16:32 UTC (permalink / raw)
  To: H.J. Lu; +Cc: robertl, acs, egcs

  In message < m0xYF7V-0004ecC@ocean.lucon.org >you write:
  > I suspect something is wrong with .fini on UnixWare. It will be
  > nice to set break point at _fini and see how many times it is
  > called on UnixWare. It may just be called twice. If it does, I
  > will be wondering why. One possibility is UnixWare doesn't support
  > one .fini on each object loaded into memory, including shared
  > libraries.
Note solaris != unixware.  I was speaking about possibly having to disable
.init/.fini on x86-solaris

x86-solaris2.5 has a different problem that has nothing to do with
multiple calls into the various exit routines.  The linker is null padding
the .init/.fini sections, which causes numerous problems.

At least that's how the problem was described to me.

jeff


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

* Re: 1008 segfaults in genattr
  1997-11-19 10:41                 ` Jason Merrill
@ 1997-11-19 21:06                   ` Jeffrey A Law
  1997-11-19 22:16                   ` Robert Lipe
  1 sibling, 0 replies; 47+ messages in thread
From: Jeffrey A Law @ 1997-11-19 21:06 UTC (permalink / raw)
  To: Jason Merrill; +Cc: egcs

  In message < u9vhxolo9t.fsf@yorick.cygnus.com >you write:
  > I refuse to accept disabling HAVE_ATEXIT until someone can explain why it's
  > a problem.  So far the explanations haven't cut it.
Then will you work with the folks that are having trouble with this?

Robert Lipe & acs@acm.org in particular?

You know this stuff far better than I, so I'll happily defer to your
judgement.

However, it seems pretty clear that some systems don't deal well with
both for some reason or another.

jeff

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

* Re: 1008 segfaults in genattr
  1997-11-19 10:41                 ` Jason Merrill
  1997-11-19 21:06                   ` Jeffrey A Law
@ 1997-11-19 22:16                   ` Robert Lipe
  1997-11-20  0:22                     ` Jason Merrill
  1 sibling, 1 reply; 47+ messages in thread
From: Robert Lipe @ 1997-11-19 22:16 UTC (permalink / raw)
  To: Jason Merrill; +Cc: law, egcs

> I refuse to accept disabling HAVE_ATEXIT until someone can explain why it's
> a problem.  So far the explanations haven't cut it.

OK.   Between the explanations in this thread and the ones under the 
titles of related unixware and openserver problems, I don't know any
better how to better explain it.   Yes, perhaps I'm still missing the
Real Problem, but losing HAVE_ATEXIT seems to make life better for some
cases.   It seems to make life better for a Lot cases under Unixware. 
If we're masking some other problem, and you refuse to accept this, 
we're going to have to roll up our sleeves and understand it.

What do you need?   A disassembly of binary compiled with a 
"HAVE_ATEXIT" compiler that fails p2732b.C?   

I've included stack backtraces, disassemblies, and objdump output
in previous threads.

I can't provide this for Unixware, only OpenServer.

RJL

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

* Re: 1008 segfaults in genattr
  1997-11-20  0:22                     ` Jason Merrill
@ 1997-11-19 23:57                       ` Robert Lipe
  1997-11-20  6:22                       ` acs
       [not found]                       ` <19971120010603.06910@dgii.com>
  2 siblings, 0 replies; 47+ messages in thread
From: Robert Lipe @ 1997-11-19 23:57 UTC (permalink / raw)
  To: Jason Merrill; +Cc: law, egcs

Rereading what I wrote, I could see how that could be read as 
combatitive.   It really wasn't meant to be that way.   If Jason
or anyone else took it that way, I apologize.

> > What do you need?   A disassembly of binary compiled with a 
> > "HAVE_ATEXIT" compiler that fails p2732b.C?
> 
> That would be a good start, thanks.

I've sent Jason (privately) a binary that fails as well as a
shortened version of what's going on to the best of my understanding.

RJL

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

* Re: 1008 segfaults in genattr
  1997-11-19 22:16                   ` Robert Lipe
@ 1997-11-20  0:22                     ` Jason Merrill
  1997-11-19 23:57                       ` Robert Lipe
                                         ` (2 more replies)
  0 siblings, 3 replies; 47+ messages in thread
From: Jason Merrill @ 1997-11-20  0:22 UTC (permalink / raw)
  To: Robert Lipe; +Cc: law, egcs

>>>>> Robert Lipe <robertl@dgii.com> writes:

>> I refuse to accept disabling HAVE_ATEXIT until someone can explain why it's
>> a problem.  So far the explanations haven't cut it.

> OK.   Between the explanations in this thread and the ones under the 
> titles of related unixware and openserver problems, I don't know any
> better how to better explain it.   Yes, perhaps I'm still missing the
> Real Problem, but losing HAVE_ATEXIT seems to make life better for some
> cases.   It seems to make life better for a Lot cases under Unixware. 

Unfortunately, that's a workaround, not an explanation.  I'm not
comfortable just putting in a change that fixes a problem without anyone
knowing why it works.

> If we're masking some other problem, and you refuse to accept this, 
> we're going to have to roll up our sleeves and understand it.

Yep, that's what I had in mind.

> What do you need?   A disassembly of binary compiled with a 
> "HAVE_ATEXIT" compiler that fails p2732b.C?

That would be a good start, thanks.

> I've included stack backtraces, disassemblies, and objdump output
> in previous threads.

I guess I'll go back and look for them.

Jason

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

* Re: 1008 segfaults in genattr
  1997-11-20  0:22                     ` Jason Merrill
  1997-11-19 23:57                       ` Robert Lipe
@ 1997-11-20  6:22                       ` acs
  1997-11-20 12:23                         ` H.J. Lu
       [not found]                       ` <19971120010603.06910@dgii.com>
  2 siblings, 1 reply; 47+ messages in thread
From: acs @ 1997-11-20  6:22 UTC (permalink / raw)
  To: egcs

Fascinating!  After a slow start, I'm glad to see this thread has
caught on so well.  I'll include in this message a tar file which
includes crtbegin.i and crtend.i; HJ - I hope you find these useful.

Jeff - here's the exact output of config.guess on my UnixWare 2.1.2
machine: i386-pc-sysv4.2uw2.1.2

Jason - I don't know what to tell you other than what I've already
posted; I don't know enough about the way the compiler is supposed to
work to explain any of this to you, but here's what I have observed:

    1. Since (at least) the 10/08 snapshot, egcs has failed for me on
       UnixWare. I had previously built releases successfully, up to
       (I believe) 970910.  Initially, I observed this failure when
       building genattr with the stage 1 compiler, but subsequently I
       found that even the most basic "Hello World" program would
       crash after having been built by the stage 1 compiler.

    2. The failure would exhibit itself as a fatal signal generated
       when __do_global_dtors_aux was called for the 2nd time.

    3. Robert Lipe suggested that I #undef HAVE_ATEXIT, and this in
       fact worked.  I could successfully bootstrap the latest
       snapshot when I undefined HAVE_ATEXIT.

vin

--- Cut Here ---
begin 666 crt.tar.gz
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
;Y^N?KW^^_OGZY^N?KW_^`?_\?WF@Q,<`2`,`
`
end




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

* Re: 1008 segfaults in genattr
  1997-11-20  6:22                       ` acs
@ 1997-11-20 12:23                         ` H.J. Lu
  1997-11-21 21:50                           ` Jeffrey A Law
  0 siblings, 1 reply; 47+ messages in thread
From: H.J. Lu @ 1997-11-20 12:23 UTC (permalink / raw)
  To: acs; +Cc: egcs

> 
> Fascinating!  After a slow start, I'm glad to see this thread has
> caught on so well.  I'll include in this message a tar file which
> includes crtbegin.i and crtend.i; HJ - I hope you find these useful.

They look ok to me.

> 
> Jeff - here's the exact output of config.guess on my UnixWare 2.1.2
> machine: i386-pc-sysv4.2uw2.1.2
> 
> Jason - I don't know what to tell you other than what I've already
> posted; I don't know enough about the way the compiler is supposed to
> work to explain any of this to you, but here's what I have observed:
> 
>     1. Since (at least) the 10/08 snapshot, egcs has failed for me on
>        UnixWare. I had previously built releases successfully, up to
>        (I believe) 970910.  Initially, I observed this failure when
>        building genattr with the stage 1 compiler, but subsequently I
>        found that even the most basic "Hello World" program would
>        crash after having been built by the stage 1 compiler.

I think that indicates something else is wrong.

> 
>     2. The failure would exhibit itself as a fatal signal generated
>        when __do_global_dtors_aux was called for the 2nd time.

__do_global_dtors_aux is called via the .fini section. Unless
_fini (), the .fini section, is called twice, __do_global_dtors_aux
should not be called twice.

> 
>     3. Robert Lipe suggested that I #undef HAVE_ATEXIT, and this in
>        fact worked.  I could successfully bootstrap the latest
>        snapshot when I undefined HAVE_ATEXIT.
> 

I cannot image how HAVE_ATEXIT will affect the .fini section. From
what I have seen in source code and verified on my cross-compiler
to unixware, HAVE_ATEXIT should not affect the .fini section
nor __do_global_dtors_aux (). In your case, it does. That means
something went wrong.

HAVE_ATEXIT is only used in gbl-ctors.h, where it is used to
define ON_EXIT. If HAVE_ATEXIT is not defined, ON_EXIT won't
be defined. The only places where ON_EXIT will be used are
crtstuff.c and libgcc2.c. But crtstuff.c doesn't use ON_EXIT
for ELF. libgcc2 should not use ON_EXIT on unixware either.
But apparently for whatever reason, that is not the case for
you. Can you compare your libgcc2 before and after HAVE_ATEXIT
is undefined? Please tell us if there is a difference and
what the difference is.



H.J.

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

* Re: 1008 segfaults in genattr
       [not found]                               ` <19971120230937.47324@dgii.com>
@ 1997-11-20 21:44                                 ` Jason Merrill
  1997-11-20 22:03                                   ` Robert Lipe
  0 siblings, 1 reply; 47+ messages in thread
From: Jason Merrill @ 1997-11-20 21:44 UTC (permalink / raw)
  To: Robert Lipe; +Cc: egcs

>>>>> Robert Lipe <robertl@dgii.com> writes:

> So, since removing HAVE_ATEXIT replaces the system's exit() with 
> it's own (huh!?!?!)  we circumvent the abort in the native exit 
> becuase  we're circumventing the native exit.

Ah, I get it.  The exit() in libgcc2 is #ifndef ON_EXIT.  Since you claim
to have neither atexit nor on_exit, you get the libgcc2 exit.

Seems clear to me that #undefing HAVE_ATEXIT is a lose.

Jason

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

* Re: 1008 segfaults in genattr
  1997-11-20 21:44                                 ` Jason Merrill
@ 1997-11-20 22:03                                   ` Robert Lipe
  1997-11-20 22:03                                     ` Jason Merrill
  0 siblings, 1 reply; 47+ messages in thread
From: Robert Lipe @ 1997-11-20 22:03 UTC (permalink / raw)
  To: Jason Merrill; +Cc: egcs

> > So, since removing HAVE_ATEXIT replaces the system's exit() with 
> > it's own (huh!?!?!)  we circumvent the abort in the native exit 
> > becuase  we're circumventing the native exit.
> 
> Ah, I get it.  The exit() in libgcc2 is #ifndef ON_EXIT.  Since you claim
> to have neither atexit nor on_exit, you get the libgcc2 exit.
> 
> Seems clear to me that #undefing HAVE_ATEXIT is a lose.

So, we (think we) know that in C it's undefined to call exit() from 
an atexit() function.  In C++, is it similarly undefined that you can't
call exit() from a destructor?     I haven't any idea.

The presence or absence of HAVE_ATEXIT in the ELF part of sco5.h seems
to matter for only this case.    What's your recommendation?  I can think
of a few from here:

1) Remove HAVE_ATEXIT.  Make all binaries 14K larger becuase we suck in
	more of libgcc2.

2) Put it back, and just let the static dtor calling exit thing get a 
	big fat coredump.

3) Put it back and try to instrument around this unpleasantry.

4) Make the test case call _exit() instead of exit(), but just 
	let code in the field learn this the hard way.

5) Put it back and let it fail. Make the test xfail for offending 
	targets.  (This all works on OpenServer COFF WITHOUT 
	HAVE_ATEXIT.)

IMO, it's your call.   Numbers 2, 4, &5 are all one-line changes.

RJL

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

* Re: 1008 segfaults in genattr
  1997-11-20 22:03                                   ` Robert Lipe
@ 1997-11-20 22:03                                     ` Jason Merrill
  1997-11-21  6:15                                       ` Robert Lipe
  0 siblings, 1 reply; 47+ messages in thread
From: Jason Merrill @ 1997-11-20 22:03 UTC (permalink / raw)
  To: Robert Lipe; +Cc: egcs

>>>>> Robert Lipe <robertl@dgii.com> writes:

> The presence or absence of HAVE_ATEXIT in the ELF part of sco5.h seems
> to matter for only this case.    What's your recommendation?  I can think
> of a few from here:

> 1) Remove HAVE_ATEXIT.  Make all binaries 14K larger becuase we suck in
> 	more of libgcc2.

> 2) Put it back, and just let the static dtor calling exit thing get a 
> 	big fat coredump.

> 3) Put it back and try to instrument around this unpleasantry.

> 4) Make the test case call _exit() instead of exit(), but just 
> 	let code in the field learn this the hard way.

> 5) Put it back and let it fail. Make the test xfail for offending 
> 	targets.  (This all works on OpenServer COFF WITHOUT 
> 	HAVE_ATEXIT.)

I think I'm going to go with #4.  Shouldn't OpenServer COFF also define
HAVE_ATEXIT?

Jason

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

* Re: 1008 segfaults in genattr
  1997-11-20 22:03                                     ` Jason Merrill
@ 1997-11-21  6:15                                       ` Robert Lipe
  1997-11-21  9:15                                         ` Jeffrey A Law
  0 siblings, 1 reply; 47+ messages in thread
From: Robert Lipe @ 1997-11-21  6:15 UTC (permalink / raw)
  To: Jason Merrill; +Cc: egcs

> > 4) Make the test case call _exit() instead of exit(), but just 
> > 	let code in the field learn this the hard way.
> 
> I think I'm going to go with #4.  

OK.  There's an implied "and put back have_atexit".

Please apply these patches:

Fri Nov 21 07:43:04 1997   Robert Lipe <robertl@dgii.com>
	* sco5.h: revert previous change.  The cost of picking up
	  more code from libgcc2 exceeds the cost of p9732b.C having
	  static destructors that call exit calling abort.

*** config/i386/sco5.h__    Fri Nov 21 07:42:03 1997
--- config/i386/sco5.h      Fri Nov 21 07:26:46 1997
***************
*** 930,933 ****
--- 930,934 ----
  # if defined (_SCO_ELF)
  #  define OBJECT_FORMAT_ELF
+ #  define HAVE_ATEXIT 1
  #  define INIT_SECTION_ASM_OP INIT_SECTION_ASM_OP_ELF
  #  define FINI_SECTION_ASM_OP FINI_SECTION_ASM_OP_ELF



Fri Nov 21 07:43:04 1997   Robert Lipe <robertl@dgii.com>
	* p9732b.C: Don't call exit from static destructors. Since
	we may be calling them via atexit, we want to avoid cleanup
	recursion.

*** testsuite/g++.old-deja/g++.mike/p9732b.C_   Tue Aug 19 02:34:53 1997
--- testsuite/g++.old-deja/g++.mike/p9732b.C    Fri Nov 21 07:47:13 1997
***************
*** 21,28 ****
      else
        {
        if (count != 0)
!         exit (1);
!       exit (0);
        }
    }
  } d;
--- 21,28 ----
      else
        {
        if (count != 0)
!         _exit (1);
!       _exit (0);
        }
    }
  } d;



> Shouldn't OpenServer COFF also define HAVE_ATEXIT?


Morally, yes, it should.

Even though it is, at that point, a COFF target, it still
has a _fini section that gets registered to execute via 
atexit().  

$ file crtendS.o ; dis crtendS.o | tail
crtendS.o:      iAPX 386 COFF object file not stripped - version 30821
          2b:  90                     nop

section .fini
.fini
__DTOR_END__
          2c:  00 00                  addb   %al,(%eax)
          2e:  00 00                  addb   %al,(%eax)
__FRAME_END__
          30:  00 00                  addb   %al,(%eax)
          32:  00 00                  addb   %al,(%eax)


As you can see, we are going to try to execute this (after we've done
all our destructors which is done first) we're headed for a SIGILL.

Can you help me untangle the right combination to get a useful
binary?  Between crtstuff.c and gbl-ctors.h and all the preprocessor
voodoo going on, I can't grok it.   There is much voodoo at the end 
of sco5.h to try to outsmart all the voodoo in the other two files.
I spent many hours on this when I first did it and just decide to 
punt this issue and let COFF not use ATEXIT.



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

* Re: 1008 segfaults in genattr
  1997-11-21  6:15                                       ` Robert Lipe
@ 1997-11-21  9:15                                         ` Jeffrey A Law
  0 siblings, 0 replies; 47+ messages in thread
From: Jeffrey A Law @ 1997-11-21  9:15 UTC (permalink / raw)
  To: Robert Lipe; +Cc: Jason Merrill, egcs

  In message < 19971121081454.09553@dgii.com >you write:
  > Fri Nov 21 07:43:04 1997   Robert Lipe <robertl@dgii.com>
  > 	* sco5.h: revert previous change.  The cost of picking up
  > 	  more code from libgcc2 exceeds the cost of p9732b.C having
  > 	  static destructors that call exit calling abort.
Done.
jeff

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

* Re: 1008 segfaults in genattr
  1997-11-21 21:50                           ` Jeffrey A Law
@ 1997-11-21 21:09                             ` H.J. Lu
  1997-11-21 21:33                               ` Jeffrey A Law
  1997-11-21 21:50                             ` Robert Lipe
  1997-11-22 22:15                             ` acs
  2 siblings, 1 reply; 47+ messages in thread
From: H.J. Lu @ 1997-11-21 21:09 UTC (permalink / raw)
  To: law; +Cc: egcs

> 
>   In message < m0xYd7u-0004ecC@ocean.lucon.org >you write:
>   > __do_global_dtors_aux is called via the .fini section. Unless
>   > _fini (), the .fini section, is called twice, __do_global_dtors_aux
>   > should not be called twice.
> Accoding to the comments before do_global_dtors_aux it can be called
> more than once:
> 
>    On some systems, this routine is run more than once from the .fini,
>    when exit is called recursively, so we arrange to remember where in
>    the list we left off processing, and we resume at that point,
>    should we be re-invoked.  */
> 

The question is how exit is called recursively for a simple
"Hello World!" program.


-- 
H.J. Lu (hjl@gnu.ai.mit.edu)

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

* Re: 1008 segfaults in genattr
  1997-11-21 21:09                             ` H.J. Lu
@ 1997-11-21 21:33                               ` Jeffrey A Law
  1997-11-22 12:17                                 ` J. Kean Johnston
  0 siblings, 1 reply; 47+ messages in thread
From: Jeffrey A Law @ 1997-11-21 21:33 UTC (permalink / raw)
  To: H.J. Lu; +Cc: egcs

  In message < m0xZ7p5-0004ecC@ocean.lucon.org >you write:
  > >    On some systems, this routine is run more than once from the .fini,
  > >    when exit is called recursively, so we arrange to remember where in
  > >    the list we left off processing, and we resume at that point,
  > >    should we be re-invoked.  */
  > > 
  > 
  > The question is how exit is called recursively for a simple
  > "Hello World!" program.
The code in __do_global_dtors_aux is supposed to handle multiple calls
regardless of how they occur!

We've got two possible bugs -- the first is obviously a bug since we now
know __do_global_dtors_aux is supposed to handle multiple calls.

The second might be a bug, then again it might not.  Who knows what gross
things are buried deep in the Unixware C library :-)

jeff


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

* Re: 1008 segfaults in genattr
  1997-11-20 12:23                         ` H.J. Lu
@ 1997-11-21 21:50                           ` Jeffrey A Law
  1997-11-21 21:09                             ` H.J. Lu
                                               ` (2 more replies)
  0 siblings, 3 replies; 47+ messages in thread
From: Jeffrey A Law @ 1997-11-21 21:50 UTC (permalink / raw)
  To: H.J. Lu; +Cc: acs, egcs, robertl, jason

  In message < m0xYd7u-0004ecC@ocean.lucon.org >you write:
  > __do_global_dtors_aux is called via the .fini section. Unless
  > _fini (), the .fini section, is called twice, __do_global_dtors_aux
  > should not be called twice.
Accoding to the comments before do_global_dtors_aux it can be called
more than once:

   On some systems, this routine is run more than once from the .fini,
   when exit is called recursively, so we arrange to remember where in
   the list we left off processing, and we resume at that point,
   should we be re-invoked.  */


So apparently the code is supposed to handle this.  I think we need to
debug _why_ the code is failing when it gets called the second time.


It sppears to me that __deregister_frame might abort if it runs twice
(frees some memory it might look at later), or if he objects array gets
wiped clean, then it could call abort.

This may not explain all the problems, but it gives us at least one to
look at.

Could someone try replacing __do_global_dtors_aux with this implementation
and try things?

static void
__do_global_dtors_aux ()
{
  static func_ptr *p = __DTOR_LIST__ + 1;
  static int completed = 0;

  if (completed)
    return

  while (*p)
    {
      p++;
      (*(p-1)) ();
    }

#ifdef EH_FRAME_SECTION_ASM_OP
  __deregister_frame (__EH_FRAME_BEGIN__);
#endif
  completed = 1;
}



jeff



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

* Re: 1008 segfaults in genattr
  1997-11-21 21:50                           ` Jeffrey A Law
  1997-11-21 21:09                             ` H.J. Lu
@ 1997-11-21 21:50                             ` Robert Lipe
  1997-11-21 23:31                               ` Jeffrey A Law
  1997-11-22 22:15                             ` acs
  2 siblings, 1 reply; 47+ messages in thread
From: Robert Lipe @ 1997-11-21 21:50 UTC (permalink / raw)
  To: law; +Cc: H.J. Lu, acs, egcs, jason

> So apparently the code is supposed to handle this.  I think we need to
> debug _why_ the code is failing when it gets called the second time.

I'm not seeing __do_global_dtors_aux() called twice, but I think the UW
dude is.

$ gdb a.out
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.14-95q4 (i486-unknown-sco3.2v5.0.0elf),
Copyright 1995 Free Software Foundation, Inc...
Breakpoint 1 at 0x8048540
(gdb) break __do_global_dtors_aux
Breakpoint 2 at 0x8048658
(gdb) run
Starting program: /home/play/junk/gcc/a.out
Breakpoint 1 at 0x8003ded9
++count
++count
Base
--count

Breakpoint 2, 0x8048658 in __do_global_dtors_aux ()
(gdb) cont
Continuing.
--count
--count

Breakpoint 1, 0x8003ded9 in abort ()
(gdb)
(gdb) break exit
Breakpoint 3 at 0x800196c4
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/play/junk/gcc/a.out
++count
++count
Base
--count

Breakpoint 3, 0x800196c4 in exit ()
(gdb) where
#0  0x800196c4 in exit ()
#1  0x8048634 in .text ()
(gdb) cont
Continuing.

Breakpoint 2, 0x8048658 in __do_global_dtors_aux ()
(gdb) where
#0  0x8048658 in __do_global_dtors_aux ()
#1  0x804ab91 in _fini ()
#2  0x800196d6 in exit ()
(gdb) cont
Continuing.
--count
--count

Breakpoint 3, 0x800196c4 in exit ()
(gdb) where
#0  0x800196c4 in exit ()
During symbol reading, DIE @ 0x3ae "this", type modifier 'const' ignored.
During symbol reading,
DIE @ 0x6a3 "__vtbl_ptr_type", type modifier 'const' ignored.
During symbol reading, DIE @ 0x76b "base_ref", type modifier 'const' ignored.
#1  0x8048877 in D::~D () at /tmp/p.C:30
#2  0x80487ad in global destructors keyed to bail () at /tmp/p.C:47
#3  0x8048677 in __do_global_dtors_aux ()
#4  0x804ab91 in _fini ()
#5  0x800196d6 in exit ()
(gdb) cont
Continuing.

Breakpoint 1, 0x8003ded9 in abort ()
(gdb)



I rebuilt crtstuff with your new global_dtors (after adding a missing
semicolon) and it seemed to make no different for the OpenServer case.

This could well be the ticket on Unixware 2, though...

RJL

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

* Re: 1008 segfaults in genattr
  1997-11-21 21:50                             ` Robert Lipe
@ 1997-11-21 23:31                               ` Jeffrey A Law
  1997-11-21 23:31                                 ` Jason Merrill
  1997-11-21 23:32                                 ` Robert Lipe
  0 siblings, 2 replies; 47+ messages in thread
From: Jeffrey A Law @ 1997-11-21 23:31 UTC (permalink / raw)
  To: Robert Lipe; +Cc: H.J. Lu, acs, egcs, jason

  In message < 19971121234907.48822@dgii.com >you write:
  > > So apparently the code is supposed to handle this.  I think we need to
  > > debug _why_ the code is failing when it gets called the second time.
  > 
  > I'm not seeing __do_global_dtors_aux() called twice, but I think the UW
  > dude is.
OK.  The uw & sco5 problems are definitely different.  Let's hope my change
fixes the UW problem.

I'm kinda curious why your 2nd call to exit is aborting; any chance you
could assembly level debug the 2nd call?  Could it just be some paranoid
libc guy aborting if exit is called recursively?!?

I'd also be interested in whether or not a C++ hello world program will
call __do_global_dtors_aux twice on sco5.


Jeff

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

* Re: 1008 segfaults in genattr
  1997-11-21 23:31                               ` Jeffrey A Law
@ 1997-11-21 23:31                                 ` Jason Merrill
  1997-11-21 23:32                                 ` Robert Lipe
  1 sibling, 0 replies; 47+ messages in thread
From: Jason Merrill @ 1997-11-21 23:31 UTC (permalink / raw)
  To: law; +Cc: Robert Lipe, H.J. Lu, acs, egcs

>>>>> Jeffrey A Law <law@cygnus.com> writes:

> I'm kinda curious why your 2nd call to exit is aborting; any chance you
> could assembly level debug the 2nd call?  Could it just be some paranoid
> libc guy aborting if exit is called recursively?!?

Yep.  Apparently SCO doesn't like it when that happens.

> I'd also be interested in whether or not a C++ hello world program will
> call __do_global_dtors_aux twice on sco5.

Not according to Robert.

Jason

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

* Re: 1008 segfaults in genattr
  1997-11-21 23:31                               ` Jeffrey A Law
  1997-11-21 23:31                                 ` Jason Merrill
@ 1997-11-21 23:32                                 ` Robert Lipe
  1 sibling, 0 replies; 47+ messages in thread
From: Robert Lipe @ 1997-11-21 23:32 UTC (permalink / raw)
  To: law; +Cc: H.J. Lu, acs, egcs, jason

> I'm kinda curious why your 2nd call to exit is aborting; any chance you
> could assembly level debug the 2nd call?  Could it just be some paranoid
> libc guy aborting if exit is called recursively?!?

That's exactly what it's doing.   I don't have to disassemble it.   
I had one of the DS guys at SCO look at the source.  I thought I'd
mentioned that, but given the way this thread has wandered, I can't
blame anyone for not following every detail.   :-)

> I'd also be interested in whether or not a C++ hello world program will
> call __do_global_dtors_aux twice on sco5.


No, it does not.

(gdb) break __do_global_dtors_aux
Breakpoint 2 at 0x8048590
(gdb) run
Starting program: /home/play/junk/gcc/a.out
Breakpoint 1 at 0x8003ded9
hello

Breakpoint 2, 0x8048590 in __do_global_dtors_aux ()
(gdb) cont
Continuing.

Program exited normally.


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

* Re: 1008 segfaults in genattr
  1997-11-21 21:33                               ` Jeffrey A Law
@ 1997-11-22 12:17                                 ` J. Kean Johnston
  0 siblings, 0 replies; 47+ messages in thread
From: J. Kean Johnston @ 1997-11-22 12:17 UTC (permalink / raw)
  To: EGCS Mailing List

On Fri, Nov 21, 1997 at 09:33:36PM -0800, Jeffrey A Law wrote:
> The second might be a bug, then again it might not.  Who knows what gross
> things are buried deep in the Unixware C library :-)
I have license to tell you (but not show) what *IS* in those libraries,
should it help.  If you have questions you need answered, I can try and
get answers for you.  If it turns out to be a bug in UnixWare, I am sure
I can motivate for a PTF.

JKJ

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

* Re: 1008 segfaults in genattr
  1997-11-21 21:50                           ` Jeffrey A Law
  1997-11-21 21:09                             ` H.J. Lu
  1997-11-21 21:50                             ` Robert Lipe
@ 1997-11-22 22:15                             ` acs
  1997-11-24  0:32                               ` Jeffrey A Law
  2 siblings, 1 reply; 47+ messages in thread
From: acs @ 1997-11-22 22:15 UTC (permalink / raw)
  To: egcs

Jeff,
	Your patched _do_global_dtors_aux() worked for me on
971114 on UnixWare 2.1.2.  (At least to the point that
the stage1 compiler can complete a "Hello World" program.

vin shelton

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

* Re: 1008 segfaults in genattr
  1997-11-22 22:15                             ` acs
@ 1997-11-24  0:32                               ` Jeffrey A Law
  1997-11-24 21:07                                 ` acs
  0 siblings, 1 reply; 47+ messages in thread
From: Jeffrey A Law @ 1997-11-24  0:32 UTC (permalink / raw)
  To: acs; +Cc: egcs

  In message < 199711230614.BAA17320@spacely.icd.teradyne.com >you write:
  > Jeff,
  > 	Your patched _do_global_dtors_aux() worked for me on
  > 971114 on UnixWare 2.1.2.  (At least to the point that
  > the stage1 compiler can complete a "Hello World" program.
It was missing a ';', so I assume you fixed that :-)

Were you able to get a 3-stage build completed?  It'd be really cool if
could include Unixware as one of the supported targets....

jeff

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

* Re: 1008 segfaults in genattr
  1997-11-24  0:32                               ` Jeffrey A Law
@ 1997-11-24 21:07                                 ` acs
  1997-11-24 23:03                                   ` Robert Lipe
  1997-11-25 11:19                                   ` Jeffrey A Law
  0 siblings, 2 replies; 47+ messages in thread
From: acs @ 1997-11-24 21:07 UTC (permalink / raw)
  To: egcs

Jeff wrote:
> Were you able to get a 3-stage build completed?  It'd be really cool if
> could include Unixware as one of the supported targets....

Yes, after applying you patch, I built the 971122 snapshot just fine.
Thanks.  Perhaps you should notify the appropriate gcc person; the last
time I checked the bug was present there, too.

Hooray!  I don't have to lie to the compiler about atexit anymore.
BTW, Robert, you little exit buster test program produces the following
output with both egcs and UW's native c compiler:

two
One


vin

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

* Re: 1008 segfaults in genattr
  1997-11-24 21:07                                 ` acs
@ 1997-11-24 23:03                                   ` Robert Lipe
  1997-11-25 11:19                                   ` Jeffrey A Law
  1 sibling, 0 replies; 47+ messages in thread
From: Robert Lipe @ 1997-11-24 23:03 UTC (permalink / raw)
  To: acs; +Cc: egcs

acs@acm.org wrote:

[ Re: Unixware wierdness ] 

> Yes, after applying you patch, I built the 971122 snapshot just fine.

Yippee!   Just in a nick of time. 

> BTW, Robert, you little exit buster test program produces the following
> output with both egcs and UW's native c compiler:
> 
> two
> One

That's actually consistent with what the SCO engineer told me.
The atexit() recursion check is unique to the XENIX->OpenDesktop->SCO 
UNIX->SCO OenServer lineage and shouldn't be present in the Unixware
line.

RJL

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

* Re: 1008 segfaults in genattr
  1997-11-24 21:07                                 ` acs
  1997-11-24 23:03                                   ` Robert Lipe
@ 1997-11-25 11:19                                   ` Jeffrey A Law
  1 sibling, 0 replies; 47+ messages in thread
From: Jeffrey A Law @ 1997-11-25 11:19 UTC (permalink / raw)
  To: acs; +Cc: egcs

  In message < 199711250506.AAA18797@spacely.icd.teradyne.com >you write:
  > Yes, after applying you patch, I built the 971122 snapshot just fine.
  > Thanks.  Perhaps you should notify the appropriate gcc person; the last
  > time I checked the bug was present there, too.
Very cool.  I just installed the change.

jeff




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

* Re: 1008 segfaults in genattr
  1997-11-21 14:09 Mike Stump
@ 1997-11-21 21:50 ` Robert Lipe
  0 siblings, 0 replies; 47+ messages in thread
From: Robert Lipe @ 1997-11-21 21:50 UTC (permalink / raw)
  To: Mike Stump; +Cc: egcs

> I'd prefer either a fixed atexit, or if we can stick in code to the

Where "fixed" matches whose definition of undefined behaviour? :-)

> testcase to detect infinite looping, if that is the problem, and call
> abort (or _exit in that case).

Well, that's exactly what atexit() does.  It detects looping and calls
abort.  Linux will do (presumably "did", since H.J. published the patch)
the infinite loop thing that's explictly tested for in this code.  The
exit() that does OpenServer (actually, all the SCO UNIX releases and
maybe the XENIX ones) in is the _successful_ exit.   Change that one
to _exit() and your test case works fine in our case.

> The reason is that the compiler uses atexit internally by itself to
> implement C++ semantics, and if it doesn't work well enough, the
> semantics it presents to the user will be flawed (in my opinion).

Right.   Relying on undefined behaviour when that is performed behind
the back of the user is a tough thing to swallow.

> // prms-id: 9732
> 
> int count;
> int bail = 0;
> 
> struct base {
>   base () { ++count; }
>   ~base () { --count; }
>   base(const base&o) { ++count; }
> };
> 
> class D {
> public:
>   ~D() {
>     if (bail++)
>       {
> 	// On some Linux boxes, we run the dtor for d twice,
> 	// once before exit, and once after!
> 	abort ();
>       }
>     else
>       {
> 	if (count != 0)
> 	  abort ();
> 	exit (0);

        ^^^ Make this exit() and _exit() and you've got yourself a deal.
Actually, I think this is what we agreed to earlier and the patch I 
submitted earlier, isn't it?


RJL

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

* Re: 1008 segfaults in genattr
@ 1997-11-21 14:09 Mike Stump
  1997-11-21 21:50 ` Robert Lipe
  0 siblings, 1 reply; 47+ messages in thread
From: Mike Stump @ 1997-11-21 14:09 UTC (permalink / raw)
  To: egcs

> To: Robert Lipe <robertl@dgii.com>
> Cc: egcs@cygnus.com
> From: Jason Merrill <jason@cygnus.com>
> Date: 20 Nov 1997 22:03:51 -0800

> >>>>> Robert Lipe <robertl@dgii.com> writes:

> > 4) Make the test case call _exit() instead of exit(), but just 
> > 	let code in the field learn this the hard way.

> I think I'm going to go with #4.

I'd prefer either a fixed atexit, or if we can stick in code to the
testcase to detect infinite looping, if that is the problem, and call
abort (or _exit in that case).

The reason is that the compiler uses atexit internally by itself to
implement C++ semantics, and if it doesn't work well enough, the
semantics it presents to the user will be flawed (in my opinion).
Now, the ANSI C++ may state the users program is flawed, and it is,
they should not be calling exit from global dtors, but under the label
of quality of implementation, we have a chance to do what I think is
the right thing, and it is reasonable to have a testcase for it.

Is it sufficient to change the testcase like the below?  If it is,
then that is the solution I prefer, along with a // execution test
fails - XFAIL *-*-sco*, or whatever is needed to mark it.

// prms-id: 9732

int count;
int bail = 0;

struct base {
  base () { ++count; }
  ~base () { --count; }
  base(const base&o) { ++count; }
};

class D {
public:
  ~D() {
    if (bail++)
      {
	// On some Linux boxes, we run the dtor for d twice,
	// once before exit, and once after!
	abort ();
      }
    else
      {
	if (count != 0)
	  abort ();
	exit (0);
      }
  }
} d;

base base_object;

base base_returning_function ();

const base& base_ref = base_returning_function ();

int main () {
}

base base_returning_function () {
  base local_base_object;
  return local_base_object;
}

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

end of thread, other threads:[~1997-11-25 11:19 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-10-09 14:56 1008 segfaults in genattr acs
1997-11-16 23:01 ` Jeffrey A Law
1997-11-17  5:04   ` acs
1997-11-17  8:12     ` Jeffrey A Law
1997-11-17 12:30     ` Robert Lipe
1997-11-17  9:50       ` acs
1997-11-17 11:19         ` H.J. Lu
1997-11-17 12:30         ` David McWherter
1997-11-17 12:30         ` Robert Lipe
1997-11-17 13:49           ` H.J. Lu
1997-11-17 14:21             ` Robert Lipe
1997-11-17 15:03               ` H.J. Lu
1997-11-18 23:29               ` Jeffrey A Law
1997-11-18 23:53                 ` Robert Lipe
1997-11-18 23:47                   ` Jeffrey A Law
1997-11-19 10:45                     ` H.J. Lu
1997-11-19 16:32                       ` Jeffrey A Law
     [not found]               ` <14025.879923259.cygnus.egcs@hurl.cygnus.com>
1997-11-19 10:41                 ` Jason Merrill
1997-11-19 21:06                   ` Jeffrey A Law
1997-11-19 22:16                   ` Robert Lipe
1997-11-20  0:22                     ` Jason Merrill
1997-11-19 23:57                       ` Robert Lipe
1997-11-20  6:22                       ` acs
1997-11-20 12:23                         ` H.J. Lu
1997-11-21 21:50                           ` Jeffrey A Law
1997-11-21 21:09                             ` H.J. Lu
1997-11-21 21:33                               ` Jeffrey A Law
1997-11-22 12:17                                 ` J. Kean Johnston
1997-11-21 21:50                             ` Robert Lipe
1997-11-21 23:31                               ` Jeffrey A Law
1997-11-21 23:31                                 ` Jason Merrill
1997-11-21 23:32                                 ` Robert Lipe
1997-11-22 22:15                             ` acs
1997-11-24  0:32                               ` Jeffrey A Law
1997-11-24 21:07                                 ` acs
1997-11-24 23:03                                   ` Robert Lipe
1997-11-25 11:19                                   ` Jeffrey A Law
     [not found]                       ` <19971120010603.06910@dgii.com>
     [not found]                         ` <u9aff0koxr.fsf@yorick.cygnus.com>
     [not found]                           ` <19971120020607.39419@dgii.com>
     [not found]                             ` <u990ukkmop.fsf@yorick.cygnus.com>
     [not found]                               ` <19971120230937.47324@dgii.com>
1997-11-20 21:44                                 ` Jason Merrill
1997-11-20 22:03                                   ` Robert Lipe
1997-11-20 22:03                                     ` Jason Merrill
1997-11-21  6:15                                       ` Robert Lipe
1997-11-21  9:15                                         ` Jeffrey A Law
     [not found]           ` <19971117162101.41289.cygnus.egcs@dgii.com>
1997-11-17 18:32             ` Jason Merrill
1997-11-17 21:11               ` Robert Lipe
1997-11-17 21:47                 ` Jason Merrill
1997-11-21 14:09 Mike Stump
1997-11-21 21:50 ` Robert Lipe

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).