summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2015-03-09 22:43:08 +0100
committerMark Wielaard <mjw@redhat.com>2015-03-13 09:41:25 +0100
commitcbf25bb674320ad595707d2592799381979d85f3 (patch)
tree84682eb2c7e60a5ac3e36b00a18f99907af94da3
parentae9aa3e4b2853d58598a6928eb1dbaacf6488496 (diff)
downloadelfutils-cbf25bb674320ad595707d2592799381979d85f3.tar.gz
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@redhat.com>
-rw-r--r--backends/ChangeLog14
-rw-r--r--backends/aarch64_reloc.def4
-rw-r--r--backends/arm_reloc.def4
-rw-r--r--backends/i386_reloc.def4
-rw-r--r--backends/ia64_reloc.def4
-rw-r--r--backends/ppc64_reloc.def4
-rw-r--r--backends/ppc_reloc.def4
-rw-r--r--backends/s390_reloc.def4
-rw-r--r--backends/sh_reloc.def4
-rw-r--r--backends/sparc_reloc.def4
-rw-r--r--backends/tilegx_reloc.def3
-rw-r--r--backends/x86_64_reloc.def4
12 files changed, 36 insertions, 21 deletions
diff --git a/backends/ChangeLog b/backends/ChangeLog
index 9f5975a9..818e8d5d 100644
--- a/backends/ChangeLog
+++ b/backends/ChangeLog
@@ -1,3 +1,17 @@
+2015-03-09 Mark Wielaard <mjw@redhat.com>
+
+ * aarch64_reloc.def (COPY): Add DYN.
+ * arm_reloc.def (COPY): Likewise.
+ * i386_reloc.def (COPY): Likewise.
+ * ia64_reloc.def (COPY): Likewise.
+ * ppc64_reloc.def (COPY): Likewise.
+ * ppc_reloc.def (COPY): Likewise.
+ * s390_reloc.def (COPY): Likewise.
+ * sh_reloc.def (COPY): Likewise.
+ * sparc_reloc.def (COPY): Likewise.
+ * tilegx_reloc.def (COPY): Likewise.
+ * x86_64_reloc.def (COPY): Likewise.
+
2015-02-23 Petr Machata <pmachata@redhat.com>
* arm_symbol.c (arm_symbol_type_name): New function.
diff --git a/backends/aarch64_reloc.def b/backends/aarch64_reloc.def
index 36d29e65..2e16e987 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 4b7894bb..113648e6 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 bd273b38..de3575d2 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 9e058c8b..24289251 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 3a693cf6..15a73ba5 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 dc963a0e..3723a9cc 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 b4686a30..cdef9ebf 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 66a5a9d2..aded3612 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 c39b0fae..2aeb1298 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 9736286e..1018110d 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 8ed98f64..ad84efa1 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)