Update to 0.157.
This commit is contained in:
parent
921351cf39
commit
3ccf77cd4b
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
|||||||
/elfutils-0.156.tar.bz2
|
/elfutils-0.156.tar.bz2
|
||||||
|
/elfutils-0.157.tar.bz2
|
||||||
|
@ -1,497 +0,0 @@
|
|||||||
commit ed9d2cad539eef89abac0490bbcbf647758905e3
|
|
||||||
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
Date: Tue Aug 27 22:49:36 2013 +0200
|
|
||||||
|
|
||||||
backends: Hook abi_cfi for ppc and s390.
|
|
||||||
|
|
||||||
Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
|
||||||
|
|
||||||
diff --git a/backends/Makefile.am b/backends/Makefile.am
|
|
||||||
index 1923702..ec022b0 100644
|
|
||||||
--- a/backends/Makefile.am
|
|
||||||
+++ b/backends/Makefile.am
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
## Process this file with automake to create Makefile.in
|
|
||||||
##
|
|
||||||
-## Copyright (C) 2000-2010 Red Hat, Inc.
|
|
||||||
+## Copyright (C) 2000-2010, 2013 Red Hat, Inc.
|
|
||||||
## Copyright (C) 2012 Tilera Corporation
|
|
||||||
## This file is part of elfutils.
|
|
||||||
##
|
|
||||||
@@ -85,17 +85,19 @@ libebl_sparc_pic_a_SOURCES = $(sparc_SRCS)
|
|
||||||
am_libebl_sparc_pic_a_OBJECTS = $(sparc_SRCS:.c=.os)
|
|
||||||
|
|
||||||
ppc_SRCS = ppc_init.c ppc_symbol.c ppc_retval.c ppc_regs.c \
|
|
||||||
- ppc_corenote.c ppc_auxv.c ppc_attrs.c ppc_syscall.c
|
|
||||||
+ ppc_corenote.c ppc_auxv.c ppc_attrs.c ppc_syscall.c \
|
|
||||||
+ ppc_cfi.c
|
|
||||||
libebl_ppc_pic_a_SOURCES = $(ppc_SRCS)
|
|
||||||
am_libebl_ppc_pic_a_OBJECTS = $(ppc_SRCS:.c=.os)
|
|
||||||
|
|
||||||
ppc64_SRCS = ppc64_init.c ppc64_symbol.c ppc64_retval.c \
|
|
||||||
- ppc64_corenote.c ppc_regs.c ppc_auxv.c ppc_attrs.c ppc_syscall.c
|
|
||||||
+ ppc64_corenote.c ppc_regs.c ppc_auxv.c ppc_attrs.c ppc_syscall.c \
|
|
||||||
+ ppc_cfi.c
|
|
||||||
libebl_ppc64_pic_a_SOURCES = $(ppc64_SRCS)
|
|
||||||
am_libebl_ppc64_pic_a_OBJECTS = $(ppc64_SRCS:.c=.os)
|
|
||||||
|
|
||||||
s390_SRCS = s390_init.c s390_symbol.c s390_regs.c s390_retval.c \
|
|
||||||
- s390_corenote.c s390x_corenote.c
|
|
||||||
+ s390_corenote.c s390x_corenote.c s390_cfi.c
|
|
||||||
libebl_s390_pic_a_SOURCES = $(s390_SRCS)
|
|
||||||
am_libebl_s390_pic_a_OBJECTS = $(s390_SRCS:.c=.os)
|
|
||||||
|
|
||||||
diff --git a/backends/ppc64_init.c b/backends/ppc64_init.c
|
|
||||||
index 90d4f2b..1435875 100644
|
|
||||||
--- a/backends/ppc64_init.c
|
|
||||||
+++ b/backends/ppc64_init.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
/* Initialization of PPC64 specific backend library.
|
|
||||||
- Copyright (C) 2004, 2005, 2006, 2007, 2008 Red Hat, Inc.
|
|
||||||
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2013 Red Hat, Inc.
|
|
||||||
This file is part of elfutils.
|
|
||||||
Written by Ulrich Drepper <drepper@redhat.com>, 2004.
|
|
||||||
|
|
||||||
@@ -64,6 +64,7 @@ ppc64_init (elf, machine, eh, ehlen)
|
|
||||||
HOOK (eh, syscall_abi);
|
|
||||||
HOOK (eh, core_note);
|
|
||||||
HOOK (eh, auxv_info);
|
|
||||||
+ HOOK (eh, abi_cfi);
|
|
||||||
|
|
||||||
return MODVERSION;
|
|
||||||
}
|
|
||||||
diff --git a/backends/ppc_cfi.c b/backends/ppc_cfi.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..6a4f461
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/backends/ppc_cfi.c
|
|
||||||
@@ -0,0 +1,77 @@
|
|
||||||
+/* ppc ABI-specified defaults for DWARF CFI.
|
|
||||||
+ Copyright (C) 2012, 2013 Red Hat, Inc.
|
|
||||||
+ This file is part of elfutils.
|
|
||||||
+
|
|
||||||
+ This file is free software; you can redistribute it and/or modify
|
|
||||||
+ it under the terms of either
|
|
||||||
+
|
|
||||||
+ * the GNU Lesser General Public License as published by the Free
|
|
||||||
+ Software Foundation; either version 3 of the License, or (at
|
|
||||||
+ your option) any later version
|
|
||||||
+
|
|
||||||
+ or
|
|
||||||
+
|
|
||||||
+ * the GNU General Public License as published by the Free
|
|
||||||
+ Software Foundation; either version 2 of the License, or (at
|
|
||||||
+ your option) any later version
|
|
||||||
+
|
|
||||||
+ or both in parallel, as here.
|
|
||||||
+
|
|
||||||
+ elfutils is distributed in the hope that it will be useful, but
|
|
||||||
+ WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
+ General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received copies of the GNU General Public License and
|
|
||||||
+ the GNU Lesser General Public License along with this program. If
|
|
||||||
+ not, see <http://www.gnu.org/licenses/>. */
|
|
||||||
+
|
|
||||||
+#ifdef HAVE_CONFIG_H
|
|
||||||
+# include <config.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#include <dwarf.h>
|
|
||||||
+
|
|
||||||
+#define BACKEND ppc_
|
|
||||||
+#include "libebl_CPU.h"
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+ppc_abi_cfi (Ebl *ebl __attribute__ ((unused)), Dwarf_CIE *abi_info)
|
|
||||||
+{
|
|
||||||
+ static const uint8_t abi_cfi[] =
|
|
||||||
+ {
|
|
||||||
+ /* This instruction is provided in every CIE. It is not repeated here:
|
|
||||||
+ DW_CFA_def_cfa, ULEB128_7 (1), ULEB128_7 (0) */
|
|
||||||
+ /* r1 is assumed to be restored from cfa adress,
|
|
||||||
+ r1 acts as a stack frame pointer. */
|
|
||||||
+ DW_CFA_val_expression, ULEB128_7 (1), ULEB128_7 (1), DW_OP_nop,
|
|
||||||
+ /* lr is not callee-saved but it needs to be preserved as it is pre-set
|
|
||||||
+ by the caller. */
|
|
||||||
+ DW_CFA_same_value, ULEB128_7 (65), /* lr */
|
|
||||||
+
|
|
||||||
+ /* Callee-saved regs. */
|
|
||||||
+#define SV(n) DW_CFA_same_value, ULEB128_7 (n)
|
|
||||||
+ SV (2), /* r2 is TOC pointer. */
|
|
||||||
+ SV (13), /* Reserved as system thread id (is it for CFI?). */
|
|
||||||
+ /* r14-r31 are non-volatile registers. */
|
|
||||||
+ SV (14), SV (15), SV (16), SV (17), SV (18), SV (19), SV (20), SV (21),
|
|
||||||
+ SV (22), SV (23), SV (24), SV (25), SV (26), SV (27), SV (28), SV (29),
|
|
||||||
+ SV (30), SV (31)
|
|
||||||
+ /* VMX registers v20-v31 and vrsave are non-volatile but they are
|
|
||||||
+ assigned DWARF registers 1144-1156 (v20-v31) which is outside of the
|
|
||||||
+ CFI supported range. */
|
|
||||||
+#undef SV
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ abi_info->initial_instructions = abi_cfi;
|
|
||||||
+ abi_info->initial_instructions_end = &abi_cfi[sizeof abi_cfi];
|
|
||||||
+ abi_info->data_alignment_factor = ebl->class == ELFCLASS64 ? 8 : 4;
|
|
||||||
+
|
|
||||||
+ abi_info->return_address_register = 65;
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+__typeof (ppc_abi_cfi)
|
|
||||||
+ ppc64_abi_cfi
|
|
||||||
+ __attribute__ ((alias ("ppc_abi_cfi")));
|
|
||||||
diff --git a/backends/ppc_init.c b/backends/ppc_init.c
|
|
||||||
index 6054007..004c601 100644
|
|
||||||
--- a/backends/ppc_init.c
|
|
||||||
+++ b/backends/ppc_init.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
/* Initialization of PPC specific backend library.
|
|
||||||
- Copyright (C) 2004, 2005, 2006, 2007, 2008 Red Hat, Inc.
|
|
||||||
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2013 Red Hat, Inc.
|
|
||||||
This file is part of elfutils.
|
|
||||||
Written by Ulrich Drepper <drepper@redhat.com>, 2004.
|
|
||||||
|
|
||||||
@@ -64,6 +64,7 @@ ppc_init (elf, machine, eh, ehlen)
|
|
||||||
HOOK (eh, core_note);
|
|
||||||
HOOK (eh, auxv_info);
|
|
||||||
HOOK (eh, check_object_attribute);
|
|
||||||
+ HOOK (eh, abi_cfi);
|
|
||||||
|
|
||||||
return MODVERSION;
|
|
||||||
}
|
|
||||||
diff --git a/backends/s390_cfi.c b/backends/s390_cfi.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..cb49486
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/backends/s390_cfi.c
|
|
||||||
@@ -0,0 +1,65 @@
|
|
||||||
+/* s390 ABI-specified defaults for DWARF CFI.
|
|
||||||
+ Copyright (C) 2012, 2013 Red Hat, Inc.
|
|
||||||
+ This file is part of elfutils.
|
|
||||||
+
|
|
||||||
+ This file is free software; you can redistribute it and/or modify
|
|
||||||
+ it under the terms of either
|
|
||||||
+
|
|
||||||
+ * the GNU Lesser General Public License as published by the Free
|
|
||||||
+ Software Foundation; either version 3 of the License, or (at
|
|
||||||
+ your option) any later version
|
|
||||||
+
|
|
||||||
+ or
|
|
||||||
+
|
|
||||||
+ * the GNU General Public License as published by the Free
|
|
||||||
+ Software Foundation; either version 2 of the License, or (at
|
|
||||||
+ your option) any later version
|
|
||||||
+
|
|
||||||
+ or both in parallel, as here.
|
|
||||||
+
|
|
||||||
+ elfutils is distributed in the hope that it will be useful, but
|
|
||||||
+ WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
+ General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received copies of the GNU General Public License and
|
|
||||||
+ the GNU Lesser General Public License along with this program. If
|
|
||||||
+ not, see <http://www.gnu.org/licenses/>. */
|
|
||||||
+
|
|
||||||
+#ifdef HAVE_CONFIG_H
|
|
||||||
+# include <config.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#include <dwarf.h>
|
|
||||||
+
|
|
||||||
+#define BACKEND s390_
|
|
||||||
+#include "libebl_CPU.h"
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+s390_abi_cfi (Ebl *ebl, Dwarf_CIE *abi_info)
|
|
||||||
+{
|
|
||||||
+ static const uint8_t abi_cfi[] =
|
|
||||||
+ {
|
|
||||||
+ /* This instruction is provided in every CIE. It is not repeated here:
|
|
||||||
+ DW_CFA_def_cfa, ULEB128_7 (15), ULEB128_7 (96) */
|
|
||||||
+ /* r14 is not callee-saved but it needs to be preserved as it is pre-set
|
|
||||||
+ by the caller. */
|
|
||||||
+ DW_CFA_same_value, ULEB128_7 (14), /* r14 */
|
|
||||||
+
|
|
||||||
+ /* Callee-saved regs. */
|
|
||||||
+#define SV(n) DW_CFA_same_value, ULEB128_7 (n)
|
|
||||||
+ SV (6), SV (7), SV (8), SV (9), SV (10), /* r6-r13, r15 */
|
|
||||||
+ SV (11), SV (12), SV (13), SV (15),
|
|
||||||
+ SV (16 + 8), SV (16 + 9), SV (16 + 10), SV (16 + 11), /* f8-f15 */
|
|
||||||
+ SV (16 + 12), SV (16 + 13), SV (16 + 14), SV (16 + 15)
|
|
||||||
+#undef SV
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ abi_info->initial_instructions = abi_cfi;
|
|
||||||
+ abi_info->initial_instructions_end = &abi_cfi[sizeof abi_cfi];
|
|
||||||
+ abi_info->data_alignment_factor = ebl->class == ELFCLASS64 ? 8 : 4;
|
|
||||||
+
|
|
||||||
+ abi_info->return_address_register = 14;
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
diff --git a/backends/s390_init.c b/backends/s390_init.c
|
|
||||||
index 91fe4b8..630a2ee 100644
|
|
||||||
--- a/backends/s390_init.c
|
|
||||||
+++ b/backends/s390_init.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
/* Initialization of S/390 specific backend library.
|
|
||||||
- Copyright (C) 2005, 2006 Red Hat, Inc.
|
|
||||||
+ Copyright (C) 2005, 2006, 2013 Red Hat, Inc.
|
|
||||||
This file is part of elfutils.
|
|
||||||
|
|
||||||
This file is free software; you can redistribute it and/or modify
|
|
||||||
@@ -61,6 +61,7 @@ s390_init (elf, machine, eh, ehlen)
|
|
||||||
eh->core_note = s390x_core_note;
|
|
||||||
else
|
|
||||||
HOOK (eh, core_note);
|
|
||||||
+ HOOK (eh, abi_cfi);
|
|
||||||
|
|
||||||
/* Only the 64-bit format uses the incorrect hash table entry size. */
|
|
||||||
if (eh->class == ELFCLASS64)
|
|
||||||
|
|
||||||
commit 92e47d616d15beec31c406ce254e639faa8fac2b
|
|
||||||
Author: Mark Wielaard <mjw@redhat.com>
|
|
||||||
Date: Mon Sep 2 16:46:50 2013 +0200
|
|
||||||
|
|
||||||
backends: Hook abi_cfi for arm.
|
|
||||||
|
|
||||||
New arm_abi_cfi that defines initial CFA, rules for callee-saved regs,
|
|
||||||
including VFP ones and return register.
|
|
||||||
|
|
||||||
Note the DWARF abi extension for ARM says that "registers intentionally
|
|
||||||
unused" should also be initialized as if by DW_CFA_same_value. The
|
|
||||||
example given is "an integer-only function might be included in one
|
|
||||||
executable file for targets with VFP and another for targets without".
|
|
||||||
We don't currently do this yet. See the DWARF and calling convention
|
|
||||||
documents:
|
|
||||||
|
|
||||||
DWARF for the ARM Architecture ABI r2.09
|
|
||||||
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0040b/IHI0040B_aadwarf.pdf
|
|
||||||
|
|
||||||
Procedure Call Standard for the ARM Architecture ABI r2.09
|
|
||||||
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042e/IHI0042E_aapcs.pdf
|
|
||||||
|
|
||||||
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
|
||||||
|
|
||||||
diff --git a/backends/Makefile.am b/backends/Makefile.am
|
|
||||||
index ec022b0..557ed87 100644
|
|
||||||
--- a/backends/Makefile.am
|
|
||||||
+++ b/backends/Makefile.am
|
|
||||||
@@ -75,7 +75,7 @@ libebl_alpha_pic_a_SOURCES = $(alpha_SRCS)
|
|
||||||
am_libebl_alpha_pic_a_OBJECTS = $(alpha_SRCS:.c=.os)
|
|
||||||
|
|
||||||
arm_SRCS = arm_init.c arm_symbol.c arm_regs.c arm_corenote.c \
|
|
||||||
- arm_auxv.c arm_attrs.c arm_retval.c
|
|
||||||
+ arm_auxv.c arm_attrs.c arm_retval.c arm_cfi.c
|
|
||||||
libebl_arm_pic_a_SOURCES = $(arm_SRCS)
|
|
||||||
am_libebl_arm_pic_a_OBJECTS = $(arm_SRCS:.c=.os)
|
|
||||||
|
|
||||||
diff --git a/backends/arm_cfi.c b/backends/arm_cfi.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..e0cc44b
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/backends/arm_cfi.c
|
|
||||||
@@ -0,0 +1,87 @@
|
|
||||||
+/* arm ABI-specified defaults for DWARF CFI.
|
|
||||||
+ Copyright (C) 2013 Red Hat, Inc.
|
|
||||||
+ This file is part of elfutils.
|
|
||||||
+
|
|
||||||
+ This file is free software; you can redistribute it and/or modify
|
|
||||||
+ it under the terms of either
|
|
||||||
+
|
|
||||||
+ * the GNU Lesser General Public License as published by the Free
|
|
||||||
+ Software Foundation; either version 3 of the License, or (at
|
|
||||||
+ your option) any later version
|
|
||||||
+
|
|
||||||
+ or
|
|
||||||
+
|
|
||||||
+ * the GNU General Public License as published by the Free
|
|
||||||
+ Software Foundation; either version 2 of the License, or (at
|
|
||||||
+ your option) any later version
|
|
||||||
+
|
|
||||||
+ or both in parallel, as here.
|
|
||||||
+
|
|
||||||
+ elfutils is distributed in the hope that it will be useful, but
|
|
||||||
+ WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
+ General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received copies of the GNU General Public License and
|
|
||||||
+ the GNU Lesser General Public License along with this program. If
|
|
||||||
+ not, see <http://www.gnu.org/licenses/>. */
|
|
||||||
+
|
|
||||||
+#ifdef HAVE_CONFIG_H
|
|
||||||
+# include <config.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#include <dwarf.h>
|
|
||||||
+
|
|
||||||
+#define BACKEND arm_
|
|
||||||
+#include "libebl_CPU.h"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+/* ABI-specified state of DWARF CFI based on:
|
|
||||||
+
|
|
||||||
+ "DWARF for the ARM Architecture ABI r2.09"
|
|
||||||
+http://infocenter.arm.com/help/topic/com.arm.doc.ihi0040b/IHI0040B_aadwarf.pdf
|
|
||||||
+
|
|
||||||
+ "Procedure Call Standard for the ARM Architecture ABI r2.09"
|
|
||||||
+http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042e/IHI0042E_aapcs.pdf
|
|
||||||
+*/
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+arm_abi_cfi (Ebl *ebl __attribute__ ((unused)), Dwarf_CIE *abi_info)
|
|
||||||
+{
|
|
||||||
+ static const uint8_t abi_cfi[] =
|
|
||||||
+ {
|
|
||||||
+ /* The initial Canonical Frame Address is the value of the
|
|
||||||
+ Stack Pointer (r13) as setup in the previous frame. */
|
|
||||||
+ DW_CFA_def_cfa, ULEB128_7 (13), ULEB128_7 (0),
|
|
||||||
+
|
|
||||||
+#define SV(n) DW_CFA_same_value, ULEB128_7 (n)
|
|
||||||
+ /* Callee-saved regs r4-r8, r10, r11. */
|
|
||||||
+ SV (4), SV (5), SV (6), SV (7), SV (8), SV (10), SV (11),
|
|
||||||
+
|
|
||||||
+ /* The link register contains the return address setup by caller. */
|
|
||||||
+ SV (14),
|
|
||||||
+ DW_CFA_register, ULEB128_7 (15), ULEB128_7 (14), /* pc = lr */
|
|
||||||
+#undef SV
|
|
||||||
+
|
|
||||||
+ /* VFP S16-S31/D8-D15/Q4-Q7 are callee saved.
|
|
||||||
+ And uleb128 encoded with two bytes. */
|
|
||||||
+#define ULEB128_8_2(x) ((x & 0x7f) | 0x80), 0x02
|
|
||||||
+#define SV(n) DW_CFA_same_value, ULEB128_8_2 (n)
|
|
||||||
+ SV (264), SV (265), SV (266), SV (267),
|
|
||||||
+ SV (268), SV (269), SV (270), SV (271),
|
|
||||||
+
|
|
||||||
+ /* XXX Note: registers intentionally unused by the program,
|
|
||||||
+ for example as a consequence of the procedure call standard
|
|
||||||
+ should be initialized as if by DW_CFA_same_value. */
|
|
||||||
+ };
|
|
||||||
+#undef ULEB128_8_2
|
|
||||||
+#undef SV
|
|
||||||
+
|
|
||||||
+ abi_info->initial_instructions = abi_cfi;
|
|
||||||
+ abi_info->initial_instructions_end = &abi_cfi[sizeof abi_cfi];
|
|
||||||
+ abi_info->data_alignment_factor = 4;
|
|
||||||
+
|
|
||||||
+ abi_info->return_address_register = 15; /* pc. */
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
diff --git a/backends/arm_init.c b/backends/arm_init.c
|
|
||||||
index 38bd4eb..cf661ce 100644
|
|
||||||
--- a/backends/arm_init.c
|
|
||||||
+++ b/backends/arm_init.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
/* Initialization of Arm specific backend library.
|
|
||||||
- Copyright (C) 2002, 2005, 2009 Red Hat, Inc.
|
|
||||||
+ Copyright (C) 2002, 2005, 2009, 2013 Red Hat, Inc.
|
|
||||||
This file is part of elfutils.
|
|
||||||
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
|
|
||||||
|
|
||||||
@@ -62,6 +62,7 @@ arm_init (elf, machine, eh, ehlen)
|
|
||||||
HOOK (eh, auxv_info);
|
|
||||||
HOOK (eh, check_object_attribute);
|
|
||||||
HOOK (eh, return_value_location);
|
|
||||||
+ HOOK (eh, abi_cfi);
|
|
||||||
|
|
||||||
return MODVERSION;
|
|
||||||
}
|
|
||||||
diff -ur elfutils-0.156.orig/backends/Makefile.in elfutils-0.156/backends/Makefile.in
|
|
||||||
--- elfutils-0.156.orig/backends/Makefile.in 2013-09-06 11:11:44.972085797 +0200
|
|
||||||
+++ elfutils-0.156/backends/Makefile.in 2013-09-06 11:47:12.552642640 +0200
|
|
||||||
@@ -112,7 +112,7 @@
|
|
||||||
libebl_arm_pic_a_LIBADD =
|
|
||||||
am__objects_2 = arm_init.$(OBJEXT) arm_symbol.$(OBJEXT) \
|
|
||||||
arm_regs.$(OBJEXT) arm_corenote.$(OBJEXT) arm_auxv.$(OBJEXT) \
|
|
||||||
- arm_attrs.$(OBJEXT) arm_retval.$(OBJEXT)
|
|
||||||
+ arm_attrs.$(OBJEXT) arm_retval.$(OBJEXT) arm_cfi.$(OBJEXT)
|
|
||||||
libebl_arm_pic_a_OBJECTS = $(am_libebl_arm_pic_a_OBJECTS)
|
|
||||||
libebl_i386_pic_a_AR = $(AR) $(ARFLAGS)
|
|
||||||
libebl_i386_pic_a_LIBADD =
|
|
||||||
@@ -131,19 +131,21 @@
|
|
||||||
am__objects_5 = ppc64_init.$(OBJEXT) ppc64_symbol.$(OBJEXT) \
|
|
||||||
ppc64_retval.$(OBJEXT) ppc64_corenote.$(OBJEXT) \
|
|
||||||
ppc_regs.$(OBJEXT) ppc_auxv.$(OBJEXT) ppc_attrs.$(OBJEXT) \
|
|
||||||
- ppc_syscall.$(OBJEXT)
|
|
||||||
+ ppc_syscall.$(OBJEXT) ppc_cfi.$(OBJEXT)
|
|
||||||
libebl_ppc64_pic_a_OBJECTS = $(am_libebl_ppc64_pic_a_OBJECTS)
|
|
||||||
libebl_ppc_pic_a_AR = $(AR) $(ARFLAGS)
|
|
||||||
libebl_ppc_pic_a_LIBADD =
|
|
||||||
am__objects_6 = ppc_init.$(OBJEXT) ppc_symbol.$(OBJEXT) \
|
|
||||||
ppc_retval.$(OBJEXT) ppc_regs.$(OBJEXT) ppc_corenote.$(OBJEXT) \
|
|
||||||
- ppc_auxv.$(OBJEXT) ppc_attrs.$(OBJEXT) ppc_syscall.$(OBJEXT)
|
|
||||||
+ ppc_auxv.$(OBJEXT) ppc_attrs.$(OBJEXT) ppc_syscall.$(OBJEXT) \
|
|
||||||
+ ppc_cfi.$(OBJEXT)
|
|
||||||
libebl_ppc_pic_a_OBJECTS = $(am_libebl_ppc_pic_a_OBJECTS)
|
|
||||||
libebl_s390_pic_a_AR = $(AR) $(ARFLAGS)
|
|
||||||
libebl_s390_pic_a_LIBADD =
|
|
||||||
am__objects_7 = s390_init.$(OBJEXT) s390_symbol.$(OBJEXT) \
|
|
||||||
s390_regs.$(OBJEXT) s390_retval.$(OBJEXT) \
|
|
||||||
- s390_corenote.$(OBJEXT) s390x_corenote.$(OBJEXT)
|
|
||||||
+ s390_corenote.$(OBJEXT) s390x_corenote.$(OBJEXT) \
|
|
||||||
+ s390_cfi.$(OBJEXT)
|
|
||||||
libebl_s390_pic_a_OBJECTS = $(am_libebl_s390_pic_a_OBJECTS)
|
|
||||||
libebl_sh_pic_a_AR = $(AR) $(ARFLAGS)
|
|
||||||
libebl_sh_pic_a_LIBADD =
|
|
||||||
@@ -405,7 +407,7 @@
|
|
||||||
libebl_alpha_pic_a_SOURCES = $(alpha_SRCS)
|
|
||||||
am_libebl_alpha_pic_a_OBJECTS = $(alpha_SRCS:.c=.os)
|
|
||||||
arm_SRCS = arm_init.c arm_symbol.c arm_regs.c arm_corenote.c \
|
|
||||||
- arm_auxv.c arm_attrs.c arm_retval.c
|
|
||||||
+ arm_auxv.c arm_attrs.c arm_retval.c arm_cfi.c
|
|
||||||
|
|
||||||
libebl_arm_pic_a_SOURCES = $(arm_SRCS)
|
|
||||||
am_libebl_arm_pic_a_OBJECTS = $(arm_SRCS:.c=.os)
|
|
||||||
@@ -415,17 +417,19 @@
|
|
||||||
libebl_sparc_pic_a_SOURCES = $(sparc_SRCS)
|
|
||||||
am_libebl_sparc_pic_a_OBJECTS = $(sparc_SRCS:.c=.os)
|
|
||||||
ppc_SRCS = ppc_init.c ppc_symbol.c ppc_retval.c ppc_regs.c \
|
|
||||||
- ppc_corenote.c ppc_auxv.c ppc_attrs.c ppc_syscall.c
|
|
||||||
+ ppc_corenote.c ppc_auxv.c ppc_attrs.c ppc_syscall.c \
|
|
||||||
+ ppc_cfi.c
|
|
||||||
|
|
||||||
libebl_ppc_pic_a_SOURCES = $(ppc_SRCS)
|
|
||||||
am_libebl_ppc_pic_a_OBJECTS = $(ppc_SRCS:.c=.os)
|
|
||||||
ppc64_SRCS = ppc64_init.c ppc64_symbol.c ppc64_retval.c \
|
|
||||||
- ppc64_corenote.c ppc_regs.c ppc_auxv.c ppc_attrs.c ppc_syscall.c
|
|
||||||
+ ppc64_corenote.c ppc_regs.c ppc_auxv.c ppc_attrs.c ppc_syscall.c \
|
|
||||||
+ ppc_cfi.c
|
|
||||||
|
|
||||||
libebl_ppc64_pic_a_SOURCES = $(ppc64_SRCS)
|
|
||||||
am_libebl_ppc64_pic_a_OBJECTS = $(ppc64_SRCS:.c=.os)
|
|
||||||
s390_SRCS = s390_init.c s390_symbol.c s390_regs.c s390_retval.c \
|
|
||||||
- s390_corenote.c s390x_corenote.c
|
|
||||||
+ s390_corenote.c s390x_corenote.c s390_cfi.c
|
|
||||||
|
|
||||||
libebl_s390_pic_a_SOURCES = $(s390_SRCS)
|
|
||||||
am_libebl_s390_pic_a_OBJECTS = $(s390_SRCS:.c=.os)
|
|
||||||
@@ -544,6 +548,7 @@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alpha_symbol.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arm_attrs.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arm_auxv.Po@am__quote@
|
|
||||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arm_cfi.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arm_corenote.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arm_init.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arm_regs.Po@am__quote@
|
|
||||||
@@ -567,12 +572,14 @@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc64_symbol.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc_attrs.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc_auxv.Po@am__quote@
|
|
||||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc_cfi.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc_corenote.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc_init.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc_regs.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc_retval.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc_symbol.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc_syscall.Po@am__quote@
|
|
||||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_cfi.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_corenote.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_init.Po@am__quote@
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_regs.Po@am__quote@
|
|
@ -1,47 +0,0 @@
|
|||||||
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,102 +1,3 @@
|
|||||||
--- elfutils/ChangeLog
|
|
||||||
+++ elfutils/ChangeLog
|
|
||||||
@@ -46,6 +46,8 @@
|
|
||||||
|
|
||||||
2012-01-24 Mark Wielaard <mjw@redhat.com>
|
|
||||||
|
|
||||||
+ * configure.ac: Wrap AC_COMPILE_IFELSE sources in AC_LANG_SOURCE.
|
|
||||||
+
|
|
||||||
* COPYING: Fix address. Updated version from gnulib.
|
|
||||||
|
|
||||||
2012-01-23 Mark Wielaard <mjw@redhat.com>
|
|
||||||
@@ -64,6 +66,9 @@
|
|
||||||
|
|
||||||
2011-10-08 Mike Frysinger <vapier@gentoo.org>
|
|
||||||
|
|
||||||
+ * configure.ac (--disable-werror): Handle it, controlling BUILD_WERROR
|
|
||||||
+ automake option.
|
|
||||||
+
|
|
||||||
* configure.ac: Fix use of AC_ARG_ENABLE to handle $enableval correctly.
|
|
||||||
|
|
||||||
2011-10-02 Ulrich Drepper <drepper@gmail.com>
|
|
||||||
@@ -85,6 +90,10 @@
|
|
||||||
|
|
||||||
* configure.ac (LOCALEDIR, DATADIRNAME): Removed.
|
|
||||||
|
|
||||||
+2009-11-22 Roland McGrath <roland@redhat.com>
|
|
||||||
+
|
|
||||||
+ * configure.ac: Use sed and expr instead of modern bash extensions.
|
|
||||||
+
|
|
||||||
2009-09-21 Ulrich Drepper <drepper@redhat.com>
|
|
||||||
|
|
||||||
* configure.ac: Update for more modern autoconf.
|
|
||||||
@@ -93,6 +102,10 @@
|
|
||||||
|
|
||||||
* configure.ac (zip_LIBS): Check for liblzma too.
|
|
||||||
|
|
||||||
+2009-08-17 Roland McGrath <roland@redhat.com>
|
|
||||||
+
|
|
||||||
+ * configure.ac: Check for -fgnu89-inline; add it to WEXTRA if it works.
|
|
||||||
+
|
|
||||||
2009-04-19 Roland McGrath <roland@redhat.com>
|
|
||||||
|
|
||||||
* configure.ac (eu_version): Round down here, not in version.h macros.
|
|
||||||
@@ -104,6 +117,8 @@
|
|
||||||
|
|
||||||
2009-01-23 Roland McGrath <roland@redhat.com>
|
|
||||||
|
|
||||||
+ * configure.ac: Check for __builtin_popcount.
|
|
||||||
+
|
|
||||||
* configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3.
|
|
||||||
|
|
||||||
* configure.ac (__thread check): Use AC_LINK_IFELSE, in case of
|
|
||||||
@@ -184,6 +199,10 @@
|
|
||||||
* configure.ac: Add dummy automake conditional to get dependencies
|
|
||||||
for non-generic linker right. See src/Makefile.am.
|
|
||||||
|
|
||||||
+2005-11-22 Roland McGrath <roland@redhat.com>
|
|
||||||
+
|
|
||||||
+ * configure.ac: Check for --as-needed linker option.
|
|
||||||
+
|
|
||||||
2005-11-18 Roland McGrath <roland@redhat.com>
|
|
||||||
|
|
||||||
* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable.
|
|
||||||
@@ -231,6 +250,17 @@
|
|
||||||
* Makefile.am (all_SUBDIRS): Add libdwfl.
|
|
||||||
* configure.ac: Write libdwfl/Makefile.
|
|
||||||
|
|
||||||
+2005-05-31 Roland McGrath <roland@redhat.com>
|
|
||||||
+
|
|
||||||
+ * configure.ac (WEXTRA): Check for -Wextra and set this substitution.
|
|
||||||
+
|
|
||||||
+ * configure.ac: Check for struct stat st_?tim members.
|
|
||||||
+ * src/strip.c (process_file): Use st_?time if st_?tim are not there.
|
|
||||||
+
|
|
||||||
+ * configure.ac: Check for futimes function.
|
|
||||||
+ * src/strip.c (handle_elf) [! HAVE_FUTIMES]: Use utimes instead.
|
|
||||||
+ (handle_ar) [! HAVE_FUTIMES]: Likewise.
|
|
||||||
+
|
|
||||||
2005-05-19 Roland McGrath <roland@redhat.com>
|
|
||||||
|
|
||||||
* configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros.
|
|
||||||
--- elfutils/Makefile.in
|
|
||||||
+++ elfutils/Makefile.in
|
|
||||||
@@ -256,6 +256,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
|
||||||
LDFLAGS = @LDFLAGS@
|
|
||||||
+LD_AS_NEEDED = @LD_AS_NEEDED@
|
|
||||||
LEX = @LEX@
|
|
||||||
LEXLIB = @LEXLIB@
|
|
||||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
|
||||||
@@ -285,6 +286,7 @@ SHELL = @SHELL@
|
|
||||||
STRIP = @STRIP@
|
|
||||||
USE_NLS = @USE_NLS@
|
|
||||||
VERSION = @VERSION@
|
|
||||||
+WEXTRA = @WEXTRA@
|
|
||||||
XGETTEXT = @XGETTEXT@
|
|
||||||
XGETTEXT_015 = @XGETTEXT_015@
|
|
||||||
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
|
||||||
--- elfutils/backends/ChangeLog
|
--- elfutils/backends/ChangeLog
|
||||||
+++ elfutils/backends/ChangeLog
|
+++ elfutils/backends/ChangeLog
|
||||||
@@ -188,6 +188,10 @@
|
@@ -188,6 +188,10 @@
|
||||||
@ -193,9 +94,90 @@
|
|||||||
$(textrel_check)
|
$(textrel_check)
|
||||||
|
|
||||||
libebl_i386.so: $(cpu_i386)
|
libebl_i386.so: $(cpu_i386)
|
||||||
|
--- elfutils/ChangeLog
|
||||||
|
+++ elfutils/ChangeLog
|
||||||
|
@@ -38,6 +38,8 @@
|
||||||
|
|
||||||
|
2012-01-24 Mark Wielaard <mjw@redhat.com>
|
||||||
|
|
||||||
|
+ * configure.ac: Wrap AC_COMPILE_IFELSE sources in AC_LANG_SOURCE.
|
||||||
|
+
|
||||||
|
* COPYING: Fix address. Updated version from gnulib.
|
||||||
|
|
||||||
|
2012-01-23 Mark Wielaard <mjw@redhat.com>
|
||||||
|
@@ -56,6 +58,9 @@
|
||||||
|
|
||||||
|
2011-10-08 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
+ * configure.ac (--disable-werror): Handle it, controlling BUILD_WERROR
|
||||||
|
+ automake option.
|
||||||
|
+
|
||||||
|
* configure.ac: Fix use of AC_ARG_ENABLE to handle $enableval correctly.
|
||||||
|
|
||||||
|
2011-10-02 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
@@ -77,6 +82,10 @@
|
||||||
|
|
||||||
|
* configure.ac (LOCALEDIR, DATADIRNAME): Removed.
|
||||||
|
|
||||||
|
+2009-11-22 Roland McGrath <roland@redhat.com>
|
||||||
|
+
|
||||||
|
+ * configure.ac: Use sed and expr instead of modern bash extensions.
|
||||||
|
+
|
||||||
|
2009-09-21 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* configure.ac: Update for more modern autoconf.
|
||||||
|
@@ -85,6 +94,10 @@
|
||||||
|
|
||||||
|
* configure.ac (zip_LIBS): Check for liblzma too.
|
||||||
|
|
||||||
|
+2009-08-17 Roland McGrath <roland@redhat.com>
|
||||||
|
+
|
||||||
|
+ * configure.ac: Check for -fgnu89-inline; add it to WEXTRA if it works.
|
||||||
|
+
|
||||||
|
2009-04-19 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
|
* configure.ac (eu_version): Round down here, not in version.h macros.
|
||||||
|
@@ -96,6 +109,8 @@
|
||||||
|
|
||||||
|
2009-01-23 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
|
+ * configure.ac: Check for __builtin_popcount.
|
||||||
|
+
|
||||||
|
* configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3.
|
||||||
|
|
||||||
|
* configure.ac (__thread check): Use AC_LINK_IFELSE, in case of
|
||||||
|
@@ -176,6 +191,10 @@
|
||||||
|
* configure.ac: Add dummy automake conditional to get dependencies
|
||||||
|
for non-generic linker right. See src/Makefile.am.
|
||||||
|
|
||||||
|
+2005-11-22 Roland McGrath <roland@redhat.com>
|
||||||
|
+
|
||||||
|
+ * configure.ac: Check for --as-needed linker option.
|
||||||
|
+
|
||||||
|
2005-11-18 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
|
* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable.
|
||||||
|
@@ -223,6 +242,17 @@
|
||||||
|
* Makefile.am (all_SUBDIRS): Add libdwfl.
|
||||||
|
* configure.ac: Write libdwfl/Makefile.
|
||||||
|
|
||||||
|
+2005-05-31 Roland McGrath <roland@redhat.com>
|
||||||
|
+
|
||||||
|
+ * configure.ac (WEXTRA): Check for -Wextra and set this substitution.
|
||||||
|
+
|
||||||
|
+ * configure.ac: Check for struct stat st_?tim members.
|
||||||
|
+ * src/strip.c (process_file): Use st_?time if st_?tim are not there.
|
||||||
|
+
|
||||||
|
+ * configure.ac: Check for futimes function.
|
||||||
|
+ * src/strip.c (handle_elf) [! HAVE_FUTIMES]: Use utimes instead.
|
||||||
|
+ (handle_ar) [! HAVE_FUTIMES]: Likewise.
|
||||||
|
+
|
||||||
|
2005-05-19 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
|
* configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros.
|
||||||
--- elfutils/config/ChangeLog
|
--- elfutils/config/ChangeLog
|
||||||
+++ elfutils/config/ChangeLog
|
+++ elfutils/config/ChangeLog
|
||||||
@@ -27,6 +27,10 @@
|
@@ -23,6 +23,10 @@
|
||||||
|
|
||||||
* known-dwarf.awk: Use gawk.
|
* known-dwarf.awk: Use gawk.
|
||||||
|
|
||||||
@ -206,24 +188,6 @@
|
|||||||
2010-07-02 Ulrich Drepper <drepper@redhat.com>
|
2010-07-02 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* elfutils.spec.in: Add more BuildRequires.
|
* elfutils.spec.in: Add more BuildRequires.
|
||||||
--- elfutils/config/Makefile.in
|
|
||||||
+++ elfutils/config/Makefile.in
|
|
||||||
@@ -140,6 +140,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
|
||||||
LDFLAGS = @LDFLAGS@
|
|
||||||
+LD_AS_NEEDED = @LD_AS_NEEDED@
|
|
||||||
LEX = @LEX@
|
|
||||||
LEXLIB = @LEXLIB@
|
|
||||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
|
||||||
@@ -169,6 +170,7 @@ SHELL = @SHELL@
|
|
||||||
STRIP = @STRIP@
|
|
||||||
USE_NLS = @USE_NLS@
|
|
||||||
VERSION = @VERSION@
|
|
||||||
+WEXTRA = @WEXTRA@
|
|
||||||
XGETTEXT = @XGETTEXT@
|
|
||||||
XGETTEXT_015 = @XGETTEXT_015@
|
|
||||||
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
|
||||||
--- elfutils/config/eu.am
|
--- elfutils/config/eu.am
|
||||||
+++ elfutils/config/eu.am
|
+++ elfutils/config/eu.am
|
||||||
@@ -1,6 +1,6 @@
|
@@ -1,6 +1,6 @@
|
||||||
@ -257,6 +221,24 @@
|
|||||||
if MUDFLAP
|
if MUDFLAP
|
||||||
AM_CFLAGS += -fmudflap
|
AM_CFLAGS += -fmudflap
|
||||||
libmudflap = -lmudflap
|
libmudflap = -lmudflap
|
||||||
|
--- elfutils/config/Makefile.in
|
||||||
|
+++ elfutils/config/Makefile.in
|
||||||
|
@@ -140,6 +140,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
LDFLAGS = @LDFLAGS@
|
||||||
|
+LD_AS_NEEDED = @LD_AS_NEEDED@
|
||||||
|
LEX = @LEX@
|
||||||
|
LEXLIB = @LEXLIB@
|
||||||
|
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||||
|
@@ -169,6 +170,7 @@ SHELL = @SHELL@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
USE_NLS = @USE_NLS@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
+WEXTRA = @WEXTRA@
|
||||||
|
XGETTEXT = @XGETTEXT@
|
||||||
|
XGETTEXT_015 = @XGETTEXT_015@
|
||||||
|
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
||||||
--- elfutils/config.h.in
|
--- elfutils/config.h.in
|
||||||
+++ elfutils/config.h.in
|
+++ elfutils/config.h.in
|
||||||
@@ -6,6 +6,9 @@
|
@@ -6,6 +6,9 @@
|
||||||
@ -615,6 +597,26 @@
|
|||||||
2005-04-30 Ulrich Drepper <drepper@redhat.com>
|
2005-04-30 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* Makefile.am: Use -ffunction-sections for xmalloc.c.
|
* Makefile.am: Use -ffunction-sections for xmalloc.c.
|
||||||
|
--- elfutils/lib/eu-config.h
|
||||||
|
+++ elfutils/lib/eu-config.h
|
||||||
|
@@ -162,6 +162,17 @@ asm (".section predict_data, \"aw\"; .pr
|
||||||
|
/* This macro is used by the tests conditionalize for standalone building. */
|
||||||
|
#define ELFUTILS_HEADER(name) <lib##name.h>
|
||||||
|
|
||||||
|
+#ifndef HAVE_BUILTIN_POPCOUNT
|
||||||
|
+# define __builtin_popcount hakmem_popcount
|
||||||
|
+static inline unsigned int __attribute__ ((unused))
|
||||||
|
+hakmem_popcount (unsigned int x)
|
||||||
|
+{
|
||||||
|
+ /* HAKMEM 169 */
|
||||||
|
+ unsigned int n = x - ((x >> 1) & 033333333333) - ((x >> 2) & 011111111111);
|
||||||
|
+ return ((n + (n >> 3)) & 030707070707) % 63;
|
||||||
|
+}
|
||||||
|
+#endif /* HAVE_BUILTIN_POPCOUNT */
|
||||||
|
+
|
||||||
|
|
||||||
|
#ifdef SHARED
|
||||||
|
# define OLD_VERSION(name, version) \
|
||||||
--- elfutils/lib/Makefile.in
|
--- elfutils/lib/Makefile.in
|
||||||
+++ elfutils/lib/Makefile.in
|
+++ elfutils/lib/Makefile.in
|
||||||
@@ -82,7 +82,8 @@ host_triplet = @host@
|
@@ -82,7 +82,8 @@ host_triplet = @host@
|
||||||
@ -656,26 +658,6 @@
|
|||||||
@MUDFLAP_FALSE@libmudflap =
|
@MUDFLAP_FALSE@libmudflap =
|
||||||
@MUDFLAP_TRUE@libmudflap = -lmudflap
|
@MUDFLAP_TRUE@libmudflap = -lmudflap
|
||||||
COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
|
COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
|
||||||
--- elfutils/lib/eu-config.h
|
|
||||||
+++ elfutils/lib/eu-config.h
|
|
||||||
@@ -162,6 +162,17 @@ asm (".section predict_data, \"aw\"; .pr
|
|
||||||
/* This macro is used by the tests conditionalize for standalone building. */
|
|
||||||
#define ELFUTILS_HEADER(name) <lib##name.h>
|
|
||||||
|
|
||||||
+#ifndef HAVE_BUILTIN_POPCOUNT
|
|
||||||
+# define __builtin_popcount hakmem_popcount
|
|
||||||
+static inline unsigned int __attribute__ ((unused))
|
|
||||||
+hakmem_popcount (unsigned int x)
|
|
||||||
+{
|
|
||||||
+ /* HAKMEM 169 */
|
|
||||||
+ unsigned int n = x - ((x >> 1) & 033333333333) - ((x >> 2) & 011111111111);
|
|
||||||
+ return ((n + (n >> 3)) & 030707070707) % 63;
|
|
||||||
+}
|
|
||||||
+#endif /* HAVE_BUILTIN_POPCOUNT */
|
|
||||||
+
|
|
||||||
|
|
||||||
#ifdef SHARED
|
|
||||||
# define OLD_VERSION(name, version) \
|
|
||||||
--- elfutils/libasm/ChangeLog
|
--- elfutils/libasm/ChangeLog
|
||||||
+++ elfutils/libasm/ChangeLog
|
+++ elfutils/libasm/ChangeLog
|
||||||
@@ -75,6 +75,11 @@
|
@@ -75,6 +75,11 @@
|
||||||
@ -768,6 +750,16 @@
|
|||||||
2005-02-15 Ulrich Drepper <drepper@redhat.com>
|
2005-02-15 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
|
* Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
|
||||||
|
--- elfutils/libcpu/i386_disasm.c
|
||||||
|
+++ elfutils/libcpu/i386_disasm.c
|
||||||
|
@@ -822,6 +822,7 @@ i386_disasm (const uint8_t **startp, con
|
||||||
|
|
||||||
|
default:
|
||||||
|
assert (! "INVALID not handled");
|
||||||
|
+ abort ();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
--- elfutils/libcpu/Makefile.in
|
--- elfutils/libcpu/Makefile.in
|
||||||
+++ elfutils/libcpu/Makefile.in
|
+++ elfutils/libcpu/Makefile.in
|
||||||
@@ -84,7 +84,8 @@ DIST_COMMON = $(top_srcdir)/config/eu.am
|
@@ -84,7 +84,8 @@ DIST_COMMON = $(top_srcdir)/config/eu.am
|
||||||
@ -809,16 +801,6 @@
|
|||||||
@MUDFLAP_FALSE@libmudflap =
|
@MUDFLAP_FALSE@libmudflap =
|
||||||
@MUDFLAP_TRUE@libmudflap = -lmudflap
|
@MUDFLAP_TRUE@libmudflap = -lmudflap
|
||||||
COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
|
COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
|
||||||
--- elfutils/libcpu/i386_disasm.c
|
|
||||||
+++ elfutils/libcpu/i386_disasm.c
|
|
||||||
@@ -822,6 +822,7 @@ i386_disasm (const uint8_t **startp, con
|
|
||||||
|
|
||||||
default:
|
|
||||||
assert (! "INVALID not handled");
|
|
||||||
+ abort ();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
--- elfutils/libdw/ChangeLog
|
--- elfutils/libdw/ChangeLog
|
||||||
+++ elfutils/libdw/ChangeLog
|
+++ elfutils/libdw/ChangeLog
|
||||||
@@ -177,6 +177,10 @@
|
@@ -177,6 +177,10 @@
|
||||||
@ -855,6 +837,34 @@
|
|||||||
* dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to
|
* dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to
|
||||||
formref offset.
|
formref offset.
|
||||||
|
|
||||||
|
--- elfutils/libdw/dwarf_begin_elf.c
|
||||||
|
+++ elfutils/libdw/dwarf_begin_elf.c
|
||||||
|
@@ -48,6 +48,14 @@
|
||||||
|
#if USE_ZLIB
|
||||||
|
# include <endian.h>
|
||||||
|
# define crc32 loser_crc32
|
||||||
|
+# ifndef be64toh
|
||||||
|
+# include <byteswap.h>
|
||||||
|
+# if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||||
|
+# define be64toh(x) bswap_64 (x)
|
||||||
|
+# else
|
||||||
|
+# define be64toh(x) (x)
|
||||||
|
+# endif
|
||||||
|
+# endif
|
||||||
|
# include <zlib.h>
|
||||||
|
# undef crc32
|
||||||
|
#endif
|
||||||
|
--- elfutils/libdw/libdw.h
|
||||||
|
+++ elfutils/libdw/libdw.h
|
||||||
|
@@ -831,7 +831,7 @@ extern Dwarf_OOM dwarf_new_oom_handler (
|
||||||
|
|
||||||
|
|
||||||
|
/* Inline optimizations. */
|
||||||
|
-#ifdef __OPTIMIZE__
|
||||||
|
+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
|
||||||
|
/* Return attribute code of given attribute. */
|
||||||
|
__libdw_extern_inline unsigned int
|
||||||
|
dwarf_whatattr (Dwarf_Attribute *attr)
|
||||||
--- elfutils/libdw/Makefile.in
|
--- elfutils/libdw/Makefile.in
|
||||||
+++ elfutils/libdw/Makefile.in
|
+++ elfutils/libdw/Makefile.in
|
||||||
@@ -84,8 +84,9 @@ DIST_COMMON = $(top_srcdir)/config/eu.am
|
@@ -84,8 +84,9 @@ DIST_COMMON = $(top_srcdir)/config/eu.am
|
||||||
@ -898,37 +908,9 @@
|
|||||||
@MUDFLAP_FALSE@libmudflap =
|
@MUDFLAP_FALSE@libmudflap =
|
||||||
@MUDFLAP_TRUE@libmudflap = -lmudflap
|
@MUDFLAP_TRUE@libmudflap = -lmudflap
|
||||||
COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
|
COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
|
||||||
--- elfutils/libdw/dwarf_begin_elf.c
|
|
||||||
+++ elfutils/libdw/dwarf_begin_elf.c
|
|
||||||
@@ -48,6 +48,14 @@
|
|
||||||
#if USE_ZLIB
|
|
||||||
# include <endian.h>
|
|
||||||
# define crc32 loser_crc32
|
|
||||||
+# ifndef be64toh
|
|
||||||
+# include <byteswap.h>
|
|
||||||
+# if __BYTE_ORDER == __LITTLE_ENDIAN
|
|
||||||
+# define be64toh(x) bswap_64 (x)
|
|
||||||
+# else
|
|
||||||
+# define be64toh(x) (x)
|
|
||||||
+# endif
|
|
||||||
+# endif
|
|
||||||
# include <zlib.h>
|
|
||||||
# undef crc32
|
|
||||||
#endif
|
|
||||||
--- elfutils/libdw/libdw.h
|
|
||||||
+++ elfutils/libdw/libdw.h
|
|
||||||
@@ -831,7 +831,7 @@ extern Dwarf_OOM dwarf_new_oom_handler (
|
|
||||||
|
|
||||||
|
|
||||||
/* Inline optimizations. */
|
|
||||||
-#ifdef __OPTIMIZE__
|
|
||||||
+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
|
|
||||||
/* Return attribute code of given attribute. */
|
|
||||||
__libdw_extern_inline unsigned int
|
|
||||||
dwarf_whatattr (Dwarf_Attribute *attr)
|
|
||||||
--- elfutils/libdwfl/ChangeLog
|
--- elfutils/libdwfl/ChangeLog
|
||||||
+++ elfutils/libdwfl/ChangeLog
|
+++ elfutils/libdwfl/ChangeLog
|
||||||
@@ -1659,6 +1659,11 @@
|
@@ -1624,6 +1624,11 @@
|
||||||
|
|
||||||
2005-07-21 Roland McGrath <roland@redhat.com>
|
2005-07-21 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
@ -1090,6 +1072,46 @@
|
|||||||
2005-05-08 Roland McGrath <roland@redhat.com>
|
2005-05-08 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
* elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now.
|
* elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now.
|
||||||
|
--- elfutils/libelf/common.h
|
||||||
|
+++ elfutils/libelf/common.h
|
||||||
|
@@ -139,7 +139,7 @@ libelf_release_all (Elf *elf)
|
||||||
|
(Var) = (sizeof (Var) == 1 \
|
||||||
|
? (unsigned char) (Var) \
|
||||||
|
: (sizeof (Var) == 2 \
|
||||||
|
- ? bswap_16 (Var) \
|
||||||
|
+ ? (unsigned short int) bswap_16 (Var) \
|
||||||
|
: (sizeof (Var) == 4 \
|
||||||
|
? bswap_32 (Var) \
|
||||||
|
: bswap_64 (Var))))
|
||||||
|
@@ -148,7 +148,7 @@ libelf_release_all (Elf *elf)
|
||||||
|
(Dst) = (sizeof (Var) == 1 \
|
||||||
|
? (unsigned char) (Var) \
|
||||||
|
: (sizeof (Var) == 2 \
|
||||||
|
- ? bswap_16 (Var) \
|
||||||
|
+ ? (unsigned short int) bswap_16 (Var) \
|
||||||
|
: (sizeof (Var) == 4 \
|
||||||
|
? bswap_32 (Var) \
|
||||||
|
: bswap_64 (Var))))
|
||||||
|
--- elfutils/libelf/gnuhash_xlate.h
|
||||||
|
+++ elfutils/libelf/gnuhash_xlate.h
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
/* Conversion functions for versioning information.
|
||||||
|
- Copyright (C) 2006, 2007 Red Hat, Inc.
|
||||||
|
+ Copyright (C) 2006-2011 Red Hat, Inc.
|
||||||
|
This file is part of elfutils.
|
||||||
|
Written by Ulrich Drepper <drepper@redhat.com>, 2006.
|
||||||
|
|
||||||
|
@@ -68,7 +68,9 @@ elf_cvt_gnuhash (void *dest, const void
|
||||||
|
dest32 = (Elf32_Word *) &dest64[bitmask_words];
|
||||||
|
while (len >= 4)
|
||||||
|
{
|
||||||
|
- *dest32++ = bswap_32 (*src32++);
|
||||||
|
+ *dest32 = bswap_32 (*src32);
|
||||||
|
+ ++dest32;
|
||||||
|
+ ++src32;
|
||||||
|
len -= 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
--- elfutils/libelf/Makefile.in
|
--- elfutils/libelf/Makefile.in
|
||||||
+++ elfutils/libelf/Makefile.in
|
+++ elfutils/libelf/Makefile.in
|
||||||
@@ -84,11 +84,12 @@ DIST_COMMON = $(top_srcdir)/config/eu.am
|
@@ -84,11 +84,12 @@ DIST_COMMON = $(top_srcdir)/config/eu.am
|
||||||
@ -1146,46 +1168,6 @@
|
|||||||
@MUDFLAP_FALSE@libelf_so_SOURCES =
|
@MUDFLAP_FALSE@libelf_so_SOURCES =
|
||||||
noinst_HEADERS = elf.h abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \
|
noinst_HEADERS = elf.h abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \
|
||||||
version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h
|
version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h
|
||||||
--- elfutils/libelf/common.h
|
|
||||||
+++ elfutils/libelf/common.h
|
|
||||||
@@ -139,7 +139,7 @@ libelf_release_all (Elf *elf)
|
|
||||||
(Var) = (sizeof (Var) == 1 \
|
|
||||||
? (unsigned char) (Var) \
|
|
||||||
: (sizeof (Var) == 2 \
|
|
||||||
- ? bswap_16 (Var) \
|
|
||||||
+ ? (unsigned short int) bswap_16 (Var) \
|
|
||||||
: (sizeof (Var) == 4 \
|
|
||||||
? bswap_32 (Var) \
|
|
||||||
: bswap_64 (Var))))
|
|
||||||
@@ -148,7 +148,7 @@ libelf_release_all (Elf *elf)
|
|
||||||
(Dst) = (sizeof (Var) == 1 \
|
|
||||||
? (unsigned char) (Var) \
|
|
||||||
: (sizeof (Var) == 2 \
|
|
||||||
- ? bswap_16 (Var) \
|
|
||||||
+ ? (unsigned short int) bswap_16 (Var) \
|
|
||||||
: (sizeof (Var) == 4 \
|
|
||||||
? bswap_32 (Var) \
|
|
||||||
: bswap_64 (Var))))
|
|
||||||
--- elfutils/libelf/gnuhash_xlate.h
|
|
||||||
+++ elfutils/libelf/gnuhash_xlate.h
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
/* Conversion functions for versioning information.
|
|
||||||
- Copyright (C) 2006, 2007 Red Hat, Inc.
|
|
||||||
+ Copyright (C) 2006-2011 Red Hat, Inc.
|
|
||||||
This file is part of elfutils.
|
|
||||||
Written by Ulrich Drepper <drepper@redhat.com>, 2006.
|
|
||||||
|
|
||||||
@@ -68,7 +68,9 @@ elf_cvt_gnuhash (void *dest, const void
|
|
||||||
dest32 = (Elf32_Word *) &dest64[bitmask_words];
|
|
||||||
while (len >= 4)
|
|
||||||
{
|
|
||||||
- *dest32++ = bswap_32 (*src32++);
|
|
||||||
+ *dest32 = bswap_32 (*src32);
|
|
||||||
+ ++dest32;
|
|
||||||
+ ++src32;
|
|
||||||
len -= 4;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--- elfutils/m4/Makefile.in
|
--- elfutils/m4/Makefile.in
|
||||||
+++ elfutils/m4/Makefile.in
|
+++ elfutils/m4/Makefile.in
|
||||||
@@ -139,6 +139,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
@@ -139,6 +139,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
@ -1204,6 +1186,39 @@
|
|||||||
XGETTEXT = @XGETTEXT@
|
XGETTEXT = @XGETTEXT@
|
||||||
XGETTEXT_015 = @XGETTEXT_015@
|
XGETTEXT_015 = @XGETTEXT_015@
|
||||||
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
||||||
|
--- elfutils/Makefile.in
|
||||||
|
+++ elfutils/Makefile.in
|
||||||
|
@@ -256,6 +256,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
LDFLAGS = @LDFLAGS@
|
||||||
|
+LD_AS_NEEDED = @LD_AS_NEEDED@
|
||||||
|
LEX = @LEX@
|
||||||
|
LEXLIB = @LEXLIB@
|
||||||
|
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||||
|
@@ -285,6 +286,7 @@ SHELL = @SHELL@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
USE_NLS = @USE_NLS@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
+WEXTRA = @WEXTRA@
|
||||||
|
XGETTEXT = @XGETTEXT@
|
||||||
|
XGETTEXT_015 = @XGETTEXT_015@
|
||||||
|
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
||||||
|
--- elfutils/src/addr2line.c
|
||||||
|
+++ elfutils/src/addr2line.c
|
||||||
|
@@ -448,10 +448,10 @@ handle_address (const char *string, Dwfl
|
||||||
|
bool parsed = false;
|
||||||
|
int i, j;
|
||||||
|
char *name = NULL;
|
||||||
|
- if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
|
||||||
|
+ if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
|
||||||
|
&& string[i] == '\0')
|
||||||
|
parsed = adjust_to_section (name, &addr, dwfl);
|
||||||
|
- switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
|
||||||
|
+ switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
break;
|
||||||
--- elfutils/src/ChangeLog
|
--- elfutils/src/ChangeLog
|
||||||
+++ elfutils/src/ChangeLog
|
+++ elfutils/src/ChangeLog
|
||||||
@@ -766,8 +766,16 @@
|
@@ -766,8 +766,16 @@
|
||||||
@ -1287,6 +1302,38 @@
|
|||||||
2005-05-30 Roland McGrath <roland@redhat.com>
|
2005-05-30 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
* readelf.c (print_debug_line_section): Print section offset of each
|
* readelf.c (print_debug_line_section): Print section offset of each
|
||||||
|
--- elfutils/src/findtextrel.c
|
||||||
|
+++ elfutils/src/findtextrel.c
|
||||||
|
@@ -496,7 +496,11 @@ ptrcompare (const void *p1, const void *
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
-check_rel (size_t nsegments, struct segments segments[nsegments],
|
||||||
|
+check_rel (size_t nsegments, struct segments segments[
|
||||||
|
+#if __GNUC__ >= 4
|
||||||
|
+ nsegments
|
||||||
|
+#endif
|
||||||
|
+ ],
|
||||||
|
GElf_Addr addr, Elf *elf, Elf_Scn *symscn, Dwarf *dw,
|
||||||
|
const char *fname, bool more_than_one, void **knownsrcs)
|
||||||
|
{
|
||||||
|
--- elfutils/src/ld.h
|
||||||
|
+++ elfutils/src/ld.h
|
||||||
|
@@ -1114,6 +1114,7 @@ extern bool dynamically_linked_p (void);
|
||||||
|
|
||||||
|
/* Checked whether the symbol is undefined and referenced from a DSO. */
|
||||||
|
extern bool linked_from_dso_p (struct scninfo *scninfo, size_t symidx);
|
||||||
|
+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
|
||||||
|
#ifdef __GNUC_STDC_INLINE__
|
||||||
|
__attribute__ ((__gnu_inline__))
|
||||||
|
#endif
|
||||||
|
@@ -1131,5 +1132,6 @@ linked_from_dso_p (struct scninfo *scnin
|
||||||
|
|
||||||
|
return sym->defined && sym->in_dso;
|
||||||
|
}
|
||||||
|
+#endif /* Optimizing and not GCC 4.2. */
|
||||||
|
|
||||||
|
#endif /* ld.h */
|
||||||
--- elfutils/src/Makefile.am
|
--- elfutils/src/Makefile.am
|
||||||
+++ elfutils/src/Makefile.am
|
+++ elfutils/src/Makefile.am
|
||||||
@@ -95,6 +95,9 @@ addr2line_no_Wformat = yes
|
@@ -95,6 +95,9 @@ addr2line_no_Wformat = yes
|
||||||
@ -1391,61 +1438,20 @@
|
|||||||
ld_LDFLAGS = -rdynamic
|
ld_LDFLAGS = -rdynamic
|
||||||
elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
|
elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
|
||||||
findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap)
|
findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap)
|
||||||
--- elfutils/src/addr2line.c
|
|
||||||
+++ elfutils/src/addr2line.c
|
|
||||||
@@ -448,10 +448,10 @@ handle_address (const char *string, Dwfl
|
|
||||||
bool parsed = false;
|
|
||||||
int i, j;
|
|
||||||
char *name = NULL;
|
|
||||||
- if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
|
|
||||||
+ if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
|
|
||||||
&& string[i] == '\0')
|
|
||||||
parsed = adjust_to_section (name, &addr, dwfl);
|
|
||||||
- switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
|
|
||||||
+ switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
|
|
||||||
{
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
--- elfutils/src/findtextrel.c
|
|
||||||
+++ elfutils/src/findtextrel.c
|
|
||||||
@@ -496,7 +496,11 @@ ptrcompare (const void *p1, const void *
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
-check_rel (size_t nsegments, struct segments segments[nsegments],
|
|
||||||
+check_rel (size_t nsegments, struct segments segments[
|
|
||||||
+#if __GNUC__ >= 4
|
|
||||||
+ nsegments
|
|
||||||
+#endif
|
|
||||||
+ ],
|
|
||||||
GElf_Addr addr, Elf *elf, Elf_Scn *symscn, Dwarf *dw,
|
|
||||||
const char *fname, bool more_than_one, void **knownsrcs)
|
|
||||||
{
|
|
||||||
--- elfutils/src/ld.h
|
|
||||||
+++ elfutils/src/ld.h
|
|
||||||
@@ -1114,6 +1114,7 @@ extern bool dynamically_linked_p (void);
|
|
||||||
|
|
||||||
/* Checked whether the symbol is undefined and referenced from a DSO. */
|
|
||||||
extern bool linked_from_dso_p (struct scninfo *scninfo, size_t symidx);
|
|
||||||
+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
|
|
||||||
#ifdef __GNUC_STDC_INLINE__
|
|
||||||
__attribute__ ((__gnu_inline__))
|
|
||||||
#endif
|
|
||||||
@@ -1131,5 +1132,6 @@ linked_from_dso_p (struct scninfo *scnin
|
|
||||||
|
|
||||||
return sym->defined && sym->in_dso;
|
|
||||||
}
|
|
||||||
+#endif /* Optimizing and not GCC 4.2. */
|
|
||||||
|
|
||||||
#endif /* ld.h */
|
|
||||||
--- elfutils/src/readelf.c
|
--- elfutils/src/readelf.c
|
||||||
+++ elfutils/src/readelf.c
|
+++ elfutils/src/readelf.c
|
||||||
@@ -4170,10 +4170,12 @@ listptr_base (struct listptr *p)
|
@@ -4150,6 +4150,8 @@ struct listptr
|
||||||
return base;
|
#define listptr_offset_size(p) ((p)->dwarf64 ? 8 : 4)
|
||||||
}
|
#define listptr_address_size(p) ((p)->addr64 ? 8 : 4)
|
||||||
|
|
||||||
+static const char *listptr_name;
|
+static const char *listptr_name;
|
||||||
+
|
+
|
||||||
|
static Dwarf_Addr
|
||||||
|
listptr_base (struct listptr *p)
|
||||||
|
{
|
||||||
|
@@ -4171,9 +4173,9 @@ listptr_base (struct listptr *p)
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
-compare_listptr (const void *a, const void *b, void *arg)
|
-compare_listptr (const void *a, const void *b, void *arg)
|
||||||
+compare_listptr (const void *a, const void *b)
|
+compare_listptr (const void *a, const void *b)
|
||||||
@ -1571,7 +1577,7 @@
|
|||||||
cannot set access and modification date of '%s'"), fname);
|
cannot set access and modification date of '%s'"), fname);
|
||||||
--- elfutils/tests/ChangeLog
|
--- elfutils/tests/ChangeLog
|
||||||
+++ elfutils/tests/ChangeLog
|
+++ elfutils/tests/ChangeLog
|
||||||
@@ -652,6 +652,8 @@
|
@@ -647,6 +647,8 @@
|
||||||
|
|
||||||
2008-01-21 Roland McGrath <roland@redhat.com>
|
2008-01-21 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
@ -1580,7 +1586,7 @@
|
|||||||
* testfile45.S.bz2: Add tests for cltq, cqto.
|
* testfile45.S.bz2: Add tests for cltq, cqto.
|
||||||
* testfile45.expect.bz2: Adjust.
|
* testfile45.expect.bz2: Adjust.
|
||||||
|
|
||||||
@@ -1360,6 +1362,11 @@
|
@@ -1355,6 +1357,11 @@
|
||||||
* Makefile.am (TESTS): Add run-elflint-test.sh.
|
* Makefile.am (TESTS): Add run-elflint-test.sh.
|
||||||
(EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2.
|
(EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2.
|
||||||
|
|
||||||
@ -1592,6 +1598,17 @@
|
|||||||
2005-05-24 Ulrich Drepper <drepper@redhat.com>
|
2005-05-24 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* get-files.c (main): Use correct format specifier.
|
* get-files.c (main): Use correct format specifier.
|
||||||
|
--- elfutils/tests/line2addr.c
|
||||||
|
+++ elfutils/tests/line2addr.c
|
||||||
|
@@ -124,7 +124,7 @@ main (int argc, char *argv[])
|
||||||
|
{
|
||||||
|
struct args a = { .arg = argv[cnt] };
|
||||||
|
|
||||||
|
- switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line))
|
||||||
|
+ switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line))
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
case 0:
|
||||||
--- elfutils/tests/Makefile.in
|
--- elfutils/tests/Makefile.in
|
||||||
+++ elfutils/tests/Makefile.in
|
+++ elfutils/tests/Makefile.in
|
||||||
@@ -80,14 +80,15 @@ host_triplet = @host@
|
@@ -80,14 +80,15 @@ host_triplet = @host@
|
||||||
@ -1614,15 +1631,13 @@
|
|||||||
check_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \
|
check_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \
|
||||||
newfile$(EXEEXT) saridx$(EXEEXT) scnnames$(EXEEXT) \
|
newfile$(EXEEXT) saridx$(EXEEXT) scnnames$(EXEEXT) \
|
||||||
sectiondump$(EXEEXT) showptable$(EXEEXT) update1$(EXEEXT) \
|
sectiondump$(EXEEXT) showptable$(EXEEXT) update1$(EXEEXT) \
|
||||||
@@ -140,14 +141,14 @@ TESTS = run-arextract.sh run-arsymtest.s
|
@@ -142,13 +143,13 @@
|
||||||
run-macro-test.sh run-elf_cntl_gelf_getshdr.sh \
|
|
||||||
run-test-archive64.sh run-readelf-vmcoreinfo.sh \
|
|
||||||
run-readelf-mixed-corenote.sh run-dwfllines.sh \
|
run-readelf-mixed-corenote.sh run-dwfllines.sh \
|
||||||
- run-dwfl-report-elf-align.sh $(am__EXEEXT_1) $(am__append_7) \
|
run-dwfl-report-elf-align.sh run-addr2line-test.sh \
|
||||||
- $(am__EXEEXT_3) $(am__append_10)
|
run-addr2line-i-test.sh run-varlocs.sh $(am__EXEEXT_1) \
|
||||||
|
- $(am__append_7) $(am__EXEEXT_3) $(am__append_10)
|
||||||
-@STANDALONE_FALSE@am__append_5 = msg_tst md5-sha1-test
|
-@STANDALONE_FALSE@am__append_5 = msg_tst md5-sha1-test
|
||||||
+ run-dwfl-report-elf-align.sh $(am__EXEEXT_1) $(am__append_8) \
|
+ $(am__append_8) $(am__EXEEXT_3) $(am__append_11)
|
||||||
+ $(am__EXEEXT_3) $(am__append_11)
|
|
||||||
@STANDALONE_FALSE@am__append_6 = msg_tst md5-sha1-test
|
@STANDALONE_FALSE@am__append_6 = msg_tst md5-sha1-test
|
||||||
-@LZMA_TRUE@am__append_7 = run-readelf-s.sh run-dwflsyms.sh
|
-@LZMA_TRUE@am__append_7 = run-readelf-s.sh run-dwflsyms.sh
|
||||||
-@HAVE_LIBASM_TRUE@am__append_8 = $(asm_TESTS)
|
-@HAVE_LIBASM_TRUE@am__append_8 = $(asm_TESTS)
|
||||||
@ -1676,14 +1691,3 @@
|
|||||||
@TESTS_RPATH_FALSE@tests_rpath = no
|
@TESTS_RPATH_FALSE@tests_rpath = no
|
||||||
@TESTS_RPATH_TRUE@tests_rpath = yes
|
@TESTS_RPATH_TRUE@tests_rpath = yes
|
||||||
asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
|
asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
|
||||||
--- elfutils/tests/line2addr.c
|
|
||||||
+++ elfutils/tests/line2addr.c
|
|
||||||
@@ -124,7 +124,7 @@ main (int argc, char *argv[])
|
|
||||||
{
|
|
||||||
struct args a = { .arg = argv[cnt] };
|
|
||||||
|
|
||||||
- switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line))
|
|
||||||
+ switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line))
|
|
||||||
{
|
|
||||||
default:
|
|
||||||
case 0:
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--- elfutils/libdwfl/ChangeLog
|
--- elfutils/libdwfl/ChangeLog
|
||||||
+++ elfutils/libdwfl/ChangeLog
|
+++ elfutils/libdwfl/ChangeLog
|
||||||
@@ -291,6 +291,11 @@
|
@@ -256,6 +256,11 @@
|
||||||
* dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL.
|
* dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL.
|
||||||
Reported by Kurt Roeckx <kurt@roeckx.be>.
|
Reported by Kurt Roeckx <kurt@roeckx.be>.
|
||||||
|
|
||||||
@ -408,46 +408,6 @@
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
goto out;
|
goto out;
|
||||||
--- elfutils/libelf/gelf_getrel.c
|
|
||||||
+++ elfutils/libelf/gelf_getrel.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
/* Get REL relocation information at given index.
|
|
||||||
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
|
||||||
+ Copyright (C) 2000-2009 Red Hat, Inc.
|
|
||||||
This file is part of elfutils.
|
|
||||||
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
|
|
||||||
|
|
||||||
@@ -50,12 +50,6 @@ gelf_getrel (data, ndx, dst)
|
|
||||||
if (data_scn == NULL)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
- if (unlikely (ndx < 0))
|
|
||||||
- {
|
|
||||||
- __libelf_seterrno (ELF_E_INVALID_INDEX);
|
|
||||||
- return NULL;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
if (unlikely (data_scn->d.d_type != ELF_T_REL))
|
|
||||||
{
|
|
||||||
__libelf_seterrno (ELF_E_INVALID_HANDLE);
|
|
||||||
@@ -72,7 +66,7 @@ gelf_getrel (data, ndx, dst)
|
|
||||||
if (scn->elf->class == ELFCLASS32)
|
|
||||||
{
|
|
||||||
/* We have to convert the data. */
|
|
||||||
- if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size))
|
|
||||||
+ if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d))
|
|
||||||
{
|
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
|
||||||
result = NULL;
|
|
||||||
@@ -92,7 +86,7 @@ gelf_getrel (data, ndx, dst)
|
|
||||||
{
|
|
||||||
/* Simply copy the data after we made sure we are actually getting
|
|
||||||
correct data. */
|
|
||||||
- if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size))
|
|
||||||
+ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
|
|
||||||
{
|
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
|
||||||
result = NULL;
|
|
||||||
--- elfutils/libelf/gelf_getrela.c
|
--- elfutils/libelf/gelf_getrela.c
|
||||||
+++ elfutils/libelf/gelf_getrela.c
|
+++ elfutils/libelf/gelf_getrela.c
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
@ -488,6 +448,46 @@
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
result = NULL;
|
result = NULL;
|
||||||
|
--- elfutils/libelf/gelf_getrel.c
|
||||||
|
+++ elfutils/libelf/gelf_getrel.c
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
/* Get REL relocation information at given index.
|
||||||
|
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
||||||
|
+ Copyright (C) 2000-2009 Red Hat, Inc.
|
||||||
|
This file is part of elfutils.
|
||||||
|
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
|
||||||
|
|
||||||
|
@@ -50,12 +50,6 @@ gelf_getrel (data, ndx, dst)
|
||||||
|
if (data_scn == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
- if (unlikely (ndx < 0))
|
||||||
|
- {
|
||||||
|
- __libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
|
- return NULL;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
if (unlikely (data_scn->d.d_type != ELF_T_REL))
|
||||||
|
{
|
||||||
|
__libelf_seterrno (ELF_E_INVALID_HANDLE);
|
||||||
|
@@ -72,7 +66,7 @@ gelf_getrel (data, ndx, dst)
|
||||||
|
if (scn->elf->class == ELFCLASS32)
|
||||||
|
{
|
||||||
|
/* We have to convert the data. */
|
||||||
|
- if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size))
|
||||||
|
+ if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d))
|
||||||
|
{
|
||||||
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
|
result = NULL;
|
||||||
|
@@ -92,7 +86,7 @@ gelf_getrel (data, ndx, dst)
|
||||||
|
{
|
||||||
|
/* Simply copy the data after we made sure we are actually getting
|
||||||
|
correct data. */
|
||||||
|
- if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size))
|
||||||
|
+ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
|
||||||
|
{
|
||||||
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
|
result = NULL;
|
||||||
--- elfutils/libelf/gelf_getsym.c
|
--- elfutils/libelf/gelf_getsym.c
|
||||||
+++ elfutils/libelf/gelf_getsym.c
|
+++ elfutils/libelf/gelf_getsym.c
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
@ -678,46 +678,6 @@
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
return 0;
|
return 0;
|
||||||
--- elfutils/libelf/gelf_update_rel.c
|
|
||||||
+++ elfutils/libelf/gelf_update_rel.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
/* Update REL relocation information at given index.
|
|
||||||
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
|
||||||
+ Copyright (C) 2000-2009 Red Hat, Inc.
|
|
||||||
This file is part of elfutils.
|
|
||||||
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
|
|
||||||
|
|
||||||
@@ -47,12 +47,6 @@ gelf_update_rel (Elf_Data *dst, int ndx,
|
|
||||||
if (dst == NULL)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
- if (unlikely (ndx < 0))
|
|
||||||
- {
|
|
||||||
- __libelf_seterrno (ELF_E_INVALID_INDEX);
|
|
||||||
- return 0;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
if (unlikely (data_scn->d.d_type != ELF_T_REL))
|
|
||||||
{
|
|
||||||
/* The type of the data better should match. */
|
|
||||||
@@ -78,7 +72,7 @@ gelf_update_rel (Elf_Data *dst, int ndx,
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Check whether we have to resize the data buffer. */
|
|
||||||
- if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size))
|
|
||||||
+ if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d))
|
|
||||||
{
|
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
|
||||||
goto out;
|
|
||||||
@@ -93,7 +87,7 @@ gelf_update_rel (Elf_Data *dst, int ndx,
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Check whether we have to resize the data buffer. */
|
|
||||||
- if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size))
|
|
||||||
+ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
|
|
||||||
{
|
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
|
||||||
goto out;
|
|
||||||
--- elfutils/libelf/gelf_update_rela.c
|
--- elfutils/libelf/gelf_update_rela.c
|
||||||
+++ elfutils/libelf/gelf_update_rela.c
|
+++ elfutils/libelf/gelf_update_rela.c
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
@ -758,6 +718,46 @@
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
goto out;
|
goto out;
|
||||||
|
--- elfutils/libelf/gelf_update_rel.c
|
||||||
|
+++ elfutils/libelf/gelf_update_rel.c
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
/* Update REL relocation information at given index.
|
||||||
|
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
||||||
|
+ Copyright (C) 2000-2009 Red Hat, Inc.
|
||||||
|
This file is part of elfutils.
|
||||||
|
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
|
||||||
|
|
||||||
|
@@ -47,12 +47,6 @@ gelf_update_rel (Elf_Data *dst, int ndx,
|
||||||
|
if (dst == NULL)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
- if (unlikely (ndx < 0))
|
||||||
|
- {
|
||||||
|
- __libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
|
- return 0;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
if (unlikely (data_scn->d.d_type != ELF_T_REL))
|
||||||
|
{
|
||||||
|
/* The type of the data better should match. */
|
||||||
|
@@ -78,7 +72,7 @@ gelf_update_rel (Elf_Data *dst, int ndx,
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Check whether we have to resize the data buffer. */
|
||||||
|
- if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size))
|
||||||
|
+ if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d))
|
||||||
|
{
|
||||||
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
|
goto out;
|
||||||
|
@@ -93,7 +87,7 @@ gelf_update_rel (Elf_Data *dst, int ndx,
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Check whether we have to resize the data buffer. */
|
||||||
|
- if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size))
|
||||||
|
+ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
|
||||||
|
{
|
||||||
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
|
goto out;
|
||||||
--- elfutils/libelf/gelf_update_sym.c
|
--- elfutils/libelf/gelf_update_sym.c
|
||||||
+++ elfutils/libelf/gelf_update_sym.c
|
+++ elfutils/libelf/gelf_update_sym.c
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
|
@ -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.156
|
Version: 0.157
|
||||||
%global baserelease 5
|
%global baserelease 1
|
||||||
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+)
|
||||||
@ -46,9 +46,6 @@ Source: %{?source_url}%{name}-%{version}.tar.bz2
|
|||||||
Patch1: %{?source_url}elfutils-robustify.patch
|
Patch1: %{?source_url}elfutils-robustify.patch
|
||||||
Patch2: %{?source_url}elfutils-portability.patch
|
Patch2: %{?source_url}elfutils-portability.patch
|
||||||
|
|
||||||
Patch3: elfutils-0.156-et_dyn-kernels.patch
|
|
||||||
Patch4: elfutils-0.156-abi_cfi-ppc-s390-arm.patch
|
|
||||||
|
|
||||||
%if !%{compat}
|
%if !%{compat}
|
||||||
Release: %{baserelease}%{?dist}
|
Release: %{baserelease}%{?dist}
|
||||||
%else
|
%else
|
||||||
@ -212,9 +209,6 @@ sed -i.scanf-m -e 's/%m/%a/g' src/addr2line.c tests/line2addr.c
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%patch3 -p1 -b .et_dyn-kernel
|
|
||||||
%patch4 -p1 -b .abi_cfi
|
|
||||||
|
|
||||||
find . -name \*.sh ! -perm -0100 -print | xargs chmod +x
|
find . -name \*.sh ! -perm -0100 -print | xargs chmod +x
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -329,6 +323,11 @@ rm -rf ${RPM_BUILD_ROOT}
|
|||||||
%{_libdir}/libelf.a
|
%{_libdir}/libelf.a
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Sep 30 2013 Mark Wielaard <mjw@redhat.com> 0.157-1
|
||||||
|
- Update to 0.157.
|
||||||
|
- Remove elfutils-0.156-abi_cfi-ppc-s390-arm.patch.
|
||||||
|
- Remove elfutils-0.156-et_dyn-kernels.patch.
|
||||||
|
|
||||||
* Fri Sep 06 2013 Mark Wielaard <mjw@redhat.com> 0.156-5
|
* Fri Sep 06 2013 Mark Wielaard <mjw@redhat.com> 0.156-5
|
||||||
- Add elfutils-0.156-abi_cfi-ppc-s390-arm.patch.
|
- Add elfutils-0.156-abi_cfi-ppc-s390-arm.patch.
|
||||||
Sets up initial CFI return register, CFA location expression and
|
Sets up initial CFI return register, CFA location expression and
|
||||||
|
Loading…
Reference in New Issue
Block a user