forked from rpms/elfutils
		
	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.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
 | ||||
| @@ -188,6 +188,10 @@
 | ||||
| @ -193,9 +94,90 @@ | ||||
|  	$(textrel_check) | ||||
|   | ||||
|  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
 | ||||
| @@ -27,6 +27,10 @@
 | ||||
| @@ -23,6 +23,10 @@
 | ||||
|   | ||||
|  	* known-dwarf.awk: Use gawk. | ||||
|   | ||||
| @ -206,24 +188,6 @@ | ||||
|  2010-07-02  Ulrich Drepper  <drepper@redhat.com> | ||||
|   | ||||
|  	* 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
 | ||||
| @@ -1,6 +1,6 @@
 | ||||
| @ -257,6 +221,24 @@ | ||||
|  if MUDFLAP | ||||
|  AM_CFLAGS += -fmudflap | ||||
|  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
 | ||||
| @@ -6,6 +6,9 @@
 | ||||
| @ -615,6 +597,26 @@ | ||||
|  2005-04-30  Ulrich Drepper  <drepper@redhat.com> | ||||
|   | ||||
|  	* 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
 | ||||
| @@ -82,7 +82,8 @@ host_triplet = @host@
 | ||||
| @ -656,26 +658,6 @@ | ||||
|  @MUDFLAP_FALSE@libmudflap =  | ||||
|  @MUDFLAP_TRUE@libmudflap = -lmudflap | ||||
|  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
 | ||||
| @@ -75,6 +75,11 @@
 | ||||
| @ -768,6 +750,16 @@ | ||||
|  2005-02-15  Ulrich Drepper  <drepper@redhat.com> | ||||
|   | ||||
|  	* 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
 | ||||
| @@ -84,7 +84,8 @@ DIST_COMMON = $(top_srcdir)/config/eu.am
 | ||||
| @ -809,16 +801,6 @@ | ||||
|  @MUDFLAP_FALSE@libmudflap =  | ||||
|  @MUDFLAP_TRUE@libmudflap = -lmudflap | ||||
|  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
 | ||||
| @@ -177,6 +177,10 @@
 | ||||
| @ -855,6 +837,34 @@ | ||||
|  	* dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to | ||||
|  	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
 | ||||
| @@ -84,8 +84,9 @@ DIST_COMMON = $(top_srcdir)/config/eu.am
 | ||||
| @ -898,37 +908,9 @@ | ||||
|  @MUDFLAP_FALSE@libmudflap =  | ||||
|  @MUDFLAP_TRUE@libmudflap = -lmudflap | ||||
|  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
 | ||||
| @@ -1659,6 +1659,11 @@
 | ||||
| @@ -1624,6 +1624,11 @@
 | ||||
|   | ||||
|  2005-07-21  Roland McGrath  <roland@redhat.com> | ||||
|   | ||||
| @ -1090,6 +1072,46 @@ | ||||
|  2005-05-08  Roland McGrath  <roland@redhat.com> | ||||
|   | ||||
|  	* 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
 | ||||
| @@ -84,11 +84,12 @@ DIST_COMMON = $(top_srcdir)/config/eu.am
 | ||||
| @ -1146,46 +1168,6 @@ | ||||
|  @MUDFLAP_FALSE@libelf_so_SOURCES =  | ||||
|  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 | ||||
| --- 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
 | ||||
| @@ -139,6 +139,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
 | ||||
| @ -1204,6 +1186,39 @@ | ||||
|  XGETTEXT = @XGETTEXT@ | ||||
|  XGETTEXT_015 = @XGETTEXT_015@ | ||||
|  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
 | ||||
| @@ -766,8 +766,16 @@
 | ||||
| @ -1287,6 +1302,38 @@ | ||||
|  2005-05-30  Roland McGrath  <roland@redhat.com> | ||||
|   | ||||
|  	* 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
 | ||||
| @@ -95,6 +95,9 @@ addr2line_no_Wformat = yes
 | ||||
| @ -1391,61 +1438,20 @@ | ||||
|  ld_LDFLAGS = -rdynamic | ||||
|  elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl | ||||
|  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
 | ||||
| @@ -4170,10 +4170,12 @@ listptr_base (struct listptr *p)
 | ||||
|    return base; | ||||
|  } | ||||
| @@ -4150,6 +4150,8 @@ struct listptr
 | ||||
|  #define listptr_offset_size(p)	((p)->dwarf64 ? 8 : 4) | ||||
|  #define listptr_address_size(p)	((p)->addr64 ? 8 : 4) | ||||
|   | ||||
| +static const char *listptr_name;
 | ||||
| +
 | ||||
|  static Dwarf_Addr | ||||
|  listptr_base (struct listptr *p) | ||||
|  { | ||||
| @@ -4171,9 +4173,9 @@ listptr_base (struct listptr *p)
 | ||||
|  } | ||||
|   | ||||
|  static int | ||||
| -compare_listptr (const void *a, const void *b, void *arg)
 | ||||
| +compare_listptr (const void *a, const void *b)
 | ||||
| @ -1571,7 +1577,7 @@ | ||||
|  cannot set access and modification date of '%s'"), fname); | ||||
| --- elfutils/tests/ChangeLog
 | ||||
| +++ elfutils/tests/ChangeLog
 | ||||
| @@ -652,6 +652,8 @@
 | ||||
| @@ -647,6 +647,8 @@
 | ||||
|   | ||||
|  2008-01-21  Roland McGrath  <roland@redhat.com> | ||||
|   | ||||
| @ -1580,7 +1586,7 @@ | ||||
|  	* testfile45.S.bz2: Add tests for cltq, cqto. | ||||
|  	* testfile45.expect.bz2: Adjust. | ||||
|   | ||||
| @@ -1360,6 +1362,11 @@
 | ||||
| @@ -1355,6 +1357,11 @@
 | ||||
|  	* Makefile.am (TESTS): Add run-elflint-test.sh. | ||||
|  	(EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2. | ||||
|   | ||||
| @ -1592,6 +1598,17 @@ | ||||
|  2005-05-24  Ulrich Drepper  <drepper@redhat.com> | ||||
|   | ||||
|  	* 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
 | ||||
| @@ -80,14 +80,15 @@ host_triplet = @host@
 | ||||
| @ -1614,15 +1631,13 @@ | ||||
|  check_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \ | ||||
|  	newfile$(EXEEXT) saridx$(EXEEXT) scnnames$(EXEEXT) \ | ||||
|  	sectiondump$(EXEEXT) showptable$(EXEEXT) update1$(EXEEXT) \ | ||||
| @@ -140,14 +141,14 @@ TESTS = run-arextract.sh run-arsymtest.s
 | ||||
|  	run-macro-test.sh run-elf_cntl_gelf_getshdr.sh \ | ||||
|  	run-test-archive64.sh run-readelf-vmcoreinfo.sh \ | ||||
| @@ -142,13 +143,13 @@
 | ||||
|  	run-readelf-mixed-corenote.sh run-dwfllines.sh \ | ||||
| -	run-dwfl-report-elf-align.sh $(am__EXEEXT_1) $(am__append_7) \
 | ||||
| -	$(am__EXEEXT_3) $(am__append_10)
 | ||||
|  	run-dwfl-report-elf-align.sh run-addr2line-test.sh \ | ||||
|  	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
 | ||||
| +	run-dwfl-report-elf-align.sh $(am__EXEEXT_1) $(am__append_8) \
 | ||||
| +	$(am__EXEEXT_3) $(am__append_11)
 | ||||
| +	$(am__append_8) $(am__EXEEXT_3) $(am__append_11)
 | ||||
|  @STANDALONE_FALSE@am__append_6 = msg_tst md5-sha1-test | ||||
| -@LZMA_TRUE@am__append_7 = run-readelf-s.sh run-dwflsyms.sh
 | ||||
| -@HAVE_LIBASM_TRUE@am__append_8 = $(asm_TESTS)
 | ||||
| @ -1676,14 +1691,3 @@ | ||||
|  @TESTS_RPATH_FALSE@tests_rpath = no | ||||
|  @TESTS_RPATH_TRUE@tests_rpath = yes | ||||
|  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
 | ||||
| @@ -291,6 +291,11 @@
 | ||||
| @@ -256,6 +256,11 @@
 | ||||
|  	* dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL. | ||||
|  	Reported by Kurt Roeckx <kurt@roeckx.be>. | ||||
|   | ||||
| @ -408,46 +408,6 @@ | ||||
|      { | ||||
|        __libelf_seterrno (ELF_E_INVALID_INDEX); | ||||
|        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
 | ||||
| @@ -1,5 +1,5 @@
 | ||||
| @ -488,6 +448,46 @@ | ||||
|  	{ | ||||
|  	  __libelf_seterrno (ELF_E_INVALID_INDEX); | ||||
|  	  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
 | ||||
| @@ -1,5 +1,5 @@
 | ||||
| @ -678,46 +678,6 @@ | ||||
|      { | ||||
|        __libelf_seterrno (ELF_E_INVALID_INDEX); | ||||
|        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
 | ||||
| @@ -1,5 +1,5 @@
 | ||||
| @ -758,6 +718,46 @@ | ||||
|  	{ | ||||
|  	  __libelf_seterrno (ELF_E_INVALID_INDEX); | ||||
|  	  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
 | ||||
| @@ -1,5 +1,5 @@
 | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| Name: elfutils | ||||
| Summary: A collection of utilities and DSOs to handle compiled objects | ||||
| Version: 0.156 | ||||
| %global baserelease 5 | ||||
| Version: 0.157 | ||||
| %global baserelease 1 | ||||
| URL: https://fedorahosted.org/elfutils/ | ||||
| %global source_url http://fedorahosted.org/releases/e/l/elfutils/%{version}/ | ||||
| License: GPLv3+ and (GPLv2+ or LGPLv3+) | ||||
| @ -46,9 +46,6 @@ Source: %{?source_url}%{name}-%{version}.tar.bz2 | ||||
| Patch1: %{?source_url}elfutils-robustify.patch | ||||
| Patch2: %{?source_url}elfutils-portability.patch | ||||
| 
 | ||||
| Patch3: elfutils-0.156-et_dyn-kernels.patch | ||||
| Patch4: elfutils-0.156-abi_cfi-ppc-s390-arm.patch | ||||
| 
 | ||||
| %if !%{compat} | ||||
| Release: %{baserelease}%{?dist} | ||||
| %else | ||||
| @ -212,9 +209,6 @@ sed -i.scanf-m -e 's/%m/%a/g' src/addr2line.c tests/line2addr.c | ||||
| %endif | ||||
| %endif | ||||
| 
 | ||||
| %patch3 -p1 -b .et_dyn-kernel | ||||
| %patch4 -p1 -b .abi_cfi | ||||
| 
 | ||||
| find . -name \*.sh ! -perm -0100 -print | xargs chmod +x | ||||
| 
 | ||||
| %build | ||||
| @ -329,6 +323,11 @@ rm -rf ${RPM_BUILD_ROOT} | ||||
| %{_libdir}/libelf.a | ||||
| 
 | ||||
| %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 | ||||
| - Add elfutils-0.156-abi_cfi-ppc-s390-arm.patch. | ||||
|   Sets up initial CFI return register, CFA location expression and | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user