summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--configure.ac3
-rw-r--r--lib/ChangeLog5
-rw-r--r--lib/system.h5
-rw-r--r--lib/xstrndup.c2
-rw-r--r--libasm/ChangeLog4
-rw-r--r--libasm/disasm_str.c2
-rw-r--r--libdwfl/ChangeLog4
-rw-r--r--libdwfl/linux-kernel-modules.c1
-rw-r--r--libebl/ChangeLog5
-rw-r--r--libebl/eblmachineflagname.c1
-rw-r--r--libebl/eblopenbackend.c1
-rw-r--r--tests/ChangeLog4
-rw-r--r--tests/elfstrmerge.c1
14 files changed, 40 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index b50f79ee..48185c36 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2017-02-15 Ulf Hermann <ulf.hermann@qt.io>
+
+ * configure.ac: Add check for mempcpy.
+
2017-02-09 Mark Wielaard <mark@klomp.org>
* configure.ac: Add check for adding -D_FORTIFY_SOURCE=2 to CFLAGS.
diff --git a/configure.ac b/configure.ac
index 46055f26..3c35dac5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -285,6 +285,9 @@ AC_CHECK_DECLS([memrchr, rawmemchr],[],[],
[#define _GNU_SOURCE
#include <string.h>])
AC_CHECK_DECLS([powerof2],[],[],[#include <sys/param.h>])
+AC_CHECK_DECLS([mempcpy],[],[],
+ [#define _GNU_SOURCE
+ #include <string.h>])
AC_CHECK_LIB([stdc++], [__cxa_demangle], [dnl
AC_DEFINE([USE_DEMANGLE], [1], [Defined if demangling is enabled])])
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 6578ddba..fd63e039 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,5 +1,10 @@
2017-02-15 Ulf Hermann <ulf.hermann@qt.io>
+ * system.h: Provide mempcpy if it doesn't exist.
+ * xstrndup.c: Include system.h.
+
+2017-02-15 Ulf Hermann <ulf.hermann@qt.io>
+
* crc32_file.c: Use _SC_PAGESIZE rather than _SC_PAGE_SIZE.
2017-02-14 Ulf Hermann <ulf.hermann@qt.io>
diff --git a/lib/system.h b/lib/system.h
index dde7c4a2..429b0c33 100644
--- a/lib/system.h
+++ b/lib/system.h
@@ -68,6 +68,11 @@
#define powerof2(x) (((x) & ((x) - 1)) == 0)
#endif
+#if !HAVE_DECL_MEMPCPY
+#define mempcpy(dest, src, n) \
+ ((void *) ((char *) memcpy (dest, src, n) + (size_t) n))
+#endif
+
/* A special gettext function we use if the strings are too short. */
#define sgettext(Str) \
({ const char *__res = strrchr (gettext (Str), '|'); \
diff --git a/lib/xstrndup.c b/lib/xstrndup.c
index d43e3b9e..a257aa9a 100644
--- a/lib/xstrndup.c
+++ b/lib/xstrndup.c
@@ -33,7 +33,7 @@
#include <stdint.h>
#include <string.h>
#include "libeu.h"
-
+#include "system.h"
/* Return a newly allocated copy of STRING. */
char *
diff --git a/libasm/ChangeLog b/libasm/ChangeLog
index fe06007e..26fc5a95 100644
--- a/libasm/ChangeLog
+++ b/libasm/ChangeLog
@@ -1,3 +1,7 @@
+2017-02-15 Ulf Hermann <ulf.hermann@qt.io>
+
+ * disasm_str.c: Include system.h.
+
2015-10-11 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
* asm_align.c: Remove sys/param.h include.
diff --git a/libasm/disasm_str.c b/libasm/disasm_str.c
index 5b0bb299..c14e6d5b 100644
--- a/libasm/disasm_str.c
+++ b/libasm/disasm_str.c
@@ -31,7 +31,7 @@
#endif
#include <string.h>
-
+#include <system.h>
#include "libasmP.h"
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index 52466cc3..4c9f4f6a 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,5 +1,9 @@
2017-02-15 Ulf Hermann <ulf.hermann@qt.io>
+ * linux-kernel-modules.c: Include system.h.
+
+2017-02-15 Ulf Hermann <ulf.hermann@qt.io>
+
* linux-kernel-modules.c: Use sysconf(_SC_PAGESIZE) to get page size.
* linux-proc-maps.c: Likewise.
diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c
index a7ac19d2..7345e760 100644
--- a/libdwfl/linux-kernel-modules.c
+++ b/libdwfl/linux-kernel-modules.c
@@ -34,6 +34,7 @@
#endif
#include <config.h>
+#include <system.h>
#include "libdwflP.h"
#include <inttypes.h>
diff --git a/libebl/ChangeLog b/libebl/ChangeLog
index 0560c6ac..719d08d0 100644
--- a/libebl/ChangeLog
+++ b/libebl/ChangeLog
@@ -1,3 +1,8 @@
+2017-02-15 Ulf Hermann <ulf.hermann@qt.io>
+
+ * eblmachineflagname.c: Include system.h.
+ * eblopenbackend.c: Likewise.
+
2016-07-08 Mark Wielaard <mjw@redhat.com>
* Makefile.am (gen_SOURCES): Remove eblstrtab.c.
diff --git a/libebl/eblmachineflagname.c b/libebl/eblmachineflagname.c
index 6079a613..5f440776 100644
--- a/libebl/eblmachineflagname.c
+++ b/libebl/eblmachineflagname.c
@@ -33,6 +33,7 @@
#include <stdio.h>
#include <string.h>
+#include <system.h>
#include <libeblP.h>
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
index aa75b957..f3a65cfa 100644
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
@@ -39,6 +39,7 @@
#include <string.h>
#include <stdio.h>
+#include <system.h>
#include <libeblP.h>
diff --git a/tests/ChangeLog b/tests/ChangeLog
index bca47be1..cc6a19bf 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,7 @@
+2017-02-15 Ulf Hermann <ulf.hermann@qt.io>
+
+ * elfstrmerge.c: Include system.h.
+
2017-02-09 Ulf Hermann <ulf.hermann@qt.io>
* backtrace.c: Add an option to allow unknown symbols in the trace
diff --git a/tests/elfstrmerge.c b/tests/elfstrmerge.c
index c2c3fb97..8d5b53cb 100644
--- a/tests/elfstrmerge.c
+++ b/tests/elfstrmerge.c
@@ -29,6 +29,7 @@
#include <inttypes.h>
#include <unistd.h>
+#include <system.h>
#include <gelf.h>
#include ELFUTILS_HEADER(dwelf)
#include "elf-knowledge.h"