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
 | ||||
| index 4b01008..7a5f0c8 100755
 | ||||
| --- a/tests/run-elflint-self.sh
 | ||||
| +++ b/tests/run-elflint-self.sh
 | ||||
| @@ -18,4 +18,11 @@
 | ||||
| commit 3bdc16ce98295463c071192eab2ec611a8edc508 | ||||
| Author: Mark Wielaard <mjw@redhat.com> | ||||
| Date:   Wed Feb 6 16:20:17 2013 +0100 | ||||
| 
 | ||||
|  . $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...
 | ||||
| +clean_exit()
 | ||||
| +{
 | ||||
| +  if test $? != 0; then echo "binutils PR ld/13621 workaround"; exit 0; fi
 | ||||
| +}
 | ||||
| +trap clean_exit EXIT
 | ||||
|     Add __bss_start and __TMC_END__ to the list of symbols allowed to have | ||||
|     out of section values because of the following GNU ld bug: | ||||
|     http://sourceware.org/bugzilla/show_bug.cgi?id=13621. | ||||
|     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, | ||||
|     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 | ||||
| Summary: A collection of utilities and DSOs to handle compiled objects | ||||
| Version: 0.155 | ||||
| %global baserelease 3 | ||||
| %global baserelease 4 | ||||
| URL: https://fedorahosted.org/elfutils/ | ||||
| %global source_url http://fedorahosted.org/releases/e/l/elfutils/%{version}/ | ||||
| License: GPLv3+ and (GPLv2+ or LGPLv3+) | ||||
| @ -331,6 +331,9 @@ rm -rf ${RPM_BUILD_ROOT} | ||||
| %{_libdir}/libelf.a | ||||
| 
 | ||||
| %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 | ||||
| - Backport sizeof-pointer-memaccess upstream fixes. | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user