PATCH: PR 797: Alignment in empty section changes the output layout

Nick Clifton nickc@redhat.com
Tue May 17 15:13:00 GMT 2005


Hi H. J.

> bfd/
> 2005-05-07  H.J. Lu  <hongjiu.lu@intel.com>
> 
> 	PR 797
> 	* elf32-i386.c (elf_i386_size_dynamic_sections): Also remove
> 	empty sdynbss section.
> 	* elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Likewise.
> 
> ld/
> 2005-05-07  H.J. Lu  <hongjiu.lu@intel.com>
> 
> 	PR 797
> 	* ldexp.c (exp_fold_tree_1): Renamed from exp_fold_tree and
> 	take take a bfd_boolean, mark_used. Ignore assert failure if
> 	mark_used is TRUE.
> 	(exp_fold_tree) Call exp_fold_tree_1 with mark_used == FALSE.
> 	(exp_fold_tree_no_dot): Updated to take a bfd_boolean,
> 	mark_used and pass down.
> 	(fold_unary): Likewise.
> 	(fold_binary): Likewise.
> 	(fold_trinary): Likewise.
> 	(exp_binop): Add FALSE to call to exp_fold_tree_no_dot.
> 	(exp_trinop): Likewise.
> 	(exp_unop): Likewise.
> 	(exp_nameop): Likewise.
> 	(exp_get_vma): Likewise.
> 	(exp_get_fill): Likewise.
> 	(exp_get_abs_int): Likewise.
> 	(fold_name): Likewise. Set SEC_KEEP in output section flags.
> 	(exp_mark_used_section): New.
> 
> 	* ldexp.h (exp_mark_used_section): New.
> 
> 	* ldlang.c (lang_output_section_statement_lookup_1): Set the
> 	ignored field to FALSE.
> 	(lang_mark_used_section_1): New.
> 	(lang_mark_used_section): Call lang_mark_used_section_1.
> 	(strip_excluded_output_sections): Call lang_mark_used_section
> 	and check for unused sections.
> 	(lang_size_sections_1): Skip an output section if it should
> 	be ignored.
> 	(lang_do_assignments_1): Likewise.
> 	(lang_process): Don't call lang_mark_used_section here.
> 
> 	* ldlang.h (lang_output_section_statement_type): Change
> 	all_input_readonly to bitfield. Add ignored.

Approved - please apply - but could also generate a test case to make 
sure that this problem does not reoccur.

Cheers
   Nick



More information about the Binutils mailing list