From: Mark Wielaard Date: Mon, 6 Jul 2015 21:15:13 +0000 (+0200) Subject: Merge elfutils-0.163 into mjw/RH-DTS X-Git-Tag: dts-0.168~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac26a14751ae608590d00a5dd443e830821eaaeb;p=thirdparty%2Felfutils.git Merge elfutils-0.163 into mjw/RH-DTS --- ac26a14751ae608590d00a5dd443e830821eaaeb diff --cc backends/Makefile.am index 1e55d1663,21d7bd24d..35156b278 --- a/backends/Makefile.am +++ b/backends/Makefile.am @@@ -46,31 -45,6 +46,31 @@@ 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 \ + 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 \ ++ x86_64_initreg.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 \ + 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 + +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 diff --cc libdw/Makefile.am index e8cc85a5d,2299b2fab..824613243 --- a/libdw/Makefile.am +++ b/libdw/Makefile.am @@@ -35,13 -35,12 +35,13 @@@ AM_CPPFLAGS += -I$(srcdir)/../libel VERSION = 1 lib_LIBRARIES = libdw.a -noinst_LIBRARIES = libdw_pic.a -noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so) +noinst_LIBRARIES = libdw_pic.a libdw_static_pic.a +noinst_PROGRAMS = libdw.so include_HEADERS = dwarf.h - pkginclude_HEADERS = libdw.h + pkginclude_HEADERS = libdw.h known-dwarf.h +libdw_a_CFLAGS = -fpic -fvisibility=hidden $(AM_CFLAGS) libdw_a_SOURCES = dwarf_begin.c dwarf_begin_elf.c dwarf_end.c dwarf_getelf.c \ dwarf_getpubnames.c dwarf_getabbrev.c dwarf_tag.c \ dwarf_error.c dwarf_nextcu.c dwarf_diename.c dwarf_offdie.c \ diff --cc src/Makefile.am index 9276a3ea7,cd2755b03..f498cec47 --- a/src/Makefile.am +++ b/src/Makefile.am @@@ -89,28 -88,42 +89,43 @@@ endi # XXX While the file is not finished, don't warn about this ldgeneric_no_Wunused = yes - - readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) - nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) -ldl \ + ldgeneric_no_Wstack_usage = yes + + # Bad, bad stack usage... + readelf_no_Wstack_usage = yes + nm_no_Wstack_usage = yes + size_no_Wstack_usage = yes + strip_no_Wstack_usage = yes + elflint_no_Wstack_usage = yes + findtextrel_no_Wstack_usage = yes + elfcmp_no_Wstack_usage = yes + objdump_no_Wstack_usage = yes + ranlib_no_Wstack_usage = yes + ar_no_Wstack_usage = yes + unstrip_no_Wstack_usage = yes + ++ + readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl + nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl \ $(demanglelib) - size_LDADD = $(libelf) $(libeu) - strip_LDADD = $(libebl) $(libdw_static) $(libelf) $(libeu) -ldl - ld_LDADD = $(libebl) $(libdw_static) $(libelf) $(libeu) -ldl + size_LDADD = $(libelf) $(libeu) $(argp_LDADD) -strip_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl -ld_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl ++strip_LDADD = $(libebl) $(libdw_static) $(libelf) $(libeu) $(argp_LDADD) -ldl ++ld_LDADD = $(libebl) $(libdw_static) $(libelf) $(libeu) $(argp_LDADD) -ldl if NATIVE_LD # -ldl is always needed for libebl. ld_LDADD += libld_elf.a endif ld_LDFLAGS = -rdynamic - elflint_LDADD = $(libebl) $(libdw_static) $(libelf) $(libeu) -ldl - findtextrel_LDADD = $(libdw) $(libelf) - addr2line_LDADD = $(libdw) $(libelf) - elfcmp_LDADD = $(libebl) $(libdw_static) $(libelf) -ldl - objdump_LDADD = $(libasm) $(libebl) $(libdw_static) $(libelf) $(libeu) -ldl - ranlib_LDADD = libar.a $(libelf) $(libeu) - strings_LDADD = $(libelf) $(libeu) - ar_LDADD = libar.a $(libelf) $(libeu) - unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) -ldl - stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) -ldl $(demanglelib) -elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl ++elflint_LDADD = $(libebl) $(libdw_static) $(libelf) $(libeu) $(argp_LDADD) -ldl + findtextrel_LDADD = $(libdw) $(libelf) $(argp_LDADD) + addr2line_LDADD = $(libdw) $(libelf) $(argp_LDADD) $(demanglelib) -elfcmp_LDADD = $(libebl) $(libelf) $(argp_LDADD) -ldl -objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl ++elfcmp_LDADD = $(libebl) $(libdw_static) $(libelf) $(argp_LDADD) -ldl ++objdump_LDADD = $(libasm) $(libebl) $(libdw_static) $(libelf) $(libeu) $(argp_LDADD) -ldl + ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) + strings_LDADD = $(libelf) $(libeu) $(argp_LDADD) + ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) + unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl + stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl $(demanglelib) ldlex.o: ldscript.c ldlex_no_Werror = yes diff --cc tests/Makefile.am index ce25aa3a1,55241c7d1..8174a55cb --- a/tests/Makefile.am +++ b/tests/Makefile.am @@@ -366,37 -382,37 +383,38 @@@ get_lines_LDADD = $(libdw) $(libelf get_files_LDADD = $(libdw) $(libelf) get_aranges_LDADD = $(libdw) $(libelf) allfcts_LDADD = $(libdw) $(libelf) +line2addr_no_Wformat = yes - line2addr_LDADD = $(libdw) - addrscopes_LDADD = $(libdw) - funcscopes_LDADD = $(libdw) - funcretval_LDADD = $(libdw) - allregs_LDADD = $(libdw) - find_prologues_LDADD = $(libdw) + line2addr_LDADD = $(libdw) $(argp_LDADD) + addrscopes_LDADD = $(libdw) $(argp_LDADD) + funcscopes_LDADD = $(libdw) $(argp_LDADD) + funcretval_LDADD = $(libdw) $(argp_LDADD) + allregs_LDADD = $(libdw) $(argp_LDADD) + find_prologues_LDADD = $(libdw) $(argp_LDADD) #show_ciefde_LDADD = ../libdwarf/libdwarf.so $(libelf) -asm_tst1_LDADD = $(libasm) $(libebl) $(libelf) -ldl -asm_tst2_LDADD = $(libasm) $(libebl) $(libelf) -ldl -asm_tst3_LDADD = $(libasm) $(libebl) $(libelf) -ldl -asm_tst4_LDADD = $(libasm) $(libebl) $(libelf) -ldl -asm_tst5_LDADD = $(libasm) $(libebl) $(libelf) -ldl -asm_tst6_LDADD = $(libasm) $(libebl) $(libelf) -ldl -asm_tst7_LDADD = $(libasm) $(libebl) $(libelf) -ldl -asm_tst8_LDADD = $(libasm) $(libebl) $(libelf) -ldl -asm_tst9_LDADD = $(libasm) $(libebl) $(libelf) -ldl +asm_tst1_LDADD = $(libasm) $(libebl) $(libdw_static) $(libelf) -ldl +asm_tst2_LDADD = $(libasm) $(libebl) $(libdw_static) $(libelf) -ldl +asm_tst3_LDADD = $(libasm) $(libebl) $(libdw_static) $(libelf) -ldl +asm_tst4_LDADD = $(libasm) $(libebl) $(libdw_static) $(libelf) -ldl +asm_tst5_LDADD = $(libasm) $(libebl) $(libdw_static) $(libelf) -ldl +asm_tst6_LDADD = $(libasm) $(libebl) $(libdw_static) $(libelf) -ldl +asm_tst7_LDADD = $(libasm) $(libebl) $(libdw_static) $(libelf) -ldl +asm_tst8_LDADD = $(libasm) $(libebl) $(libdw_static) $(libelf) -ldl +asm_tst9_LDADD = $(libasm) $(libebl) $(libdw_static) $(libelf) -ldl - dwflmodtest_LDADD = $(libdw) $(libebl) $(libelf) -ldl + dwflmodtest_LDADD = $(libdw) $(libebl) $(libelf) $(argp_LDADD) -ldl rdwrmmap_LDADD = $(libelf) dwfl_bug_addr_overflow_LDADD = $(libdw) $(libebl) $(libelf) -ldl arls_LDADD = $(libelf) dwfl_bug_fd_leak_LDADD = $(libdw) $(libebl) $(libelf) -ldl dwfl_bug_report_LDADD = $(libdw) $(libebl) $(libelf) -ldl dwfl_bug_getmodules_LDADD = $(libdw) $(libebl) $(libelf) -ldl - dwfl_addr_sect_LDADD = $(libdw) $(libebl) $(libelf) -ldl + dwfl_addr_sect_LDADD = $(libdw) $(libebl) $(libelf) $(argp_LDADD) -ldl dwarf_getmacros_LDADD = $(libdw) + dwarf_ranges_LDADD = $(libdw) dwarf_getstring_LDADD = $(libdw) - addrcfi_LDADD = $(libdw) $(libebl) $(libelf) -ldl + addrcfi_LDADD = $(libdw) $(libebl) $(libelf) $(argp_LDADD) -ldl test_flag_nobits_LDADD = $(libelf) rerequest_tag_LDADD = $(libdw) -alldts_LDADD = $(libebl) $(libelf) +alldts_LDADD = $(libebl) $(libdw_static) $(libelf) md5_sha1_test_LDADD = $(libeu) typeiter_LDADD = $(libdw) $(libelf) typeiter2_LDADD = $(libdw) $(libelf)