forked from rpms/elfutils
		
	0.156-4 - Add elfutils-0.156-et_dyn-kernels.patch.
Fixes an issue on ppc64 with systemtap kernel address placement.
This commit is contained in:
		
							parent
							
								
									48d457f42b
								
							
						
					
					
						commit
						d0217a5719
					
				
							
								
								
									
										47
									
								
								elfutils-0.156-et_dyn-kernels.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								elfutils-0.156-et_dyn-kernels.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| commit 16fa414aff02365534b7bbeab281c731b9c4497d | ||||
| Author: Mark Wielaard <mjw@redhat.com> | ||||
| Date:   Thu Aug 22 13:45:16 2013 +0200 | ||||
| 
 | ||||
|     libdwfl/linux-kernel-modules.c (report_kernel): Pass add_p_vaddr as true. | ||||
|      | ||||
|     On some architectures (e.g. x86_64) the vmlinux is ET_EXEC, while on | ||||
|     others (e.g. ppc64) it is ET_DYN.  In both cases the phdr p_vaddr will | ||||
|     be non-zero.  We want the image to be placed as if it was ET_DYN, so | ||||
|     pass true for add_p_vaddr which will do the right thing (in combination | ||||
|     with a zero base) in either case. | ||||
|      | ||||
|     Signed-off-by: Mark Wielaard <mjw@redhat.com> | ||||
| 
 | ||||
| diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
 | ||||
| index 88bdfc6..90ba686 100644
 | ||||
| --- a/libdwfl/ChangeLog
 | ||||
| +++ b/libdwfl/ChangeLog
 | ||||
| @@ -1,3 +1,8 @@
 | ||||
| +2013-08-25  Mark Wielaard  <mjw@redhat.com>
 | ||||
| +
 | ||||
| +	* linux-kernel-modules.c (report_kernel): Pass add_p_vaddr as true
 | ||||
| +	to dwfl_report_elf.
 | ||||
| +
 | ||||
|  2013-07-25  Jan Kratochvil  <jan.kratochvil@redhat.com> | ||||
|   | ||||
|  	* dwfl_segment_report_module.c (dwfl_segment_report_module): Check for | ||||
| diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c
 | ||||
| index dec1a59..fe01028 100644
 | ||||
| --- a/libdwfl/linux-kernel-modules.c
 | ||||
| +++ b/libdwfl/linux-kernel-modules.c
 | ||||
| @@ -216,8 +216,14 @@ report_kernel (Dwfl *dwfl, const char **release,
 | ||||
|   | ||||
|        if (report) | ||||
|  	{ | ||||
| +	  /* Note that on some architectures (e.g. x86_64) the vmlinux
 | ||||
| +	     is ET_EXEC, while on others (e.g. ppc64) it is ET_DYN.
 | ||||
| +	     In both cases the phdr p_vaddr load address will be non-zero.
 | ||||
| +	     We want the image to be placed as if it was ET_DYN, so
 | ||||
| +	     pass true for add_p_vaddr which will do the right thing
 | ||||
| +	     (in combination with a zero base) in either case.  */
 | ||||
|  	  Dwfl_Module *mod = INTUSE(dwfl_report_elf) (dwfl, KERNEL_MODNAME, | ||||
| -						      fname, fd, 0, false);
 | ||||
| +						      fname, fd, 0, true);
 | ||||
|  	  if (mod == NULL) | ||||
|  	    result = -1; | ||||
|  	  else | ||||
| @ -1,7 +1,7 @@ | ||||
| Name: elfutils | ||||
| Summary: A collection of utilities and DSOs to handle compiled objects | ||||
| Version: 0.156 | ||||
| %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+) | ||||
| @ -46,6 +46,8 @@ Source: %{?source_url}%{name}-%{version}.tar.bz2 | ||||
| Patch1: %{?source_url}elfutils-robustify.patch | ||||
| Patch2: %{?source_url}elfutils-portability.patch | ||||
| 
 | ||||
| Patch3: elfutils-0.156-et_dyn-kernels.patch | ||||
| 
 | ||||
| %if !%{compat} | ||||
| Release: %{baserelease}%{?dist} | ||||
| %else | ||||
| @ -209,6 +211,8 @@ sed -i.scanf-m -e 's/%m/%a/g' src/addr2line.c tests/line2addr.c | ||||
| %endif | ||||
| %endif | ||||
| 
 | ||||
| %patch3 -p1 -b .et_dyn-kernel | ||||
| 
 | ||||
| find . -name \*.sh ! -perm -0100 -print | xargs chmod +x | ||||
| 
 | ||||
| %build | ||||
| @ -323,6 +327,10 @@ rm -rf ${RPM_BUILD_ROOT} | ||||
| %{_libdir}/libelf.a | ||||
| 
 | ||||
| %changelog | ||||
| * Mon Aug 26 2013 Mark Wielaard <mjw@redhat.com> 0.156-4 | ||||
| - Add elfutils-0.156-et_dyn-kernels.patch. | ||||
|   Fixes an issue on ppc64 with systemtap kernel address placement. | ||||
| 
 | ||||
| * Thu Aug  8 2013 Mark Wielaard <mjw@redhat.com> 0.156-3 | ||||
| - Make check can now also be ran in parallel. | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user