summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2017-02-16 12:32:02 +0100
committerMark Wielaard <mark@klomp.org>2017-02-17 10:55:28 +0100
commite22cc80923f94e54c9384421904461958899db5b (patch)
tree944b0153b16386401f56572375440e15199bc2fc
parentb3248e684cedf66239710a5f16a6b45294f183bc (diff)
downloadelfutils-e22cc80923f94e54c9384421904461958899db5b.tar.gz
Move print_version into printversion.{h|c}
Rename version.c so that the implementation is called after the header and the header doesn't clash with the toplevel version.h. print_version depends on argp and is only used in the tools. Signed-off-by: Ulf Hermann <ulf.hermann@qt.io>
-rw-r--r--lib/ChangeLog13
-rw-r--r--lib/Makefile.am4
-rw-r--r--lib/printversion.c (renamed from lib/version.c)4
-rw-r--r--lib/printversion.h49
-rw-r--r--lib/system.h16
-rw-r--r--po/ChangeLog4
-rw-r--r--po/POTFILES.in2
-rw-r--r--src/ChangeLog18
-rw-r--r--src/addr2line.c1
-rw-r--r--src/ar.c1
-rw-r--r--src/elfcmp.c2
-rw-r--r--src/elfcompress.c2
-rw-r--r--src/elflint.c1
-rw-r--r--src/findtextrel.c2
-rw-r--r--src/nm.c1
-rw-r--r--src/objdump.c1
-rw-r--r--src/ranlib.c1
-rw-r--r--src/readelf.c1
-rw-r--r--src/size.c2
-rw-r--r--src/stack.c1
-rw-r--r--src/strings.c1
-rw-r--r--src/strip.c1
-rw-r--r--src/unstrip.c2
23 files changed, 103 insertions, 27 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog
index fd63e039..84290f79 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,16 @@
+2017-02-16 Ulf Hermann <ulf.hermann@qt.io>
+
+ * Makefile.am (libeu_a_SOURCES): Remove version.c, add printversion.c
+ (noinst_HEADERS): Add printversion.h
+ * version.c: Moved to printversion.c.
+ * printversion.c: New file, moved from version.c,
+ remove stdio.h, argp.h, system.h includes,
+ add printversion.h include.
+ * printversion.h: New file.
+ * system.h: Remove argp.h include,
+ (ARGP_PROGRAM_VERSION_HOOK_DEF, ARGP_PROGRAM_BUG_ADDRESS_DEF): Remove.
+ (print_version): Remove.
+
2017-02-15 Ulf Hermann <ulf.hermann@qt.io>
* system.h: Provide mempcpy if it doesn't exist.
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 3e0c601f..7a65eb91 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -35,10 +35,10 @@ noinst_LIBRARIES = libeu.a
libeu_a_SOURCES = xstrdup.c xstrndup.c xmalloc.c next_prime.c \
crc32.c crc32_file.c md5.c sha1.c \
- color.c version.c
+ color.c printversion.c
noinst_HEADERS = fixedsizehash.h libeu.h system.h dynamicsizehash.h list.h \
- md5.h sha1.h eu-config.h color.h
+ md5.h sha1.h eu-config.h color.h printversion.h
EXTRA_DIST = dynamicsizehash.c
if !GPROF
diff --git a/lib/version.c b/lib/printversion.c
index b8d70cbf..4056b938 100644
--- a/lib/version.c
+++ b/lib/printversion.c
@@ -30,10 +30,8 @@
# include <config.h>
#endif
-#include <argp.h>
#include <libintl.h>
-#include <stdio.h>
-#include "system.h"
+#include "printversion.h"
void
print_version (FILE *stream, struct argp_state *state)
diff --git a/lib/printversion.h b/lib/printversion.h
new file mode 100644
index 00000000..a9e059ff
--- /dev/null
+++ b/lib/printversion.h
@@ -0,0 +1,49 @@
+/* Common argp_print_version_hook for all tools.
+ Copyright (C) 2017 The Qt Company Ltd.
+ This file is part of elfutils.
+
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of either
+
+ * the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at
+ your option) any later version
+
+ or
+
+ * the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at
+ your option) any later version
+
+ or both in parallel, as here.
+
+ elfutils is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received copies of the GNU General Public License and
+ the GNU Lesser General Public License along with this program. If
+ not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef PRINTVERSION_H
+#define PRINTVERSION_H 1
+
+#include <argp.h>
+#include <stdio.h>
+
+/* Defined in version.c. Common ARGP_PROGRAM_VERSION_HOOK_DEF. */
+void print_version (FILE *stream, struct argp_state *state);
+
+/* We need define two variables, argp_program_version_hook and
+ argp_program_bug_address, in all programs. argp.h declares these
+ variables as non-const (which is correct in general). But we can
+ do better, it is not going to change. So we want to move them into
+ the .rodata section. Define macros to do the trick. */
+#define ARGP_PROGRAM_VERSION_HOOK_DEF \
+ void (*const apvh) (FILE *, struct argp_state *) \
+ __asm ("argp_program_version_hook")
+#define ARGP_PROGRAM_BUG_ADDRESS_DEF \
+ const char *const apba__ __asm ("argp_program_bug_address")
+
+#endif // PRINTVERSION_H
diff --git a/lib/system.h b/lib/system.h
index 429b0c33..2d057025 100644
--- a/lib/system.h
+++ b/lib/system.h
@@ -33,7 +33,6 @@
# include <config.h>
#endif
-#include <argp.h>
#include <errno.h>
#include <stddef.h>
#include <stdint.h>
@@ -145,21 +144,6 @@ pread_retry (int fd, void *buf, size_t len, off_t off)
return recvd;
}
-
-/* We need define two variables, argp_program_version_hook and
- argp_program_bug_address, in all programs. argp.h declares these
- variables as non-const (which is correct in general). But we can
- do better, it is not going to change. So we want to move them into
- the .rodata section. Define macros to do the trick. */
-#define ARGP_PROGRAM_VERSION_HOOK_DEF \
- void (*const apvh) (FILE *, struct argp_state *) \
- __asm ("argp_program_version_hook")
-#define ARGP_PROGRAM_BUG_ADDRESS_DEF \
- const char *const apba__ __asm ("argp_program_bug_address")
-
-/* Defined in version.c. Common ARGP_PROGRAM_VERSION_HOOK_DEF. */
-void print_version (FILE *stream, struct argp_state *state);
-
/* The demangler from libstdc++. */
extern char *__cxa_demangle (const char *mangled_name, char *output_buffer,
size_t *length, int *status);
diff --git a/po/ChangeLog b/po/ChangeLog
index 38cae02d..b679f7a0 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,7 @@
+2017-02-16 Ulf Hermann <ulf.hermann@qt.io>
+
+ * po/POTFILES.in: Removed lib/version.c, added lib/printversion.c.
+
2016-12-27 Mark Wielaard <mark@klomp.org>
* *.po: Update for 0.168.
diff --git a/po/POTFILES.in b/po/POTFILES.in
index dec61ef5..4eac6d09 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -3,7 +3,7 @@
# Files from the compatibility library
lib/color.c
-lib/version.c
+lib/printversion.c
lib/xmalloc.c
# Library sources
diff --git a/src/ChangeLog b/src/ChangeLog
index 19c7dbb7..0601198c 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,21 @@
+2017-02-16 Ulf Hermann <ulf.hermann@qt.io>
+
+ * addr2line.c: Include printversion.h
+ * ar.c: Likewise.
+ * elflint.c: Likewise.
+ * nm.c: Likewise.
+ * objdump.c: Likewise.
+ * ranlib.c: Likewise.
+ * readelf.c: Likewise.
+ * size.c: Likewise.
+ * stack.c: Likewise.
+ * strings.c: Likewise.
+ * strip.c: Likewise.
+ * elfcmp.c: Include printversion.h, remove system.h include.
+ * elfcompress.c: Likewise.
+ * findtextrel.c: Likewise.
+ * unstrip.c: Likewise.
+
2017-02-14 Ulf Hermann <ulf.hermann@qt.io>
* nm.c: Include color.h.
diff --git a/src/addr2line.c b/src/addr2line.c
index 02220885..ba414a74 100644
--- a/src/addr2line.c
+++ b/src/addr2line.c
@@ -38,6 +38,7 @@
#include <unistd.h>
#include <system.h>
+#include <printversion.h>
/* Name and version of program. */
diff --git a/src/ar.c b/src/ar.c
index f2f322b7..ec32cee5 100644
--- a/src/ar.c
+++ b/src/ar.c
@@ -41,6 +41,7 @@
#include <sys/time.h>
#include <system.h>
+#include <printversion.h>
#include "arlib.h"
diff --git a/src/elfcmp.c b/src/elfcmp.c
index 401ab315..7673cf21 100644
--- a/src/elfcmp.c
+++ b/src/elfcmp.c
@@ -33,7 +33,7 @@
#include <string.h>
#include <unistd.h>
-#include <system.h>
+#include <printversion.h>
#include "../libelf/elf-knowledge.h"
#include "../libebl/libeblP.h"
diff --git a/src/elfcompress.c b/src/elfcompress.c
index 9f6db1cc..8e0d5c55 100644
--- a/src/elfcompress.c
+++ b/src/elfcompress.c
@@ -35,7 +35,7 @@
#include ELFUTILS_HEADER(dwelf)
#include <gelf.h>
#include "libeu.h"
-#include "system.h"
+#include "printversion.h"
/* Name and version of program. */
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
diff --git a/src/elflint.c b/src/elflint.c
index 7d3f2271..66a13ca2 100644
--- a/src/elflint.c
+++ b/src/elflint.c
@@ -39,6 +39,7 @@
#include <elf-knowledge.h>
#include <libeu.h>
#include <system.h>
+#include <printversion.h>
#include "../libelf/libelfP.h"
#include "../libelf/common.h"
#include "../libebl/libeblP.h"
diff --git a/src/findtextrel.c b/src/findtextrel.c
index dc41502b..8f1e239a 100644
--- a/src/findtextrel.c
+++ b/src/findtextrel.c
@@ -36,7 +36,7 @@
#include <string.h>
#include <unistd.h>
-#include <system.h>
+#include <printversion.h>
struct segments
diff --git a/src/nm.c b/src/nm.c
index 47a9e3b1..969c6d35 100644
--- a/src/nm.c
+++ b/src/nm.c
@@ -45,6 +45,7 @@
#include <libeu.h>
#include <system.h>
#include <color.h>
+#include <printversion.h>
#include "../libebl/libeblP.h"
#include "../libdwfl/libdwflP.h"
diff --git a/src/objdump.c b/src/objdump.c
index 030274bc..860cfac6 100644
--- a/src/objdump.c
+++ b/src/objdump.c
@@ -36,6 +36,7 @@
#include <libeu.h>
#include <system.h>
#include <color.h>
+#include <printversion.h>
#include "../libebl/libeblP.h"
diff --git a/src/ranlib.c b/src/ranlib.c
index 41a3bcf2..cc0ee233 100644
--- a/src/ranlib.c
+++ b/src/ranlib.c
@@ -38,6 +38,7 @@
#include <sys/stat.h>
#include <system.h>
+#include <printversion.h>
#include "arlib.h"
diff --git a/src/readelf.c b/src/readelf.c
index d3a90088..8d96ba3f 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -45,6 +45,7 @@
#include <libeu.h>
#include <system.h>
+#include <printversion.h>
#include "../libelf/libelfP.h"
#include "../libelf/common.h"
#include "../libebl/libeblP.h"
diff --git a/src/size.c b/src/size.c
index de0d791b..ad8dbcbb 100644
--- a/src/size.c
+++ b/src/size.c
@@ -36,7 +36,7 @@
#include <unistd.h>
#include <system.h>
-
+#include <printversion.h>
/* Name and version of program. */
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
diff --git a/src/stack.c b/src/stack.c
index a5a7bebc..6f2ff69f 100644
--- a/src/stack.c
+++ b/src/stack.c
@@ -30,6 +30,7 @@
#include <dwarf.h>
#include <system.h>
+#include <printversion.h>
/* Name and version of program. */
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
diff --git a/src/strings.c b/src/strings.c
index 49aab8b0..d214356c 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -42,6 +42,7 @@
#include <libeu.h>
#include <system.h>
+#include <printversion.h>
#ifndef MAP_POPULATE
# define MAP_POPULATE 0
diff --git a/src/strip.c b/src/strip.c
index a791ca57..f7474418 100644
--- a/src/strip.c
+++ b/src/strip.c
@@ -44,6 +44,7 @@
#include "libdwelf.h"
#include <libeu.h>
#include <system.h>
+#include <printversion.h>
typedef uint8_t GElf_Byte;
diff --git a/src/unstrip.c b/src/unstrip.c
index d838ae9f..6e57a6b5 100644
--- a/src/unstrip.c
+++ b/src/unstrip.c
@@ -50,7 +50,7 @@
#include <libdwfl.h>
#include "libdwelf.h"
#include "libeu.h"
-#include "system.h"
+#include "printversion.h"
#ifndef _
# define _(str) gettext (str)