forked from rpms/elfutils
		
	0.155-4 Replace elfutils-0.155-binutils-pr-ld-13621.patch with upstream fix.
This commit is contained in:
		
							parent
							
								
									e43443132c
								
							
						
					
					
						commit
						e86763bac2
					
				| @ -1,16 +1,62 @@ | |||||||
| diff --git a/tests/run-elflint-self.sh b/tests/run-elflint-self.sh
 | commit 3bdc16ce98295463c071192eab2ec611a8edc508 | ||||||
| index 4b01008..7a5f0c8 100755
 | Author: Mark Wielaard <mjw@redhat.com> | ||||||
| --- a/tests/run-elflint-self.sh
 | Date:   Wed Feb 6 16:20:17 2013 +0100 | ||||||
| +++ b/tests/run-elflint-self.sh
 |  | ||||||
| @@ -18,4 +18,11 @@
 |  | ||||||
| 
 | 
 | ||||||
|  . $srcdir/test-subr.sh |     elflint: Add two more symbols to gnuld list of allowed bad values. | ||||||
|      |      | ||||||
| +# Makes sure we exit cleanly even when we don't...
 |     Add __bss_start and __TMC_END__ to the list of symbols allowed to have | ||||||
| +clean_exit()
 |     out of section values because of the following GNU ld bug: | ||||||
| +{
 |     http://sourceware.org/bugzilla/show_bug.cgi?id=13621. | ||||||
| +  if test $? != 0; then echo "binutils PR ld/13621 workaround"; exit 0; fi
 |     Allow them to appear in either .symtab or .dynsym, but only when they | ||||||
| +}
 |     are zero sized. It is impossible to define a general rule for this bug, | ||||||
| +trap clean_exit EXIT
 |     but this should catch most common issues that are mostly harmless | ||||||
|  |     because the symbols signify the removed section was empty to being with. | ||||||
|  |     This catches at least all symbols often flagged in the tests. | ||||||
|  |      | ||||||
|  |     Signed-off-by: Mark Wielaard <mjw@redhat.com> | ||||||
|  | 
 | ||||||
|  | diff --git a/src/ChangeLog b/src/ChangeLog
 | ||||||
|  | index f3f9b51..7d7b66f 100644
 | ||||||
|  | --- a/src/ChangeLog
 | ||||||
|  | +++ b/src/ChangeLog
 | ||||||
|  | @@ -1,3 +1,10 @@
 | ||||||
|  | +2013-02-06  Mark Wielaard  <mjw@redhat.com>
 | ||||||
| +
 | +
 | ||||||
|  testrun_on_self ../src/elflint --quiet --gnu-ld | +	* elflint.c (check_symtab): Add __bss_start and __TMC_END__ to the
 | ||||||
|  | +	list of symbols allowed to have out of section values because of
 | ||||||
|  | +	GNU ld bugs in either .symtab or .dynsym, but only when they are
 | ||||||
|  | +	zero sized.
 | ||||||
|  | +
 | ||||||
|  |  2012-08-27  Mark Wielaard  <mjw@redhat.com> | ||||||
|  |   | ||||||
|  |  	* readelf.c (print_debug_macro_section): Print offset as PRIx64. | ||||||
|  | diff --git a/src/elflint.c b/src/elflint.c
 | ||||||
|  | index 4084987..bc5ed33 100644
 | ||||||
|  | --- a/src/elflint.c
 | ||||||
|  | +++ b/src/elflint.c
 | ||||||
|  | @@ -767,15 +767,22 @@ section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"),
 | ||||||
|  |  			{ | ||||||
|  |  			  /* GNU ld has severe bugs.  When it decides to remove | ||||||
|  |  			     empty sections it leaves symbols referencing them | ||||||
|  | -			     behind.  These are symbols in .symtab.  */
 | ||||||
|  | +			     behind.  These are symbols in .symtab or .dynsym
 | ||||||
|  | +			     and for the named symbols have zero size.  See
 | ||||||
|  | +			     sourceware PR13621.  */
 | ||||||
|  |  			  if (!gnuld | ||||||
|  | -			      || strcmp (section_name (ebl, idx), ".symtab")
 | ||||||
|  | +			      || (strcmp (section_name (ebl, idx), ".symtab")
 | ||||||
|  | +			          && strcmp (section_name (ebl, idx),
 | ||||||
|  | +					     ".dynsym"))
 | ||||||
|  | +			      || sym->st_size != 0
 | ||||||
|  |  			      || (strcmp (name, "__preinit_array_start") != 0 | ||||||
|  |  				  && strcmp (name, "__preinit_array_end") != 0 | ||||||
|  |  				  && strcmp (name, "__init_array_start") != 0 | ||||||
|  |  				  && strcmp (name, "__init_array_end") != 0 | ||||||
|  |  				  && strcmp (name, "__fini_array_start") != 0 | ||||||
|  | -				  && strcmp (name, "__fini_array_end") != 0))
 | ||||||
|  | +				  && strcmp (name, "__fini_array_end") != 0
 | ||||||
|  | +				  && strcmp (name, "__bss_start") != 0
 | ||||||
|  | +				  && strcmp (name, "__TMC_END__") != 0))
 | ||||||
|  |  			    ERROR (gettext ("\ | ||||||
|  |  section [%2d] '%s': symbol %zu: st_value out of bounds\n"), | ||||||
|  |  				   idx, section_name (ebl, idx), cnt); | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| Name: elfutils | Name: elfutils | ||||||
| Summary: A collection of utilities and DSOs to handle compiled objects | Summary: A collection of utilities and DSOs to handle compiled objects | ||||||
| Version: 0.155 | Version: 0.155 | ||||||
| %global baserelease 3 | %global baserelease 4 | ||||||
| URL: https://fedorahosted.org/elfutils/ | URL: https://fedorahosted.org/elfutils/ | ||||||
| %global source_url http://fedorahosted.org/releases/e/l/elfutils/%{version}/ | %global source_url http://fedorahosted.org/releases/e/l/elfutils/%{version}/ | ||||||
| License: GPLv3+ and (GPLv2+ or LGPLv3+) | License: GPLv3+ and (GPLv2+ or LGPLv3+) | ||||||
| @ -331,6 +331,9 @@ rm -rf ${RPM_BUILD_ROOT} | |||||||
| %{_libdir}/libelf.a | %{_libdir}/libelf.a | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Fri Feb 22 2013 Mark Wielaard <mjw@redhat.com> - 0.155-4 | ||||||
|  | - Replace elfutils-0.155-binutils-pr-ld-13621.patch with upstream fix. | ||||||
|  | 
 | ||||||
| * Thu Jan 24 2013 Mark Wielaard <mjw@redhat.com> - 0.155-3 | * Thu Jan 24 2013 Mark Wielaard <mjw@redhat.com> - 0.155-3 | ||||||
| - Backport sizeof-pointer-memaccess upstream fixes. | - Backport sizeof-pointer-memaccess upstream fixes. | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user