[Patch, Darwin] Fix PR46904/PR46916

IainS developer@sandoe-acoustics.co.uk
Fri Dec 17 10:23:00 GMT 2010


Hi,
This has now been regstrapped on *-darwin9 and x86_64-darwin10.

There are outstanding issues with -freorder-blocks-and-partition (on  
Darwin, at least) which results in the fail of partition2.C on Darwin10.

IMO it would be better to fix these separately :

  o -freorder-blocks-and-partition - seems to suppress the pubnames  
section (Honza, any ideas?) - this causes a dsymutil fail.
  o -freorder-blocks-and-partition - produces anonymous code atoms  
(chunks introduced only by local labels) which produces linker  
warnings, because it is not keen on adding line number info to  
anonymous code chunks.

Unless people feel those issues should be resolved in this patch ....
OK for trunk?
Iain

gcc:

	Iain Sandoe  <iains...
	Jan Hubicka  <hubika...

	PR middle-end/46916
	PR c++/46904

	* opts.c (finish_options): Enable -freorder-functions
	when -freorder-blocks-and-partition is active.
	* config/darwin.c (generating_for_darwin_version): New var.
	(darwin_text_section): Remove.
	(darwin_rodata_section): Do not check function section here.
	(darwin_emit_unwind_label): Do not emit for Darwin >= 9.
	Emit distinct labels for successive calls for the same decl.
	(darwin_override_options): Set generating_for_darwin_version.
	Suppress automatic asynchronous unwind tables for m32.
	Switch off -freorder-blocks-and-partition when unwind tables
	will be generated.  Update to use generating_for_darwin_version.
	(darwin_function_section): Check for cases that need to be placed
	in coalesced sections.
	* config/darwin-sections.def: Define hot, cold, startup and exit  
sections
	for both coalesced and regular code.
	* config/darwin.h (USE_SELECT_SECTION_FOR_FUNCTIONS): Delete.
	* config/darwin10.h (TARGET_ASM_EMIT_UNWIND_LABEL): Delete.



-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 167963-darwin-func-sections.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20101217/9b9a473f/attachment.txt>
-------------- next part --------------




More information about the Gcc-patches mailing list