[elfutils] 0.161-6 Add elfutils-0.161-copyreloc.patch.

Mark Wielaard mjw at fedoraproject.org
Mon Mar 9 22:04:38 UTC 2015


commit 6c0c17ad448f771022f313553476b75c108507dd
Author: Mark Wielaard <mjw at redhat.com>
Date:   Mon Mar 9 23:04:27 2015 +0100

    0.161-6 Add elfutils-0.161-copyreloc.patch.

 elfutils-0.161-copyreloc.patch | 233 +++++++++++++++++++++++++++++++++++++++++
 elfutils.spec                  |   7 +-
 2 files changed, 239 insertions(+), 1 deletion(-)
---
diff --git a/elfutils-0.161-copyreloc.patch b/elfutils-0.161-copyreloc.patch
new file mode 100644
index 0000000..551d35f
--- /dev/null
+++ b/elfutils-0.161-copyreloc.patch
@@ -0,0 +1,233 @@
+commit cc4e10fb398d40fb90e15056d808a596ef893cc3
+Author: Mark Wielaard <mjw at redhat.com>
+Date:   Mon Mar 9 22:43:08 2015 +0100
+
+    backends: COPY relocations can also happen in ET_DYN.
+    
+    In particular COPY relocations might happen in PIE executables,
+    which are ET_DYN.
+    
+    Found on Fedora Rawhide with run-elflint-self.sh.
+    
+    Signed-off-by: Mark Wielaard <mjw at redhat.com>
+
+diff --git a/backends/aarch64_reloc.def b/backends/aarch64_reloc.def
+index 36d29e6..2e16e98 100644
+--- a/backends/aarch64_reloc.def
++++ b/backends/aarch64_reloc.def
+@@ -1,5 +1,5 @@
+ /* List the relocation types for AArch64.  -*- C -*-
+-   Copyright (C) 2013, 2014 Red Hat, Inc.
++   Copyright (C) 2013, 2014, 2015 Red Hat, Inc.
+    This file is part of elfutils.
+ 
+    This file is free software; you can redistribute it and/or modify
+@@ -30,7 +30,7 @@
+ 
+ RELOC_TYPE (ABS64,		REL|EXEC|DYN)
+ RELOC_TYPE (ABS32,		REL|EXEC|DYN)
+-RELOC_TYPE (COPY,		EXEC)
++RELOC_TYPE (COPY,		EXEC|DYN)
+ RELOC_TYPE (GLOB_DAT,		EXEC|DYN)
+ RELOC_TYPE (JUMP_SLOT,		EXEC|DYN)
+ RELOC_TYPE (RELATIVE,		EXEC|DYN)
+diff --git a/backends/arm_reloc.def b/backends/arm_reloc.def
+index 4b7894b..113648e 100644
+--- a/backends/arm_reloc.def
++++ b/backends/arm_reloc.def
+@@ -1,5 +1,5 @@
+ /* List the relocation types for arm.  -*- C -*-
+-   Copyright (C) 2005-2010, 2014 Red Hat, Inc.
++   Copyright (C) 2005-2010, 2014, 2015 Red Hat, Inc.
+    This file is part of elfutils.
+ 
+    This file is free software; you can redistribute it and/or modify
+@@ -48,7 +48,7 @@ RELOC_TYPE (THM_XPC22,		REL)
+ RELOC_TYPE (TLS_DTPMOD32,	EXEC|DYN)
+ RELOC_TYPE (TLS_DTPOFF32,	EXEC|DYN)
+ RELOC_TYPE (TLS_TPOFF32,	EXEC|DYN)
+-RELOC_TYPE (COPY,		EXEC)
++RELOC_TYPE (COPY,		EXEC|DYN)
+ RELOC_TYPE (GLOB_DAT,		EXEC|DYN)
+ RELOC_TYPE (JUMP_SLOT,		EXEC|DYN)
+ RELOC_TYPE (RELATIVE,		EXEC|DYN)
+diff --git a/backends/i386_reloc.def b/backends/i386_reloc.def
+index bd273b3..de3575d 100644
+--- a/backends/i386_reloc.def
++++ b/backends/i386_reloc.def
+@@ -1,5 +1,5 @@
+ /* List the relocation types for i386.	-*- C -*-
+-   Copyright (C) 2000, 2001, 2002, 2003, 2005, 2009 Red Hat, Inc.
++   Copyright (C) 2000, 2001, 2002, 2003, 2005, 2009, 2015 Red Hat, Inc.
+    This file is part of elfutils.
+ 
+    This file is free software; you can redistribute it and/or modify
+@@ -29,7 +29,7 @@
+ /*	    NAME,		REL|EXEC|DYN	*/
+ 
+ RELOC_TYPE (NONE,		0)
+-RELOC_TYPE (COPY,		EXEC)
++RELOC_TYPE (COPY,		EXEC|DYN)
+ RELOC_TYPE (32,			REL|EXEC|DYN)
+ RELOC_TYPE (PC32,		REL|EXEC|DYN)
+ RELOC_TYPE (GOT32,		REL)
+diff --git a/backends/ia64_reloc.def b/backends/ia64_reloc.def
+index 9e058c8..2428925 100644
+--- a/backends/ia64_reloc.def
++++ b/backends/ia64_reloc.def
+@@ -1,5 +1,5 @@
+ /* List the relocation types for ia64.  -*- C -*-
+-   Copyright (C) 2005, 2006 Red Hat, Inc.
++   Copyright (C) 2005, 2006, 2015 Red Hat, Inc.
+    This file is part of elfutils.
+ 
+    This file is free software; you can redistribute it and/or modify
+@@ -88,7 +88,7 @@ RELOC_TYPE (PCREL22,		REL)
+ RELOC_TYPE (PCREL64I,		REL)
+ RELOC_TYPE (IPLTMSB,		REL|EXEC|DYN)
+ RELOC_TYPE (IPLTLSB,		REL|EXEC|DYN)
+-RELOC_TYPE (COPY,		EXEC)
++RELOC_TYPE (COPY,		EXEC|DYN)
+ RELOC_TYPE (SUB,		0)
+ RELOC_TYPE (LTOFF22X,		REL)
+ RELOC_TYPE (LDXMOV,		REL)
+diff --git a/backends/ppc64_reloc.def b/backends/ppc64_reloc.def
+index 3a693cf..15a73ba 100644
+--- a/backends/ppc64_reloc.def
++++ b/backends/ppc64_reloc.def
+@@ -1,5 +1,5 @@
+ /* List the relocation types for ppc64.  -*- C -*-
+-   Copyright (C) 2005 Red Hat, Inc.
++   Copyright (C) 2005, 2015 Red Hat, Inc.
+    This file is part of elfutils.
+ 
+    This file is free software; you can redistribute it and/or modify
+@@ -46,7 +46,7 @@ RELOC_TYPE (GOT16,		REL)
+ RELOC_TYPE (GOT16_LO,		REL)
+ RELOC_TYPE (GOT16_HI,		REL)
+ RELOC_TYPE (GOT16_HA,		REL)
+-RELOC_TYPE (COPY,		EXEC)
++RELOC_TYPE (COPY,		EXEC|DYN)
+ RELOC_TYPE (GLOB_DAT,		EXEC|DYN)
+ RELOC_TYPE (JMP_SLOT,		EXEC|DYN)
+ RELOC_TYPE (RELATIVE,		EXEC|DYN)
+diff --git a/backends/ppc_reloc.def b/backends/ppc_reloc.def
+index dc963a0..3723a9c 100644
+--- a/backends/ppc_reloc.def
++++ b/backends/ppc_reloc.def
+@@ -1,5 +1,5 @@
+ /* List the relocation types for ppc.  -*- C -*-
+-   Copyright (C) 2005 Red Hat, Inc.
++   Copyright (C) 2005, 2015 Red Hat, Inc.
+    This file is part of elfutils.
+ 
+    This file is free software; you can redistribute it and/or modify
+@@ -47,7 +47,7 @@ RELOC_TYPE (GOT16_LO,		REL)
+ RELOC_TYPE (GOT16_HI,		REL)
+ RELOC_TYPE (GOT16_HA,		REL)
+ RELOC_TYPE (PLTREL24,		REL)
+-RELOC_TYPE (COPY,		EXEC)
++RELOC_TYPE (COPY,		EXEC|DYN)
+ RELOC_TYPE (GLOB_DAT,		EXEC|DYN)
+ RELOC_TYPE (JMP_SLOT,		EXEC|DYN)
+ RELOC_TYPE (RELATIVE,		EXEC|DYN)
+diff --git a/backends/s390_reloc.def b/backends/s390_reloc.def
+index b4686a3..cdef9eb 100644
+--- a/backends/s390_reloc.def
++++ b/backends/s390_reloc.def
+@@ -1,5 +1,5 @@
+ /* List the relocation types for s390.  -*- C -*-
+-   Copyright (C) 2005, 2006 Red Hat, Inc.
++   Copyright (C) 2005, 2006, 2015 Red Hat, Inc.
+    This file is part of elfutils.
+ 
+    This file is free software; you can redistribute it and/or modify
+@@ -37,7 +37,7 @@ RELOC_TYPE (PC32,               REL|EXEC|DYN)
+ RELOC_TYPE (GOT12,              REL)
+ RELOC_TYPE (GOT32,              REL)
+ RELOC_TYPE (PLT32,              REL)
+-RELOC_TYPE (COPY,               EXEC)
++RELOC_TYPE (COPY,               EXEC|DYN)
+ RELOC_TYPE (GLOB_DAT,           EXEC|DYN)
+ RELOC_TYPE (JMP_SLOT,           EXEC|DYN)
+ RELOC_TYPE (RELATIVE,           EXEC|DYN)
+diff --git a/backends/sh_reloc.def b/backends/sh_reloc.def
+index 66a5a9d..aded361 100644
+--- a/backends/sh_reloc.def
++++ b/backends/sh_reloc.def
+@@ -1,5 +1,5 @@
+ /* List the relocation types for SH.  -*- C -*-
+-   Copyright (C) 2005 Red Hat, Inc.
++   Copyright (C) 2005, 2015 Red Hat, Inc.
+    This file is part of elfutils.
+ 
+    This file is free software; you can redistribute it and/or modify
+@@ -59,7 +59,7 @@ RELOC_TYPE (TLS_DTPOFF32,	DYN)
+ RELOC_TYPE (TLS_TPOFF32,	DYN)
+ RELOC_TYPE (GOT32,		REL)
+ RELOC_TYPE (PLT32,		REL)
+-RELOC_TYPE (COPY,		EXEC)
++RELOC_TYPE (COPY,		EXEC|DYN)
+ RELOC_TYPE (GLOB_DAT,		EXEC|DYN)
+ RELOC_TYPE (JMP_SLOT,		EXEC|DYN)
+ RELOC_TYPE (RELATIVE,		EXEC|DYN)
+diff --git a/backends/sparc_reloc.def b/backends/sparc_reloc.def
+index c39b0fa..2aeb129 100644
+--- a/backends/sparc_reloc.def
++++ b/backends/sparc_reloc.def
+@@ -1,5 +1,5 @@
+ /* List the relocation types for sparc.  -*- C -*-
+-   Copyright (C) 2009 Red Hat, Inc.
++   Copyright (C) 2009, 2015 Red Hat, Inc.
+    This file is part of elfutils.
+ 
+    This file is free software; you can redistribute it and/or modify
+@@ -47,7 +47,7 @@ RELOC_TYPE (GOT22,              REL)
+ RELOC_TYPE (PC10,               REL)
+ RELOC_TYPE (PC22,               REL)
+ RELOC_TYPE (WPLT30,             REL)
+-RELOC_TYPE (COPY,               EXEC)
++RELOC_TYPE (COPY,               EXEC|DYN)
+ RELOC_TYPE (GLOB_DAT,           EXEC|DYN)
+ RELOC_TYPE (JMP_SLOT,           EXEC|DYN)
+ RELOC_TYPE (RELATIVE,           EXEC|DYN)
+diff --git a/backends/tilegx_reloc.def b/backends/tilegx_reloc.def
+index 9736286..1018110 100644
+--- a/backends/tilegx_reloc.def
++++ b/backends/tilegx_reloc.def
+@@ -1,5 +1,6 @@
+ /* List the relocation types for tilegx.  -*- C -*-
+    Copyright (C) 2012 Tilera Corporation
++   Copyright (C) 2015 Red Hat, Inc.
+    This file is part of elfutils.
+ 
+    This file is free software; you can redistribute it and/or modify
+@@ -44,7 +45,7 @@ RELOC_TYPE (HW3,			REL)
+ RELOC_TYPE (HW0_LAST,			REL)
+ RELOC_TYPE (HW1_LAST,			REL)
+ RELOC_TYPE (HW2_LAST,			REL)
+-RELOC_TYPE (COPY,			EXEC)
++RELOC_TYPE (COPY,			EXEC|DYN)
+ RELOC_TYPE (GLOB_DAT,			EXEC|DYN)
+ RELOC_TYPE (JMP_SLOT,			EXEC|DYN)
+ RELOC_TYPE (RELATIVE,			EXEC|DYN)
+diff --git a/backends/x86_64_reloc.def b/backends/x86_64_reloc.def
+index 8ed98f6..ad84efa 100644
+--- a/backends/x86_64_reloc.def
++++ b/backends/x86_64_reloc.def
+@@ -1,5 +1,5 @@
+ /* List the relocation types for x86-64.  -*- C -*-
+-   Copyright (C) 2000, 2001, 2002, 2003, 2005, 2009 Red Hat, Inc.
++   Copyright (C) 2000, 2001, 2002, 2003, 2005, 2009, 2015 Red Hat, Inc.
+    This file is part of elfutils.
+ 
+    This file is free software; you can redistribute it and/or modify
+@@ -33,7 +33,7 @@ RELOC_TYPE (64,		REL|EXEC|DYN)
+ RELOC_TYPE (PC32,	REL|EXEC|DYN)
+ RELOC_TYPE (GOT32,	REL)
+ RELOC_TYPE (PLT32,	REL)
+-RELOC_TYPE (COPY,	EXEC)
++RELOC_TYPE (COPY,	EXEC|DYN)
+ RELOC_TYPE (GLOB_DAT,	EXEC|DYN)
+ RELOC_TYPE (JUMP_SLOT,	EXEC|DYN)
+ RELOC_TYPE (RELATIVE,	EXEC|DYN)
diff --git a/elfutils.spec b/elfutils.spec
index 8147272..dc65d51 100644
--- a/elfutils.spec
+++ b/elfutils.spec
@@ -1,7 +1,7 @@
 Name: elfutils
 Summary: A collection of utilities and DSOs to handle compiled objects
 Version: 0.161
-%global baserelease 5
+%global baserelease 6
 URL: https://fedorahosted.org/elfutils/
 %global source_url http://fedorahosted.org/releases/e/l/elfutils/%{version}/
 License: GPLv3+ and (GPLv2+ or LGPLv3+)
@@ -51,6 +51,7 @@ Patch2: elfutils-0.161-ar-long-name.patch
 Patch3: elfutils-0.161-formref-type.patch
 # rhbz#1189928 - Consider sh_addralign 0 as 1
 Patch4: elfutils-0.161-addralign.patch
+Patch5: elfutils-0.161-copyreloc.patch
 
 %if !%{compat}
 Release: %{baserelease}%{?dist}
@@ -216,6 +217,7 @@ sed -i.scanf-m -e 's/%m/%a/g' src/addr2line.c tests/line2addr.c
 %patch2 -p1 -b .ar_long_name
 %patch3 -p1 -b .formref_type
 %patch4 -p1 -b .addralign
+%patch5 -p1 -b .copyreloc
 
 find . -name \*.sh ! -perm -0100 -print | xargs chmod +x
 
@@ -344,6 +346,9 @@ rm -rf ${RPM_BUILD_ROOT}
 %{_libdir}/libelf.a
 
 %changelog
+* Mon Mar 09 2015 Mark Wielaard <mjw at redhat.com> - 0.161-6
+- Add elfutils-0.161-copyreloc.patch.
+
 * Sat Feb 21 2015 Till Maas <opensource at till.name> - 0.161-5
 - Rebuilt for Fedora 23 Change
   https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code


More information about the scm-commits mailing list