diff --git a/elfutils-0.156-abi_cfi-ppc-s390-arm.patch b/elfutils-0.156-abi_cfi-ppc-s390-arm.patch new file mode 100644 index 0000000..52ccd2d --- /dev/null +++ b/elfutils-0.156-abi_cfi-ppc-s390-arm.patch @@ -0,0 +1,497 @@ +commit ed9d2cad539eef89abac0490bbcbf647758905e3 +Author: Jan Kratochvil +Date: Tue Aug 27 22:49:36 2013 +0200 + + backends: Hook abi_cfi for ppc and s390. + + Signed-off-by: Jan Kratochvil + Signed-off-by: Mark Wielaard + +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 , 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 . */ ++ ++#ifdef HAVE_CONFIG_H ++# include ++#endif ++ ++#include ++ ++#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 , 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 . */ ++ ++#ifdef HAVE_CONFIG_H ++# include ++#endif ++ ++#include ++ ++#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 +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 + +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 . */ ++ ++#ifdef HAVE_CONFIG_H ++# include ++#endif ++ ++#include ++ ++#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 , 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@ diff --git a/elfutils.spec b/elfutils.spec index 76b810d..16c06f7 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.156 -%global baserelease 4 +%global baserelease 5 URL: https://fedorahosted.org/elfutils/ %global source_url http://fedorahosted.org/releases/e/l/elfutils/%{version}/ License: GPLv3+ and (GPLv2+ or LGPLv3+) @@ -47,6 +47,7 @@ Patch1: %{?source_url}elfutils-robustify.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} Release: %{baserelease}%{?dist} @@ -212,6 +213,7 @@ sed -i.scanf-m -e 's/%m/%a/g' src/addr2line.c tests/line2addr.c %endif %patch3 -p1 -b .et_dyn-kernel +%patch4 -p1 -b .abi_cfi find . -name \*.sh ! -perm -0100 -print | xargs chmod +x @@ -327,6 +329,11 @@ rm -rf ${RPM_BUILD_ROOT} %{_libdir}/libelf.a %changelog +* Fri Sep 06 2013 Mark Wielaard 0.156-5 +- Add elfutils-0.156-abi_cfi-ppc-s390-arm.patch. + Sets up initial CFI return register, CFA location expression and + register rules for PPC, S390 and ARM (dwarf_cfi_addrframe support). + * Mon Aug 26 2013 Mark Wielaard 0.156-4 - Add elfutils-0.156-et_dyn-kernels.patch. Fixes an issue on ppc64 with systemtap kernel address placement.