[David Mosberger <davidm@hpl.hp.com>] problem with unwind info for .init/.fini sections

H . J . Lu hjl@lucon.org
Mon Mar 4 12:47:00 GMT 2002


On Mon, Mar 04, 2002 at 09:36:01PM +1030, Alan Modra wrote:
> 
> This is OK to commit, although you might like to use the following
> elflink.h patch instead.  It's based on one of your earlier patches,
> and has the advantage of being immune to people using custom linker
> scripts that define symbols in the .init_array, .fini_array or
> .preinit_array output sections.
> 

I checked in the following patch. I don't think we should check every
input file for .preinit_array. If people use a custom linker script,
they will get a warning if there is an empty section.


H.J.
----
2002-03-04  H.J. Lu <hjl@gnu.org>

	* elf.c (bfd_section_from_shdr): Handle special sections,
	.init_array, .fini_array and .preinit_array.
	(elf_fake_sections): Likewise.

	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
	DT entry only if the section is in output for .init_array,
	.fini_array and .preinit_array. Complain about .preinit_array
	section in DSO.
	(elf_bfd_final_link): Warn zero size for .init_array,
	.fini_array and .preinit_array sections.

	* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
	SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
	(elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
	.preinit_array.

2002-03-04  H.J. Lu <hjl@gnu.org>

	* config/obj-elf.c (special_section): Add .init_array,
	.fini_array and .preinit_array.

	* config/tc-ia64.h (ELF_TC_SPECIAL_SECTIONS): Remove
	.init_array and .fini_array.

2002-03-04  H.J. Lu <hjl@gnu.org>

	* scripttempl/elf.sc: Put .preinit_array, .init_array and
	.fini_array in the data segment.



More information about the Binutils mailing list