libelf = ../libelf/libelf.so
libdw = ../libdw/libdw.so
- x86_64_initreg.c \
+# 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 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
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 \
# 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
get_files_LDADD = $(libdw) $(libelf)
get_aranges_LDADD = $(libdw) $(libelf)
allfcts_LDADD = $(libdw) $(libelf)
- line2addr_LDADD = $(libdw)
- addrscopes_LDADD = $(libdw)
- funcscopes_LDADD = $(libdw)
- funcretval_LDADD = $(libdw)
- allregs_LDADD = $(libdw)
- find_prologues_LDADD = $(libdw)
+line2addr_no_Wformat = yes
+ 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)