fedorahosted used to be our home, but we are now hosted at sourceware.
Change the elfutils project home to http://elfutils.org/
Point hosted services (email, release, git, bug tracker and web pages)
to https://sourceware.org/elfutils/
Move design notes from README to NOTES.
Add URLs for home, releases, bugs, git and mailinglist to README.
Make the --version output of all tools the same by using a common
print_version function and update the publicly shown copyright holder
to the elfutils developers.
Signed-off-by: Mark Wielaard <mark@klomp.org>
-The project homepage is at https://fedorahosted.org/elfutils/
+The project home is http://elfutils.org/
The current elfutils source code can be checked out with
-git clone git://git.fedorahosted.org/git/elfutils.git
+git clone git://sourceware.org/git/elfutils.git
The developer mailinglist to send patches to is
-elfutils-devel@lists.fedorahosted.org.
-https://fedorahosted.org/mailman/listinfo/elfutils-devel
+elfutils-devel@sourceware.org.
+https://sourceware.org/ml/elfutils-devel/
+
+To subscribe send an email to elfutils-devel-subscribe@sourceware.org
+Or use the form at https://sourceware.org/lists.html#ml-requestor
Please supply patches using git format-patch or using git send-email.
to the project will review it, give feedback, and if perfect they
will commit it for you.
-The current maintainers/committers can be found at:
-https://admin.fedoraproject.org/accounts/group/members/gitelfutils/*
-
You can become a maintainer/committer yourself after you have provided
at least a handful of accepted patches and agree to the guidelines in
this document for creating, reviewing, accepting and committing patches.
-To become a committer you need an FAS account at:
-https://admin.fedoraproject.org/accounts/
+To become a committer you need a sourceware account:
+https://sourceware.org/cgi-bin/pdw/ps_form.cgi
Upload a SSH public key and have an existing maintainer sponsor you
-for the Elf Utils Group (gitelfutils).
+for the elfutils group.
committers can push patches through:
-ssh://<fasname>@git.fedorahosted.org/git/elfutils.git
+ssh://<user>@sourceware.org/git/elfutils.git
+
+The current webpages published at https://sourceware.org/elfutils/
+can be checked out with:
+git clone ssh://<user>@sourceware.org/git/elfutils-htdocs.git
+Patches should also be posted to the mailinglist.
As a maintainer/committer you should still post patches as described
above. And ideally they are reviewed and approved as above. If no
it after "self-review". If you do, you should post a message to the
mailinglist that the patch has been pushed.
-committers may also create git branches starting with <fasname>/...
+committers may also create git branches starting with <nickname>/...
patches on these branches are works in progress, so might not be perfect
yet, but should follow the above guidelines as much as possible and should
be aimed at integration into master. For merging a branch into master
+2016-12-24 Mark Wielaard <mark@klomp.org>
+
+ * README: Move design notes to NOTES. Add URLs for home, releases,
+ bugs, git and mailinglist now on sourceware.
+ * NOTES: Add notes from README.
+ * CONTRIBUTING: Change fedorahosted.org references to new
+ sourceware.org locations.
+ * configure.ac (AC_INIT): Add package URL http://elfutils.org/
+ change bug-report to https://sourceware.org/bugzilla/
+ (AC_COPYRIGHT): Set to the elfutils developers.
+
2016-11-23 Mark Wielaard <mjw@redhat.com>
* configure.ac: Add test for bad fts.h. Add -DBAD_FTS=1 to CFLAGS
+Fundamental design decision:
+
+- the sizes of external and internal types are assumed to be the same.
+ This leaves byte ordering aside. While assuming this the code can be
+ greatly simplified and speed increases. Since no change violating this
+ assumption is in sight this is believed to be a worthwhile optimization.
+
+- the ABI of the backend modules is not guaranteed. Really, no guarantee
+ whatsoever. We are enforcing this in the code. The modules and their
+ users must match. No third-party EBL module are supported or allowed.
+ The only reason there are separate modules is to not have the code for
+ all architectures in all the binaries.
+
+- although the public libraries (libasm, libdw) have a stable API and are
+ backwards ABI compatible they, and the elfutils tools, do depend on each
+ others internals, and on internals of libelf to provide their interfaces.
+ So they should always be upgraded in lockstep when packaging the tools
+ and libraries separately. For one example of how to do that, see the
+ config/elfutils.spec.
+
+Some notes:
+
- old GNU ld's behavior wrt DSOs seems to be severely broken.
y.o reference foo()
-Fundamental design decision:
-
-- the sizes of external and internal types are assumed to be the same.
- This leaves byte ordering aside. While assuming this the code can be
- greatly simplified and speed increases. Since no change violating this
- assumption is in sight this is believed to be a worthwhile optimization.
-
-- the ABI of the backend modules is not guaranteed. Really, no guarantee
- whatsoever. We are enforcing this in the code. The modules and their
- users must match. No third-party EBL module are supported or allowed.
- The only reason there are separate modules is to not have the code for
- all architectures in all the binaries.
-
-- although the public libraries (libasm, libdw) have a stable API and are
- backwards ABI compatible they, and the elfutils tools, do depend on each
- others internals, and on internals of libelf to provide their interfaces.
- So they should always be upgraded in lockstep when packaging the tools
- and libraries separately. For one example of how to do that, see the
- config/elfutils.spec.
+The elfutils project provides libraries and tools for ELF files and DWARF data.
+
+The project home is http://elfutils.org/
+
+Releases are published at ftp://sourceware.org/pub/elfutils/
+Which can also be found at https://sourceware.org/elfutils/ftp/
+
+Please reports bugs at https://sourceware.org/bugzilla/
+
+The current elfutils source code can be checked out with
+git clone git://sourceware.org/git/elfutils.git
+
+The developer mailinglist to send patches to is
+elfutils-devel@sourceware.org.
+https://sourceware.org/ml/elfutils-devel/
+
+To subscribe send an email to elfutils-devel-subscribe@sourceware.org
+Or use the form at https://sourceware.org/lists.html#ml-requestor
+
+See the CONTRIBUTING file for how to propose patches to the code.
+
+See the NOTES files for some design decisions and notes.
+2016-12-24 Mark Wielaard <mark@klomp.org>
+
+ * libdw.pc.in: Set URL to http://elfutils.org/
+ * libelf.pc.in: Likewise.
+
2016-11-02 Mark Wielaard <mjw@redhat.com>
* eu.am: Check HAVE_IMPLICIT_FALLTHROUGH_WARNING.
Name: libdw
Description: elfutils library for DWARF data and ELF file or process inspection
Version: @VERSION@
-URL: https://fedorahosted.org/elfutils/
+URL: http://elfutils.org/
Libs: -L${libdir} -ldw
Cflags: -I${includedir}
Name: libelf
Description: elfutils libelf library to read and write ELF files
Version: @VERSION@
-URL: https://fedorahosted.org/elfutils/
+URL: http://elfutils.org/
Libs: -L${libdir} -lelf
Cflags: -I${includedir}
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
-AC_INIT([elfutils],[0.167],[https://bugzilla.redhat.com/],[elfutils])
+AC_INIT([elfutils],[0.167],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/])
# We want eu- as default program prefix if none was given by the user.
# But if the user explicitly provided --program-prefix="" then pretend
AC_CONFIG_AUX_DIR([config])
AC_CONFIG_FILES([config/Makefile])
-AC_COPYRIGHT([Copyright (C) 1996-2016 Red Hat, Inc.])
+AC_COPYRIGHT([Copyright (C) 1996-2016 The elfutils developers.])
AC_PREREQ(2.63) dnl Minimum Autoconf version required.
dnl We use GNU make extensions; automake 1.10 defaults to -Wportability.
-2015-10-11 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
+2016-12-24 Mark Wielaard <mark@klomp.org>
+
+ * version.c: New source file.
+ * Makefile.am (libeu_a_SOURCES): Add version.c
+ * system.h (print_version): New function definition.
+
+2016-10-11 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
* fixedsizehash.h (CONCAT): Use __CONCAT when available.
* system.h: Include config.h and errno.h.
libeu_a_SOURCES = xstrdup.c xstrndup.c xmalloc.c next_prime.c \
crc32.c crc32_file.c md5.c sha1.c \
- color.c
+ color.c version.c
noinst_HEADERS = fixedsizehash.h libeu.h system.h dynamicsizehash.h list.h \
md5.h sha1.h eu-config.h
#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,
--- /dev/null
+/* Common argp_print_version_hook for all tools.
+ Copyright (C) 2016 Red Hat, Inc.
+ 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/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <argp.h>
+#include <libintl.h>
+#include <stdio.h>
+#include "system.h"
+
+void
+print_version (FILE *stream, struct argp_state *state)
+{
+ fprintf (stream, "%s (%s) %s\n", state->name, PACKAGE_NAME, PACKAGE_VERSION);
+ fprintf (stream, gettext ("\
+Copyright (C) %s The elfutils developers <%s>.\n\
+This is free software; see the source for copying conditions. There is NO\n\
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
+"), "2016", PACKAGE_URL);
+}
+2016-12-24 Mark Wielaard <mark@klomp.org>
+
+ * Makevars (COPYRIGHT_HOLDER): Set to the elfutils developers.
+ (MSGID_BUGS_ADDRESS): Set to http://sourceware.org/bugzilla/
+
2016-08-24 Mark Wielaard <mjw@redhat.com>
* *.po: Regenerate.
# or entity, or to disclaim their copyright. The empty string stands for
# the public domain; in this case the translators are expected to disclaim
# their copyright.
-COPYRIGHT_HOLDER = Red Hat, Inc.
+COPYRIGHT_HOLDER = The elfutils developers
# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:
# It can be your email address, or a mailing list address where translators
# can write to without being subscribed, or the URL of a web page through
# which the translators can contact you.
-MSGID_BUGS_ADDRESS = http://bugzilla.redhat.com/
+MSGID_BUGS_ADDRESS = https://sourceware.org/bugzilla/
# This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used. It is usually empty.
+2016-12-24 Mark Wielaard <mark@klomp.org>
+
+ * Makefile.am (findtextrel_LDADD): Add $(libeu).
+ (addr2line_LDADD): Likewise.
+ (elfcmp_LDADD): Likewise.
+ * addr2line.c (print_version): Removed.
+ * ar.c (print_version): Likewise.
+ * elfcmp.c (print_version): Likewise.
+ * elfcompress.c (print_version): Likewise.
+ * elflint.c (print_version): Likewise.
+ * findtextrel.c (print_version): Likewise.
+ * nm.c (print_version): Likewise.
+ * objdump.c: Likewise.
+ * ranlib.c: Likewise.
+ * readelf.c: Likewise.
+ * size.c: Likewise.
+ * stack.c: Likewise.
+ * strings.c: Likewise.
+ * strip.c: Likewise.
+ * unstrip.c: Likewise.
+
2016-11-17 Mark Wielaard <mjw@redhat.com>
* readelf.c (options): Add optional arg SECTION for symbols.
size_LDADD = $(libelf) $(libeu) $(argp_LDADD)
strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl
elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
-findtextrel_LDADD = $(libdw) $(libelf) $(argp_LDADD)
-addr2line_LDADD = $(libdw) $(libelf) $(argp_LDADD) $(demanglelib)
-elfcmp_LDADD = $(libebl) $(libelf) $(argp_LDADD) -ldl
+findtextrel_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD)
+addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(demanglelib)
+elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD)
strings_LDADD = $(libelf) $(libeu) $(argp_LDADD)
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Bug report address. */
}
-/* Print the version information. */
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "addr2line (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
- fprintf (stream, gettext ("\
-Copyright (C) %s Red Hat, Inc.\n\
-This is free software; see the source for copying conditions. There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2012");
- fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
-}
-
-
/* Handle program arguments. */
static error_t
parse_opt (int key, char *arg, struct argp_state *state)
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Prototypes for local functions. */
}
-/* Print the version information. */
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "ar (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
- fprintf (stream, gettext ("\
-Copyright (C) %s Red Hat, Inc.\n\
-This is free software; see the source for copying conditions. There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2012");
- fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
-}
-
-
/* Handle program arguments. */
static error_t
parse_opt (int key, char *arg __attribute__ ((unused)),
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Bug report address. */
}
-/* Print the version information. */
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "elfcmp (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
- fprintf (stream, gettext ("\
-Copyright (C) %s Red Hat, Inc.\n\
-This is free software; see the source for copying conditions. There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2012");
- fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
-}
-
-
/* Handle program arguments. */
static error_t
parse_opt (int key, char *arg,
#include "system.h"
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Bug report address. */
#define T_COMPRESS_GNU 3 /* zlib-gnu */
static int type = T_UNSET;
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "elfcompress (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
-}
-
struct section_pattern
{
char *pattern;
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Bug report address. */
}
-/* Print the version information. */
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "elflint (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
- fprintf (stream, gettext ("\
-Copyright (C) %s Red Hat, Inc.\n\
-This is free software; see the source for copying conditions. There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2012");
- fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
-}
-
-
/* Process one file. */
static void
process_file (int fd, Elf *elf, const char *prefix, const char *suffix,
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Bug report address. */
}
-/* Print the version information. */
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "findtextrel (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
- fprintf (stream, gettext ("\
-Copyright (C) %s Red Hat, Inc.\n\
-This is free software; see the source for copying conditions. There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2012");
- fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
-}
-
-
/* Handle program arguments. */
static error_t
parse_opt (int key, char *arg,
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Bug report address. */
}
-/* Print the version information. */
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "nm (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
- fprintf (stream, gettext ("\
-Copyright (C) %s Red Hat, Inc.\n\
-This is free software; see the source for copying conditions. There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2012");
- fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
-}
-
-
/* Handle program arguments. */
static error_t
parse_opt (int key, char *arg,
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Bug report address. */
}
-/* Print the version information. */
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "objdump (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
- fprintf (stream, gettext ("\
-Copyright (C) %s Red Hat, Inc.\n\
-This is free software; see the source for copying conditions. There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2012");
- fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
-}
-
-
/* Handle program arguments. */
static error_t
parse_opt (int key, char *arg,
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Bug report address. */
}
-/* Print the version information. */
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "ranlib (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
- fprintf (stream, gettext ("\
-Copyright (C) %s Red Hat, Inc.\n\
-This is free software; see the source for copying conditions. There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2012");
- fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
-}
-
-
static int
copy_content (Elf *elf, int newfd, off_t off, size_t n)
{
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Bug report address. */
}
-/* Print the version information. */
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "readelf (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
- fprintf (stream, gettext ("\
-Copyright (C) %s Red Hat, Inc.\n\
-This is free software; see the source for copying conditions. There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2012");
- fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
-}
-
-
/* Create a file descriptor to read the data from the
elf_input_section given a file descriptor to an ELF file. */
static int
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Bug report address. */
}
-/* Print the version information. */
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "size (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
- fprintf (stream, gettext ("\
-Copyright (C) %s Red Hat, Inc.\n\
-This is free software; see the source for copying conditions. There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2012");
- fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
-}
-
-
/* Handle program arguments. */
static error_t
parse_opt (int key, char *arg,
#include <system.h>
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Bug report address. */
return DWARF_CB_OK;
}
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "stack (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
-}
-
static error_t
parse_opt (int key, char *arg __attribute__ ((unused)),
struct argp_state *state)
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Bug report address. */
}
-/* Print the version information. */
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "strings (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
- fprintf (stream, gettext ("\
-Copyright (C) %s Red Hat, Inc.\n\
-This is free software; see the source for copying conditions. There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2012");
- fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
-}
-
-
/* Handle program arguments. */
static error_t
parse_opt (int key, char *arg,
typedef uint8_t GElf_Byte;
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Bug report address. */
}
-/* Print the version information. */
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "strip (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
- fprintf (stream, gettext ("\
-Copyright (C) %s Red Hat, Inc.\n\
-This is free software; see the source for copying conditions. There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2012");
- fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
-}
-
-
/* Handle program arguments. */
static error_t
parse_opt (int key, char *arg, struct argp_state *state)
#endif
/* Name and version of program. */
-static void print_version (FILE *stream, struct argp_state *state);
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
/* Bug report address. */
}
return 0;
}
-
-/* Print the version information. */
-static void
-print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
-{
- fprintf (stream, "unstrip (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
- fprintf (stream, _("\
-Copyright (C) %s Red Hat, Inc.\n\
-This is free software; see the source for copying conditions. There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2012");
- fprintf (stream, gettext ("Written by %s.\n"), "Roland McGrath");
-}
\f
#define ELF_CHECK(call, msg) \
do \