SHA256
1
0
forked from pool/elfutils

Accepting request 584787 from home:rguenther:branches:Base:System

- Update to version 0.170
  libdw: Added new DWARF5 attribute, tag, character encoding, language code,
         calling convention, defaulted member function and macro constants
         to dwarf.h.
	 New functions dwarf_default_lower_bound and dwarf_line_file.
	 dwarf_peel_type now handles DWARF5 immutable, packed and shared tags.
	 dwarf_getmacros now handles DWARF5 .debug_macro sections.
  strip: Add -R, --remove-section=SECTION and --keep-section=SECTION.
  backends: The bpf disassembler is now always build on all platforms.
- Includes changes in 0.169
  backends: Add support for EM_PPC64 GNU_ATTRIBUTES.
            Frame pointer unwinding fallback support for i386, x86_64, aarch64.
  translations: Update Polish translation.
- Remove obsolete 0001-backends-Add-support-for-EM_PPC64-GNU_ATTRIBUTES.patch 
  and ppc-machine-flags.patch
- Add elfutils-0.170-stripnothing.patch to robustify test and avoid a FAIL.
- Add elfutils-0.170-Wpackednotaligned.patch to fix build with GCC 8.
  (boo#1084637)

OBS-URL: https://build.opensuse.org/request/show/584787
OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=104
This commit is contained in:
Richard Biener 2018-03-12 08:21:17 +00:00 committed by Git OBS Bridge
parent 12290540da
commit 3e2c8790d2
10 changed files with 99 additions and 95 deletions

View File

@ -1,48 +0,0 @@
From b1042ce216eaef96099f263fb81141dbdec004fd Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Wed, 15 Feb 2017 14:30:27 +0100
Subject: [PATCH] backends: Add support for EM_PPC64 GNU_ATTRIBUTES.
ppc64 and ppc64le ELF files can also contain a power specific
.gnu.attributes section. Add support for those and recognize the new
GNU_Power_ABI_FP Single-precision hard float value.
Signed-off-by: Mark Wielaard <mark@klomp.org>
---
backends/ChangeLog | 6 ++++++
backends/ppc64_init.c | 1 +
backends/ppc_attrs.c | 1 +
tests/ChangeLog | 5 +++++
tests/Makefile.am | 4 ++--
tests/run-readelf-A.sh | 16 +++++++++++++++-
tests/testfileppc64attrs.o.bz2 | Bin 0 -> 222 bytes
7 files changed, 30 insertions(+), 3 deletions(-)
create mode 100644 tests/testfileppc64attrs.o.bz2
diff --git a/backends/ppc64_init.c b/backends/ppc64_init.c
index 2ba82327..11d3a77f 100644
--- a/backends/ppc64_init.c
+++ b/backends/ppc64_init.c
@@ -67,6 +67,7 @@ ppc64_init (Elf *elf __attribute__ ((unused)),
HOOK (eh, syscall_abi);
HOOK (eh, core_note);
HOOK (eh, auxv_info);
+ HOOK (eh, check_object_attribute);
HOOK (eh, abi_cfi);
/* gcc/config/ #define DWARF_FRAME_REGISTERS. */
eh->frame_nregs = (114 - 1) + 32;
diff --git a/backends/ppc_attrs.c b/backends/ppc_attrs.c
index 612c5769..48d7129d 100644
--- a/backends/ppc_attrs.c
+++ b/backends/ppc_attrs.c
@@ -51,6 +51,7 @@ ppc_check_object_attribute (Ebl *ebl __attribute__ ((unused)),
"Hard or soft float",
"Hard float",
"Soft float",
+ "Single-precision hard float",
};
if (value < sizeof fp_kinds / sizeof fp_kinds[0])
*value_name = fp_kinds[value];
--
2.12.2

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b88d07893ba1373c7dd69a7855974706d05377766568a7d9002706d5de72c276
size 6840399

Binary file not shown.

View File

@ -0,0 +1,43 @@
commit ab6b37ac32ddf2f2f11f800a770170814f5cbb8b
Author: Mark Wielaard <mark@klomp.org>
Date: Tue Oct 24 14:23:30 2017 +0200
backends: Ignore GCC8 -Wpacked-not-aligned for m68k_corenote.c.
The GCC8 -Wpacked-not-aligned warns if a structure field with explicit
padding in a packed structure will be misaligned. m68k prstatus core
notes are described by a packed structure which has such aligned structure
fields.
Signed-off-by: Mark Wielaard <mark@klomp.org>
diff --git a/backends/Makefile.am b/backends/Makefile.am
index 0fde0cb0..2c62add2 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
@@ -119,6 +119,13 @@ m68k_SRCS = m68k_init.c m68k_symbol.c m68k_regs.c \
libebl_m68k_pic_a_SOURCES = $(m68k_SRCS)
am_libebl_m68k_pic_a_OBJECTS = $(m68k_SRCS:.c=.os)
+# m68k prstatus core notes are described by a packed structure
+# which has not naturally aligned fields. Since we don't access
+# these fields directly, but take their offset to be used later
+# to extract the data through elfxx_xlatetom/memmove, this isn't
+# an issue.
+m68k_corenote_no_Wpacked_not_aligned = yes
+
bpf_SRCS = bpf_init.c bpf_regs.c
cpu_bpf = ../libcpu/libcpu_bpf.a
libebl_bpf_pic_a_SOURCES = $(bpf_SRCS)
diff --git a/config/eu.am b/config/eu.am
index 796f3883..05c27f02 100644
--- a/config/eu.am
+++ b/config/eu.am
@@ -74,6 +74,7 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
$(if $($(*F)_no_Werror),,-Werror) \
$(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
$(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \
+ $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \
$($(*F)_CFLAGS)
COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE))

View File

@ -0,0 +1,26 @@
commit 8f0140ace401197beaed1df6a48f259756d8bbd9
Author: Dmitry V. Levin <ldv@altlinux.org>
Date: Tue Aug 8 19:06:16 2017 +0300
tests: robustify run-strip-nothing.sh against unstripped libc_nonshared.a
When glibc's libc_nonshared.a contains objects with debug info,
this debug info is leaked into every output file produced by gcc.
Change run-strip-nothing.sh to use "gcc -s" instead of plain "gcc"
for producing objects without debug info.
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
diff --git a/tests/run-strip-nothing.sh b/tests/run-strip-nothing.sh
index e80bd906..914fdfbf 100755
--- a/tests/run-strip-nothing.sh
+++ b/tests/run-strip-nothing.sh
@@ -23,7 +23,7 @@
tempfiles a.out strip.out debug.out
# Create no-debug a.out.
-echo "int main() { return 1; }" | gcc -xc -
+echo "int main() { return 1; }" | gcc -s -xc -
# strip to file
testrun ${abs_top_builddir}/src/strip -g -o strip.out ||

3
elfutils-0.170.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1f844775576b79bdc9f9c717a50058d08620323c1e935458223a12f249c9e066
size 8358001

BIN
elfutils-0.170.tar.bz2.sig Normal file

Binary file not shown.

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Fri Mar 9 09:21:05 UTC 2018 - rguenther@suse.com
- Update to version 0.170
libdw: Added new DWARF5 attribute, tag, character encoding, language code,
calling convention, defaulted member function and macro constants
to dwarf.h.
New functions dwarf_default_lower_bound and dwarf_line_file.
dwarf_peel_type now handles DWARF5 immutable, packed and shared tags.
dwarf_getmacros now handles DWARF5 .debug_macro sections.
strip: Add -R, --remove-section=SECTION and --keep-section=SECTION.
backends: The bpf disassembler is now always build on all platforms.
- Includes changes in 0.169
backends: Add support for EM_PPC64 GNU_ATTRIBUTES.
Frame pointer unwinding fallback support for i386, x86_64, aarch64.
translations: Update Polish translation.
- Remove obsolete 0001-backends-Add-support-for-EM_PPC64-GNU_ATTRIBUTES.patch
and ppc-machine-flags.patch
- Add elfutils-0.170-stripnothing.patch to robustify test and avoid a FAIL.
- Add elfutils-0.170-Wpackednotaligned.patch to fix build with GCC 8.
(boo#1084637)
-------------------------------------------------------------------
Thu Feb 22 15:10:31 UTC 2018 - fvogt@suse.com

View File

@ -17,7 +17,7 @@
Name: elfutils
Version: 0.168
Version: 0.170
Release: 0
Summary: Higher-level library to access ELF files
License: SUSE-GPL-2.0-with-OSI-exception
@ -31,8 +31,10 @@ Source1: README-BEFORE-ADDING-PATCHES
Source2: baselibs.conf
Source3: %{name}.changes
Patch1: disable-tests-with-ptrace.patch
Patch2: 0001-backends-Add-support-for-EM_PPC64-GNU_ATTRIBUTES.patch
Patch3: ppc-machine-flags.patch
# Upstream ab6b37ac, fix build with GCC8
Patch2: elfutils-0.170-Wpackednotaligned.patch
# Upstream 8f01400a, Robustify strip-nothing test
Patch3: elfutils-0.170-stripnothing.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
BuildRequires: automake

View File

@ -1,41 +0,0 @@
2017-06-15 Andreas Schwab <schwab@linux-m68k.org>
* ppc_symbol.c (ppc_machine_flag_check): New function.
* ppc_init.c (ppc_init): Hook it.
diff --git a/backends/ppc_init.c b/backends/ppc_init.c
index c3e3ca3607..aea9f2d740 100644
--- a/backends/ppc_init.c
+++ b/backends/ppc_init.c
@@ -53,6 +53,7 @@ ppc_init (Elf *elf __attribute__ ((unused)),
eh->name = "PowerPC";
ppc_init_reloc (eh);
HOOK (eh, reloc_simple_type);
+ HOOK (eh, machine_flag_check);
HOOK (eh, dynamic_tag_name);
HOOK (eh, dynamic_tag_check);
HOOK (eh, check_special_symbol);
diff --git a/backends/ppc_symbol.c b/backends/ppc_symbol.c
index 1273c1d299..4b32003acc 100644
--- a/backends/ppc_symbol.c
+++ b/backends/ppc_symbol.c
@@ -57,6 +57,16 @@ ppc_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
}
+/* Check whether machine flags are valid. */
+bool
+ppc_machine_flag_check (GElf_Word flags)
+{
+ return ((flags &~ (EF_PPC_EMB
+ | EF_PPC_RELOCATABLE
+ | EF_PPC_RELOCATABLE_LIB)) == 0);
+}
+
+
const char *
ppc_dynamic_tag_name (int64_t tag, char *buf __attribute__ ((unused)),
size_t len __attribute__ ((unused)))
--
2.13.1