Commit Graph

66 Commits

Author SHA1 Message Date
Mark Wielaard 1609679b1e backends: Don't depend on linux/bpf.h to compile bpf disassembler.
We only need a few constants and one structure definition from linux/bpf.
Just define those in a local lib/bpf.h file. This makes sure the bpf
disassembler is always build and included even when elfutils is build
on older GNU/Linux systems (and even on other platforms).

Signed-off-by: Mark Wielaard <mark@klomp.org>
2017-07-24 12:06:14 +02:00
Ulf Hermann 28149ca817 Add EXEEXT to gendis
Otherwise the build will fail on systems that actually need file
extension for executables.

Signed-off-by: Ulf Hermann <ulf.hermann@qt.io>
2017-04-26 17:22:15 +02:00
Ulf Hermann 4159aa62cc Don't use comparison_fn_t
Not all search.h declare it, and it is not very helpful anyway.

Signed-off-by: Ulf Hermann <ulf.hermann@qt.io>
2017-04-26 00:17:11 +02:00
Mark Wielaard a3cc8182b2 Add GCC7 -Wimplicit-fallthrough support/fixes.
GCC7 will have a new -Wimplicit-fallthrough warning. It did catch one
small buglet in elflint option procession. So it seems useful to enable
to make sure all swatch case fallthroughs are deliberate.

Add configure check to detect whether gcc support -Wimplicit-fallthrough
and enable it. Add fixes and explicit fallthrough comments where necessary.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
2016-11-10 11:59:00 +01:00
Akihiko Odaki 60b2bf1b08 lib: Provide MAX and MIN in system.h
This change also creates a new header file libeu.h to provide the
prototypes for the function of libeu. That hides the definition of function
crc32, which can conflict with zlib, from libelf. It also prevents mistakes
to refer those functions from a component which doesn't link with libeu,
such as libelf.

Signed-off-by: Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
2016-10-12 15:43:14 +02:00
Mark Wielaard 4f7b5ba962 libcpu: Fix build of bpf_disasm.c for kernels < 3.20.
Before linux 3.20 the BPF_PSEUDO_MAP_FD constant wasn't defined.

Reported-by: Julian Ospald <hasufell@posteo.de>
Signed-off-by: Mark Wielaard <mjw@redhat.com>
2016-09-05 11:15:50 +02:00
Richard Henderson a8b2529fac Fix bpf disassembler for _FORTIFY_SOURCE
It's illegal to skip positional operands for printf.  Rearrange the
printing of the instructions to use exactly the operands required.

Also, fix printing of mod operations: s/%/%%/ in the print format.
Also, fix printing of endian operations: remove extra spaces.
2016-08-11 02:28:32 +02:00
Richard Henderson 9a36c9226c Add support for BPF
Signed-off-by: Richard Henderson <rth@redhat.com>
2016-06-28 20:09:11 +02:00
Josh Stone daee4714ee Improve AM_SILENT_RULES coverage
Note, elfutils does not explicitly enable AM_SILENT_RULES.  It's only
available starting from automake 1.11, but starting from automake 1.13
silent rules are always generated, defaulting to verbose.  $(AM_V_foo)
additions should be no-ops on systems that don't support silent rules.

To be silent, use "./configure --enable-silent-rules" or "make V=0".

Signed-off-by: Josh Stone <jistone@redhat.com>
2015-10-06 17:50:10 -07:00
Jose E. Marchesi 133509fa40 Use -fPIC instead of -fpic when generating PIC code.
This avoids relocation overflows in sparc/sparc64 targets while
linking,  where the reachable data using -fpic is only 4kb.

Signed-off-by: Jose E. Marchesi <jose.marchesi@oracle.com>
2015-10-06 23:40:19 +02:00
Mark Wielaard 3232479483 Remove mudflap build option.
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@redhat.com>
2014-04-18 11:46:51 +02:00
Mark Wielaard cdaaf2153a Updates for Automake 1.13.
autoreconf will install config/test-driver, ignore it.
Update gettext m4 and po files to version 0.18.2.
Use AM_CPPFLAGS instead of INCLUDES.
All changes are backward compatible with Automake 1.11.
2013-04-26 10:06:08 +02:00
Roland McGrath 960a6aff19 Robustify makefile redirection use. 2012-10-10 09:31:42 -07:00
Roland McGrath b2589ffa7c Add a rule to make build failure w/o --enable-maintainer-mode clearer. 2012-06-26 18:09:10 -07:00
Mark Wielaard de2ed97f33 Update name, license and contributor policy.
* Change name from "Red Hat elfutils" to "elfutils".
* Update license of standalone tools and test from GPLv2 to GPLv3+.
* Change license of libraries from GPLv2+exception to GPLv2/LGPLv3+.
* Add Developer Certificate of Origin based contributor policy.

top-level:

- COPYING: Upgraded from GPLv2 to GPLv3.
- CONTRIBUTING, COPYING-GPLv2, COPYING-LGPLv3: New files.
- NEWS: Added note about new contribution and license policy.
- Makefile.am: Updated to GPLv3, added new files to EXTRA_DIST.
- configure.ac: Update to GPLv3, changed AC_INIT name to 'elfutils'.

backends, lib, libasm, libcpu, libdw, libdwfl, libebl, libelf:

- All files updated to GPLv2/LGPLv3+. Except some very small files
  (<5 lines) which didn't have any headers at all before, the linker
  .maps files and the libcpu/defs files which only contain data and
  libelf/elf.h which comes from glibc and is under LGPLv2+.

config:

- elfutils.spec.in: Add new License: headers and new %doc files.
- Update all license headers to GPLv2/LGPLv3+ for files used by libs.

src, tests:

- All files updated to GPLv3+. Except for the test bz2 data files, the
  linker maps and script files and some very small files (<5 lines)
  that don't have any headers.

Signed-off-by: Richard Fontana <rfontana@redhat.com>
Signed-off-by: Mark Wielaard <mjw@redhat.com>
2012-06-05 23:12:05 +02:00
Mark Wielaard 5128fb4487 Remove .mtn-ignore and .cvsignore files.
We use .gitignore these days.
2012-06-05 14:55:29 +02:00
Mark Wielaard 5e56a1efb6 libcpu Makefile.am, move %_dis.h from CLEANFILES to MAINTAINERCLEANFILES. 2012-02-24 23:41:53 +01:00
Ulrich Drepper c6b3d0c278 Color code output of nm and objdump 2012-01-21 18:14:39 -05:00
Roland McGrath a9cefae36d Include *_dis.h headers in dist; generate them only for --enable-maintainer-mode. 2011-10-16 09:24:27 -07:00
Roland McGrath 10eb76b853 Clean up libcpu makefile rules for better error detection. 2010-08-16 22:48:48 -07:00
Roland McGrath 22359e2653 Clean up and consolidate automake magic to reduce duplication and to work with --disable-dependency-tracking. 2010-02-15 15:57:03 -08:00
Roland McGrath eb9ba470ff Nominal ARM support. 2009-04-15 02:10:30 -07:00
Roland McGrath 78df7965cb Use quotes around command substitution that can produce leading whitespace. 2009-01-23 16:39:42 -08:00
Ulrich Drepper 92287fdf5b Optimize x86/x86-64 disassembler tables. 2009-01-01 20:18:48 -08:00
Ulrich Drepper 3bf5759aa0 Add Intel SSE4 support to disassembler. 2009-01-01 18:52:05 -08:00
Ulrich Drepper a492e8ec78 Replay output operations correctly when internal buffer in x86/x86-64
disasembler code is full.
2008-12-31 12:03:45 -08:00
Ulrich Drepper 4692d8160c Slightly better formatting in generating disassembly data. 2008-12-31 11:42:06 -08:00
Ulrich Drepper 71696bafdb Optimize x86/x86-64 disassembler some more. Avoid relocations for string
table.
2008-12-31 11:34:47 -08:00
Ulrich Drepper 54a6d4b1b6 Fix printing of rex prefix in x86-64 disassembler. 2008-12-31 10:21:51 -08:00
Ulrich Drepper 98c245eb57 Optimize x86/x86-64 disassembler a bit. 2008-12-31 10:15:30 -08:00
Ulrich Drepper b51abc6fc1 Mark constant array as const. 2008-12-31 09:12:50 -08:00
Ulrich Drepper 5bd4444e15 Implement blendvpd and blendvps opcodes in x86/x86-64 disassembler. 2008-12-31 09:02:54 -08:00
Ulrich Drepper ec32ff94cf Implement blendps opcode for x86/x86-64. 2008-12-30 23:24:09 -08:00
Ulrich Drepper 26d3c6fd8a Implement disassembly of blendpd instruction for x86/x86-64. 2008-12-30 23:12:16 -08:00
Ulrich Drepper 5a04b9f38a Implement AMD 3DNOW disassembly. 2008-12-19 01:14:12 -08:00
Ulrich Drepper 506aada497 . 2008-12-17 22:25:09 -08:00
Ulrich Drepper 7f923f49a3 (i386_disasm): If instruction matches prefix, undoing the prefix match
finishes the instruction.
2008-12-17 22:24:14 -08:00
Ulrich Drepper 06ec9db81e Fix problems in last checkin. 2008-01-22 06:08:30 +00:00
Ulrich Drepper 4d8bc81150 propagate from branch 'com.redhat.elfutils.roland.pending' (head 6b4ecd4bacd23aaea4922adc10aab7908c45d23e)
to branch 'com.redhat.elfutils' (head 80a9de86977a1031c60888fe4072688434a961be)
2008-01-22 06:02:31 +00:00
Ulrich Drepper c911d5c907 merge of '33d6cda327b8cb82fe8be29c24addb2bdf40acff'
and '4f7c8e6f95ff49761dd62bf932f09597f5838ab8'
2008-01-22 05:59:26 +00:00
Ulrich Drepper a9f3660eb1 Update copyright year. 2008-01-21 20:38:27 +00:00
Roland McGrath c58110d291 explicit merge of 'f9dc98cac1b8ccd38e7420c43dfe7551e2923aaa'
and '90e87946af64cdaa0fc75d344ca35ee2729e655d'
2008-01-22 01:56:41 +00:00
Roland McGrath c0d3c265f0 2008-01-21 Roland McGrath <roland@redhat.com>
* i386_parse.y: Add sanity check for NMNES macro value.
	* Makefile.am (i386_parse.o): Fix target in dependency rule.
2008-01-21 23:42:53 +00:00
Ulrich Drepper 93490007bd Don't try to distribute non-existing file. 2008-01-21 18:48:06 +00:00
Ulrich Drepper 35f2fe6ed1 Fix a couple of x86-64 disassembler cases. 2008-01-14 19:17:36 +00:00
Ulrich Drepper ebe0fcef1b Minimal use of symbol callback functions. 2008-01-12 07:15:51 +00:00
Ulrich Drepper fd47989094 Add comment with absolute address to %rip based address modes. 2008-01-12 03:06:47 +00:00
Ulrich Drepper 5eee122f63 Cleanups in libasm abd objdump. 2008-01-11 10:12:18 +00:00
Ulrich Drepper 8a3ca3a85e Better symbol retrieval function interface. Allow larger output buffers. 2008-01-11 09:35:15 +00:00
Ulrich Drepper 9dc49f58df More immediate operand fixes for x86 disassembler. 2008-01-11 07:18:44 +00:00