[PATCH v3 0/6] Flexible .gnu_debugaltlink handling
by Florian Weimer
This patch series introduces a couple of new interfaces to enable
callers to supply alternate debuginfo data which is not present in the
expected file system locations.
Florian Weimer (6):
dwarf_elf_begin: Add .gnu_debugaltlink to the sectiondata array
libdw: Add dwarf_getalt, dwarf_setalt
libdwelf: Add dwelf_dwarf_gnu_debugaltlink
tests/allfcts.c: Install alternate debug information
Move .gnu_debugaltlink handling from libdw to libdwfl
Update NEWS
ChangeLog | 4 +
NEWS | 8 +-
libdw/ChangeLog | 21 ++++++
libdw/Makefile.am | 3 +-
libdw/dwarf_begin_elf.c | 129 +-------------------------------
libdw/dwarf_getalt.c | 42 +++++++++++
libdw/dwarf_setalt.c | 43 +++++++++++
libdw/libdw.h | 9 +++
libdw/libdw.map | 3 +
libdw/libdwP.h | 3 +
libdwelf/ChangeLog | 8 ++
libdwelf/Makefile.am | 2 +-
libdwelf/dwelf_dwarf_gnu_debugaltlink.c | 57 ++++++++++++++
libdwelf/libdwelf.h | 11 +++
libdwelf/libdwelfP.h | 1 +
libdwfl/ChangeLog | 8 ++
libdwfl/dwfl_module_getdwarf.c | 120 +++++++++++++++++++++++++++++
tests/ChangeLog | 11 +++
tests/Makefile.am | 5 +-
tests/allfcts.c | 30 +++++++-
tests/debugaltlink.c | 77 +++++++++++++++++++
tests/run-debugaltlink.sh | 34 +++++++++
22 files changed, 497 insertions(+), 132 deletions(-)
create mode 100644 libdw/dwarf_getalt.c
create mode 100644 libdw/dwarf_setalt.c
create mode 100644 libdwelf/dwelf_dwarf_gnu_debugaltlink.c
create mode 100644 tests/debugaltlink.c
create mode 100755 tests/run-debugaltlink.sh
--
1.9.0
9 years, 4 months
[PATCH 0/3] Performance tweaks for libdw
by Josh Stone
I did some investigation into libdw performance hotspots, and came up
with a few tweaks that in total trim nearly 1/3 the running time. I'm
running on Mark's recent empty-location patch, and I primarily used
"tests/varlocs -k >/dev/null" as a moderately long-running benchmark.
I'm using gcc-4.8.2-1.fc20.x86_64 and kernel-3.11.9-300.fc20.x86_64,
running on an i7-2600.
The perf profile initially looked like this:
Samples: 343K of event 'cycles', Event count (approx.): 318932712301
33.69% varlocs libdw.so [.] __libdw_find_attr
16.47% varlocs libdw.so [.] lookup.isra.0
15.63% varlocs libdw.so [.] __libdw_form_val_len
13.11% varlocs libdw.so [.] dwarf_siblingof
4.84% varlocs libdw.so [.] dwarf_tag
4.62% varlocs libdw.so [.] walk_children.4364
2.35% varlocs libdw.so [.] __libdw_findabbrev
2.32% varlocs libdw.so [.] Dwarf_Abbrev_Hash_find
1.26% varlocs libdw.so [.] dwarf_child
Patch 1 addresses form_val_len with an inlined fast path for forms with
constant length. Patch 2 is a rework of get_uleb128 and get_sleb128,
which are significant in find_attr and elsewhere. Patch 3 addresses the
hash lookup which is called often to find DIE abbreviations.
The perf profile now looks like this:
Samples: 229K of event 'cycles', Event count (approx.): 213925592727
44.63% varlocs libdw.so [.] __libdw_find_attr
22.28% varlocs libdw.so [.] dwarf_siblingof
7.64% varlocs libdw.so [.] walk_children.4388
7.07% varlocs libdw.so [.] dwarf_tag
5.18% varlocs libdw.so [.] __libdw_findabbrev
2.88% varlocs libdw.so [.] __libdw_form_val_compute_len
2.11% varlocs libdw.so [.] dwarf_child
1.44% varlocs libdw.so [.] __libdw_formref
1.12% varlocs libdw.so [.] scope_visitor
The remaining busy work is simply walking through attributes, from DIE
to DIE. I believe optimizing this further will be hard without keeping
track of DIE lengths somewhere, which is a lot to cache. Putting the
length in Dwarf_Die itself is not feasible, because those are short-
lived and frequently recreated.
Here's some summary information for how these patches change varloc -k:
libdw varlocs varlocs
text time maxres
Base: 243072 84.42s 242360k
P1: 243296 74.91s 242356k
P2: 243184 70.61s 242360k
P3: 243600 56.75s 243588k
My timings are not statistically rigorous measurements, but it still
seems a clear win across the board. Other benchmarks I've tried, like
tests/allfcts and stap -l syscall.*, show similar improvement.
Feedback is always appreciated.
Thanks,
Josh
9 years, 5 months
linux-pid-attach.c on non-Linux hosts
by Kurt Roeckx
Hi,
It seems linux-pid-attach.c doesn't build on any of the non-Linux
hosts, which is probably normal given it's name. FreeBSD has a
problem with the everything related to pthread while Hurd seems
to only have a problem with syscall __NR_tkill.
How do you suggest I deal with that?
Kurt
9 years, 5 months
[PATCH] readelf: handle_core_item make sure variable length array isn't zero size.
by Mark Wielaard
The printed array should have at least space for the terminating zero char.
Found by gcc -fsanitize=undefined while running run-readelf-vmcoreinfo.sh.
runtime error: variable length array bound evaluates to non-positive value 0
Signed-off-by: Mark Wielaard <mjw(a)redhat.com>
---
src/ChangeLog | 5 +++++
src/readelf.c | 2 +-
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index 874e255..28e52f9 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,10 @@
2014-04-22 Mark Wielaard <mjw(a)redhat.com>
+ * readelf.c (handle_core_item): Make sure variable length array
+ contains at least enough space for terminating zero char.
+
+2014-04-22 Mark Wielaard <mjw(a)redhat.com>
+
* readelf.c (print_gdb_index_section): Use unsigned int for 31 bits
left shift.
diff --git a/src/readelf.c b/src/readelf.c
index da1bf73..697a361 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -8128,7 +8128,7 @@ handle_core_item (Elf *core, const Ebl_Core_Item *item, const void *desc,
const unsigned int bias = item->format == 'b';
{
- char printed[(negate ? nbits - pop : pop) * 16];
+ char printed[(negate ? nbits - pop : pop) * 16 + 1];
char *p = printed;
*p = '\0';
--
1.7.1
9 years, 5 months
[PATCH] libdwfl: __libdwfl_frame_reg_[gs]et use uint64_t when checking bits.
by Mark Wielaard
Found by gcc -fsanitize=undefined while running the backtrace-core-ppc test.
runtime error: shift exponent 45 is too large for 32-bit type 'unsigned int'
Signed-off-by: Mark Wielaard <mjw(a)redhat.com>
---
libdwfl/ChangeLog | 6 ++++++
libdwfl/frame_unwind.c | 4 ++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index e93d50c..31697ce 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,3 +1,9 @@
+2014-04-22 Mark Wielaard <mjw(a)redhat.com>
+
+ * frame_unwind.c (__libdwfl_frame_reg_get): Use uint64_t when
+ checking bits.
+ (__libdwfl_frame_reg_set): Likewise.
+
2014-03-14 Mark Wielaard <mjw(a)redhat.com>
* Makefile.am: Remove !MUDFLAP and MUDFLAP conditions.
diff --git a/libdwfl/frame_unwind.c b/libdwfl/frame_unwind.c
index dc99e40..18c808b 100644
--- a/libdwfl/frame_unwind.c
+++ b/libdwfl/frame_unwind.c
@@ -57,7 +57,7 @@ __libdwfl_frame_reg_get (Dwfl_Frame *state, unsigned regno, Dwarf_Addr *val)
if (regno >= ebl_frame_nregs (ebl))
return false;
if ((state->regs_set[regno / sizeof (*state->regs_set) / 8]
- & (1U << (regno % (sizeof (*state->regs_set) * 8)))) == 0)
+ & ((uint64_t) 1U << (regno % (sizeof (*state->regs_set) * 8)))) == 0)
return false;
if (val)
*val = state->regs[regno];
@@ -77,7 +77,7 @@ __libdwfl_frame_reg_set (Dwfl_Frame *state, unsigned regno, Dwarf_Addr val)
if (ebl_get_elfclass (ebl) == ELFCLASS32)
val &= 0xffffffff;
state->regs_set[regno / sizeof (*state->regs_set) / 8] |=
- (1U << (regno % (sizeof (*state->regs_set) * 8)));
+ ((uint64_t) 1U << (regno % (sizeof (*state->regs_set) * 8)));
state->regs[regno] = val;
return true;
}
--
1.7.1
9 years, 5 months
[PATCH] readelf.c (print_gdb_index_section): Use unsigned int for 31 bits left shift.
by Mark Wielaard
Found by gcc -fsanitize=undefined.
left shift of 1 by 31 places cannot be represented in type 'int'
Signed-off-by: Mark Wielaard <mjw(a)redhat.com>
---
src/ChangeLog | 5 +++++
src/readelf.c | 2 +-
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index 5eb69d6..874e255 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2014-04-22 Mark Wielaard <mjw(a)redhat.com>
+
+ * readelf.c (print_gdb_index_section): Use unsigned int for 31 bits
+ left shift.
+
2014-03-13 Mark Wielaard <mjw(a)redhat.com>
* Makefile.am: Remove no_mudflap.os. Remove libmudflap from all
diff --git a/src/readelf.c b/src/readelf.c
index 8a9543d..da1bf73 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -7827,7 +7827,7 @@ print_gdb_index_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
cu_kind = read_4ubyte_unaligned (dbg, readcus);
cu = cu_kind & ((1 << 24) - 1);
kind = (cu_kind >> 28) & 7;
- is_static = cu_kind & (1 << 31);
+ is_static = cu_kind & (1U << 31);
if (cu > cu_nr - 1)
printf ("%" PRId32 "T", cu - (uint32_t) cu_nr);
else
--
1.7.1
9 years, 5 months
Dwarf unwind test failures on various arches
by Kurt Roeckx
Hi,
I'm seeing various test suite failures in the 0.158 on various
arches. I'm currently looing at powerpc since that's the only
Debian release architecture that's having the problem, but I see
it on various non-release arches too.
The test-suite.log file contains:
==========================================
elfutils 0.158: tests/test-suite.log
==========================================
# TOTAL: 113
# PASS: 108
# SKIP: 3
# XFAIL: 0
# FAIL: 2
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: run-backtrace-native.sh
=============================
0x100000 0x103000 [vdso: 14111]
0x20474000 0x20601000 /lib/powerpc-linux-gnu/libc-2.18.so
0x20614000 0x2063d000 /lib/powerpc-linux-gnu/libpthread-2.18.so
0x2064f000 0x20662000 /home/kroeckx/elfutils-0.158/tests/backtrace-child
0x40000000 0x40033000 /lib/powerpc-linux-gnu/ld-2.18.so
TID 14111:
# 0 0x20626810 raise
TID 14112:
# 0 0x20626810 raise
/home/kroeckx/elfutils-0.158/tests/backtrace: dwfl_thread_getframes: No DWARF information found
/home/kroeckx/elfutils-0.158/tests/backtrace: dwfl_thread_getframes: No DWARF information found
backtrace: backtrace.c:68: callback_verify: Assertion `seen_main' failed.
./test-subr.sh: line 84: 14110 Aborted (core dumped) LD_LIBRARY_PATH="${built_library_path}${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" $VALGRIND_CMD "$@"
backtrace-child: no main
SKIP: run-backtrace-data.sh
===========================
/home/kroeckx/elfutils-0.158/tests/backtrace-data: Unwinding not supported for this architecture
data: arch not supported
FAIL: run-backtrace-dwarf.sh
============================
0xfdf8e08 raise
/home/kroeckx/elfutils-0.158/tests/backtrace-dwarf: dwfl_thread_getframes: No DWARF information found
dwarf: no main
rmdir: failed to remove 'test-14137': Directory not empty
SKIP: run-backtrace-native-biarch.sh
====================================
SKIP: run-backtrace-native-core-biarch.sh
=========================================
It seems that for --backtrace-exec it thinks it has support for
unwinding information even when it doesn't and then fails.
Kurt
9 years, 5 months
[PATCH] Update .gitignore file
by Florian Weimer
---
.gitignore | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 99 insertions(+)
diff --git a/.gitignore b/.gitignore
index 1eda00b..7740453 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,7 @@
.deps
.glimpse_*
=*
+/version.h
INSTALL
Makefile
Makefile.in
@@ -36,7 +37,105 @@ config/ylwrap
configure
elfutils.spec
libcpu/*_dis.h
+/libcpu/*.mnemonics
+/libcpu/*_gendis
+/libcpu/*_lex.c
+/libcpu/*_parse.[ch]
+/libcpu/i386_parse.h
+/lib*/*.so*
libdw/known-dwarf.h
+/po/POTFILES
+/po/en(a)boldquot.insert-header
+/po/en(a)quot.insert-header
+/po/remove-potcdate.sed
+/po/stamp-po
po/en(a)boldquot.po
po/en(a)quot.po
+/src/addr2line
+/src/ar
+/src/elfcmp
+/src/elflint
+/src/findtextrel
+/src/ld
+/src/ldlex.c
+/src/ldscript.c
+/src/ldscript.h
+/src/make-debug-archive
+/src/nm
+/src/objdump
+/src/ranlib
+/src/readelf
+/src/size
+/src/stack
+/src/strings
+/src/strip
+/src/unstrip
+/tests/*.log
+/tests/*.trs
+/tests/addrcfi
+/tests/addrscopes
+/tests/alldts
+/tests/allfcts
+/tests/allregs
+/tests/arextract
+/tests/arls
+/tests/arsymtest
+/tests/asm-tst1
+/tests/asm-tst2
+/tests/asm-tst3
+/tests/asm-tst4
+/tests/asm-tst5
+/tests/asm-tst6
+/tests/asm-tst7
+/tests/asm-tst8
+/tests/asm-tst9
+/tests/backtrace
+/tests/backtrace-child
+/tests/backtrace-data
+/tests/backtrace-dwarf
+/tests/dwarf-getmacros
+/tests/dwarf-getstring
+/tests/dwfl-addr-sect
+/tests/dwfl-bug-addr-overflow
+/tests/dwfl-bug-fd-leak
+/tests/dwfl-bug-getmodules
+/tests/dwfl-bug-report
+/tests/dwfl-report-elf-align
+/tests/dwfllines
+/tests/dwflmodtest
+/tests/dwflsyms
+/tests/early-offscn
+/tests/ecp
+/tests/find-prologues
+/tests/funcretval
+/tests/funcscopes
+/tests/get-aranges
+/tests/get-files
+/tests/get-lines
+/tests/get-pubnames
+/tests/hash
+/tests/line2addr
+/tests/low_high_pc
+/tests/md5-sha1-test
+/tests/msg_tst
+/tests/newfile
+/tests/newscn
+/tests/rdwrmmap
+/tests/rerequest_tag
+/tests/saridx
+/tests/scnnames
+/tests/sectiondump
+/tests/show-abbrev
+/tests/show-die-info
+/tests/showptable
+/tests/test-elf_cntl_gelf_getshdr
+/tests/test-flag-nobits
+/tests/test-nlist
+/tests/typeiter
+/tests/typeiter2
+/tests/update1
+/tests/update2
+/tests/update3
+/tests/update4
+/tests/varlocs
stamp-h1
--
1.9.0
9 years, 5 months
[PATCH] Remove mudflap build option.
by Mark Wielaard
The --enable-mudflap configure build has been broken for 2 years without
anybody apparently noticing. GCC 4.9 removed mudflap support. Before
release we now run make distcheck with valgrind support. Removal of the
mudflap configure option simplifies the build a little.
Signed-off-by: Mark Wielaard <mjw(a)redhat.com>
---
ChangeLog | 4 ++
backends/ChangeLog | 5 ++
backends/Makefile.am | 7 +--
config/ChangeLog | 5 ++
config/eu.am | 10 +---
configure.ac | 22 +-------
libasm/ChangeLog | 4 ++
libasm/Makefile.am | 6 +--
libcpu/ChangeLog | 4 ++
libcpu/Makefile.am | 2 +-
libdw/ChangeLog | 4 ++
libdw/Makefile.am | 6 +--
libdwfl/ChangeLog | 6 +++
libdwfl/Makefile.am | 10 ----
libdwfl/argp-std.c | 12 -----
libelf/ChangeLog | 7 +++
libelf/Makefile.am | 6 +--
libelf/elf_begin.c | 5 --
libelf/elf_update.c | 4 --
src/ChangeLog | 6 +++
src/Makefile.am | 33 ++++++------
src/strings.c | 8 ---
tests/ChangeLog | 6 +++
tests/Makefile.am | 138 ++++++++++++++++++++++++---------------------------
tests/configure.ac | 1 -
25 files changed, 138 insertions(+), 183 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index a2436ce..4e92930 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-04-13 Mark Wielaard <mjw(a)redhat.com>
+
+ * configure.ac: Remove mudflap enable arg and MUDFLAP conditional.
+
2014-01-21 Mark Wielaard <mjw(a)redhat.com>
* NEWS (Version 0.159): Add stack -i.
diff --git a/backends/ChangeLog b/backends/ChangeLog
index 38a433d..3f0282e 100644
--- a/backends/ChangeLog
+++ b/backends/ChangeLog
@@ -1,3 +1,8 @@
+2014-04-13 Mark Wielaard <mjw(a)redhat.com>
+
+ * Makefile.am: Remove libelf and libdw definitions when MUDFLAP
+ is defined. Remove libmudflap from LINK line.
+
2014-03-28 Jean Pihet <jean.pihet(a)linaro.org>
* arm_initreg.c (arm_set_initial_registers_tid): Handle compat mode.
diff --git a/backends/Makefile.am b/backends/Makefile.am
index 4129eee..4576749 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
@@ -42,13 +42,8 @@ noinst_LIBRARIES = $(libebl_pic)
noinst_DATA = $(libebl_pic:_pic.a=.so)
-if MUDFLAP
-libelf = ../libelf/libelf.a
-libdw = ../libdw/libdw.a
-else
libelf = ../libelf/libelf.so
libdw = ../libdw/libdw.so
-endif
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 \
@@ -123,7 +118,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
$(LINK) -shared -o $(@:.map=.so) \
-Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
-Wl,--version-script,$(@:.so=.map) \
- -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap)
+ -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw)
$(textrel_check)
libebl_i386.so: $(cpu_i386)
diff --git a/config/ChangeLog b/config/ChangeLog
index 0fca489..c2af732 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,8 @@
+2014-04-13 Mark Wielaard <mjw(a)redhat.com>
+
+ * eu.am (AM_CFLAGS): Don't add -fmudflap.
+ (COMPILE.os): Don't remove no_mudflap.os.
+
2014-01-22 Mark Wielaard <mjw(a)redhat.com>
* eu.am (AM_CFLAGS): Unconditionally add -Wformat=2.
diff --git a/config/eu.am b/config/eu.am
index d2b4e79..c3b00e0 100644
--- a/config/eu.am
+++ b/config/eu.am
@@ -36,15 +36,7 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
$(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
$($(*F)_CFLAGS)
-if MUDFLAP
-AM_CFLAGS += -fmudflap
-libmudflap = -lmudflap
-else
-libmudflap =
-endif
-
-COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
- $(COMPILE))
+COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE))
%.os: %.c %.o
if AMDEP
diff --git a/configure.ac b/configure.ac
index 7bfa1da..e678ca3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -151,26 +151,6 @@ dnl Support to work around automake's inflexible dependency generation.
dnl See src/Makefile.am for more information.
AM_CONDITIONAL(NEVER, false)
-dnl Enable debugging via mudflap. This option will cause most libraries
-dnl to be built as archives which are statically linked into the applications.
-dnl All code, as far as possible, is compiled instrumented to catch all
-dnl the bugs valgrind is able to catch.
-use_mudflap=no
-AC_ARG_ENABLE([mudflap],
-AS_HELP_STRING([--enable-mudflap],
-[build binaries with mudflap instrumentation]), [dnl
-if test "x$enable_mudflap" = xyes; then
- # Check whether the compiler support -fmudflap.
- old_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -fmudflap"
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[use_mudflap=yes],[use_mudflap=fail])
- CFLAGS="$old_CFLAGS"
-fi])
-if test "$use_mudflap" = fail; then
- AC_MSG_FAILURE([--enable-mudflap requires a compiler which understands this option])
-fi
-AM_CONDITIONAL(MUDFLAP, test "$use_mudflap" = yes)
-
dnl enable debugging of branch prediction.
AC_ARG_ENABLE([debugpred],
AS_HELP_STRING([--enable-debugpred],[build binaries with support to debug branch prediction]),
@@ -211,7 +191,7 @@ fi
AM_CONDITIONAL(USE_VALGRIND, test "$use_valgrind" = yes)
AM_CONDITIONAL(BUILD_STATIC, [dnl
-test "$use_mudflap" = yes -o "$use_gprof" = yes -o "$use_gcov" = yes])
+test "$use_gprof" = yes -o "$use_gcov" = yes])
AC_ARG_ENABLE([tests-rpath],
AS_HELP_STRING([--enable-tests-rpath],[build $ORIGIN-using rpath into tests]),
diff --git a/libasm/ChangeLog b/libasm/ChangeLog
index 1afc342..2613610 100644
--- a/libasm/ChangeLog
+++ b/libasm/ChangeLog
@@ -1,3 +1,7 @@
+2014-04-13 Mark Wielaard <mjw(a)redhat.com>
+
+ * Makefile.am: Remove !MUDFLAP conditions.
+
2013-04-24 Mark Wielaard <mjw(a)redhat.com>
* Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.
diff --git a/libasm/Makefile.am b/libasm/Makefile.am
index 4d81536..3d6a2e5 100644
--- a/libasm/Makefile.am
+++ b/libasm/Makefile.am
@@ -34,10 +34,8 @@ GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
VERSION = 1
lib_LIBRARIES = libasm.a
-if !MUDFLAP
noinst_LIBRARIES = libasm_pic.a
noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so)
-endif
pkginclude_HEADERS = libasm.h
libasm_a_SOURCES = asm_begin.c asm_abort.c asm_end.c asm_error.c \
@@ -54,7 +52,6 @@ libasm_a_SOURCES = asm_begin.c asm_abort.c asm_end.c asm_error.c \
disasm_begin.c disasm_cb.c disasm_end.c disasm_str.c \
symbolhash.c
-if !MUDFLAP
libasm_pic_a_SOURCES =
am_libasm_pic_a_OBJECTS = $(libasm_a_SOURCES:.c=.os)
@@ -64,7 +61,7 @@ libasm_so_LDLIBS += -lpthread
endif
libasm_so_SOURCES =
-libasm.so: libasm_pic.a libasm.map
+libasm.so$(EXEEXT): libasm_pic.a libasm.map
$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
-Wl,--version-script,$(srcdir)/libasm.map,--no-undefined \
-Wl,--soname,$@.$(VERSION) \
@@ -83,7 +80,6 @@ uninstall: uninstall-am
rm -f $(DESTDIR)$(libdir)/libasm.so.$(VERSION)
rm -f $(DESTDIR)$(libdir)/libasm.so
rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/elfutils
-endif
noinst_HEADERS = libasmP.h symbolhash.h
EXTRA_DIST = libasm.map
diff --git a/libcpu/ChangeLog b/libcpu/ChangeLog
index ef9d775..a20f440 100644
--- a/libcpu/ChangeLog
+++ b/libcpu/ChangeLog
@@ -1,3 +1,7 @@
+2014-04-13 Mark Wielaard <mjw(a)redhat.com>
+
+ * Makefile.am (i386_gendis_LDADD): Remove libmudflap.
+
2013-04-24 Mark Wielaard <mjw(a)redhat.com>
* Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.
diff --git a/libcpu/Makefile.am b/libcpu/Makefile.am
index 13e3671..3beccf3 100644
--- a/libcpu/Makefile.am
+++ b/libcpu/Makefile.am
@@ -78,7 +78,7 @@ i386_lex_CFLAGS = -Wno-unused-label -Wno-unused-function -Wno-sign-compare
i386_parse.o: i386_parse.c i386.mnemonics
i386_parse_CFLAGS = -DNMNES="`wc -l < i386.mnemonics`"
i386_lex.o: i386_parse.h
-i386_gendis_LDADD = $(libeu) -lm $(libmudflap)
+i386_gendis_LDADD = $(libeu) -lm
i386_parse.h: i386_parse.c ;
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index e8f0eb8..49d70af 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,3 +1,7 @@
+2014-04-13 Mark Wielaard <mjw(a)redhat.com>
+
+ * Makefile.am: Remove !MUDFLAP conditions.
+
2014-04-09 Mark Wielaard <mjw(a)redhat.com>
* dwarf_begin_elf.c (check_section): Check for unsigned overflow
diff --git a/libdw/Makefile.am b/libdw/Makefile.am
index cd9e314..4e2f858 100644
--- a/libdw/Makefile.am
+++ b/libdw/Makefile.am
@@ -35,10 +35,8 @@ AM_CPPFLAGS += -I$(srcdir)/../libelf
VERSION = 1
lib_LIBRARIES = libdw.a
-if !MUDFLAP
noinst_LIBRARIES = libdw_pic.a
noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so)
-endif
include_HEADERS = dwarf.h
pkginclude_HEADERS = libdw.h
@@ -97,12 +95,11 @@ $(srcdir)/known-dwarf.h: $(top_srcdir)/config/known-dwarf.awk $(srcdir)/dwarf.h
mv -f $@.new $@
endif
-if !MUDFLAP
libdw_pic_a_SOURCES =
am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os)
libdw_so_SOURCES =
-libdw.so: $(srcdir)/libdw.map libdw_pic.a \
+libdw.so$(EXEEXT): $(srcdir)/libdw.map libdw_pic.a \
../libdwfl/libdwfl_pic.a ../libebl/libebl.a \
../libelf/libelf.so
# The rpath is necessary for libebl because its $ORIGIN use will
@@ -126,7 +123,6 @@ uninstall: uninstall-am
rm -f $(DESTDIR)$(libdir)/libdw.so.$(VERSION)
rm -f $(DESTDIR)$(libdir)/libdw.so
rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/elfutils
-endif
libdwfl_objects = $(shell $(AR) t ../libdwfl/libdwfl.a)
libdw_a_LIBADD = $(addprefix ../libdwfl/,$(libdwfl_objects))
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index b6a9161..e93d50c 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,3 +1,9 @@
+2014-03-14 Mark Wielaard <mjw(a)redhat.com>
+
+ * Makefile.am: Remove !MUDFLAP and MUDFLAP conditions.
+ Remove libelf and libdw definitions when MUDFLAP is defined.
+ * argp-std.c (__libdwfl_argp_mudflap_options): Removed.
+
2014-03-03 Mark Wielaard <mjw(a)redhat.com>
* elf-from-memory.c (elf_from_remote_memory): Keep track of
diff --git a/libdwfl/Makefile.am b/libdwfl/Makefile.am
index ce590da..aa504eb 100644
--- a/libdwfl/Makefile.am
+++ b/libdwfl/Makefile.am
@@ -35,9 +35,7 @@ AM_CPPFLAGS += -I$(srcdir) -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
VERSION = 1
noinst_LIBRARIES = libdwfl.a
-if !MUDFLAP
noinst_LIBRARIES += libdwfl_pic.a
-endif
pkginclude_HEADERS = libdwfl.h
@@ -82,22 +80,14 @@ if LZMA
libdwfl_a_SOURCES += lzma.c
endif
-if MUDFLAP
-libdwfl = libdwfl.a $(libdw) $(libebl) $(libelf) $(libeu)
-libdw = ../libdw/libdw.a
-libelf = ../libelf/libelf.a
-else
libdwfl = $(libdw)
libdw = ../libdw/libdw.so
libelf = ../libelf/libelf.so
-endif
libebl = ../libebl/libebl.a
libeu = ../lib/libeu.a
-if !MUDFLAP
libdwfl_pic_a_SOURCES =
am_libdwfl_pic_a_OBJECTS = $(libdwfl_a_SOURCES:.c=.os)
-endif
noinst_HEADERS = libdwflP.h
diff --git a/libdwfl/argp-std.c b/libdwfl/argp-std.c
index 3a2d2a5..8d2bc6a 100644
--- a/libdwfl/argp-std.c
+++ b/libdwfl/argp-std.c
@@ -365,15 +365,3 @@ dwfl_standard_argp (void)
{
return &libdwfl_argp;
}
-
-#ifdef _MUDFLAP
-/* In the absence of a mudflap wrapper for argp_parse, or a libc compiled
- with -fmudflap, we'll see spurious errors for using the struct argp_state
- on argp_parse's stack. */
-
-void __attribute__ ((constructor))
-__libdwfl_argp_mudflap_options (void)
-{
- __mf_set_options ("-heur-stack-bound");
-}
-#endif
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index c67443b..bd009cd 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,3 +1,10 @@
+2014-04-13 Mark Wielaard <mjw(a)redhat.com>
+
+ * Makefile.am: Remove !MUDFLAP conditions.
+ * elf_begin.c (read_file): Don't clear use_mmap when _MUDFLAP is
+ defined.
+ * elf_update.c (write_file): Remove _MUDFLAP condition.
+
2014-01-17 Jakub Jelinek <jakub(a)redhat.com>
Roland McGrath <roland(a)redhat.com>
diff --git a/libelf/Makefile.am b/libelf/Makefile.am
index 4646fba..493e4ec 100644
--- a/libelf/Makefile.am
+++ b/libelf/Makefile.am
@@ -35,10 +35,8 @@ GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
VERSION = 1
lib_LIBRARIES = libelf.a
-if !MUDFLAP
noinst_LIBRARIES = libelf_pic.a
noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so)
-endif
include_HEADERS = libelf.h gelf.h nlist.h
pkginclude_HEADERS = elf-knowledge.h
@@ -92,7 +90,6 @@ libelf_a_SOURCES = elf_version.c elf_hash.c elf_error.c elf_fill.c \
elf_gnu_hash.c \
elf_scnshndx.c
-if !MUDFLAP
libelf_pic_a_SOURCES =
am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os)
@@ -102,7 +99,7 @@ libelf_so_LDLIBS += -lpthread
endif
libelf_so_SOURCES =
-libelf.so: libelf_pic.a libelf.map
+libelf.so$(EXEEXT): libelf_pic.a libelf.map
$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
-Wl,--version-script,$(srcdir)/libelf.map,--no-undefined \
-Wl,--soname,$@.$(VERSION),-z,defs,-z,relro $(libelf_so_LDLIBS)
@@ -119,7 +116,6 @@ uninstall: uninstall-am
rm -f $(DESTDIR)$(libdir)/libelf-$(PACKAGE_VERSION).so
rm -f $(DESTDIR)$(libdir)/libelf.so.$(VERSION)
rm -f $(DESTDIR)$(libdir)/libelf.so
-endif
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
diff --git a/libelf/elf_begin.c b/libelf/elf_begin.c
index a592fbf..1ef70ac 100644
--- a/libelf/elf_begin.c
+++ b/libelf/elf_begin.c
@@ -591,11 +591,6 @@ read_file (int fildes, off_t offset, size_t maxsize,
|| cmd == ELF_C_WRITE_MMAP
|| cmd == ELF_C_READ_MMAP_PRIVATE);
-#if _MUDFLAP
- /* Mudflap doesn't grok that our mmap'd data is ok. */
- use_mmap = 0;
-#endif
-
if (use_mmap)
{
if (parent == NULL)
diff --git a/libelf/elf_update.c b/libelf/elf_update.c
index 31ba253..54c20f5 100644
--- a/libelf/elf_update.c
+++ b/libelf/elf_update.c
@@ -69,14 +69,10 @@ write_file (Elf *elf, off_t size, int change_bo, size_t shnum)
/* Try to map the file if this isn't done yet. */
if (elf->map_address == NULL && elf->cmd == ELF_C_WRITE_MMAP)
{
-#if _MUDFLAP
- /* Mudflap doesn't grok that our mmap'd data is ok. */
-#else
elf->map_address = mmap (NULL, size, PROT_READ | PROT_WRITE,
MAP_SHARED, elf->fildes, 0);
if (unlikely (elf->map_address == MAP_FAILED))
elf->map_address = NULL;
-#endif
}
if (elf->map_address != NULL)
diff --git a/src/ChangeLog b/src/ChangeLog
index c166267..1b459d9 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2014-03-13 Mark Wielaard <mjw(a)redhat.com>
+
+ * Makefile.am: Remove no_mudflap.os. Remove libmudflap from all
+ LDADD lines.
+ * strings.c (process_chunk): Remove _MUDFLAP condition.
+
2014-03-05 Mark Wielaard <mjw(a)redhat.com>
* readelf.c (attr_callback): Print DW_FORM_sdata values as signed
diff --git a/src/Makefile.am b/src/Makefile.am
index e371160..43909ca 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -25,8 +25,6 @@ AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
AM_LDFLAGS = -Wl,-rpath-link,../libelf:../libdw
-no_mudflap.os = -fmudflap
-
YACC = @YACC@ -d
AM_YFLAGS = -pld
AM_LFLAGS = -Pld -olex.yy.c
@@ -91,28 +89,27 @@ endif
# XXX While the file is not finished, don't warn about this
ldgeneric_no_Wunused = yes
-readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
-nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
+readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) -ldl
+nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) -ldl \
$(demanglelib)
-size_LDADD = $(libelf) $(libeu) $(libmudflap)
-strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
-ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
+size_LDADD = $(libelf) $(libeu)
+strip_LDADD = $(libebl) $(libelf) $(libeu) -ldl
+ld_LDADD = $(libebl) $(libelf) $(libeu) -ldl
if NATIVE_LD
# -ldl is always needed for libebl.
ld_LDADD += libld_elf.a
endif
ld_LDFLAGS = -rdynamic
-elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
-findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap)
-addr2line_LDADD = $(libdw) $(libelf) $(libmudflap)
-elfcmp_LDADD = $(libebl) $(libelf) $(libmudflap) -ldl
-objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
-ranlib_LDADD = libar.a $(libelf) $(libeu) $(libmudflap)
-strings_LDADD = $(libelf) $(libeu) $(libmudflap)
-ar_LDADD = libar.a $(libelf) $(libeu) $(libmudflap)
-unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libmudflap) -ldl
-stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libmudflap) -ldl \
- $(demanglelib)
+elflint_LDADD = $(libebl) $(libelf) $(libeu) -ldl
+findtextrel_LDADD = $(libdw) $(libelf)
+addr2line_LDADD = $(libdw) $(libelf)
+elfcmp_LDADD = $(libebl) $(libelf) -ldl
+objdump_LDADD = $(libasm) $(libebl) $(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)
ldlex.o: ldscript.c
ldlex_no_Werror = yes
diff --git a/src/strings.c b/src/strings.c
index 37210a7..f60e4b4 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -465,13 +465,6 @@ process_chunk (const char *fname, const unsigned char *buf, off64_t to,
static void *
map_file (int fd, off64_t start_off, off64_t fdlen, size_t *map_sizep)
{
-#if _MUDFLAP
- (void) fd;
- (void) start_off;
- (void) fdlen;
- (void) map_sizep;
- return MAP_FAILED;
-#else
/* Maximum size we mmap. We use an #ifdef to avoid overflows on
32-bit machines. 64-bit machines these days do not have usable
address spaces larger than about 43 bits. Not that any file
@@ -513,7 +506,6 @@ map_file (int fd, off64_t start_off, off64_t fdlen, size_t *map_sizep)
*map_sizep = map_size;
return mem;
-#endif
}
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 9b0e7ac..2194fba 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,9 @@
+2014-03-14 Mark Wielaard <mjw(a)redhat.com>
+
+ * Makefile.am: Remove MUDFLAP conditions. Remove libmudflap from all
+ LDADD lines.
+ * configure.ac: Remove MUDFLAP conditional.
+
2014-03-11 Josh Stone <jistone(a)redhat.com>
* testfilebaxmin.bz2: New testfile.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 5e64095..5064a50 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -17,11 +17,7 @@
## along with this program. If not, see <http://www.gnu.org/licenses/>.
##
include $(top_srcdir)/config/eu.am
-if MUDFLAP
-BUILD_RPATH = \$$ORIGIN/../backends
-else
BUILD_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
-endif
AM_LDFLAGS =
@@ -308,10 +304,6 @@ installcheck-local:
LOG_COMPILER="$(installed_LOG_COMPILER)" check-TESTS
endif !STANDALONE
-if MUDFLAP
-static_build = yes
-endif
-
if STANDALONE
libdw = -ldw
libelf = -lelf
@@ -331,77 +323,77 @@ libebl = ../libebl/libebl.a
libeu = ../lib/libeu.a
endif !STANDALONE
-arextract_LDADD = $(libelf) $(libmudflap)
-arsymtest_LDADD = $(libelf) $(libmudflap)
-newfile_LDADD = $(libelf) $(libmudflap)
-saridx_LDADD = $(libelf) $(libmudflap)
-scnnames_LDADD = $(libelf) $(libmudflap)
-sectiondump_LDADD = $(libelf) $(libmudflap)
-showptable_LDADD = $(libelf) $(libmudflap)
-hash_LDADD = $(libelf) $(libmudflap)
-test_nlist_LDADD = $(libelf) $(libmudflap)
-msg_tst_LDADD = $(libelf) $(libmudflap)
-newscn_LDADD = $(libelf) $(libmudflap)
-early_offscn_LDADD = $(libelf) $(libmudflap)
-ecp_LDADD = $(libelf) $(libmudflap)
-update1_LDADD = $(libelf) $(libmudflap)
-update2_LDADD = $(libelf) $(libmudflap)
-update3_LDADD = $(libebl) $(libelf) $(libmudflap)
-update4_LDADD = $(libebl) $(libelf) $(libmudflap)
-show_die_info_LDADD = $(libdw) $(libelf) $(libmudflap)
-get_pubnames_LDADD = $(libdw) $(libelf) $(libmudflap)
-show_abbrev_LDADD = $(libdw) $(libelf) $(libmudflap)
-get_lines_LDADD = $(libdw) $(libelf) $(libmudflap)
-get_files_LDADD = $(libdw) $(libelf) $(libmudflap)
-get_aranges_LDADD = $(libdw) $(libelf) $(libmudflap)
-allfcts_LDADD = $(libdw) $(libelf) $(libmudflap)
-line2addr_LDADD = $(libdw) $(libmudflap)
-addrscopes_LDADD = $(libdw) $(libmudflap)
-funcscopes_LDADD = $(libdw) $(libmudflap)
-funcretval_LDADD = $(libdw) $(libmudflap)
-allregs_LDADD = $(libdw) $(libmudflap)
-find_prologues_LDADD = $(libdw) $(libmudflap)
-#show_ciefde_LDADD = ../libdwarf/libdwarf.so $(libelf) $(libmudflap)
-asm_tst1_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
-asm_tst2_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
-asm_tst3_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
-asm_tst4_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
-asm_tst5_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
-asm_tst6_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
-asm_tst7_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
-asm_tst8_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
-asm_tst9_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl
-dwflmodtest_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
-rdwrmmap_LDADD = $(libelf) $(libmudflap)
-dwfl_bug_addr_overflow_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
-arls_LDADD = $(libelf) $(libmudflap)
-dwfl_bug_fd_leak_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
-dwfl_bug_report_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
-dwfl_bug_getmodules_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
-dwfl_addr_sect_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
-dwarf_getmacros_LDADD = $(libdw) $(libmudflap)
-dwarf_getstring_LDADD = $(libdw) $(libmudflap)
-addrcfi_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
-test_flag_nobits_LDADD = $(libelf) $(libmudflap)
-rerequest_tag_LDADD = $(libdw) $(libmudflap)
-alldts_LDADD = $(libebl) $(libelf) $(libmudflap)
+arextract_LDADD = $(libelf)
+arsymtest_LDADD = $(libelf)
+newfile_LDADD = $(libelf)
+saridx_LDADD = $(libelf)
+scnnames_LDADD = $(libelf)
+sectiondump_LDADD = $(libelf)
+showptable_LDADD = $(libelf)
+hash_LDADD = $(libelf)
+test_nlist_LDADD = $(libelf)
+msg_tst_LDADD = $(libelf)
+newscn_LDADD = $(libelf)
+early_offscn_LDADD = $(libelf)
+ecp_LDADD = $(libelf)
+update1_LDADD = $(libelf)
+update2_LDADD = $(libelf)
+update3_LDADD = $(libebl) $(libelf)
+update4_LDADD = $(libebl) $(libelf)
+show_die_info_LDADD = $(libdw) $(libelf)
+get_pubnames_LDADD = $(libdw) $(libelf)
+show_abbrev_LDADD = $(libdw) $(libelf)
+get_lines_LDADD = $(libdw) $(libelf)
+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)
+#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
+dwflmodtest_LDADD = $(libdw) $(libebl) $(libelf) -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
+dwarf_getmacros_LDADD = $(libdw)
+dwarf_getstring_LDADD = $(libdw)
+addrcfi_LDADD = $(libdw) $(libebl) $(libelf) -ldl
+test_flag_nobits_LDADD = $(libelf)
+rerequest_tag_LDADD = $(libdw)
+alldts_LDADD = $(libebl) $(libelf)
md5_sha1_test_LDADD = $(libeu)
-typeiter_LDADD = $(libdw) $(libelf) $(libmudflap)
-typeiter2_LDADD = $(libdw) $(libelf) $(libmudflap)
-low_high_pc_LDADD = $(libdw) $(libelf) $(libmudflap)
-test_elf_cntl_gelf_getshdr_LDADD = $(libelf) $(libmudflap)
-dwflsyms_LDADD = $(libdw) $(libelf) $(libmudflap)
-dwfllines_LDADD = $(libdw) $(libelf) $(libmudflap)
-dwfl_report_elf_align_LDADD = $(libdw) $(libmudflap)
-varlocs_LDADD = $(libdw) $(libelf) $(libmudflap)
-backtrace_LDADD = $(libdw) $(libelf) $(libmudflap)
+typeiter_LDADD = $(libdw) $(libelf)
+typeiter2_LDADD = $(libdw) $(libelf)
+low_high_pc_LDADD = $(libdw) $(libelf)
+test_elf_cntl_gelf_getshdr_LDADD = $(libelf)
+dwflsyms_LDADD = $(libdw) $(libelf)
+dwfllines_LDADD = $(libdw) $(libelf)
+dwfl_report_elf_align_LDADD = $(libdw)
+varlocs_LDADD = $(libdw) $(libelf)
+backtrace_LDADD = $(libdw) $(libelf)
# backtrace-child-biarch also uses those *_CFLAGS and *_LDLAGS variables:
backtrace_child_CFLAGS = -fPIE
backtrace_child_LDFLAGS = -pie -pthread
backtrace_child_biarch_SOURCES = backtrace-child.c
-backtrace_data_LDADD = $(libdw) $(libelf) $(libmudflap)
+backtrace_data_LDADD = $(libdw) $(libelf)
backtrace_dwarf_CFLAGS = -Wno-unused-parameter
-backtrace_dwarf_LDADD = $(libdw) $(libelf) $(libmudflap)
+backtrace_dwarf_LDADD = $(libdw) $(libelf)
if GCOV
check: check-am coverage
diff --git a/tests/configure.ac b/tests/configure.ac
index c0dbd7c..ed51920 100644
--- a/tests/configure.ac
+++ b/tests/configure.ac
@@ -50,7 +50,6 @@ AM_CONDITIONAL(HAVE_LIBASM, [test $have_libasm = yes])
AM_CONDITIONAL(STANDALONE, true)
AM_CONDITIONAL(BUILD_STATIC, false)
AM_CONDITIONAL(TESTS_RPATH, false)
-AM_CONDITIONAL(MUDFLAP, false)
AM_CONDITIONAL(GCOV, false)
dnl Text of the config.h file.
--
1.9.0
9 years, 5 months
[PATCH v2] Clean up .gitignore
by Florian Weimer
Remove unnecessary patterns and use non-recursive matching rules
if possible. Add a comment stating that a separate build directory
is preferred, and a small script that shows cleanup opportunities.
Signed-off-by: Florian Weimer <fweimer(a)redhat.com>
---
.gitignore | 69 +++++++++++++++++++++++++-------------------------------------
ChangeLog | 5 +++++
2 files changed, 33 insertions(+), 41 deletions(-)
diff --git a/.gitignore b/.gitignore
index 1eda00b..3fa2b6f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,42 +1,29 @@
-#*
-*#
-*.a
-*.gmo
-*.o
-*.orig
-*.os
-*.patch
-*.pot
-*.rej
-*.so
-*/Makefile.in
-*~
-.#*
-.deps
-.glimpse_*
-=*
-INSTALL
-Makefile
+# Only ignore files which end up in the source tree with a separate
+# build directory. You can validate the list of rules with:
+#
+# diff -u <(seq 1 $(wc -l < .gitignore)) \
+# <((git check-ignore -v $(find * -type f) \
+# | grep '^\.gitignore:'; grep -nH ^# .gitignore) \
+# | cut -d : -f 2 | sort -n -u)
+#
Makefile.in
-aclocal.m4
-autom4te.*
-backends/*.map
-config.h
-config.h.in
-config.log
-config.status
-config/ar-lib
-config/config.guess
-config/config.sub
-config/depcomp
-config/install-sh
-config/missing
-config/test-driver
-config/ylwrap
-configure
-elfutils.spec
-libcpu/*_dis.h
-libdw/known-dwarf.h
-po/en(a)boldquot.po
-po/en(a)quot.po
-stamp-h1
+/INSTALL
+/aclocal.m4
+/autom4te.*
+/config.h.in
+/config/ar-lib
+/config/config.guess
+/config/config.sub
+/config/depcomp
+/config/install-sh
+/config/missing
+/config/test-driver
+/config/ylwrap
+/configure
+/libcpu/*_dis.h
+/libdw/known-dwarf.h
+/po/en(a)boldquot.po
+/po/en(a)quot.po
+/po/*~
+/po/*.gmo
+/po/*.pot
diff --git a/ChangeLog b/ChangeLog
index a2436ce..8e5800c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-04-15 Florian Weimer <fweimer(a)redhat.com>
+
+ * .gitignore: Add cleanup instructions, apply those changes, and
+ use non-recursive patterns where possible.
+
2014-01-21 Mark Wielaard <mjw(a)redhat.com>
* NEWS (Version 0.159): Add stack -i.
--
1.9.0
9 years, 5 months