Go to file
kristerw 980f45b693 Place EH labels on the permanent obstack. Fixes PR 18314.
Background:
Originally, the EH labels were placed on the permanent obstack, which
could end up using a lot of memory (for heavy inlining) since inlined
labels also needed to be permanent as a result of this.

This was changed in

   Wed Dec  9 09:12:40 1998  Andrew MacLeod  <amacleod@cygnus.com>

	* except.h (struct handler_info): Add handler_number field.
	* except.c (gen_exception_label): EH labels no longer need to be
	on the permanent obstack.
	(get_new_handler): Set the label number field.
	(output_exception_table_entry): Regenerate handler label reference
	from the label number field.
	(init_eh): Remove a blank line.
	* integrate.c (get_label_from_map): Labels no longer need to be
	on the permanent obstack.

by using the label numbers instead of the label structures in most cases.
The operative word here is "most" cases. Addresses to the EH RTX was still
used in (at least) flow.c, that now used freed memory. Oops.

For this to happen, the freed address of the RTX representing a EH label
must be reused for a new label that is located in dead code. delete_block()
will then see that this RTX is mentioned in the EH table, and (incorrectly)
remove the exception handler.

This might be seen when, for example, compiling
src/gnu/dist/groff/src/roff/troff/node.cc for m68k.
2002-12-16 19:33:50 +00:00
bin Added a -v verbose option to the cp(1) command. Updated man page and utils as well. This applies to PR bin/16834. This change was approved by Christos. 2002-12-16 14:44:14 +00:00
crypto Avoid conflict with reserved identifier "log". 2002-12-06 03:39:06 +00:00
dist Fix indentation of -a. From Juha Hyttinen in PR 19399. 2002-12-16 10:35:04 +00:00
distrib If ${DESTDIR}="", ensure `maketars -d ...' is called with an argument ("/"). 2002-12-16 00:30:39 +00:00
doc gdb-5.3 out. 2002-12-16 11:57:42 +00:00
etc remove duplicate https entry added in last commit 2002-12-16 10:48:59 +00:00
games fix confusion between east and west for y,u,b, and n. 2002-12-15 22:02:52 +00:00
gnu Place EH labels on the permanent obstack. Fixes PR 18314. 2002-12-16 19:33:50 +00:00
include this needs <sys/types.h> 2002-12-12 23:00:37 +00:00
lib The fast syscall path clobbers 2 registers. Which is fine for a plain 2002-12-13 17:43:02 +00:00
libexec - fix memory leak. 2002-12-15 08:38:17 +00:00
regress Remove extra args to a printf call. 2002-12-06 02:09:24 +00:00
rescue set SMALLPROG=0 (it was implicit) 2002-10-17 01:49:18 +00:00
sbin Remove mention of update, per Kevin P. Neal in PR 19386. 2002-12-16 10:32:16 +00:00
share Document NOFILE 2002-12-13 22:44:09 +00:00
sys use the __HAVE_CPU_MAXPROC hook to limit kern.maxproc to number 2002-12-16 18:31:08 +00:00
tools Include <sys/types.h> before <grp.h>; Mac OS 10.2.2 needs this. 2002-12-16 00:35:00 +00:00
usr.bin Avoid integer overflow in percent calculation when facing a mbuf leak. 2002-12-14 11:12:24 +00:00
usr.sbin Set explicit database layout. Default is filesystem block size 2002-12-15 18:23:00 +00:00
BUILDING Add -E - "expert mode". If this is not specified, builds to DESTDIR=/ are 2002-12-08 22:14:00 +00:00
Makefile improve previous; show times at end of distribution/release/snapshot as well 2002-12-02 08:27:03 +00:00
Makefile.inc don't set KERNSRCDIR here; pull in <bsd.kernobj.mk> if you need it 2002-04-10 14:53:43 +00:00
UPDATING Some typo and grammar fixes. Begin new sentences with upper case letters. 2002-12-09 18:59:07 +00:00
build.sh The walnut port has been subsumed by evbppc. 2002-12-09 12:49:55 +00:00