From: Ulf Hermann Date: Thu, 16 Feb 2017 11:32:02 +0000 (+0100) Subject: Move print_version into printversion.{h|c} X-Git-Tag: elfutils-0.169~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e22cc80923f94e54c9384421904461958899db5b;p=thirdparty%2Felfutils.git 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 --- diff --git a/lib/ChangeLog b/lib/ChangeLog index fd63e0390..84290f79d 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,16 @@ +2017-02-16 Ulf Hermann + + * 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 * system.h: Provide mempcpy if it doesn't exist. diff --git a/lib/Makefile.am b/lib/Makefile.am index 3e0c601fe..7a65eb91f 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 similarity index 96% rename from lib/version.c rename to lib/printversion.c index b8d70cbf4..4056b938c 100644 --- a/lib/version.c +++ b/lib/printversion.c @@ -30,10 +30,8 @@ # include #endif -#include #include -#include -#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 000000000..a9e059ff5 --- /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 . */ + +#ifndef PRINTVERSION_H +#define PRINTVERSION_H 1 + +#include +#include + +/* 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 429b0c332..2d0570250 100644 --- a/lib/system.h +++ b/lib/system.h @@ -33,7 +33,6 @@ # include #endif -#include #include #include #include @@ -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 38cae02db..b679f7a0b 100644 --- a/po/ChangeLog +++ b/po/ChangeLog @@ -1,3 +1,7 @@ +2017-02-16 Ulf Hermann + + * po/POTFILES.in: Removed lib/version.c, added lib/printversion.c. + 2016-12-27 Mark Wielaard * *.po: Update for 0.168. diff --git a/po/POTFILES.in b/po/POTFILES.in index dec61ef56..4eac6d09a 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 19c7dbb7d..0601198c5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,21 @@ +2017-02-16 Ulf Hermann + + * 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 * nm.c: Include color.h. diff --git a/src/addr2line.c b/src/addr2line.c index 02220885a..ba414a74d 100644 --- a/src/addr2line.c +++ b/src/addr2line.c @@ -38,6 +38,7 @@ #include #include +#include /* Name and version of program. */ diff --git a/src/ar.c b/src/ar.c index f2f322b70..ec32cee59 100644 --- a/src/ar.c +++ b/src/ar.c @@ -41,6 +41,7 @@ #include #include +#include #include "arlib.h" diff --git a/src/elfcmp.c b/src/elfcmp.c index 401ab3157..7673cf212 100644 --- a/src/elfcmp.c +++ b/src/elfcmp.c @@ -33,7 +33,7 @@ #include #include -#include +#include #include "../libelf/elf-knowledge.h" #include "../libebl/libeblP.h" diff --git a/src/elfcompress.c b/src/elfcompress.c index 9f6db1cc5..8e0d5c559 100644 --- a/src/elfcompress.c +++ b/src/elfcompress.c @@ -35,7 +35,7 @@ #include ELFUTILS_HEADER(dwelf) #include #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 7d3f22714..66a13ca22 100644 --- a/src/elflint.c +++ b/src/elflint.c @@ -39,6 +39,7 @@ #include #include #include +#include #include "../libelf/libelfP.h" #include "../libelf/common.h" #include "../libebl/libeblP.h" diff --git a/src/findtextrel.c b/src/findtextrel.c index dc41502bd..8f1e239a9 100644 --- a/src/findtextrel.c +++ b/src/findtextrel.c @@ -36,7 +36,7 @@ #include #include -#include +#include struct segments diff --git a/src/nm.c b/src/nm.c index 47a9e3b17..969c6d355 100644 --- a/src/nm.c +++ b/src/nm.c @@ -45,6 +45,7 @@ #include #include #include +#include #include "../libebl/libeblP.h" #include "../libdwfl/libdwflP.h" diff --git a/src/objdump.c b/src/objdump.c index 030274bc1..860cfac69 100644 --- a/src/objdump.c +++ b/src/objdump.c @@ -36,6 +36,7 @@ #include #include #include +#include #include "../libebl/libeblP.h" diff --git a/src/ranlib.c b/src/ranlib.c index 41a3bcf25..cc0ee2338 100644 --- a/src/ranlib.c +++ b/src/ranlib.c @@ -38,6 +38,7 @@ #include #include +#include #include "arlib.h" diff --git a/src/readelf.c b/src/readelf.c index d3a900884..8d96ba3f0 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -45,6 +45,7 @@ #include #include +#include #include "../libelf/libelfP.h" #include "../libelf/common.h" #include "../libebl/libeblP.h" diff --git a/src/size.c b/src/size.c index de0d791bb..ad8dbcbb8 100644 --- a/src/size.c +++ b/src/size.c @@ -36,7 +36,7 @@ #include #include - +#include /* Name and version of program. */ ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; diff --git a/src/stack.c b/src/stack.c index a5a7bebc3..6f2ff69f8 100644 --- a/src/stack.c +++ b/src/stack.c @@ -30,6 +30,7 @@ #include #include +#include /* Name and version of program. */ ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; diff --git a/src/strings.c b/src/strings.c index 49aab8b0b..d214356c3 100644 --- a/src/strings.c +++ b/src/strings.c @@ -42,6 +42,7 @@ #include #include +#include #ifndef MAP_POPULATE # define MAP_POPULATE 0 diff --git a/src/strip.c b/src/strip.c index a791ca573..f7474418a 100644 --- a/src/strip.c +++ b/src/strip.c @@ -44,6 +44,7 @@ #include "libdwelf.h" #include #include +#include typedef uint8_t GElf_Byte; diff --git a/src/unstrip.c b/src/unstrip.c index d838ae9f8..6e57a6b5f 100644 --- a/src/unstrip.c +++ b/src/unstrip.c @@ -50,7 +50,7 @@ #include #include "libdwelf.h" #include "libeu.h" -#include "system.h" +#include "printversion.h" #ifndef _ # define _(str) gettext (str)