This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Patch for ICF string inline bug for SHT_REL sections.


Sriraman Tallam <tmsriram@google.com> writes:

> 	* arm.cc (Target_arm<big_endian>::gc_process_relocs): Add template
> 	paramter to the call to gold::gc_process_relocs.
> 	* i386.cc (Target_i386<big_endian>::gc_process_relocs): Add template
> 	paramter to the call to gold::gc_process_relocs.
> 	* x86_64.cc (Target_x86_64<big_endian>::gc_process_relocs): Add template
> 	parameter to the call to gold::gc_process_relocs.
> 	* powerpc.cc (Target_powerpc<big_endian>::gc_process_relocs): Add
> 	template parameter to the call to gold::gc_process_relocs.
> 	* sparc.cc (Target_sparc<big_endian>::gc_process_relocs): Add template
> 	paramter to the call to gold::gc_process_relocs.
> 	* gc.h (get_embedded_addend_size): New function.
> 	(gc_process_relocs): Save the size of the reloc for use by ICF.
> 	* icf.cc (get_section_contents): Get the addend from the text section
> 	for SHT_REL relocation sections.
> 	* icf.h (Icf::Reloc_addend_size_info): New typedef.
> 	(Icf::Reloc_info): Add new member reloc_addend_size_info.
> 	* int_encoding.h (read_from_pointer): New overloaded function.
> 	* testsuite/Makefile.am (icf_sht_rel_addend_test): New test.
> 	* testsuite/icf_sht_rel_addend_test.sh: New file.
> 	* testsuite/icf_sht_rel_addend_test_1.cc: New file.
> 	* testsuite/icf_sht_rel_addend_test_2.cc: New file.


> +		      case 0:
> +		        {
> +                          break;
> +                        }
> +                      case 1:
> +                        {
> +                          reloc_addend_value =
> +                            read_from_pointer<8>(reloc_addend_ptr);
> +			  break;
> +                        }
> +                      case 2:
> +                        {
> +                          reloc_addend_value =
> +                            read_from_pointer<16>(reloc_addend_ptr);
> +			  break;
> +                        }
> +                      case 4:
> +                        {
> +                          reloc_addend_value =
> +                            read_from_pointer<32>(reloc_addend_ptr);
> +			  break;
> +                        }

Please add "case 8" here, for luck.

This is OK with that change.

Thanks, and sorry again for the delay.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]