<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/contrib/libobjc/ChangeLog, branch releng/4.7</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>MFC:  bring in GCC 2.95.3 + official sjlj exception fixes.</title>
<updated>2001-04-10T19:23:41+00:00</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2001-04-10T19:23:41+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1fa470027f0adf0cc52bc31cdce6b3489da5a39c'/>
<id>1fa470027f0adf0cc52bc31cdce6b3489da5a39c</id>
<content type='text'>
Approved by:	jkh

The the setjump/longjump exception handling fixes are from GCC 2.95.3.test3
and were removed from GCC 2.95.3.test4 and the subsequent release due
to bootstrap problems on HP-UX.  However, they were very well tested and
fixed major problems on all other platforms.  Including all the all the BSD's.
OpenBSD and FreeBSD 5-current both use these official sjlj patches.

W/o this upgrade the following program segmentation faults if compiled
with -O2 (but not -Os or -O or -O0) on 4.2FreeBSD.
There are some large C++ libraries where segfaults also occur, even at -O.

#include &lt;stdio.h&gt;

class A {
public:
  A() { printf("c'tor A\n"); }
  ~A(){ printf("d'tor A\n"); }
};

class foo : public A {
public:
  foo()  { printf("C'tor foo\n"); throw 8; }
  ~foo() { printf("D'tor foo\n"); }
};

int main(){
  try { foo fii; }
  catch (int){ printf("catch ...\n"); }
  return 0;
}
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Approved by:	jkh

The the setjump/longjump exception handling fixes are from GCC 2.95.3.test3
and were removed from GCC 2.95.3.test4 and the subsequent release due
to bootstrap problems on HP-UX.  However, they were very well tested and
fixed major problems on all other platforms.  Including all the all the BSD's.
OpenBSD and FreeBSD 5-current both use these official sjlj patches.

W/o this upgrade the following program segmentation faults if compiled
with -O2 (but not -Os or -O or -O0) on 4.2FreeBSD.
There are some large C++ libraries where segfaults also occur, even at -O.

#include &lt;stdio.h&gt;

class A {
public:
  A() { printf("c'tor A\n"); }
  ~A(){ printf("d'tor A\n"); }
};

class foo : public A {
public:
  foo()  { printf("C'tor foo\n"); throw 8; }
  ~foo() { printf("D'tor foo\n"); }
};

int main(){
  try { foo fii; }
  catch (int){ printf("catch ...\n"); }
  return 0;
}
</pre>
</div>
</content>
</entry>
<entry>
<title>Sync up with latest vendor files.</title>
<updated>2000-03-30T08:22:06+00:00</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2000-03-30T08:22:06+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ce54545818ad5a78042bb22eaefdb6cd1c0fc96b'/>
<id>ce54545818ad5a78042bb22eaefdb6cd1c0fc96b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>This commit was manufactured by cvs2svn to create branch 'RELENG_4'.</title>
<updated>2000-03-29T14:32:35+00:00</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2000-03-29T14:32:35+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=58d5d7c030a15680cec4f0fdc84afd830a480331'/>
<id>58d5d7c030a15680cec4f0fdc84afd830a480331</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
