summaryrefslogtreecommitdiffstats
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'elfutils-0.175'Ulf Hermann2019-01-091-1/+1
|\ | | | | | | | | | | elfutils 0.175 release Change-Id: I409f41767af349d0521351dd733879ad31c65aab
| * Prepare for 0.175Mark Wielaard2018-11-141-1/+1
| | | | | | | | | | | | | | | | Set version to 0.175 Update NEWS and elfutils.spec.in. Regenerate po/*.po files. Signed-off-by: Mark Wielaard <[email protected]>
* | Merge tag 'elfutils-0.174'Ulf Hermann2018-10-111-1/+5
|\| | | | | | | | | | | elfutils 0.174 release Change-Id: Ibcbdfca61cf0b65391ab6d0ad00f18ba61027e07
| * Prepare for 0.174elfutils-0.174Mark Wielaard2018-09-141-1/+1
| | | | | | | | | | | | | | | | Set version to 0.174. Mention new functionality in NEWS. Update po/*.po files. Signed-off-by: Mark Wielaard <[email protected]>
| * Require gawk in maintainer modeRoss Burton2018-07-051-0/+4
| | | | | | | | | | | | gawk is required to build known_dwarf.h, so check for it in configure.ac. Signed-off-by: Ross Burton <[email protected]>
* | Merge tag 'elfutils-0.173'Ulf Hermann2018-07-131-15/+15
|\| | | | | | | | | | | elfutils 0.173 release Change-Id: I83dc56dd15c26fe7acf4ce73c29df65b8b65e757
| * Prepare for 0.173elfutils-0.173Mark Wielaard2018-06-291-1/+1
| | | | | | | | | | | | | | | | Set version to 0.173. Mention new functionality in NEWS. Update po/*.po files. Signed-off-by: Mark Wielaard <[email protected]>
| * Prepare for 0.172.elfutils-0.172Mark Wielaard2018-06-111-1/+1
| | | | | | | | | | | | | | | | | | | | It has been only 10 days since the previous release and there are no functional changes compared to 0.171. The speedup of eu-readelf -N is pretty nice. And ~25 patches fix various bugs (hangs and crashes) in dealing with bad DWARF5 data. Most have been found by running the afl fuzzer on eu-readelf and various testcases. Signed-off-by: Mark Wielaard <[email protected]>
| * Prepare for 0.171.elfutils-0.171Mark Wielaard2018-06-011-1/+1
| | | | | | | | | | | | | | Set version to 0.171. Update po/*.po files. Mention DWARF5, split dwarf and GNU DebugFission support in NEWS. Signed-off-by: Mark Wielaard <[email protected]>
| * libdwfl: Use process_vm_readv when available.Mark Wielaard2018-03-281-2/+4
| | | | | | | | | | | | | | | | | | | | If possible use process_vm_readv to read 4K blocks instead of fetching each word individually with ptrace. For unwinding this often means we only have to do one process_vm_readv of the stack instead of dozens of ptrace calls. There is one 4K cache per process, cleared whenever a thread is detached. Signed-off-by: Mark Wielaard <[email protected]>
| * Use fallthrough attribute.Joshua Watt2018-02-101-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use __attribute__ ((fallthrough)) to indicate switch case fall through instead of a comment. This ensures that the fallthrough warning is not triggered even if the file is pre-processed (hence stripping the comments) before it is compiled. The actual fallback implementation is hidden behind a FALLBACK macro in case the compiler doesn't support it. Finally, the -Wimplict-fallthrough warning was upgraded to only allow the attribute to satisfy it; a comment alone is no longer sufficient. Signed-off-by: Joshua Watt <[email protected]>
| * Make sure packed structs follow the gcc memory layoutUlf Hermann2017-09-201-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc defaults to using struct layouts that follow the native conventions, even if __attribute__((packed)) is given. In order to get the layout we expect, we need to tell gcc to always use the gcc struct layout, at least for packed structs. To do this, we can use the gcc_struct attribute. This is important, not only for porting to windows, but also potentially for other platforms, as the bugs resulting from struct layout differences are rather subtle and hard to find. Signed-off-by: Ulf Hermann <[email protected]>
| * Detect if symbol versioning is supportedUlf Hermann2017-08-181-0/+15
| | | | | | | | | | | | | | If not, throw an error unless symbol versioning was explicitly disabled. Signed-off-by: Ulf Hermann <[email protected]>
| * Check if gcc complains about __attribute__ (visibility(..))Ulf Hermann2017-08-181-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If so, define attribute_hidden to be empty. Also, use attribute_hidden in all places where we hide symbols. If this attribute is missing, it simply means that we cannot hide private symbols in the binary using attributes. This disables some optimizations and may increase the risk of symbol name clashes with other libraries, but is not fatal. However, we still employ linker version scripts to explicitly define the exported symbols. This serves much of the same purpose. Also, as all our symbols are prefixed with the library name, and "__" for private ones, the chance of clashes is low anyway. Signed-off-by: Ulf Hermann <[email protected]>
| * Check for -z,defs, -z,relro, -fPIC, -fPIE before using themUlf Hermann2017-08-181-2/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Those flags are not available on all platforms, and omitting them when not available will not cause any harm. In particular: -z,defs disallows undefined symbols in object files. This option is unsupported if the target binary format enforces the same condition already. Furthermore it is only a compile time sanity check. When it is omitted, the same binary is produced. -z,relro instructs the loader to mark sections read-only after loading the library, where possible. This is a hardening mechanism. If it is unavailable, the functionality of the code is not affected in any way. -fPIC instructs the compiler to produce position independent code. While this is preferable to relocatable code, relocatable code also works and may even be faster. Relocatable code might just be loaded into memory multiple times for different processes. -fPIE is the same thing as -fPIC for executables rather than shared libraries. Signed-off-by: Ulf Hermann <[email protected]>
* | Merge tag 'elfutils-0.170'Ulf Hermann2017-08-171-5/+1
|\| | | | | | | | | | | elfutils 0.170 release Change-Id: I37d03645902b9f0a9fb708af1551db8843537799
| * Prepare for 0.170.elfutils-0.170Mark Wielaard2017-08-021-1/+1
| | | | | | | | | | | | | | Set version to 0.170. Update po/*.po files. Add some more user visible changes to NEWS. Signed-off-by: Mark Wielaard <[email protected]>
| * backends: Don't depend on linux/bpf.h to compile bpf disassembler.Mark Wielaard2017-07-241-4/+0
| | | | | | | | | | | | | | | | | | 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 <[email protected]>
* | Merge tag 'elfutils-0.169'QtCreator4.5.1QtCreator4.5.0-rc1QtCreator4.5.0QtCreator4.4.1QtCreator4.4.0-rc1QtCreator4.4.0-beta1QtCreator4.4.04.54.4Ulf Hermann2017-05-081-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog backends/ChangeLog config/ChangeLog lib/ChangeLog libasm/ChangeLog libcpu/ChangeLog libdw/ChangeLog libdwfl/ChangeLog libdwfl/derelocate.c libdwfl/linux-kernel-modules.c libebl/ChangeLog libelf/ChangeLog src/ChangeLog tests/ChangeLog Change-Id: I3b7ced947c6498290aaae27443985b84531f0bcd
| * Prepare for 0.169.elfutils-0.169Mark Wielaard2017-05-051-3/+3
| | | | | | | | | | | | | | Set version to 0.169. Update copyright year. Update po/*.po files. And add user visible changes to new 0.169 NEWS section. Signed-off-by: Mark Wielaard <[email protected]>
* | Provide build rules for a compatibility libraryUlf Hermann2017-05-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | We need to export open(), close(), malloc(), and free() from the C library we are using so that we can handle resources passed to and from elfutils correctly. For example, on Windows, calling free() on memory malloc()'d with a different C library will not work. In addition, having __cxa_demangle from the GNU libstdc++ available is very helpful, so we include that, too. Change-Id: I8e47e8f313fb3ffcc18309dadabf24acf36465f0 Reviewed-by: Christian Kandeler <[email protected]>
* | Skip deleted test if fork(2) is unavailableUlf Hermann2017-05-081-0/+1
| | | | | | | | | | Change-Id: Ib52e92c34c5bd387b1e6310bb42d9102a639f262 Reviewed-by: Christian Kandeler <[email protected]>
* | Check for existence of GNU-style strerror_rUlf Hermann2017-05-051-0/+2
| | | | | | | | | | | | | | | | If we don't have it, we don't translate system error codes to strings in dwfl_error.c. Change-Id: I829616cfba787d778c3273f2042512739df91d81 Reviewed-by: Christian Kandeler <[email protected]>
* | Skip fchown, fchmod, fadvise, fallocate if functions are unavailableUlf Hermann2017-05-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | If fchmod or fchown are unavailable, then the file permission model is likely to be different from what we expect there. posix_fallocate is a rather fragile affair already on linux, and not guaranteed to do anything useful. If it's not available, the result will be the same as when it's available and unreliable. fadvise is an optimization. Change-Id: I28a77e976a0198cf80397b45eb1bc8cfb30664f5 Reviewed-by: Christian Kandeler <[email protected]>
* | Add our own tdestroy if search.h exposes a node_t structUlf Hermann2017-05-041-0/+21
| | | | | | | | | | | | | | | | | | | | | | tdestroy is not necessarily available from search.h, but we need it. gnulib cannot help us here as it will detect search.h to be available and functional in that case. However, some search.h expose a node_t struct which can be used to implement tdestroy. If that is the case, add an implementation to libgnu.a. Change-Id: I983f3aeb6b9090d2b24cbc01fe0790d2d0c96824 Reviewed-by: Christian Kandeler <[email protected]>
* | Check for existence of GNU-style basename()Ulf Hermann2017-05-041-0/+16
| | | | | | | | | | | | | | If it doesn't exist, add an implementation to libgnu.a and config.h. Change-Id: Ice0356030dd666d61f8a582ad09a74c843b19add Reviewed-by: Christian Kandeler <[email protected]>
* | Define unlocked io functions to locked ones if they are unavailableUlf Hermann2017-05-041-0/+4
| | | | | | | | | | | | | | The locked IO functions will still do the job, albeit a bit slower. Change-Id: I65c2b6aaa00374302aff3bcf4852a252e1eefd17 Reviewed-by: Christian Kandeler <[email protected]>
* | Wrap fts_.h in fts.hUlf Hermann2017-05-031-7/+11
| | | | | | | | | | Change-Id: I87cc19052ded7b9ec1a3347faa05709318cc9a74 Reviewed-by: Christian Kandeler <[email protected]>
* | Add a stdio_ext.h that defines __fsetlocking awayUlf Hermann2017-05-031-0/+3
| | | | | | | | | | Change-Id: I240348b865faab638adad078e44d9fcdf3ca02c9 Reviewed-by: Christian Kandeler <[email protected]>
* | Add fake features.h for win32Ulf Hermann2017-05-031-0/+3
| | | | | | | | | | | | | | | | gnulib #defines all the types we need from it, so it is empty. We still need it because other files #include it. Change-Id: I0bb4ee71bcb3e983b41f640c12ef5b9f09b6b03c Reviewed-by: Christian Kandeler <[email protected]>
* | Add ar.h for systems where it doesn't existUlf Hermann2017-05-031-0/+3
| | | | | | | | | | Change-Id: I98b8fa2e278dca673f52dc2bd5a50144a694582f Reviewed-by: Christian Kandeler <[email protected]>
* | Add sysconf replacement for win32Ulf Hermann2017-05-031-0/+20
| | | | | | | | | | Change-Id: Ib99482a2aed2a27920824ee308a7cdd05f678080 Reviewed-by: Christian Kandeler <[email protected]>
* | Add mman.h/.c for win32Ulf Hermann2017-05-031-0/+7
| | | | | | | | | | Change-Id: If9f591124799c680c8606772a9b733314eb19b41 Reviewed-by: Christian Kandeler <[email protected]>
* | Add endian.h and byteswap.hUlf Hermann2017-05-031-0/+6
| | | | | | | | | | Change-Id: I181783e53dba01b00ea53965a325823fb3d58abf Reviewed-by: Christian Kandeler <[email protected]>
* | Make failure to find valgrind non-fatalUlf Hermann2017-05-021-1/+2
| | | | | | | | | | Change-Id: Iff66d48c764dbab2c3c7e63072cf4aff41b6fbe9 Reviewed-by: Christian Kandeler <[email protected]>
* | Add a "selfcontained" mode to provide missing headers on windowsUlf Hermann2017-05-021-0/+6
| | | | | | | | | | | | | | | | | | | | | | On windows there is no features.h, uid_t, gid_t, mode_t, and pid_t are not defined and there is also no elf.h. To make it possible to build other software against libelf and libdw, install our own version of elf.h, and a bare-bones features.h that provides exactly the above declarations. Change-Id: I9df3c8cbffe431b8b6834dbd2246e38df4f5e172 Reviewed-by: Christian Kandeler <[email protected]>
* | Make sure packed structs follow the gcc memory layoutUlf Hermann2017-05-021-0/+13
| | | | | | | | | | | | | | | | On windows gcc by default generates code that follows the MSVC layout. We don't want that as it adds extra padding. Change-Id: I92efe5da2a2ad818783707ee96a9b8e0eb606dbd Reviewed-by: Christian Kandeler <[email protected]>
* | Check if gcc supports -rdynamic and don't use it if notUlf Hermann2017-05-021-0/+11
| | | | | | | | | | Change-Id: Ic31c856dc6aaa3c0e6c2c0217c17b6ed58492ada Reviewed-by: Christian Kandeler <[email protected]>
* | Check native binary formatUlf Hermann2017-05-021-0/+3
| | | | | | | | | | | | | | | | | | | | If our native binary format is not ELF, there is no point in doing the textrel check and we have to exclude some tests that compile source code with the native compiler and then check something on the resulting binary with elfutils. Change-Id: Ib9c6b63481b40fa07dd741c1bb9dcb5d5a2ac6d1 Reviewed-by: Christian Kandeler <[email protected]>
* | Generalize library namesUlf Hermann2017-04-281-0/+30
| | | | | | | | | | | | | | | | | | On windows library names end with ".dll" and the prefix "lib" us usually omitted. Take this into account and also drop the $(EXEEXT) workaround. We don't need to use noinst_PROGRAMS as there is also noinst_DATA. Change-Id: I7e4ba2432811d5ad85051ea0c9d5674eabf79b3c Reviewed-by: Christian Kandeler <[email protected]>
* | Check if rpath is supported before setting itUlf Hermann2017-04-281-0/+12
| | | | | | | | | | | | | | | | Some systems don't have rpath. In that case the backends need to be made available by some external mechanism. Warn about it. Change-Id: I873bd1808addf3f7f29616d7197101ca4f6fd483 Reviewed-by: Christian Kandeler <[email protected]>
* | Disable symbol versioning if .symver doesn't workUlf Hermann2017-04-281-0/+12
| | | | | | | | | | Change-Id: I5fcb8184f0e8f3ee95684f3d4d83410387d9cf51 Reviewed-by: Christian Kandeler <[email protected]>
* | Check if we need -lintl for linking gettextUlf Hermann2017-04-281-0/+25
| | | | | | | | | | | | | | | | We might not have gettext available from libc and we cannot get it from gnulib either. Change-Id: I1cc657b13b97bcc7c0f158f11b6702c24e69695c Reviewed-by: Christian Kandeler <[email protected]>
* | Check if gcc complains about __attribute__ (visibility(..))Ulf Hermann2017-04-281-0/+16
| | | | | | | | | | | | | | | | If so, define attribute_hidden to be empty. Also, use attribute_hidden in all places where we hide symbols. Change-Id: I37353459710dbbd1c6c6c46110514fc18515c814 Reviewed-by: Christian Kandeler <[email protected]>
* | Check for -z,defs, -z,relro, -fPIC, -fPIE before using themUlf Hermann2017-04-281-2/+54
| | | | | | | | | | | | | | | | | | On windows those aren't needed because the link results are no ELF files and all code is position independent anyway. gcc then complains about them, which is in turn caught by -Werror. Change-Id: Ie3d600b7c430698fc3d867a986a4d48f7ad1bbec Reviewed-by: Christian Kandeler <[email protected]>
* | Drop handrolled or #ifdef'ed libc replacementsUlf Hermann2017-04-281-31/+0
| | | | | | | | | | | | | | | | | | mempcpy, memrchr, rawmemchr, and argp are provided by gnulib now. We don't need to define them locally and we don't need to search for an external libargp. Change-Id: I131ca4bc2d77c597b99c296c28259a3600e5d1b5 Reviewed-by: Christian Kandeler <[email protected]>
* | Add gnulib modules to replace missing libc functionalityUlf Hermann2017-04-271-0/+13
|/ | | | | | | | | | This enables us to build a fully featured elfutils package on systems with reduced C libraries, such as windows. All the modules are built into libgnu.a, which is then linked into all binaries if --enable-gnulib is given on the configure line. Change-Id: I743fd22172bc85d9f10dcc3dad8eb921f462b554 Reviewed-by: Christian Kandeler <[email protected]>
* Check for existence of mempcpyUlf Hermann2017-02-171-0/+3
| | | | | | If it doesn't exist, provide a definition based on memcpy. Signed-off-by: Ulf Hermann <[email protected]>
* Add -D_FORTIFY_SOURCE=2 to CFLAGS if possible.Mark Wielaard2017-02-141-0/+21
| | | | | | | | | Some distros now add -D_FORTIFY_SOURCE=2 by default and we have missed some issues in the past caught by it. Add it to CFLAGS if possible. The configure check will make sure that it doesn't conflict with any other CFLAGS already defined. Signed-off-by: Mark Wielaard <[email protected]>
* Define PACKAGE_URL for older autoconf.Mark Wielaard2017-01-121-0/+6
| | | | | | | autoconf < 2.64 doesn't define PACKAGE_URL through AC_INIT. Define it ourselves if needed. Signed-off-by: Mark Wielaard <[email protected]>