From: Mark Wielaard Date: Wed, 31 May 2017 15:24:14 +0000 (+0200) Subject: Merge tag 'elfutils-0.169' into mjw/RH-DTS X-Git-Tag: dts-0.169 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13c3e00ba629586ae42c316ae4ed6c3f04282a82;p=thirdparty%2Felfutils.git Merge tag 'elfutils-0.169' into mjw/RH-DTS elfutils 0.169 release Conflicts: ChangeLog tests/run-elflint-test.sh tests/run-readelf-A.sh --- 13c3e00ba629586ae42c316ae4ed6c3f04282a82 diff --cc backends/Makefile.am index 54ddd78f0,ff80a82c0..96004dcc7 --- a/backends/Makefile.am +++ b/backends/Makefile.am @@@ -47,34 -46,9 +47,34 @@@ lib_LIBRARIES = libebl_static_pic. libelf = ../libelf/libelf.so libdw = ../libdw/libdw.so +# The following is minimal set of backends that we link with libdw to +# avoid dlopen. Note repeats files below because some backends reuse +# each others files. +static_SRCS = i386_init.c i386_symbol.c i386_corenote.c i386_cfi.c \ + i386_retval.c i386_regs.c i386_auxv.c i386_syscall.c \ - i386_initreg.c \ ++ i386_initreg.c i386_unwind.c \ + x86_64_init.c x86_64_symbol.c x86_64_corenote.c x86_64_cfi.c \ + x86_64_retval.c x86_64_regs.c x86_64_syscall.c \ - x86_64_initreg.c x32_corenote.c \ ++ x86_64_initreg.c x86_64_unwind.c x32_corenote.c \ + ia64_init.c ia64_symbol.c ia64_regs.c ia64_retval.c \ + aarch64_init.c aarch64_regs.c aarch64_symbol.c \ + aarch64_corenote.c aarch64_retval.c aarch64_cfi.c \ - aarch64_initreg.c \ ++ aarch64_initreg.c aarch64_unwind.c \ + 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_cfi.c ppc_initreg.c \ + ppc64_init.c ppc64_symbol.c ppc64_retval.c ppc64_corenote.c \ + ppc64_resolve_sym.c \ + s390_init.c s390_symbol.c s390_regs.c s390_retval.c \ + s390_corenote.c s390x_corenote.c s390_cfi.c s390_initreg.c \ + s390_unwind.c bpf_init.c bpf_regs.c + +libebl_static_pic_a_SOURCES = $(static_SRCS) +am_libebl_static_pic_a_OBJECTS = $(static_SRCS:.c=.os) + i386_SRCS = i386_init.c i386_symbol.c i386_corenote.c i386_cfi.c \ i386_retval.c i386_regs.c i386_auxv.c i386_syscall.c \ - i386_initreg.c + i386_initreg.c i386_unwind.c cpu_i386 = ../libcpu/libcpu_i386.a libebl_i386_pic_a_SOURCES = $(i386_SRCS) am_libebl_i386_pic_a_OBJECTS = $(i386_SRCS:.c=.os) diff --cc configure.ac index 07ad592f4,c2c1d90b2..cc0cc62da --- a/configure.ac +++ b/configure.ac @@@ -17,8 -17,8 +17,14 @@@ dnl GNU General Public License for mor dnl dnl You should have received a copy of the GNU General Public License dnl along with this program. If not, see . - AC_INIT([elfutils],[0.168],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/]) + AC_INIT([elfutils],[0.169],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/]) + ++dnl Workaround for older autoconf < 2.64 ++m4_ifndef([AC_PACKAGE_URL], ++ [AC_DEFINE([PACKAGE_URL], ["http://elfutils.org/"], ++ [Define to home page for this package]) ++ AC_SUBST([PACKAGE_URL], ["http://elfutils.org/"])]) + dnl Workaround for older autoconf < 2.64 m4_ifndef([AC_PACKAGE_URL], [AC_DEFINE([PACKAGE_URL], ["http://elfutils.org/"], diff --cc libebl/eblopenbackend.c index 4259dbe59,f3a65cfa2..8630053e3 --- a/libebl/eblopenbackend.c +++ b/libebl/eblopenbackend.c @@@ -39,16 -39,9 +39,17 @@@ #include #include + #include #include +const char *i386_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen); +const char *x86_64_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen); +const char *ppc_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen); +const char *ppc64_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen); +const char *ia64_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen); +const char *s390_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen); +const char *aarch64_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen); +const char *bpf_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen); /* This table should contain the complete list of architectures as far as the ELF specification is concerned. */ diff --cc tests/run-elflint-test.sh index 659d3de40,caf172a61..bd886119d --- a/tests/run-elflint-test.sh +++ b/tests/run-elflint-test.sh @@@ -30,6 -30,14 +30,16 @@@ testrun ${abs_top_builddir}/src/elflin testfiles testfile33 testrun ${abs_top_builddir}/src/elflint -q testfile33 + testfiles testfile42 -testrun ${abs_top_builddir}/src/elflint -q --gnu-ld testfile42 ++# sparc unsupported ++#testrun ${abs_top_builddir}/src/elflint -q --gnu-ld testfile42 + + # Contains debuginfo, compress it, recheck + tempfiles testfile42z + testrun ${abs_top_builddir}/src/elfcompress -f -q -o testfile42z testfile42 -testrun ${abs_top_builddir}/src/elflint -q --gnu-ld testfile42z ++# sparc unsupported ++#testrun ${abs_top_builddir}/src/elflint -q --gnu-ld testfile42z + testfiles testfile46 testrun ${abs_top_builddir}/src/elflint -q testfile46 diff --cc tests/run-readelf-A.sh index 933292e46,b7432becb..46e7a428a --- a/tests/run-readelf-A.sh +++ b/tests/run-readelf-A.sh @@@ -18,15 -18,51 +18,19 @@@ . $srcdir/test-subr.sh --# See run-addrcfi.sh for testfilearm. -- # = testfileppc32attrs.s = # .gnu_attribute 8,1 # .gnu_attribute 12,1 # # gcc -m32 -c testfileppc32attrs.s - testfiles testfileppc32attrs.o -# = testfilesparc64attrs.s = -# .gnu_attribute 4,0x0aaaaaaa -# .gnu_attribute 8,0x00000055 -# -# gcc -c testfilesparc64attrs.s - + # = testfileppc64attrs.s = + # .gnu_attribute 4,3 + # + # gcc -c testfileppc64attrs.s + -testfiles testfilearm testfileppc32attrs.o testfilesparc64attrs.o testfileppc64attrs.o + -testrun_compare ${abs_top_builddir}/src/readelf -A testfilearm <<\EOF - -Object attributes section [27] '.ARM.attributes' of 53 bytes at offset 0x718: - Owner Size - aeabi 52 - File: 42 - CPU_name: 7-A - CPU_arch: v7 - CPU_arch_profile: Application - ARM_ISA_use: Yes - THUMB_ISA_use: Thumb-2 - VFP_arch: VFPv3-D16 - ABI_PCS_wchar_t: 4 - ABI_FP_rounding: Needed - ABI_FP_denormal: Needed - ABI_FP_exceptions: Needed - ABI_FP_number_model: IEEE 754 - ABI_align8_needed: Yes - ABI_align8_preserved: Yes, except leaf SP - ABI_enum_size: int - ABI_HardFP_use: SP and DP - ABI_VFP_args: VFP registers - CPU_unaligned_access: v6 -EOF ++testfiles testfileppc32attrs.o testfileppc64attrs.o testrun_compare ${abs_top_builddir}/src/readelf -A testfileppc32attrs.o <<\EOF @@@ -38,4 -74,23 +42,13 @@@ Object attributes section [ 4] '.gnu.at GNU_Power_ABI_Struct_Return: r3/r4 EOF -testrun_compare ${abs_top_builddir}/src/readelf -A testfilesparc64attrs.o <<\EOF - -Object attributes section [ 4] '.gnu.attributes' of 21 bytes at offset 0x40: - Owner Size - gnu 20 - File: 12 - GNU_Sparc_HWCAPS: div32,v8plus,vis,asi_blk_init,vis3,random,fjfmau,asi_cache_sparing,des,camellia,sha1,sha512,mont,cbcond - GNU_Sparc_HWCAPS2: fjathplus,adp,mwait,xmont -EOF - + testrun_compare ${abs_top_builddir}/src/readelf -A testfileppc64attrs.o <<\EOF + + Object attributes section [ 4] '.gnu.attributes' of 16 bytes at offset 0x40: + Owner Size + gnu 15 + File: 7 + GNU_Power_ABI_FP: Single-precision hard float + EOF + exit 0